<!-- CVS revision of original english document "1.4" -->
<!-- original version: 1.4 -->
<!-- last translator: philipe@debian-ba.org -->
<!-- last revisor: carlinha@debian-ba.org -->


<chapt id="after-compromise">Depois do comprometimento do sistema (resposta a incidentes)

<sect>Comportamento comum

<p>Se você estiver fisicamente presente quando o ataque ocorrer,
sua primeira obrigação é tirar a máquina da rede desconectando o cabo
de rede da placa (se isso não for influenciar nas transações dos
negócios). Desativando a rede na camada 1 é a única forma de manter
o invasor longe da máquina comprometida (conselho sábio de Philip
Hofmesiter).

<p>Entretanto, alguns rootkits ou back doors são capazes de detectar 
este tipo de evento e reagir a ele. Ver um <tt>rm -rf /</tt> sendo 
executado quando você desativa a rede não é muito engraçado. Se você
se nega a correr o risco e tem certeza que o sistema foi comprometido,
você deve <em>desconectar o cabo de energia</em> (todos eles se existirem
mais de um) e cruzar os dedos. Isso pode ser extremo mas, de fato, irá
evitar qualquer bomba lógica que o invasor possa ter programado. Nesses
casos, o sistema comprometido <em>não deve ser reiniciado</em>. Os discos
rígidos também devem ser colocados em outro sistema para serem analisados, 
ou deve ser usado outro tipo de mídia (um CD-ROM) para inicializar o sistema
e analisá-lo. Você <em>não</em> deve usar os discos de recuperação do Debian
para inicializar o sistema, mas você <em>pode</em> utilizar o shell fornecido
pelos discos de instalação (use Alt+F2 para acessá-lo) para analisar
o sistema.

<footnote>
Se você for aventureiro, você pode efetuar o logon no sistema e
salvar as informações de todos os processos em execução (várias dessas 
informações estão em /proc/nnn/). É possível pegar todo código executável da 
memória, mesmo se o invasor tiver excluído os arquivos executáveis
do disco. Então puxe o cabo de força. </footnote>

<p>O método mais recomendado para restaurar um sistema comprometido é
utilizar um CDROM com todas as ferramentas (e módulos do kernel)
necessárias para acessar o sistema. Você pode utilizar o pacote
<package>mkinitrd-cd</package> para compilar tal CDROM<footnote>.
De fato, esta é a ferramenta usada para compilar os CDROMs para o 
projeto <url id="http://www.gibraltar.at/" name="Gibraltar">
(um firewall em um live-CD baseado na distribuição Debian).</footnote>. Você 
também pode achar o CDROM <url id="http://biatchux.dmzs.com/" name="FIRE">
útil, já que é um live CDROM com ferramentas para análise forense ideal
neste tipo de situação. Não existe (ainda) uma ferramenta baseada no Debian como 
esta, nem uma maneira fácil de compilar o CDROM com pacotes
específicos e com <package>mkinitrd-cd</package> (então você terá que ler
a documentação fornecida com o programa para fazer seus próprios CDROMs).

<p>Se você realmente quer consertar um sistema comprometido rapidamente,
você deve tirar o sistema da sua rede e reinstalar todo o sistema 
operacional do zero. Claro, isto pode não ser efetivo porque você não
saberá como o invasor comprometeu o sistema. Neste caso, você deve
verificar tudo: firewall, integridade de arquivos, host de log, arquivos 
de log entre outros. Para mais informações do que fazer siga um guia, veja
<url name="Sans' Incident Handling Guide"
id="http://www.sans.org/y2k/DDoS.htm"> ou <url
id="http://www.cert.org/tech_tips/root_compromise.html" name="CERT's
Steps for Recovering from a UNIX or NT System Compromise">.

<p>Algumas perguntas freqüentes de como lidar com um sistema 
Debian GNU/Linux estão disponíveis em <ref id="vulnerable-system">.

<sect>Efetuando backup do sistema

<p>Lembre-se que se você tem certeza de que o sistema foi comprometido
você não pode confiar no software instalado ou em qualquer informação 
retornada por ele. Aplicações podem ser alteradas, módulos do kernel
podem ser instalados e etc.

<p>A melhor coisa a se fazer é uma cópia de backup completa do sistema 
de arquivo (usando o <prgn>dd</prgn>) depois de inicializar o sistema 
de uma mídia segura. Os CDROMs do Debian GNU/Linux podem ser utilizados
para isto, já que eles fornecem um shell no console 2 quando a 
instalação é iniciada (acesse através do Alt+2 e pressione Enter). Do 
shell, efetue o backup das informações para outro host se possível 
(talvez um servidor de arquivos de rede através de NFS/FTP). Então
qualquer análise da invasão ou reinstalação pode ser feita enquanto 
o sistema comprometido está off-line.

<p>Se você tiver certeza de que um módulo do kernel com trojan 
comprometeu o sistema, você pode usar a imagem do kernel do CDROM
do Debian no modo <em>rescue</em>. Inicie o GNU/Linux no modo
<em>single user</em> para que nenhum outro processo com trojan seja
executado depois do kernel.

