Detecção de Intrusos em MANETs Emilio de Camargo Francesquini [email protected] Dezembro de 2004 Motivação Técnicas de segurança pré-existentes para redes fixas não são eficazes com a introdução de dispositivos móveis Firewalls Criptografia Ex: Code Red (2001) Conferência IETF (The Internet Engineering Task) Roteiro Introdução Detecção de intrusos Vulnerabilidades das MANETs A necessidade da deteção de intrusos Embasamento sobre a detecção de intrusos Problemas das técnicas atuais Uma nova proposta para a detecção de intrusos Detecção de anomalias em MANETs Resultados Vulnerabilidades das MANETs Baseada em comunicação sem fio Não há a necessidade do intruso ter acesso físico à rede ou passar por várias linhas de defesa como firewalls ou gateways. Qualquer nó pode ser atacado. Problemas Personificação Vazamento de informações Contaminação de mensagens Fato 1: MANETs não têm uma linha de defesa clara e qualquer nó constituinte deve estar preparado para encontros com um adversário direta ou indiretamente. Vulnerabilidades das MANETs MANETs são constituídas de nós autônomos e com liberdade de movimentação Cada uma das unidades móveis está sujeita a ser roubada ou comprometida por um invasor. Em uma rede de escala global não é fácil manter uma lista de nós roubados/comprometidos para garantir a segurança da rede. A lista pode, inclusive, demorar para ser atualizada Fato 2: As UMs e a infraestrutura devem estar preparadas para operar em um modo no qual elas não confiem em nó algum Vulnerabilidades das MANETs Decisões são feitas de maneira descentralizada e através de algoritmos cooperativos. Estes algoritmos se baseiam na boa fé de vários nós para funcionar. Exemplo: Ataques aos protocolos de MAC para redes sem fio Raríssimos em rede fixa Fato 3: Um invasor pode se basear nisto para comprometer o funcionamento dos algoritmos cooperativos Vulnerabilidades das MANETs As UM possuem características únicas: Bateria Poder de processamento Operações desconectadas Operações dependentes da localização Essas características levam a utilização de proxies e agentes móveis rodando nas estações base para ganhos de desempenho atraves de caching, transcodificação de conteúdo, ... Fato 4: Possíveis ataques podem ser feitos contra esses proxies ou agentes de forma a conseguir informações privadas, DoS, inundar o cache com referências falsas ou fazer com que o proxy faça computações inúteis e caras. Vulnerabilidades das MANETs Resumindo: As MANETs são vulneráveis pois: Sua comunicação é feita em um meio aberto Sua topologia é dinâmica Utiliza algoritmos cooperativos Não tem um ponto central de controle e monitoramento Não tem uma linha de defesa clara A necessidade da deteção de intrusos Técnicas desenvolvidas para redes fixas podem ajudar a reduzir, mas não são capazes de eliminar as intrusões em MANETs Criptografia e autenticação Alguns algoritmos cooperativos utilizam informações redundantes, mas ainda necessitam confiar em um conjunto de nós. Secure Routing A necessidade da deteção de intrusos Não importa quantas travas de segurança sejam instaladas, o sistema sempre terá um ponto fraco que poderá ser utilizado para uma invasão Ex.: Code Red Detecção e resposta a intrusos pode ser utilizada como uma segunda linha de defesa para: minimizar estragos, colher informações para investigação posterior e até contra atacar. Detecção de intrusos - Introdução Invasão: qualquer conjunto de ações que tem como intuito o comprometimento da integridade, confidencialidade ou disponibilidade de um recurso. [3] As técnicas de detecção de intrusos pressupoem que as atividades dos usuários e programas são observáveis e que as atividades normais e as atividades dos intrusos são diferentes. A detecçao de intrusos, portanto, envolve a coleta de dados e a sua análise para determinar se um sistema está sob ataque Detecção de intrusos - Introdução Os sistemas de detecção de intrusos (SDIs) podem ser divididos em duas categorias Baseados na rede Geralmente ficam no gateway da rede capturando e analisando os pacotes Baseados nos nós Trabalha em conjunto com o SO para monitorar os dados e as ações dos programas ou usuários no nó Detecção de intrusos - Introdução As técnicas de detecção de intrusos podem ser divididas em 2 categorias Detecção de abusos Detecção de anomalias Detecção de intrusos - Introdução Detecção de abusos Utiliza padrões bem conhecidos de ataques e pontos fracos do sistema para reconhecer um ataque. Ex.: “existiram mais de 4 tentativas de login com senha errada nos últimos 2 minutos” Sistemas deste tipo: IDIOT e STAT Vantagens: eficaz e preciso na detecção de ataques conhecidos Desvantagens: não é capaz de perceber novos tipo de ataque Detecção de intrusos - Introdução Detecção de anomalias Captura informações das ações do sistema/usuário, analisa os dados e compara com os perfis de uso estabelecidos como padrões Ex.: O perfil de uma secretária é diferente do perfil de um programador. Então se, repentinamente, a secretária começar usar muito o GCC algo está errado Sistema deste tipo: IDES Vantagens: não necessita, de antemão, conhecer os tipos de ataque e pode detectar, inclusive, os novos tipos de ataque Desvantagens: Precisa de um período de treinamento, pode ter uma alta taxa de positivo e pode não saber o tipo de ataque que está ocorrendo Problemas das técnicas atuais SDIs baseados na rede não podem ser utilizados em MANETs. Não há um ponto central onde todas as informações passam. O padrão de comunicação em uma MANET é bem diferente de uma rede fixa. Há diferentes modos de operação (como operações desconetadas) que invalidam os modelos atuais de detecção de intrusos baseados em técnicas de detecção de anomalias Existe um sério problema em determinar o que é normal e o que não é em uma MANET. Um nó disseminando informação incorreta de roteamento é um nó comprometido ou é um nó que apenas está com as suas tabelas de roteamento desatualizadas? Problemas das técnicas atuais Resumindo Qual é a melhor arquitetura para um sistema de detecção de intrusos em MANETs? Quais são as fontes de dados apropriadas para auditar as ações dos usuários/programas? Como detectar anomalias utilizando informações parciais? (apenas as informações locais já que são as únicas confiáveis) Qual seria o modelo mais adequado para conseguir separar os eventos anômalos dos normais? Arquitetura proposta Arquitetura proposta Funcionamento Módulo “Data Collection” Captura informações de diversas fontes e dependendo do algoritmo de detecção de intrusos pode conter ações do usuário, comunicações deste nó com a rede, comunicações entre outros nós (que estão no alcance de rádio), ... Podem existir diversos módulos deste tipo dentro de um SDI. Funcionamento Módulo “Local Detection” Analisa os dados coletados pelo módulo “Data Collection” Pode utilizar tanto técnicas de detecção de abusos quanto de anomalias Caso detecte com forte evidência que um nó foi comprometido ou que a rede está sofrendo um ataque pode, independentemente dos outros nós, iniciar uma resposta ao ataque. Funcionamento Módulo “Cooperative Detection” Quando um nó detecta uma anomalia ou intrusão com uma evidencia muito fraca, (mas que ainda justifique maiores investigações) ele pode se comunicar com os seus vizinhos para iniciar um procedimento cooperativo de detecção de intrusos Os nós podem: Avisar aos seus vizinhos quanto a uma possível invasão Iniciar um procedimento cooperativo de detecção de invasão Iniciar um procedimento cooperativo de defesa da rede Funcionamento Módulo “Cooperative Detection” (cont.) Os avisos de invasão tem a seguinte forma: Com p% de confiança, o nó A, baseado em seus dados locais, afirma que há uma invasão Com p% de confiança, o nó A, baseado em seus dados locais e de seus vizinhos, afirma que há uma invasão Com p% de confiança, os nós A, B e C, .... concluem que há uma invasão Com p% de confiança, o nó A afirma que o nó X foi comprometido Funcionamento Módulo “Cooperative Detection” (cont.) Um algoritmo de detecção baseado em votação Um nó envia aos seus vizinhos uma consulta sobre o estado atual da rede Cada nó, incluindo o nó inicial, propaga a informação indicando a probabilidade de uma intrusão, ou anomalia, aos nós vizinhos Cada nó então determina, baseado nas respostas recebidas dos seus vizinhos, se a rede está sendo atacada Qualquer dos nós que tenha determinado que a rede está sendo atacada pode iniciar os procedimentos de resposta aos ataques. Funcionamento O raciocínio por trás deste algoritmo é o seguinte: Dados de auditoria dos nós vizinhos não devem ser usados Entretanto, os nós comprometidos não tem ganho nenhum em enviar relatórios de intrusão falsos já que a resposta dos outros nós pode acabar expulsando-o da rede Sendo assim, a não ser que a maioria dos nós esteja comprometido, o algoritmo consegue detectar invasões ainda que as evidências individuais de cada nó sejam fracas Mesmo que a maioria da rede seja comprometida, algum dos nós íntegros, provavelmente, vai notar e tomar as medidas contra intrusos Funcionamento Procedimentos contra intrusos Dependem do tipo da rede, do tipo de invasão, do tipo do protocolo da rede, das aplicações e do grau de confiança nas evidências coletadas Exemplos: Reinicializar canais de comunicação Identificados os nós comprometidos, reorganizar a rede de forma a deixar estes nós de fora Avisar o usuário e este tomar as providências Enviar um pedido de reautenticação a todos os nós pedindo que seus usuários se reautentiquem utilizando algo não presente no próprio dispositivo (senha, reconhecimento de voz, ...) Detecção e reposta a intrusos em múltiplas camadas Tradicionalmente os esquemas de detecção de intrusos trabalham apenas nas camadas mais baixas A detecção em camadas mais altas, por exemplo da aplicação, pode ser capaz de detectar de uma maneira mais eficaz os ataques devido ao valor semântico associado (por exemplo, ataques DoS) São instalados SDIs em cada uma das camadas. Caso alguma delas detecte uma invasão as demais camadas são avisadas e utilizam a informação para decidir, por si próprias, se há uma invasão ocorrendo e a partir daí tomam as devidas providências. Desta forma qualquer decisão das camadas mais baixas pode ser tomada de uma maneira mais informada Detecção e reposta a intrusos em múltiplas camadas A integração das múltiplas camadas permite a criação de um SDI mais eficaz que aumenta as taxas de acerto e diminui os alarmes falsos Exemplo: Alarme de incêndio Detecção de anomalias em MANETs Exemplo baseado em algoritmos de roteamento Os princípios básicos para outros algoritmos/aplicações são os mesmos Modalidades de ataques em protocolos de roteamento Comprometimento das rotas Enviando, deliberadamente, o pacote para o nó incorreto Disseminar informações incorretas de atualização de rotas Distorção do padrão de tráfego Perda de pacotes Geração de pacotes com falso remetente Alteração do conteúdo dos pacotes DoS Modalidades de ataques em protocolos de roteamento Em um ataque real ambos os elementos anteriores podem estar presentes No artigo, foram simulados: Alteração de rotas Perda aleatória de pacotes Fontes de Dados O artigo sugere e utiliza em suas simulações 2 fontes de dados Dados de roteamento locais, incluindo entradas de cache e estatísticas de tráfego Localizador de posição (GPS) Assumiu-se que estes dispositivos não serão adulterados e portanto os seus dados são confiáveis Uma pequena digressão Classificadores Recebem um vetor de características e classificam este vetor em uma classe Podem ser classificados em classificadores com aprendizado supervisionado e aprendizado não supervisionado. Exemplo de um classificador simples Um classificador de bolas Vetor de características (tamanho, peso) Exemplos de vetores: Basquete (75 cm, 630 g) Futebol (68 cm, 430 g) Tênis (20,5 cm, 58 g) Boliche (64 cm, 6000 g) Um treinamento seria conseguir traçar hiperplanos no espaço de características de forma a criar diversas partições do espaço. Cada partição é denominada classe, e o trabalho do classificador é de simplesmente decidir dado um vetor V em qual partição ele está Exemplo de um classificador simples Características como data de fabricação, fabricante e desgaste são inerentes a bola, mas não interferem na classificação do tipo da bola A escolha de um vetor de características com essas propriedades apenas dificulta a classificação Quando escolhermos um vetor de características desejamos que ele tenha uma baixa entropia, ou seja, que contenha apenas características que influenciam a classificação Escolha do vetor de características O classificador escolhido foi um classificador com aprendizado não supervisionado Começaram a treiná-lo com um vetor com excesso de características Após certo tempo de treinamento o classificador acabou dando pesos diferentes para cada uma das características e as características com menor peso foram descartadas Características escolhidas Distância física até o nó (D) Velocidade do nó (V) PCR – Porcentagem de rotas alteradas PCH – Porcentagem da alteração da soma do número de saltos da tabela de roteamento Foram treinados dois classificadores. Um para classificar PCR utilizando como vetor de característica (D, V, PCH) Outro para classificar PCH utilizando como vetor de característica (D, V, PCR) Classificadores utilizados RIPPER SVM Light Muito parecido com uma árvore de decisão Sistema de indução de regras Pré-processa os dados de entrada e acaba construíndo um espaço de características com uma dimensão muito maior do que o do vetor de entrada. A idéia é que para uma dimensão suficientemente grande, seja possível traçar um hiperplano que divida as classes e desta forma seja possível uma classificação. O SVM Light acabou produzindo resultados melhores que o RIPPER uma vez que ele foi capaz de perceber padrões complexos nos dados de treinamento que não eram claros antes do pré-processamento Pós-Processamento Os dados gerados pelo classificador são utilizados para determinar se uma ação para contra-atacar a invasão é necessária. Várias camadas podem relatar ataques em momentos distintos. O pós-processamento garante que não sejam tomadas diversas ações quando apenas uma seria necessária A Simulação Foram utilizados 3 protocolos diferentes DSR – Dynamic Source Routing AODV – Ad Hoc On-Demand Distance Vector Routing DSDV – Destination-Sequenced Distance-Vector Routing Foram escolhidos pois representam duas categorias de protocolos de roteamento, proativos e reativos Foi utilizado o simulador de redes Network Simulator ns-2 A Simulação O classificador foi treinado com dados de 100K segundos de simulação Depois de treinado, a simulação foi colocada a prova por 5 scripts Normal 100K-rt (100 ataques), 10K-rt (10 ataques) Roteamento 100K-tf (100 ataques), 10K-tf (10 ataques) Tráfego Simulação Todos os resultados passaram pelo pósprocessamento Os resultados obtidos são uma média de 10 execuções. A margem de erro calculada tem 95% de confiança Resultados - DSR Resultados - DSDV Resultados - AODV Resultados – DSR + SVM Light Média de alarme falso: 0.125% Referências [1] Y. Zhang, W. Lee, Y. Huang “Intrusion Detection Techniques for Mobile Wireless Networks”, ACM MONET Journal, 2002 [2] Y. Zhang, W. Lee “Intrusion Detection in Wireless Ad-Hoc Networks”, MobiCom’2000, Agosto de 2000 [3] R. Heady, G. Luger, A. Maccabe e M. Servilla “The architecture of a network level intrusion detection system. Technical Report, Computer Science Department, University of New Mexico, Agosto de 1990 [4] F. Kargl, A. Klenk, S. Schlott, M. Weber “Advanced Detection of Selfish or Malicious Nodes in Ad Hoc Networks”