Um Sistema de Gerenciamento de Informações e Eventos de Segurança (SIEM) é composto por regras, também conhecidas como casos de uso. No Harpia, temos quatro tipos principais de regras: Match rule (Regra de correspondência), Threshold rule (Regra de limiar), Correlation rule (Regra de correlação) e Advanced rule (Regra avançada).
Essas regras desempenham um papel crucial na detecção de ameaças e na segurança cibernética, permitindo que os usuários configurem critérios específicos de avaliação para eventos, fluxos ou incidentes de segurança. Quando todos os critérios definidos são atendidos, a regra desencadeia a criação de um incidente, facilitando a identificação e resposta a possíveis ameaças.
Além disso, as regras podem ter diferentes origens. No Harpia, classificamos as regras em três categorias: Default rules (Regras do fabricante), Tenant rules (Regras do tenant) e Channel rules (Regras do canal).
Para acessar a funcionalidade de regras, navegue até o menu lateral localizado no canto superior esquerdo da interface.
Ao acessar a seção "Rules" (Regras) no menu, o sistema direciona os usuários para a tela de listagem de regras, onde todas as regras cadastradas e disponíveis no ambiente são apresentadas.
Na tabela, estão disponíveis as informações-chave das regras, como tipo, ID, origem, nome, criticidade, última atualização, responsável pela última atualização e status. Além disso, na coluna de ações, são exibidas opções relacionadas a cada regra, incluindo a possibilidade de visualizar detalhes da regra, editá-la, criar uma cópia ou excluí-la.
Os cartões exibidos na parte superior da tela mostram o total de regras para cada tipo e origem. Abaixo dos cartões, encontra-se um campo de busca livre e outros filtros disponíveis.
A criação de novas regras é realizada ao clicar no botão "New rule" (Nova regra), localizado no canto superior direito.
No Harpia, as regras podem originar-se de três fontes distintas: da biblioteca fornecida pelo fabricante, da criação pelos usuários no ambiente do cliente ou da biblioteca disponibilizada pelo canal.
Nossa equipe de especialistas em cibersegurança criou regras pré-cadastradas, que chamamos de Default rules. É importante destacar que essas regras não podem ser editadas ou excluídas pelos usuários. No entanto, está disponível a opção de copiar, habilitar ou desabilitar essas regras no tenant. Esta biblioteca de regras é regularmente atualizada para proteger contra novas ameaças identificadas no mercado.
Dentro do contexto do tenant, os usuários também têm a flexibilidade de criar regras personalizadas, chamadas de Tenant rules. Essas regras podem ser copiadas, editadas, excluídas, habilitadas, desabilitadas e até mesmo ativadas no modo "trial" para testes.
Para garantir a validade das regras criadas e testar sua eficácia, o Harpia oferece a funcionalidade chamada Trial rules (Regras de teste). Nesse contexto, as regras permanecem no ambiente de produção, mas os incidentes gerados por elas são marcados como Trial incidents (Incidentes de teste). Isso permite que os usuários avaliem o impacto das regras antes de implementá-las completamente no ambiente de segurança.
Conhecidas como Channel rules, as regras do canal são disponibilizadas externamente e não podem ser editadas ou excluídas nos tenants. As regras do canal são gerenciadas centralmente e, se aplicadas ao ambiente, só podem ser copiadas, habilitadas ou desabilitadas. Isso oferece um controle simplificado de segurança e conformidade no ambiente.
Ao acionar o botão "New rule" (Nova regra) na tela de listagem de regras, o usuário pode escolher o tipo de regra que deseja criar.
Consideramos a Match rule (Regra de correspondência) como uma regra baseada em uma única consulta personalizada que utiliza a Lucene Query Syntax (LQS) para a detecção de eventos específicos.
A Threshold rule (Regra de limiar) é configurada usando uma consulta personalizada, semelhante à usada na Match rule em LQS, com a adição do parâmetro de contagem de ocorrências. Em outras palavras, para que a regra seja acionada, o motor deve detectar a consulta específica ocorrendo a quantidade de vezes estipulada. Além disso, é possível agrupar essa condição por meta keys (chaves que compõem os campos), o que resulta em resultados ainda mais precisos.
A composição da Correlation rule (Regra de correlação) se dá pela correlação de eventos que derivam de uma combinação de consultas personalizadas em LQS e parametrizadas a números de ocorrências e até mesmo um estado de sequência cronológica de eventos. Além disso, é possível agrupar essas condições por meta keys, semelhante à Threshold rule. Seu diferencial está além das múltiplas condições que corroboram para a sequencia cronológica de eventos, na possibilidade de adicionar outras condições, sejam elas por meio de deny lists (listas de bloqueio) ou allow lists (listas de permissão), o que direciona a um resultado mais específico, preciso e assertivo.
A Advanced rule (Regra avançada) representa uma abordagem mais flexível na criação de regras de detecção dentro do Harpia. Enquanto as regras anteriores utilizam Lucene Query Syntax (LQS), as Advanced rules são criadas a partir da Structured Query Language (SQL). Isso oferece aos usuários um universo maior de possibilidades e um maior grau de personalização e controle.
Devido a esse grau de personalização, para se adequar ao contexto de incidentes no Harpia, é recomendado que as queries tenham um formato específico para o isolamento dos eventos. Um destes é a utilização de duas funções de manipulação do tempo, date_sub e date_add.
SELECT * FROM harpia-search
WHERE harpia.timestamp > date_sub(now(), INTERVAL 5 minute)
AND harpia.timestamp < date_add(now(), INTERVAL 0 minute)
GROUP BY destination.ip
No exemplo acima estamos selecionando eventos que estão contidos em uma janela de 5 minutos e agrupando esses eventos pelo campo destination.ip.
O resultado dessa busca é uma tabela.
É possível expandir a consulta para contar eventos com condições específicas, como exemplo tentativas falhas de login via SSL.
SELECT destination.ip, source.ip, COUNT(*) as requests
FROM harpia-search
WHERE event.action = "ssl-login-fail"
AND harpia.timestamp > date_sub(now(), INTERVAL 5 minute)
AND harpia.timestamp < date_add(now(), INTERVAL 0 minute)
GROUP BY source.ip, destination.ip
HAVING requests >= 3
Para averiguar os eventos relacionados as linhas da tabela, basta selecionar a necessidade de buscar por uma coluna ou pelo conjunto de colunas da linha específica (considerando apenas campos que compôem um evento, isto é, a coluna requests não será considerada).
Como recursos complementares das regras, temos o agendamento da monitoração e a ação de notificações, que estão presentes em todos os tipos de regra. Vale ressaltar que esses recursos são manipuláveis apenas nas Tenant rules, uma vez que as regras de outras origens não podem ser editadas.
É necessário definir um tipo de monitoramento para a regra, determinando o período em que a regra estará ativa para coletar eventos. No Harpia, temos três opções: Full time (tempo integral), Recurrence (recorrência) e Time frame (período).
Tempo integral: Ao selecionar a opção "Full time", a regra estará coletando logs (eventos) continuamente.
Recorrência: Quando a opção "Recurrence" é escolhida, é necessário especificar os dias da semana e os horários em que a regra ficará ativa.
Período: Caso opte por "Time frame", será necessário definir a data e o horário de início e fim do monitoramento. Após o término deste período, a regra será desabilitada.
O Harpia oferece a possibilidade de aplicar uma ou mais ações de notificação. Essas ações enviam um e-mail para todos os destinatários adicionados sempre que a regra gerar um incidente. Se uma ação de notificação for adicionada, ela pode ser editada ou removida conforme necessário.
Consulte a documentação de linguagens de busca suportadas pelo Harpia para melhor entendimento da sintaxe e estrutura de queries ao criar casos de usos.