João Franco apresentou o framework Neofelis, um honeypot de alta interação para Mac OS X. O objetivo é instalar e manter o honeypot para recolher dados de ataques cibernéticos e alertar a VAD Portugal e o CERT-IPN sobre vulnerabilidades. O honeypot implementa técnicas como ocultação de ficheiros, processos e kexts carregados para enganar atacantes.
11. Thank you very much for your attention. Questions? www.cert.ipn.pt jfranco @ cert.ipn.pt public @ cert.ipn.pt
Notes de l'éditeur
Um honeypot é um recurso computacional constantemente monitorizado que tem objectivo de ser testado, atacado e comprometido. O objectivo é recolher o máximo de informação possível sobre as acções maliciosas do atacante, como técnicas e ferramentas (rootkits) por ele utilizadas. Os dados recolhidos servirão como base para realizar um análise de como o atacante entrou no sistema, que vulnerabilidades tirou partido e que ferramentas utilizou. As Informações obtidas serão úteis para melhorar o nível de segurança do sistema operativo, ou dos serviços de rede associados a partir da correcção de vulnerabilidades existentes. Permitindo fornecer maior segurança para os utilizadores finais.
Capturar informação e controlar as actividades dos atacantes; Garantir Robustez e integridade nos dados capturados; Proporcionar segurança aos sistemas informáticos da instituição acolhedora e prevenir ataques a sistemas exteriores; Oferecer um conjunto de meios para o desenvolvimento e implementação de honeypot específicos. Gerar dados estatísticos sobre os serviços mais explorados, a proveniência dos ataques e as tácticas e ferramentas mais utilizadas
Honeypot O Honeypot capturará as informações por três meios: Keylogger EthernetSniffer Sincronização de informação persistente Firewall A firewall filtrará os acessos realizados do honeypot ao exterior, não permitindo comunicações por portas que não estejam associadas, ou relacionadas aos serviços disponibilizados impedindo que o honeypot comunique por IRC, ou realize ataques DOS a outros sistemas. Back-Office O extit{Back-Office} fornecerá apoio ao extit{honeypot}, registará de forma permanente os dados capturados e publicação de resultados apenas acessíveis à rede do CERT-IPN. Esse registo será realizado através de uma base de dados e de um programa de sincronização de informação persistente base de dados organizará os comandos executados pelo invasor e a informação trocada pela rede e pelo honeypot programa de sincronização da informação persistente r egistará as alterações efectuadas nos ficheiros. Covert Channel A comunicação entre o Back-Office e o honeypot será imperceptível para o invasor Técnica baseia-se na ocultação dos dados transferidos entre dois hosts Escondendo -> camada de transporte e de rede através da utilização de campos opcionais, ou uma imprópria, mas válida construção de um pacote de rede Port Knocking Administrador -> manutenção do sistema -> SSH (2) -> não serão recolhidas as informações das suas actividades técnica de PortKnocking -> permite o acesso unicamente ao utilizador que tenha uma sequência de pacotes correcta (sequência esta q
A imagem representa uma situação da captura de informação pelo sistema O atacante acede remotamente ao honeypot e este irá capturar os dados trocados entre o honeypot e a rede, através de 1. Paralelamente haverá informações recolhidas que dizem respeito apenas à componente de rede. De seguida os comandos executados pelo invasor serão capturados pelo 2, que representa a intersecção do fluxo de consola, ou chamado também de tty sniffing. Serão alteradas algumas chamadas de sistema, de modo a que os ficheiros criados com informação recolhida sejam escondidos. Deste modo quando o atacante executar o comando de listagem de directório, processos em execução, ou os módulos carregados, serão ocultadas todas as referências relativas à recolha de informação. O componente 3 representa a nova função de sistema criada, esta função terá o objectivo de guardar os dados recebidos e invocar a chamada de sistema original. A função original irá retornar os dados pedidos e estes serão filtrados e enviados de volta ao invasor. Relativamente ao componente 5, este servirá para sincronizar os ficheiros modificados ou acrescentados para um disco na rede, mais propriamente no back-office.
Como é um honeypot de alta-inferência os cenários em que pode ser aplicado são ilimitados. Para este estágio serão testados dois cenários comuns de ataque: Ataque por força-bruta Utilizador com permissões normais e credenciais fracas, p.e. User jimmy pass 1234 Serão registados os comandos executados e caso o invasor faça o upload de rootkits, estes serão guardados para uma análise posterior Exploração de um servidor HTTP É normal neste tipo de ataque que no nível Lógico ou de interface se tenha aplicações como phpBB ou Joomla. Neste tipo de aplicação o utilizador utiliza SQL Injection para obter acesso administrador à aplicação. Neste caso o Neofelis registará esta tentativa a partir do módulo de sniffing de rede. De seguida o invasor faz upload de uma webshell para o neofelis para executar comandos com privilégios apache e a partir daí procurará explorar vulnerabilidades com o objectivo de aceder a um nível mais baixo do kernel. Nesta situação as actividades do invasor serão registadas a partir do módulo keylogger e do módulo de sincronização de informação persistente.
Espera-se que a Intersecção do fluxo de rede -> grandes quantidades de informação. Neste momento só serão recolhidas informações apenas do protocolos e portas que o utilizador pretender. Podendo definir estas na altura em que lança o daemon que recebe as informações do módulo de kernel. Futuramente, para a evolução do projecto foi idealizado uma filtragem por detecção de padrões A validação da implementação será realizada em duas fases: num ambiente controlado e em ambiente real. No ambiente controlado serão realizados testes em laboratório e será realizada uma auditoria de segurança ao sistema por elementos do CERT-IPN, onde serão efectuados testes com ferramentas, ou técnicas de invasão conhecidas, e em relação às quais se saiba qual o comportamento que o honeypot deverá ter. Só se passará para a fase de validação em ambiente real quando se verificar conformidade em todos os testes realizados, de modo a não colocar em risco a rede da entidade acolhedora. Em ambiente real será realizada uma monitorização cuidada e eventualmente proceder à reinstalação do mesmo, caso o invasor consiga ultrapassar alguma das barreiras de segurança criadas.