Botnets Inteligentes
[Estado Atual da Pesquisa]
Moisés Danziger
Objetivo Atual
●
Executar testes reais com botnets
–
Primeiro experimento:
●
●
No mesmo padrão do trabalho proposto em “Botnet detection using
support vector machines with artificial fish swarm algorithm”
Propor uma botnet hipotética
–
Modelagem de uma botnet que faça uso de:
●
●
Agentes inteligentes (Bots)
Técnicas de IC para:
– Reconhecimento do ambiente
– Defesa contra sistemas de detecção
– Estratégias de ataque
Discussão sobre o trabalho com AFSA
●
Infraestrutura:
–
Computadores: 10
–
S.O: WXP, Win7, Linux
–
Router: Linux
Web
Discussão sobre o trabalho com AFSA
●
Dados:
–
Background (normais): navegação online
–
Dados maliciosos:
–
Botnet 1
● Botnet 2
● Botnet 3
Baseadas no protocolo IRC
–
Não é conhecido o modelo (por quê não? Como replicar?)
●
Discussão sobre o trabalho com AFSA
●
Tempo de coleta dos dados:
–
Background (normais): 3 semanas
–
Dados maliciosos:
●
●
●
Botnet 1
Botnet 2
Botnet 3
Uma semana cada
Discussão sobre o trabalho com AFSA
●
Características dos dados (tráfego de rede):
Número
Name
Descrição
F1
Total_count
Número de diferentes IP de destino
F2
Source_count
Número de direrentes IP de origem
F3
Port_count
Número de diferentes portas usadas
F4
Low_port
Porta com o menor número
F5
High_port
Porta com o maior número
F6
TCP_count
Número de diferentes servidores TCP
F7
UDP_count
Número de diferentes servidores UDP
F8
ICMP_count
Número de diferentes servidores ICMP
F9
AvgLength
Tamanho médio dos pacotes
F10
StddevLength
Desvio padrão do tamanho dos pacotes
F11
Time_Regularity O tempo regular de envio dos pacotes
F12
Info_Char
O conteúdo ASCII dos pacotes
Discussão sobre o trabalho com AFSA
●
Avg_length
AvgLength=
∑ (x i )
N
X = tamanho do pacote
N = total de pacotes
●
StddevLength
√
N
1
2
StddevLength=
(x i −μ)
∑
N i=1
X = tamanho do pacote
μ = comprimento médio de cada pacote
N = total de pacotes
Discussão sobre o trabalho com AFSA
●
Time_Regularity
Y i>
2t ∑ Y i
,then α j=Y i
N
Y i⩽
2t∑ Yi
, thenβ j =Y i
N
α = vetor de frequencia
β = vetor de baixa frequencia
t = constante entre 0 e 1
Info_Char
InfoChar=Max(C i )
C = counter
Discussão sobre o trabalho com AFSA
●
Algoritmos de IC:
–
SVM (Support Vector Machine)
–
Classifier
AFSA (Artificial Fish Swarm Algorithm)
–
Usado para executar a seleção das características
GA (Genetic Algorithm)
●
●
●
Usado para comparar com método AFSA-SVM (proposta
do artigo)
Discussão sobre o trabalho com AFSA
●
Resultados:
–
Vantagens:
–
AFSA-SVM apresentou melhores resultados que GA-SVM para detectar
corretamente a presença das botnets na rede
● Ambos GA e AFSA podem ser aplicados para identificar características críticas de
botnets (filtrando caracerísticas desnecessárias)
Desvantagens:
●
●
●
●
●
Somente para protocolo IRC
– Específica para um tipo de botnet apenas
Arquitetura centralizada
– Método de ataque mais simples (comparado com P2P)
Não apresentou quais os modelos de botnets foram utilizados
– Dificuldade para comparar
Método offline
– A acurácia pode variar conforme o tempo, tipo de ataque, tráfego de rede
normal
Usando Deterlab/SEER
●
Objetivo:
–
Replicar o artigo discutido
–
Implementar AIS ou outra técnica para comparar os
resultados
–
Familiarização com o ambiente Deterlab/SEER
Usando Deterlab/SEER
●
Passo 1:
–
Montar infraestrutura
–
Computadores: 10
● Roteador: 1
● SO: Linux, WinXP e Win7
Problemas:
●
●
●
Não existe imagem do Win7
– É possível criar imagens de SO
● Verificando o procedimento
Apenas algumas imagens foram testadas com o SEER
–
–
–
–
●
Ubuntu1004-STD
CentOS5
FBSD7-STD
FC6-STD
Testei com outras e não
funcionou
Experimentos com malwares reais devem seguir outro plano de ação
Usando Deterlab/SEER
●
Passo 1:
–
Soluções:
●
●
●
É possível criar imagens de SO personalizadas
– Em andamento (caso do Win7)
Experimentos com malwares
– “Risky experiments”
– É preciso pedir autorização
SEER => é possível criar agentes
– Rubot é um framework para trabalhar com botnets
criado por Chris Lee
– É possível adicioná-lo ao SEER no momento da criação
da infraestrutura ou modificar durante...
tb-set-node-tarfiles [set $node] /usr/ /proj/Deter/tarfiles/rubot.tgz
Usando Deterlab/SEER
●
Testes com Malwares:
–
Malwares são muito usados por botnets durante seu ciclo de
vida. Consequentemente:
●
●
●
Podem gerar riscos quando usados de maneira
inapropriada e “inocente”
Precauções são extremamente importantes
Deterlab usa métodos de contenção para experimentos
com malwares
– Existem seis passos para criar um experimento com
malwares
– A priori, é preciso pedir autorização escolhendo “Risk
experiment”
IntelliBonet
●
Uma botnet hipotética que faz uso de inteligência computacional
–
Arquitetura modular
–
Baseada em agentes inteligentes
Agentes de reconhecimento (ambiente)
● Agentes de defesa (evasão)
● Agentes de decisão
● Agentes de comunicação
● Agentes de ataque
Capacidade de operar de forma orquestrada sem a
participação do botmaster
●
–
–
Conceitos de Sistemas Imunológicos (inato e adaptativo)
IntelliBonet
●
Agentes de reconhecimento
–
Capacidade de reconhecimento de ambiente
Rede
● Estações
● Aplicações
● Dispositivos móveis
Agentes de defesa
●
●
●
●
Aplica mecanismos de defesa já conhecido (inato)
Pode aplicar novos mecanismos a partir de informações
passadas pelos agentes de reconhecimento
(adaptativo)
IntelliBonet
●
Agentes de decisão
–
Agentes que contêm motores inteligentes baseados em
técnicas de IC
●
●
●
É o cérebro por traz do processo adaptativo
Atua como um comitê para decisões a serem
tomadas para por exemplo, definir se é preciso
aplicar alguma técnica de evasão ou disparar um
ataque
Podem criar novos agentes (de qualquer tipo)
IntelliBonet
●
●
Agentes de comunicação
–
Responsável por todo os processos de comunicação entre
os agentes e com o botmaster
–
Pode usar qualquer método que for encontrado no ambiente
para realizar suas atividades
Agentes de ataque
–
Agentes mutantes (podem mudar para outro tipo de agente
quando infecta um dispositivo)
–
Podem trabalhar em grupo ou “alone”
–
São responsáveis pela disseminação da botnet
Próximos passos
●
Continuar o primeiro experimento com botnets
–
Entender o ambiente para malwares do Deterlab
–
Implementar (adaptar) os algoritmos AFSA, SVM, GA e AIS para os
testes
–
Criar novos cenários para testes mais robustos
Conceitos de federação
● Conceitos de contêineres
● Protocolos P2P e mistos
● Modelos de botnets baseados em HTTP/HTTPS
● Avaliar o conceito de detecção por características nestes modelos de
rede
Fazer a modelagem da intellibonet
●
●
Download

Resultados iniciais no DeterLab