<sect>Contate seu CERT local
<p>O CERT (Computer and Emergency Response Team) é uma organização
que pode te ajudar a recuperar o sistema comprometido. Existem 
CERTs espalhados por todo o mundo
<footnote>
Esta é a lista de alguns CERTS, para uma lista completa veja o 
<url id="http://www.first.org/about/organization/teams/index.html"
name="FIRST Member Team information">
(FIRST significa Forum of Incident Response and Security Teams):
<url id="http://www.auscert.org.au" name="AusCERT"> (Austrália),
<url id="http://www.unam-cert.unam.mx/" name="UNAM-CERT"> (México)
<url id="http://www.cert.funet.fi" name="CERT-Funet"> (Finlândia),
<url id="http://www.dfn-cert.de" name="DFN-CERT"> (Alemanha), 
<url id="http://cert.uni-stuttgart.de/" name="RUS-CERT"> (Alemanha),
 <!--FIXME URL -->
<url id="http://idea.sec.dsi.unim.it" name="CERT-IT"> (Itália),
<url id="http://www.jpcert.or.jp/" name="JPCERT/CC"> (Japão),
<url id="http://cert.uninett.no" name="UNINETT CERT"> (Noruega),
<url id="http://www.cert.hr" name="HR-CERT"> (Croácia)
<url id="http://www.cert.pl" name="CERT Polskay"> (Polônia),
<url id="http://www.cert.ru" name="RU-CERT"> (Rússia),
<url id="http://www.arnes.si/si-cert/" name="SI-CERT"> (Eslovênia)
<url id="http://www.rediris.es/cert/" name="IRIS-CERT"> (Espanha),
<url id="http://www.switch.ch/cert/" name="SWITCH-CERT"> (Suiça),
<url id="http://www.cert.org.tw" name="TWCERT/CC"> (Taiwan), 
e
<url id="http://www.cert.org" name="CERT/CC"> (US).
</footnote>
e você deve contatar seu CERT local caso ocorra algum incidente de 
segurança que comprometa seu sistema. As pessoas do CERT local
são orientadas à ajudá-los.

<p>Fornecer informações sobre os incidentes de segurança para o CERT 
local (ou o centro de coordenação do CERT), mesmo que você não precise 
de assistência, pode ajudar os outros a determinar se uma vulnerabilidade
está disseminada na Internet e indicar que novas ferramentas de combate 
ao worm estão sendo utilizadas. Estas informações são usadas para fornecer
à comunidade da Internet alertas sobre as <url id="http://www.cert.org/current/" name="atividades 
atuais dos incidentes de segurança">, e para publicar 
<url id="http://www.cert.org/incident_notes/" name="notas sobre incidentes"> e 
até mesmo <url id="http://www.cert.org/advisories/" name="alertas de segurança">.
Para informações mais detalhadas de como (e porquê) relatar um incidente
leia o <url id="http://www.cert.org/tech_tips/incident_reporting.html"
name="CERT's Incident Reporting Guidelines">.

<p>Você pode usar mecanismos menos formais se precisar de ajuda na recuperação
de um sistema comprometido ou quiser discutir informações do incidente. Estes 
mecanismos incluem a
<url id="http://marc.theaimsgroup.com/?l=incidents" name="lista de discussão 
sobre incidentes"> e a
<url id="http://marc.theaimsgroup.com/?l=intrusions" name="lista de discussão 
sobre intrusos">.


<sect>Análise forense

<p>Se você deseja recolher mais informações do ataque, o pacote 
<package>tct</package> (O Coroner's Toolkit de Dan Farmer e Wietse Venema) 
contém utilitários que realizam uma análise 'póstuma' do sistema.
O <package>tct</package> permite que o usuário colete informações
sobre arquivos excluídos, processos em execução e muito mais. Veja a 
documentação para mais informações. Você também pode conferir os 
pacotes similares <url name="Sleuthkit and Autopsy" id="http://www.sleuthkit.org/"> 
desenvolvidos por Brian Carrier.

<p>Algumas outras ferramentas que podem ser usadas para análise forense também
são fornecidas pela distribuição Debian:

<list>
<item><package>Fenris</package>.
<item><package>Strace</package>.
<item><package>Ltrace</package>.
</list>

<p>Qualquer um desses pacotes podem ser usados para analisar 
binários anômalos (como os backdoors) para determinar como eles 
funcionam e o que eles fazem no sistema. Outras ferramentas comuns são o 
<prgn>ldd</prgn> (no pacote <package>libc6</package>), <prgn>strings</prgn> e
<prgn>objdump</prgn> (ambos no pacote <package>binutils</package>).

<p>Se você tentar fazer uma análise forense de um sistema comprometido
com backdoors ou binários suspeitos, você deve fazê-la em um 
ambiente seguro (por exemplo em uma imagem <package>bochs</package> ou
<package>flex86</package>, ou em um ambiente <prgn>chroot</prgn>
utilizando um usuário com poucos privilégios). Caso contrário seu próprio
sistema pode ser comprometido também!

<p>Também, lembre-se que a análise forense deve ser feita sempre na cópia 
de backup dos dados, <em>nunca</em> nos dados originais, em caso dos dados
serem alterados durante a análise e as evidências serem perdidas.

<p>FIXME: This paragraph will hopefully provide more information about
forensics in a Debian system in the coming future.

<p>FIXME: talk on how to do a debsums on a stable system with the
MD5sums on CD and with the recovered file system restored on a
separate partition.

<p>FIXME add pointers to forensic analysis papers (like the Honeynet's
reverse challenge or <url id="http://staff.washington.edu/dittrich/"
name="David Dittirch's papers">.


