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 António José Marques/Luis Miguel Silva 2003 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 António José Marques/Luis Miguel Silva 2003 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 António José Marques/Luis Miguel Silva 2003 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 António José Marques/Luis Miguel Silva 2003 Análise Forense • Anti-análise forense – Desenvolve métodos de resistência à análise forense... Análise Forense António José Marques/Luis Miguel Silva 2003 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 António José Marques/Luis Miguel Silva 2003 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 António José Marques/Luis Miguel Silva 2003 Análise Forense • Honey Pots – honeyd • create windows • set windows personality "Windows NT 4.0 Server SP5SP6" • 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 •Análise bind 192.168.1.101 windows Forense António José Marques/Luis Miguel Silva 2003 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 António José Marques/Luis Miguel Silva 2003 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 Análise Forense192.168.1.104 router António José Marques/Luis Miguel Silva 2003 Análise Forense • Tipos clássicos de “criminosos” – Script Kiddies – Crackers – Hackers Análise Forense António José Marques/Luis Miguel Silva 2003 Análise Forense • A integridade do seu sistema foi comprometida!! • Foi chamado o Analista Forense…e… a sua primeira preocupação é… Análise Forense António José Marques/Luis Miguel Silva 2003 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 António José Marques/Luis Miguel Silva 2003 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 António José Marques/Luis Miguel Silva 2003 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 António José Marques/Luis Miguel Silva 2003 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 António José Marques/Luis Miguel Silva 2003 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 António José Marques/Luis Miguel Silva 2003 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 António José Marques/Luis Miguel Silva 2003 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 António José Marques/Luis Miguel Silva 2003 Análise Forense • Guardar estado de canais de comunicação – – – – – netstat route Arp ifconfig Informação de kernel Análise Forense António José Marques/Luis Miguel Silva 2003 Análise Forense • Processos – – – – ps /proc Lsof netstat Análise Forense António José Marques/Luis Miguel Silva 2003 Análise Forense • Outros – – – – rpm Patches Portscans Configuração de kernel Análise Forense António José Marques/Luis Miguel Silva 2003 Análise Forense • E então… – 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 Análise Forense António José Marques/Luis Miguel Silva 2003 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 António José Marques/Luis Miguel Silva 2003 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 Análise Forense António José Marques/Luis Miguel Silva 2003 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 Análise Forense António José Marques/Luis Miguel Silva 2003 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 Análise Forense António José Marques/Luis Miguel Silva 2003 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) Análise Forense António José Marques/Luis Miguel Silva 2003 Anti-análise Forense • Como esconder essa informação (2)? – Utilizando recursos pouco conhecidos • ADS (em NTFS) Análise Forense António José Marques/Luis Miguel Silva 2003 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 Análise Forense António José Marques/Luis Miguel Silva 2003 Anti-análise Forense • Como esconder essa informação (3)? – Se não for mais necessária, eliminando-a convenientemente Análise Forense António José Marques/Luis Miguel Silva 2003 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]$ Análise Forense António José Marques/Luis Miguel Silva 2003 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]$ Análise Forense António José Marques/Luis Miguel Silva 2003 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]$ Análise Forense António José Marques/Luis Miguel Silva 2003 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]$ Análise Forense António José Marques/Luis Miguel Silva 2003 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]$ Análise Forense António José Marques/Luis Miguel Silva 2003 Anti-análise Forense • Como esconder essa informação (3)? – klismafile (depois) – [root@golfinho root]$ ./fls -d /dev/hda6 2 – [root@golfinho root]$ Análise Forense António José Marques/Luis Miguel Silva 2003 Anti-análise Forense • Como esconder essa informação (4)? – Escondendo-a onde menos se pensaria encontrá-la • Esteganografia Análise Forense António José Marques/Luis Miguel Silva 2003 Anti-análise Forense • Esteganografia – Deramatus e a comunicação da iminência de uma invasão (480 AC) • Tábuas enceradas Análise Forense António José Marques/Luis Miguel Silva 2003 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." Análise Forense António José Marques/Luis Miguel Silva 2003 Anti-análise Forense • 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 Análise Forense António José Marques/Luis Miguel Silva 2003 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 Análise Forense António José Marques/Luis Miguel Silva 2003 Anti-análise Forense • Esteganografia • Sob ficheiros de imagem Análise Forense António José Marques/Luis Miguel Silva 2003 Anti-análise Forense • Esteganografia • Sob ficheiros de imagem Análise Forense António José Marques/Luis Miguel Silva 2003 Anti-análise Forense • Esteganografia • Sob ficheiros de som – Modelo Psicoacústico e auditory masking Análise Forense António José Marques/Luis Miguel Silva 2003 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 António José Marques/Luis Miguel Silva 2003 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 António José Marques/Luis Miguel Silva 2003 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 António José Marques/Luis Miguel Silva 2003 Análise Forense • Bits na superfície de um disco rígido??!!! Análise Forense António José Marques/Luis Miguel Silva 2003 Análise Forense • Bits na superfície de um DVD-RW??!!! Análise Forense António José Marques/Luis Miguel Silva 2003 Análise Forense • Contra os métodos de eliminação eficaz de informação, os métodos de recuperação ainda mais eficazes Análise Forense António José Marques/Luis Miguel Silva 2003