Análise Forense O que é, formalmente? “Uma abordagem metodológica para a apreensão e preservação de informação e obtenção de provas informáticas para incriminação legal” “Ciência de encontrar, recolher, analisar e preservar registos informáticos que sejam admissíveis em tribunal ou outros ambientes legais”
Análise Forense Quem é o analista forense informático, então? Um investigador que, no âmbito informático, desempenha as mesmas funções de um detective clássico
Análise Forense A quem interessam os serviços de um analista forense? Investigadores Criminais Companhias de Seguros Empresas em geral Indivíduos em geral
Análise Forense “Quando se procura algo específico, as hipóteses de o encontrar são reduzidas. De todas as coisas do mundo, estar-se-á à procura de apenas uma delas. Quando não se procurar rigorosamente nada, a probabilidade de encontrar algo será muito mais elevada. De todas as coisas do mundo, encontrar-se-á certamente algumas.”
Análise Forense Anti-análise forense Desenvolve métodos de resistência à análise forense...
Análise Forense Anti-análise forense? Aqui?!! A melhor forma de se apanhar um criminoso é conseguindo pensar da mesma forma que ele.
Análise Forense Honey Pots (um pequeno parêntesis…) Muito úteis para perceber formas típicas de actuação do “lado inimigo” honeyd VMware
Análise Forense Honey Pots – honeyd create windows set windows personality "Windows NT 4.0 Server SP5- SP6" set windows default tcp action reset set windows default udp action reset add windows tcp port 80 "perl scripts/iis-0.95/iisemul8.pl" add windows tcp port 139 open add windows tcp port 137 open add windows udp port 137 open add windows udp port 135 open set windows uptime 3284460 bind 192.168.1.101 windows
Análise Forense Honey Pots – honeyd create linux set linux personality "Linux 2.4.16 - 2.4.18" set linux default tcp action reset set linux default udp action reset add linux tcp port 110 "sh scripts/pop3.sh" add linux tcp port 25 "sh scripts/smtp.sh" add linux tcp port 21 "sh scripts/ftp.sh" set linux uptime 3284460 bind 192.168.1.102 linux
Análise Forense Honey Pots – honeyd create router set router personality "Cisco IOS 11.3 - 12.0(11)" set router default tcp action reset set router default udp action reset add router tcp port 23 "/usr/bin/perl scripts/router-telnet.pl" set router uid 32767 gid 32767 set router uptime 1327650 bind 192.168.1.104 router
Análise Forense Tipos clássicos de “criminosos” Script Kiddies Crackers Hackers
Análise Forense A integridade do seu sistema foi comprometida!! Foi chamado o Analista Forense…e… a sua primeira preocupação é…
Análise Forense Capturar uma imagem do sistema, na sua globalidade, tão livre quanto o possível de distorções e lacunas
Análise Forense Mas: As ferramentas do sistema serão de confiança? Será preferível manter ligado, ou desligar o sistema da rede?
Análise Forense O que acontece quando se executa um comando? Shell (inc. variáveis de ambiente) Comando, propriamente dito Bibliotecas dinâmicas Drivers de dispositivos Kernel Controladores Hardware
Análise Forense Solução: Tipicamente, é preferível utilizar um “kit pessoal” Composição do kit: Colecção de ferramentas compiladas estaticamente (dd, cp,cat, ls, …) Formas alternativas de obter ferramentas adicionais Ferramentas específicas TCT – “The Coroners Toolkit”
Análise Forense E depois? Dever-se-á fazer a análise sobre o original, ou sobre uma cópia? Nem tudo pode ser feito sobre cópias Não trabalhando sobre o sistema real, podem ser perdidos alguns aspectos Ao trabalhar sobre o original, podem ser destruídos aspectos igualmente importantes
Análise Forense Genericamente, poder-se-á considerar: Desligar o sistema da rede (caso se aplique) NÃO DESLIGAR A ALIMENTAÇÃO!! Tentar a cópia integral do sistema, respeitando a ordem de volatilidade Não ceder à tentação de tentar analisar imediatamente Registar todas as operações efectuadas
Análise Forense Cópia de conteúdos em RAM: #dd</dev/kmem>kmem.save Cópia simples de ficheiros via rede: #cat file|nc –w 3 to 1234 #nc –p 1234 –l>file.save Genericamente, o dd é nosso amigo!!
Análise Forense Guardar estado de canais de comunicação netstat route Arp ifconfig Informação de kernel
Análise Forense Processos ps /proc Lsof netstat
Análise Forense Outros rpm Patches Portscans Configuração de kernel
Análise Forense E então… Ou… Congelar o sistema, se for caso disso… Power Management! Ou… Passemos à acção! Utilização de toolkits para procura de rastos mal apagados Se existir no sistema um IDS (Intrusion Detection System), podem verificar-se assinaturas na procura de ficheiros alterados, criados ou eliminados
Anti-análise Forense Anti-análise forense (novamente…) Analisando as formas de actuação dos analistas forenses, observam-se falhas e tenta-se conseguir formas de as contornar!
Análise Forense Os analistas forenses tentam encontrar informação Os atacantes têm necessidade de esconder informação Rootkits Logs de um sniffer Outra informação diversa
Anti-análise Forense Como esconder essa informação? Em pequenos espaços que existam livres, dentro ou fora do sistema de ficheiros Espaço fora de partições Sectores marcados como livres Slack Space
Anti-análise Forense Como esconder essa informação? Em pequenos espaços que existam livres, dentro ou fora do sistema de ficheiros Espaço fora de partições Sectores marcados como livres Slack Space
Anti-análise Forense Como esconder essa informação? SlackSpace Ext2 blocos de 4KB FAT32 <= 260 MB 4 KB <= 8 GB 8 KB <= 60 GB 16 KB <= 2 TB 32 KB NTFS Entre 512 bytes (<=512MB) e 64 Kbytes (>32GB)
Anti-análise Forense Como esconder essa informação (2)? Utilizando recursos pouco conhecidos ADS (em NTFS)
Anti-análise Forense Como esconder essa informação (3)? Se não for mais necessária, eliminando-a convenientemente “TDT – The Defilers Toolkit” necrofile klismafile
Anti-análise Forense Como esconder essa informação (3)? Se não for mais necessária, eliminando-a convenientemente
Anti-análise Forense Como esconder essa informação (3)? necrofile (antes) [root@golfinho root]$ ./ils /dev/hda6 class|host|device|start_time ils|XXX|/dev/hda6|1026771982 st_ino|st_alloc|st_uid|st_gid|st_mtime|st_atime|st_ctime|st_dtime|st_mode|st_nlink|st_size|st_block0|st_block1 12|f|0|0|1026771841|1026771796|1026771958|1026771958|100644|0|86|545|0 13|f|0|0|1026771842|1026771796|1026771958|1026771958|100644|0|86|546|0 14|f|0|0|1026771842|1026771796|1026771958|1026771958|100644|0|86|547|0 15|f|0|0|1026771842|1026771796|1026771958|1026771958|100644|0|86|548|0 16|f|0|0|1026771842|1026771796|1026771958|1026771958|100644|0|86|549|0 17|f|0|0|1026771842|1026771796|1026771958|1026771958|100644|0|86|550|0 ... 36|f|0|0|1026771842|1026771796|1026771958|1026771958|100644|0|86|569|0 37|f|0|0|1026771842|1026771796|1026771958|1026771958|100644|0|86|570|0 [root@golfinho root]$
Anti-análise Forense Como esconder essa informação (3)? necrofile (durante) [root@golfinho root]$ ./necrofile -v -v -v -v /dev/hda6 Scrubbing device: /dev/hda6 12 = m: 0x3d334d4d a: 0x3d334d4d c: 0x3d334d4f d: 0x3d334d4f 13 = m: 0x3d334d4d a: 0x3d334d4d c: 0x3d334d4f d: 0x3d334d4f 14 = m: 0x3d334d4d a: 0x3d334d4d c: 0x3d334d4f d: 0x3d334d4f 15 = m: 0x3d334d4d a: 0x3d334d4d c: 0x3d334d4f d: 0x3d334d4f 36 = m: 0x3d334d4d a: 0x3d334d4d c: 0x3d334d4f d: 0x3d334d4f … 37 = m: 0x3d334d4d a: 0x3d334d4d c: 0x3d334d4f d: 0x3d334d4f [root@golfinho root]$
Anti-análise Forense Como esconder essa informação (3)? necrofile (depois) [root@golfinho root]$ ./ils /dev/hda6 class|host|device|start_time ils|XXX|/dev/hda6|1026772140 st_ino|st_alloc|st_uid|st_gid|st_mtime|st_atime|st_ctime|st_dtime|st_mode|st_nlink|st_size|st_block0|st_block1 [root@golfinho root]$
Anti-análise Forense Como esconder essa informação (3)? klismafile (antes) [root@golfinho root]$ ./fls -d /dev/hda6 2 ? * 0: a ? * 0: b ? * 0: c ? * 0: d ... ? * 0: x ? * 0: y ? * 0: z [root@golfinho root]$
Anti-análise Forense Como esconder essa informação (3)? klismafile (durante) [root@golfinho root]$ ./klismafile -v /mnt Scrubbing device: /dev/hda6 cleansing / -> a -> b -> c ... -> y -> z Total files found: 29 Directories checked: 1 Dirents removed : 26 [root@golfinho root]$
Anti-análise Forense Como esconder essa informação (3)? klismafile (depois) [root@golfinho root]$ ./fls -d /dev/hda6 2 [root@golfinho root]$
Anti-análise Forense Como esconder essa informação (4)? Esteganografia Escondendo-a onde menos se pensaria encontrá-la Esteganografia
Anti-análise Forense Esteganografia Deramatus e a comunicação da iminência de uma invasão (480 AC) Tábuas enceradas
Anti-análise Forense Esteganografia Johannes Trithemius (1462-1516) "Steganographia:hoe est ars per occultam scripturam animi sui voluntatem absentibus aperiendi certa" "The bearer of this letter is a rogue and a thief. Guard yourself against him. He wants to do something to you."
Anti-análise Forense Pershing sails from NY June I Esteganografia Mensagem alemã, publicada durante a segunda guerra mundial: “Apparently neutral’s protest is thoroughly discounted and ignored. Isman hard hit. Blockade issue affects pretext for embargo on by-products, ejecting suets and vegetable oils.” Pershing sails from NY June I
Anti-análise Forense Esteganografia Actualmente, aparece frequentemente com a denominação “watermarking” Muito utilizada para copyrights Aparece sob os mais diversos disfarces Ficheiros multimedia Imagem Texto Outros
Anti-análise Forense Esteganografia Sob ficheiros de imagem
Anti-análise Forense Esteganografia Sob ficheiros de imagem
Anti-análise Forense Esteganografia Sob ficheiros de som Modelo Psicoacústico e auditory masking
Anti-análise Forense Esteganografia Outros Codificação em bits de cabeçalhos IP Submodulação em canais audio de brodcasts de televisão e rádio Utilizando LSb de uma comunicação telefónica através de RDIS (DigiStilz) Métodos semelhantes em VoIP
Análise Forense Novamente??!!!! Contra os métodos de eliminação eficaz de informação, os métodos de recuperação ainda mais eficazes
Análise Forense Contra os métodos de eliminação eficaz de informação, os métodos de recuperação ainda mais eficazes MFM –Magnetic Force Microscopy SPM – Scanning Tunneling Microscopy
Análise Forense Bits na superfície de um disco rígido??!!!
Análise Forense Bits na superfície de um DVD-RW??!!!
Análise Forense Contra os métodos de eliminação eficaz de informação, os métodos de recuperação ainda mais eficazes