Detecção de Intrusos em
MANETs
Emilio de Camargo Francesquini
emilio@ime.usp.br
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”
Download

PPT