Técnicas de detecção/métodos de análise

Podem ser de dois tipos básicos:

  • Detecção de anomalias:

Neste caso, o sistema está interessado em procurar por anormalidades no tráfego de dados, partindo do princípio de que esse comportamento anormal é provavelmente suspeito. Um alarme é então disparado quando for detectado tráfego não compatível com o uso que é esperado. Algumas vantagens deste método são: tendo definidos os padrões normais, violações podem ser detectadas quase em tempo real; além disso, é possível detectar tipos de ataque que até então eram desconhecidos. Entretanto, não necessariamente somente o tráfego indesejado será filtrado devido a comportamentos imprevisíveis do usuário e/ou do sistema e, na prática, este método é caracterizado por uma alta taxa de falsos positivos. Também não é adequado para usuários que não apresentem um padrão estatístico de uso que seja regular.

Para saber o que é anormal, precisamos então primeiro definir o que é o comportamento normal ou esperado. Assim, começamos a construção de um detector deste tipo pela formação de um modelo referência, que pode ser baseado na gravação do uso que um determinado usuário faz do computador por um dia, por exemplo. O próximo passo é decidir que porcentagem desta atividade deve ser classificada como anormal e como tomar esta decisão. É possível então aplicar a seguinte taxonomia[5]:

1.1. Detecção de anomalias auto-didata

Estes sistemas aprendem o que considerar comportamento normal através da observação do tráfego por um período extenso e então constroem um modelo em cima desta observação. Este modelo, por sua vez, pode ser um modelo de séries temporais ou não.
Modelos não-temporais utilizam as observações na formulação de um número finito de regras (classificação não-paramétrica) que definem o comportamento normal e na fase de detecção soam o alarme se o tráfego observado não for aplicável a nenhuma regra com boa aproximação. Outra opção é fazer a classificação baseada em estatísticas coletadas de certos parâmetros do sistema, criando um perfil.
Caso o comportamento temporal seja levado em consideração, é possível usar Redes Neurais Artificiais (RNA) como técnica de modelagem. O tráfego normal esperado alimenta a RNA, que “aprende” o padrão normal. A saída então é comparada com o novo tráfego para que a decisão seja tomada. A saída pode também ser introduzida em um sistema especialista que tomará a decisão.

1.2. Detecção de anomalias programada

Estes sistemas requerem que uma pessoa ensine o sistema (ou seja, faça sua programação) quais eventos devem ser detectados como anormais. Assim, esta pessoa é responsável por dizer o que é anormal suficiente para ser considerado uma violação de segurança. Esta programação pode ser auxiliada por valores estatísticos coletados de determinados parâmetros, por exemplo: número de logins sem sucesso, número de conexões a rede, número de comandos que retornaram erros, etc. Aí então um limiar pode ser definido para soar ou não um alarme, por exemplo: toque um alarme se número de logins sem sucesso > 5.
Outra opção é criar uma espécie de “legislação”, onde o usuário define explicitamente quais comportamentos serão aceitados, e marca todo o resto como “ilegal”, ou seja, todo o resto será considerado uma intrusão.

  • Detecção por análise de assinaturas

Esta técnica consiste em comparar os dados obtidos pelo monitoramento com uma  base de dados que contém as características principais (ou assinaturas) de ataques ou vulnerabilidades conhecidas e então identificar a ameaça caso os padrões observados sejam semelhantes, da mesma forma que um programa anti-vírus identifica as ameaças de vírus nos computadores. Tem a vantagem de apresentar uma taxa de falsos positivos muito menor se comparada a análise de anomalias, porém não são capazes de identificar ataques ainda desconhecidos e sua eficácia depende largamente da qualidade da base de assinaturas e do quão frequente a mesma é atualizada.

 

Honeypots

Não é uma técnica de detecção, e sim uma técnica que pode produzir bons resultados quando usada em conjunto com um SDI, normalmente do tipo NIDS. Um honeypot (pote de mel, em português) é um recurso computacional dedicado a receber ataques (invasões, worms, scanners,etc.) com o intuito de fornecer informações para que uma pessoa consiga reforçar a segurança em sua rede. Sabendo como a mesma é atacada, você pode tomar providências antes da ocorrência de maiores problemas.É uma forma barata de atrair a atenção de um invasor sem comprometer os recursos que são efetivamente necessários e ainda aprender com os ataques. Portanto, usando honeypots você estará tratando segurança de uma forma pró-ativa, ainda que estes só forneçam informações que levem a solução dos problemas (não são a solução efetiva) e por isso devem ser usados em conjunto com outras ferramentas de segurança.

O funcionamento é simples: o computador que funcionará como honeypot não deve realizar nenhum serviço real, conexão ou qualquer interação produtiva com outros computadores da rede. Desta forma, qualquer interação que for registrada com o honeypot se trata provavelmente de uma atividade mal-intencionada. Consequentemente, este método ainda traz alguns benefícios:a baixa taxa de falsos positivos e os logs gerados são pequenos, o que facilita a leitura e a detecção dos ataques no mesmo.

Existem dois tipos básicos de honeypots: os de baixa interatividade e os de alta interatividade. Os de baixa interatividade não permitem a invasão, emulando vários serviços que enganam o atacante enquanto gera um log com todas as informações que conseguir capturar. Assim, eles conseguem gerar um panorama da situação e visam adicionar valor à solução de segurança, sendo normalmente posicionados na rede interna de uma empresa. Já os honeypots de alta interatividade são máquinas mal configuradas de forma proposital, que permitem a invasão.São, porém, dotadas de diversos mecanismos de monitoramento e, portanto, são capazes de capturar muito mais dados e com isso retratar os ataques de forma mais detalhada. Em contrapartida, não apresentam confiabilidade e, por isso, não são instaladas em redes internas, sendo normalmente posicionadas em redes monitoradas continuamente, visando evitar que sejam lançados ataques a partir daquele host.

Vantagens:

  • São capturados poucos dados (logs pequenos), mas que contém somente informações importantes (poucos alarmes falsos);

  • São simples de implementar, não há algoritmos complexos;

  • Usam poucos recursos: usam pouca banda da rede pois só analisam o tráfego direcionado a eles, e exigem pouco do hardware, devido a simplicidade já mencionada;

  • São capazes de descobrir novos métodos de ataques, que nunca foram usados anteriormente.

Desvantagens:

  • Se for usado sozinho, pode não trazer nenhuma informação, caso nenhum pacote seja encaminhado a ele;

  • Corre o risco de ser invadido.

anterior | início | próximo