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 ● ●