Auditoria e Segurança da Informação– GSI536 Prof. Rodrigo Sanches Miani – FACOM/UFU Tópicos Motivação; Características; Histórico; Tipos de detecção de intrusão; Detecção de intrusão baseada na rede; Detecção de intrusão baseada no host; Sistemas de prevenção de intrusão (IPS); Exemplos; Conclusão. Motivação Motivação Utilização cada vez maior da Internet e a criação de ambientes cooperativos, levam a uma crescente preocupação quanto à segurança; Atualmente, não é mais necessário ter conhecimentos avançados em um determinado sistema operacional ou protocolo para explorar suas vulnerabilidades; Existem diversas ferramentas que, juntas, contribuem significativamente para a melhoria da segurança de uma rede; Motivação Por exemplo: Criptografia para a proteção dos dados e Firewall para o controle do fluxo da rede; Um sistema de detecção de intrusão (Intrusion Detection System – IDS) tem como objetivo detectar atividades suspeitas, impróprias, incorretas ou anômalas; Em outras palavras, o principal objetivo de um IDS é obter informações sobre os eventos (maliciosos ou não) em uma rede; Histórico Histórico O conceito de detecção de intrusão foi introduzido por James Anderson, com o artigo "Computer Security Threat Monitoring and Surveillance", no início de 1980; Ele definiu o conceito de que a realização de auditoria poderia revelar informações vitais para o rastreamento de usos impróprios do sistema e também para a compreensão do comportamento do usuário; O artigo de Anderson fundamentou o projeto e desenvolvimento de IDS e foi responável pelo início da detecção de intrusão baseada no host; Histórico Em 1983, a Dorothy Denning, começou a trabalhar com detecção de intrusão. O objetivo do projeto era analisar estações Sun e traçar o perfil dos usuários baseado em suas atividades; Um ano mais tarde, Denning, juntamente com Peter Neumann, desenvolveu o primeiro modelo para detecção de intrusão, o Sistema Especialista em Detecção de Intrusão, ou Intrusion Detection Expert System (IDES); Em 1984, a SRI desenvolveu um meio de rastrear e analisar informações de autenticação de usuários da ARPANET, a rede que futuramente seria a Internet. Histórico Em 1987, Denning, baseado em suas experiências anteriores publicou o artigo “An intrusion detection model”; Nesse artigo foi proposto o primeiro modelo formal de detecção de intrusão, baseado em desvios de comportamento padrão do sistema; O mercado de detecção de intrusão começou a ganhar popularidade e gerar retorno somente por volta de 1997; Em 1998, Martin Roesch, desenvolveu o sistema de detecção de intrusão open source chamado Snort; Atualmente o Snort possui mais de 400 mil usuários registrados e é o IDS mais utilizado no mundo. Características Características Um IDS funciona como uma câmera ou um alarme contra as intrusões, podendo realizar a detecção com base em algum tipo de conhecimento: Assinatura de ataques; Desvios de comportamentos; Informações importantes sobre tentativas de ataques, que não se pode obter normalmente, podem ser conseguidas por meio desses sistemas (Ataques internos, por exemplo); IDSs podem oferecer subsídios suficientes para que a organização melhore sua proteção contra diversos tipos de ataques. Características – Funcionamento básico Características – Funções do IDS Características importantes Monitoramento e análise das atividades dos usuários e sistemas; Avaliação da integridade de arquivos do sistema; Análise estatística do padrão de atividade da rede; Análise baseada em assinaturas de ataques conhecidas; Detecção em tempo real; Identificação do destino do ataque; Capacidade de registro do ataque (logs); Fornecimento de informações valiosas sobre atividades suspeitas na rede. Ações que podem ser tomadas como resposta Reconfiguração do firewall; Alarme (som); Geração de eventos do Windows; Geração de logs por meio do Syslog; Envio de e-mail; Gravação das informações sobre o ataque; Execução de um programa capaz de manipular o evento; Finalização da conexão. (IPS não IDS!) Tipos de detecção de intrusão Tipos de IDS Três tipos de IDS: Baseado em host (Host-Based Intrusion Detection System – HIDS); Baseado em rede (Network-Based Intrusion Detection System – NIDS); Híbrido; A combinação de diferentes tipos de IDS é importante para que a organização fique protegida contra diversos tipos de ameaças; Por exemplo, ataques vindos da Internet podem ser detectados utilizando NIDS, enquanto servidores na DMZ podem ser monitorados usando HIDS; Baseado em host (HIDS) HIDS faz o monitoramento do sistema com base em informações de logs ou de agentes de auditoria; O objetivo é monitorar toda a atividade em estações específicas; O HIDS pode ser capaz de monitorar acessos e alterações em importantes arquivos do sistema, modificações nos privilégios dos usuários, processos do sistema, programas que estão sendo executados, uso da CPU e etc; Também pode realizar a checagem da integridade dos arquivos do sistema; Baseado em host (HIDS) Exemplo de HIDS que faz a análise de logs é o Swatch; O Swatch é capaz de enviar uma mensagem de alerta assim que acontece um evento de ação suspeita, com base em um padrão definido; Portsentry é um tipo de HIDS capaz de monitorar as portas do sistema, detectando tentativas de port scanning; Baseado em host (HIDS) - Vantagens Pode verificar o sucesso ou a falha de um ataque, com base nos logs do sistema; Monitoramento de atividades do sistema, como: acesso a arquivos, modificação em permissões de arquivos, logon e logoff do usuário e etc; Ataques que ocorrem fisicamente no servidor/host podem ser detectados pelo HIDS; É independente da topologia da rede; Gera poucos falsos positivos (alarmes falsos); Não necessita de hardware adicional. Baseado em host (HIDS) - Desvantagens É difícil gerenciar e configurar todos os hosts que devem ser monitorados, causando problemas de escalabilidade; É dependente do sistema operacional; Não é capaz de detectar ataques de rede; Caso o HIDS seja invadido, as informações podem ser perdidas; Em alguns casos, diminui o desempenho do host monitorado; Baseado em rede (NIDS) O NIDS monitora o tráfego do segmento da rede, geralmente com a interface de rede atuando em modo promíscuo; A detecção é realizada com a captura e análise dos cabeçalhos e conteúdos dos pacotes, que são comparados com padrões ou assinaturas conhecidas; Exemplos: RealSecure, NFR e Snort. Baseado em rede (NIDS) SDIR = Sistema de Detecção de Intrusão baseado em Rede (NIDS) Baseado em rede (NIDS) Os NIDSs podem ser divididos em duas partes: Sensores: ficam espalhados pelos segmentos de rede, são os responsáveis pela capura, formatação de dados e análise do tráfego da rede; Gerenciador ou console: faz com que os sensores sejam administrados de modo integrado, com a definição dos tipos de resposta a serem utilizados para cada tipo de comportamento suspeito detectado; Importante: a comunicação entre os sensores e o console deve ser segura! Baseado em rede (NIDS) Uma característica importante do NIDS é sua capacidade de detectar ataques na rede em “tempo real”; Como os sensores atuam em modo promíscuo no mesmo segmento de rede de um servidor atacado, por exemplo, ele pode capturar os pacotes referentes ao ataque, analisar e responder ao ataque praticamente ao mesmo tempo em que o servidor é atacado; A resposta poderia ser, por exemplo, o término da conexão. (IPS não IDS!) Baseado em rede (NIDS) - Vantagens O monitoramento pode ser feito em múltiplas plataformas; Com a análise de cabeçalhos e do payload de pacotes, ataques de rede como port scanning e Ip Spoofing podem ser detectados; Ataques identificados em tempo real; NIDS detectam não só ataques, mas também as tentativas de ataque que não tiveram sucesso; Com um NIDS funcionando, é difícil para um hacker apagar seus registros; Não causa impacto no desempenho da rede. Baseado em rede (NIDS) - Desvantagens Não é capaz de monitorar tráfego cifrado; Dificuldade de utilização em redes segmentadas; Devem possuir alto recurso computacional para poder armazenar e analisar grandes volumes de dados Híbrido (HIDS) A utilização de dois tipos de IDS ao mesmo tempo traz grandes benefícios; Por exemplo, em uma cenário com servidores Web, pode acontecer ataques como SYN Flooding, Smurf, Port scanning e pichação de sites; O NIDS será capaz de detectar o SYN Flooding, Smurf e Port scanning; Somente o HIDS é capaz de detectar a pichação de sites; O IDS híbrido tem como objetivo combinar os pontos fortes do HIDS e do NIDS, a fim de oferecer uma melhor capacidade de detecção de intrusões; Híbrido (HIDS) Metodologias de detecção Metodologias de detecção As metodologias utilizadas pelos IDS para a detecção de um ataque são: 1) Knowledge-Based Intrusion Detection (baseada em uma base de dados de assinaturas) 2) Behavior-Based Intrusion comportamento da rede) Detection (baseada no Baseada em uma base de dados de assinaturas Abordagem amplamente utilizada; As detecções são realizadas com fundamentos em uma base de dados com informações sobre ataques conhecidos; Funcionamento semelhante ao de um antivírus, no qual o IDS procura por um padrão ou uma assinatura de ataque que esteja nessa base de dados; Qualquer ação que não esteja no conjunto de assinaturas, será considerada aceitável; Taxa de acerto alta, porém depende da atualização constante da base de assinaturas. Ex. Snort Exemplo de assinatura (Snort) alert tcp any any -> 192.168.1.0 111 (content:"|00 01 86 a5|"; msg: "mountd access";) - Pacote TCP; - Origem à partir de qualquer endereço IP em qualquer porta; - Destino para qualquer IP da rede 192.168.0.1 na porta 111; Baseado no comportamento da rede Esse tipo de metodologia assume que as intrusões podem ser detectadas por meio de desvios de comportamento dos usuários ou dos sistemas; Primeiramente, deve ser definido um modelo de normalidade da rede e depois comparar com a atividade em andamento; Qualquer comportamento suspeito, diferente do padrão, é considerado intrusivo; Exemplos: bancos e operadoras de cartão de crédito. Baseado no comportamento da rede A decisão é tomada por meio de uma análise estatística ou heurística, a fim de encontrar possíveis mudanças de comportamento, tais como: Súbito aumento de tráfego; Utilização da CPU; Atividade de disco; Logon de usuários; Acesso à discos; A abordagem utilizada é de que tudo o que não foi visto anteriormente é perigoso, e deve ser evitado; Baseado no comportamento da rede O lado negativo dessa abordagem é que o IDS pode gerar falsos negativos (um determinado ataque pode não causar mudanças significativas na rede) e falsos positivos (erros na medição do tráfego normal); Para minimizar esses problemas diversas pesquisas estão em andamento, principalmente com a utilização de inteligência artificial; Exemplos: Next-Generation Intrusion Detection Expert System (IDES) e Event Monitoring Enabling Responses to Anomalous Live (Emerald). Localização do IDS na rede Sistemas de prevenção de intrusão (IPS) Sistemas de prevenção de intrusão (IPS) IDS atuam de maneira passiva, apenas escutando e coletando o tráfego; IDS em modo passivo não podem controlar o tráfego, ignorando, modificando, atrasando ou injentando novos pacotes na rede; Um IDS operando de forma semelhante a um firewall, onde todo o tráfego da rede passa por ele pode não apenas detectar os ataques, mas também preveni-los, pois os pacotes de ataque não chegaram aos servidores ainda; Esses tipos de IDS são chamados de IPS (Intrusion Prevention Systems) – Sistemas de prevenção de intrusão. Exemplos Baseado em host (HIDS) Tripwire - http://www.tripwire.com/ (Pago / Windows / Linux / Solaris) Swatch - http://sourceforge.net/projects/swatch/ (Free / Linux) http://sourceforge.net/projects/sentrytools/ (Adquirido pela Cisco e incorporado em seus produtos – Esta é uma versão alternativa) Portsentry Baseado em rede (NIDS) Snort - http://www.snort.org/ (Free - Windows / Linux) BlackICE (ISS/IBM) , NFR (CheckPoint) , CyberCop (McAfee); Outros detectores de intrusão podem ser encontrados em: http://sectools.org/tag/ids/ Exemplo de registro de IDS/IPS Conclusão Conclusão Os sistemas de detecção de intrusão ainda estão longe de atingir sua maturidade; Apesar de serem desenvolvidos há algum tempo, ainda existem muitos problemas a serem resolvidos; Existem diversos sistemas já implementados mas todos apresentam ainda falsos positivos (detectam falsamente uma invasão) e falsos negativos (não detectam a invasão); Técnicas de inteligência artificial podem ser utilizadas para melhorar as taxas de falsos positivos e negativos; Apesar disso, tais sistemas têm se mostrado extremamente úteis para melhorar a conhecimento do nível de segurança da organização.