FORENSE COMPUTACIONAL: UMA PROPOSTA DE ENSINO Paulo S. da Motta Pires Departamento de Engenharia de Computa¸ca ˜o e Automa¸ca ˜o Universidade Federal do Rio Grande do Norte 59078-970 Natal - RN
[email protected]
RESUMO A caracter´ıstica das informa¸c˜ oes que devem ser disponibilizadas torna o ensino de disciplinas relacionadas com seguran¸ca de redes um desafio bastante interessante. Este trabalho descreve uma proposta de formaliza¸c˜ ao e de ensino da disciplina Forense Computacional. Essa proposta apresenta uma disciplina flex´ıvel, pr´ atica, que amplia a forma¸c˜ ao dos estudantes de Ciˆencia da Computa¸c˜ ao e de Engenharia de Computa¸c˜ ao e os prepara para atuar em um mercado promissor e carente de especialistas.
ABSTRACT Courses dealing with computer or network security present extremely interesting challenges due to the nature of the information that is handled. This paper presents a proposal for development and implementation of a course in Computer Forensics. This project introduces a course that is both flexible and practical while broadening the preparation of students in Computer Science and Computer Engineering in order to prepare them for work in an area that is very promising but has a shortage of specialists.
1
˜ INTRODUC ¸ AO
Ensinar disciplinas da ´ area de seguran¸ca de sistemas computacionais ´e um desafio muito interessante em virtude das caracter´ısticas e peculiaridades das informa¸c˜ oes a serem repassadas, [1]. Aos estudantes devem ser apresentadas, de forma sistematizada, t´ecnicas e ferramentas utilizadas para comprometer sistemas computacionais e, tamb´em, t´ecnicas e ferramentas utilizadas para proteger esses mesmos sistemas. A apresenta¸c˜ ao p´ ublica de material de natureza sens´ıvel traz dificuldades relacionadas `a defini¸c˜ao da profundidade com que alguns conceitos devem ser tratados e ` a certeza da corre¸c˜ ao da destina¸c˜ao ´ que ser´ a dada aos conhecimentos adquiridos. E comum, em universidades estrangeiras, para disciplinas com esse tipo de conte´ udo, a assinatura obrigat´ oria de documentos nos quais os alunos assumem o compromisso legal de n˜ ao utilizarem esses conhecimentos para fins inadequados. Por diversas raz˜ oes, essa pr´ atica ainda n˜ ao ´e adotada no Brasil. Apesar dessas dificuldades, as Institui¸c˜oes de Ensino Superior n˜ ao podem deixar de preparar profissionais nessa ´ area. Essa prepara¸c˜ao est´ a sendo realizada atrav´es de disciplinas de gradua¸c˜ao e de p´ os-gradua¸c˜ ao com denomina¸c˜ oes que, em geral, incluem a palavra seguran¸ ca em seus t´ıtulos. Nessas disciplinas, s˜ ao apresentados conceitos relacionados ` a seguran¸ca de sistemas computacionais ou de seus servi¸cos. Quando poss´ıvel, pelas pr´ oprias caracter´ısticas das quest˜ oes analisadas, essas
101
disciplinas deixam de ter car´ ater meramente contemplativo e s˜ao realizadas experimenta¸c˜oes pr´ aticas em laborat´ orio. Neste trabalho, apresenta-se uma proposta de formaliza¸c˜ao e de ensino da disciplina Forense Computacional para alunos de gradua¸c˜ao em final de curso ou para alunos de p´ os-gradua¸c˜ao das ´areas de Ciˆencia da Computa¸c˜ao e de Engenharia de Computa¸c˜ao. Esta proposi¸c˜ao apresenta uma disciplina flex´ıvel, de car´ ater eminentemente pr´ atico, que amplia a forma¸c˜ao acadˆemica desses estudantes. A disciplina proposta tem como pr´e-requisito m´ınimo o conhecimento formal de TCP/IP (Transmission Control Protocol/Internet Protocol ) aprendido durante a disciplina de Redes de Computadores e, eventualmente, pode ser cursada em paralelo com as disciplinas que possuem a palavra seguran¸ ca em seus t´ıtulos, no contexto apresentado no par´ agrafo precedente. Esta proposta segue padr˜ oes que est˜ ao sendo adotados para disciplinas desse tipo em outras institui¸c˜oes, [2], e, em particular, na Universidade de Nebrasca, USA, [3]. Salvo melhor ju´ızo, uma disciplina com o perfil aqui proposto ainda n˜ ao est´ a formalizada no Brasil, apesar de excelentes trabalhos j´ a terem sido produzidos, [4]. Assume-se que, ao final dessa disciplina, o aluno apresente proficiˆencia adequada para coletar evidˆencias digitais em sistemas computacionais, interpretar os dados coletados, criar uma seq¨ uˆencia de eventos que caracterizem as a¸c˜oes realizadas pelo ente que causou o problema e, mais importante, seja capaz de atuar
c¸˜ao e ao posterior indiciamento judicial de eventuais culpados, se esse for o objetivo. Formalmente, a Forense Computacional ´e uma sub-´ area da Forense Digital [11]. A Forense Digital pode ser definida como uma ´area de conhecimento que se utiliza de m´etodos elaborados e comprovados cientificamente visando a preserva¸c˜ao, coleta, valida¸c˜ao, identifica¸c˜ao, an´ alise, interpreta¸ca˜o, documenta¸c˜ao e apresenta¸c˜ao de evidˆencias digitais com o prop´ osito de facilitar ou permitir a reconstitui¸c˜ao de procedimentos de natureza criminosa que ocorram em equipamentos digitais. A Forense Digital ´e, portanto, mais abrangente e trabalha com informa¸c˜oes armazenadas ou transmitidas por equipamentos digitais como PDAs (Personal Digital Assistants), telefones celulares, m´aquinas de FAX, centrais telefˆ onicas digitais, os pr´ oprios computadores, entre outros [12]. A Forense Digital ´e uma ciˆencia relativamente nova, complexa e engloba procedimentos e metodologias de ´areas t˜ ao distintas como Minera¸c˜ao de Dados, Lingu´ıstica, L´ogica, Probabilidade e Estat´ıstica, Processamento Digital de Sinais e de Imagens, Criptografia e Redes de Computadores. Pelo exposto, a disciplina proposta amplia a forma¸c˜ao dos estudantes dos cursos de Ciˆencia da Computa¸c˜ao e de Engenharia de Computa¸c˜ao, preparando-os para um mercado promissor e carente de profissionais capacitados. Esses profissionais estar˜ ao aptos, tamb´em, a realizar pesquisa cient´ıfica aplicada `a criminal´ıstica “no sentido de se chegar a resultados satisfat´ orios na escolha dos melhores procedimentos e metodologias”, [13]. Esse objetivo est´ a de acordo com a proposta do modelo de padroniza¸c˜ao de procedimentos em Forense Computacional apresentado na referˆencia [13]. Segundo essa referˆencia, “o exame pericial, bem como o desenvolvimento e avalia¸c˜ao de procedimentos de an´ alise forense, devem ser executados por pessoa portadora de n´ıvel superior, forensicamente capacitada e com habilita¸ c˜ ao t´ ecnica e cient´ıfica relacionada ` a natureza do exame1 . Al´em disso, tal pessoa n˜ ao deve ter antecedentes que levantem suspeitas acerca do seu car´ ater e ´etica”. Ainda, continuam os autores, [13], “o perito deve lastrear suas assertivas e conclus˜ oes com justificativas cient´ıficas, de modo que haja, do ponto de vista cient´ıfico, uma u ´nica possibilidade de se chegar a tais afirma¸c˜oes”.
com competˆencia, profissionalismo e ´etica em um mercado promissor e carente de especialistas. Este trabalho est´ a organizado como segue. A se¸c˜ao 2 apresenta o contexto no qual a disciplina proposta se enquadra. Nessa se¸c˜ ao, ´e apresentado o padr˜ ao atual de forma¸c˜ ao dos alunos dos cursos de Ciˆencia da Computa¸c˜ ao e de Engenharia de Computa¸c˜ ao na ´ area de seguran¸ca de sistemas ´ demonstracomputacionais ou de seus servi¸cos. E da a oportunidade da cria¸ca˜o da Forense Computacional, uma sub-´ area da Forense Digital, como uma disciplina formal. Em seguida, a se¸c˜ ao 3 apresenta a distribui¸c˜ao da carga hor´ aria, os t´ opicos que integram a ementa da disciplina e uma sugest˜ ao para a realiza¸c˜ ao da avalia¸c˜ ao do rendimento dos estudantes. Na se¸c˜ ao 4, mostra-se a dinˆ amica com que se pretende apresentar os assuntos. Sistemas operacionais livres e de c´ odigo fonte dispon´ıvel s˜ao escolhidos para as m´ aquinas onde devem ser realizadas as pr´ aticas de laborat´ orio. A proposi¸c˜ao das ferramentas e dos ambientes a serem utilizados nessas pr´ aticas ´e feita na se¸c˜ ao 5. O trabalho ´e conclu´ıdo com a proposta de algumas linhas de pesquisa, ou de desenvolvimento, que podem ser seguidas como resultado da abordagem mais aprofundada e estendida dos assuntos apresentados no decorrer da disciplina. A disciplina, na forma como est´ a aqui discutida, ser´ a implementada na ˆenfase em Engenharia de Computa¸c˜ ao e Automa¸c˜ ao do Programa de P´ osgradua¸c˜ao em Engenharia El´etrica da Universidade Federal do Rio Grande do Norte e apresentada no primeiro semestre letivo de 2004.
2
O CONTEXTO
Nas Institui¸c˜ oes de Ensino Superior, os alunos de Ciˆencia da Computa¸c˜ ao e de Engenharia de Computa¸c˜ ao cursam a disciplina de Redes de Computadores segundo padr˜ oes bem estabelecidos, [5, 6, 7]. Os estudantes complementam essa forma¸c˜ ao cursando disciplinas na ´ area de seguran¸ca de sistemas ou de servi¸cos utilizando textos consagrados, [8, 9, 10]. Este trabalho sugere que essa forma¸c˜ ao inclua, tamb´em, a disciplina Forense Computacional. A Forense Computacional pode ser definida como um conjunto de t´ecnicas, cientificamente comprovadas, utilizadas para coletar, reunir, identificar, examinar, correlacionar, analisar e documentar evidˆencias digitais processadas, armazenadas ou transmitidas por computadores. Evidˆencia digital ´e qualquer informa¸c˜ao de valor probat´ orio que ´e armazenada ou transmitida de forma digital. Para a Forense Computacional, o computador, isolado ou em rede, pode ter sido o objeto ou o alvo de uma atividade criminosa cabendo ao analista a coleta de evidˆencias que possam levar `a identifica1 Os
destaques foram feitos pelo autor deste trabalho.
3
˜ A ORGANIZAC ¸ AO DISCIPLINA
DA
A disciplina est´ a estruturada para ser apresentada em 60 (sessenta) horas/aula, correspondentes a 04 (quatro) cr´editos, com duas sess˜oes semanais de 02 (duas) horas/aula cada. Essa carga hor´ aria est´ a distribu´ıda ao longo de 15 (quinze) sema102
nas. As sess˜ oes s˜ ao utilizadas para a apresenta¸c˜ao formal dos assuntos relacionados com a disciplina, para a realiza¸c˜ ao eventual de palestras proferidas por profissionais convidados e para a apresenta¸c˜ao de trabalhos desenvolvidos pelos alunos. As experiˆencias realizadas em laborat´ orio n˜ ao est˜ ao contabilizadas nas 60 (sessenta) horas/aula previstas. Inicialmente, a disciplina ser´ a oferecida no primeiro semestre de 2004 para alunos da ˆenfase em Engenharia de Computa¸c˜ ao e Automa¸c˜ao do Programa de P´ os-Gradua¸c˜ ao em Engenharia El´etrica da Universidade Federal do Rio Grande do Norte que tenham cursado o pr´e-requisito m´ınimo estabelecido em se¸c˜ ao anterior. A disciplina Forense Computacional, como est´ a sendo proposta, possui a seguinte ementa: Introdu¸c˜ao; Conceitos de Redes de Computadores e de Sistemas Operacionais; Sistemas de Detec¸c˜ao de Intrusos; Resposta a Incidentes; An´ alise de Sistemas Comprometidos; Aspectos Legais; Aspectos ´ Eticos.
sequente. Assim sendo, s˜ao enfatizados o mecanismo de handshaking, as portas dos servi¸cos, os campos de flags do protocolo TCP e o conceito de cliente-servidor. Em rela¸c˜ao ao protocolo IP, apenas o IPv4 (Internet Protocol version 4 ) ser´ a considerado e dar-se-´ a ˆenfase `a revis˜ ao de endere¸camento. No estudo dos protocolos dever˜ ao ser utilizadas ferramentas de an´ alise de tr´ afego. Com rela¸c˜ao a sistemas operacionais, a op¸c˜ao ´e sempre pelos sistemas livres e de c´odigo aberto. Ser˜ ao utilizados o Linux e o OpenBSD como sistemas operacionais das m´aquinas do laborat´ orio e das c´elulas de an´ alise forense. Desta forma, ser´ a dada uma vis˜ ao geral de aspectos relativos a sistemas de arquivos (filesystems), parti¸c˜oes, devices, kernel, comandos e utilit´ arios mais importantes desses sistemas. Dependendo da disponibilidade, poder˜ ao ser apresentadas caracter´ısticas de sistemas operacionais fechados. Nas trˆes semanas subsequentes, ser˜ ao apresentados assuntos relativos a sistemas de detec¸c˜ao de intrusos e de procedimentos de resposta a incidenˆ ´e dada `a an´ alise e comtes, [18, 19, 20]. Enfase preens˜ ao de logs e `a importˆ ancia de se estabelecer mecanismos de sincroniza¸c˜ao de tempo para os diversos equipamentos de rede. As implementa¸c˜oes de m´aquinas centralizadoras de logs (loghosts) e do protocolo NTP (Network Time Protocol ), [21], devem ser feitas nesta etapa. Al´em disso, ser˜ ao discutidas as arquiteturas de honeynets e honeypots [22]. Essas arquiteturas ser˜ ao avaliadas do ponto de vista de fornecedoras de material para an´ alise. Procedimentos para resposta a incidentes de seguran¸ca ser˜ ao apresentados. As sess˜oes dessas 6 (seis) primeiras semanas devem ser enriquecidas com experiˆencias em laborat´ orio nas quais os alunos realizam, entre outras, as seguintes tarefas:
O desempenho individual dos estudantes ser´ a medido atrav´es da realiza¸c˜ ao de duas avalia¸c˜oes individuais (com peso relativo de 40%), da apresenta¸c˜ao de um projeto de an´ alise realizado em grupo (com peso relativo de 40%) e pela apresenta¸c˜ao de um trabalho individual (com peso relativo de 20%). O programa da disciplina deve evoluir como descrito na pr´ oxima se¸c˜ ao.
4
˜ A IMPLEMENTAC ¸ AO
Conforme apresentado na se¸c˜ ao anterior, a disciplina prevˆe aulas ao longo de 15 (quinze) semanas. Em termos de programa¸c˜ ao semanal, os assuntos ser˜ ao desenvolvidos na seq¨ uˆencia que se segue. Na primeira semana, apresenta-se uma vis˜ ao geral da ´ area de Forense Digital. O objetivo ´e mostrar o enquadramento dos assuntos tratados na disciplina Forense Computacional em um contexto mais amplo, como definido na se¸c˜ ao 2. Nessa semana, devem ser estabelecidos os grupos de trabalho para a realiza¸c˜ ao das tarefas pr´ aticas. Tamb´em devem ser escolhidos os temas dos assuntos que dever˜ ao ser pesquisados individuamente para apresenta¸c˜ ao no decorrer da disciplina. Nas duas semanas seguintes, apresentam-se os conceitos de redes de computadores e de sistemas operacionais que s˜ ao diretamente relacionados `a Forense Computacional. Nessa etapa, faz-se uma revis˜ ao dos protocolos do modelo TCP/IP. S˜ ao revisados conceitos correspondentes aos protocolos TCP (Transmission Control Protocol ), [14], UDP (User Datagram Protocol ), [15], ICMP (Internet Control Message Protocol ), [16], e IP (Internet Protocol ), [17]. O objetivo principal da apresenta¸c˜ao desses protocolos ´e preparar os estudantes para a an´ alise de logs a ser realizada na etapa sub-
• Utiliza¸c˜ao de ferramentas para coleta e an´ alise de tr´ afego de rede; • Implementa¸c˜ao de sistemas de detec¸c˜ao de intrusos e an´ alise dos respectivos logs; • Implementa¸c˜ao de uma firewall e an´ alise dos logs correspondentes; • Implementa¸c˜ao de um sistema centralizado de coleta de logs, e • Implementa¸c˜ao de uma hierarquia NTP. Em seguida, e durante as pr´ oximas 5 (cinco) semanas, ser˜ ao realizadas as sess˜oes correspondentes aos trˆes A da Forense Computacional: • Aquisi¸c˜ao das evidˆencias sem alterar ou contaminar os dados originais;
103
• Autentica¸c˜ao das evidˆencias coletadas de forma a comprovar que estas s˜ao idˆenticas `as originais apreendidas, e
• Utilizar ferramentas para a an´ alise das evidˆencias coletadas.
• An´ alise das evidˆencias recolhidas. O objetivo nessa etapa ´e apresentar situa¸c˜oes reais para que os estudantes, agora analistas forenses, desenvolvam seus trabalhos. Essas sess˜oes s˜ao baseadas nas recomenda¸c˜ oes da RFC-3227, [23]. Utiliza-se, tamb´em, o material escrito em portuguˆes dispon´ıvel em [24] e as referˆencias [25, 26, 27]. As exposi¸c˜ oes te´ oricas dessas sess˜ oes tamb´em ser˜ ao complementadas com pr´ aticas realizadas em laborat´ orio. Atrav´es dessas pr´ aticas, o estudante adquire capacita¸c˜ ao para:
´ importante salientar que todas as experiˆenciE as em laborat´ orio s˜ao realizadas segundo a disponibilidade de cada um dos grupos de alunos e podem ter ou n˜ ao o acompanhamento direto, formal, do professor. A semana seguinte ´e reservada para a abordagem de aspectos legais e ´eticos relacionados `a Forense Computacional. Essas atividades podem ser combinadas com palestras de convidados representantes de entidades encarregadas da manuten¸c˜ao da lei.
• Documentar procedimentos; • Definir o hardware necess´ ario para a montagem da c´elula de an´ alise de m´ıdias;
Finalmente, as 3 (trˆes) u ´ltimas semanas da disciplina est˜ ao reservadas para que os alunos apresentem os trabalhos te´ oricos e/ou pr´ aticos desenvolvidos.
• Instalar o sistema operacional, e as ferramentas adequadas, no equipamento onde as evidˆencias ser˜ ao analisadas; • Utilizar ferramentas para:
Todos os procedimentos propostos para a apresenta¸c˜ao da disciplina est˜ ao sumarizados na Tabela 1. Pode-se observar que as 15 (quinze) semanas est˜ ao agrupadas em 3 (trˆes) etapas. A primeira etapa, constitu´ıda pelas 6 (seis) primeiras semanas de aula, concentra as atividades relativas `a coleta e an´ alise de tr´ afego de rede, implementa¸c˜ao de servi¸cos (sistema de detec¸c˜ao de intrusos, firewall, loghosts, hierarquia NTP) e an´ alise de logs. A segunda etapa, com 5 (cinco) semanas de aula, corresponde a atividades relacionadas `a aquisi¸c˜ao, autentica¸c˜ao e an´ alise de evidˆencias.
– coletar evidˆencias em mem´ oria; – coletar evidˆencias relacionadas ao estado dos processos, e – coletar evidˆencias relacionadas ao estado das conex˜ oes de rede. • Utilizar procedimentos para duplica¸c˜ao de m´ıdias; • Utilizar procedimentos para preserva¸c˜ao das evidˆencias coletadas, e
Tabela 1: Forense Computacional: resumo dos t´ opicos a serem abordados Etapa
Total de Semanas 1
2 1
3
2
5
3
1 3
Atividades Planejadas Introdu¸c˜ ao Contextualiza¸c˜ao da disciplina Defini¸c˜ ao dos Grupos de Trabalho para realiza¸c˜ao de tarefas pr´ aticas Escolha de temas para a realiza¸c˜ao do Trabalho Final Individual TCP/IP - Protocolos TCP, UDP, ICMP, IPv4 Linux/OpenBSD como base das c´elulas de an´ alise forense Outros sistemas operacionais Sistemas de detec¸c˜ao de intrusos Sistemas de prote¸c˜ao de redes e de hosts - firewalls M´ aquinas centralizadoras de logs, loghosts Mecanismo de sincroniza¸c˜ao de tempo, protocolo NTP Utiliza¸c˜ ao de honeynets, honeypots como fornecedoras de material Procedimentos para resposta a incidentes de seguran¸ca M´ıdias digitais Procedimentos para coleta e preserva¸c˜ao de evidˆencias Procedimentos para an´ alise de evidˆencias Utiliza¸c˜ ao de ferramentas e de ambientes para an´ alise forense Aspectos legais e ´eticos da Forense Computacional Apresenta¸c˜ao dos trabalhos realizados 104
c´odigo aberto traz em si, ainda, a vantagem adicional de possibilitar a realiza¸c˜ao de auditorias como mais uma pr´ atica de ensino. As experiˆencias de laborat´ orio ser˜ ao realizadas em m´aquinas com sistemas operacionais Linux e OpenBSD. Inicialmente, ser´ a dado destaque `a utiliza¸c˜ao de comandos ou utilit´ arios geralmente presentes nessas distribui¸c˜oes e que devem ser de conhecimento dos estudantes. Podem-se citar: ls, cd, cat, dd, mount, file, strings, ps, arp, lsof, netstat, find, strace, grep, entre outros. Tamb´em ser˜ ao usadas e avaliadas as ferramentas e os ambientes mostrados na Tabela 2. Nessa Tabela, todos os links apresentados est˜ ao ativos em junho de 2003. Essas ferramentas e ambientes representam apenas uma pequena fra¸c˜ao do material que est´ a dispon´ıvel na Internet, [28].
Na terceira etapa, com 4 (quatro) semanas de aula, s˜ao discutidos aspectos ´eticos e legais pertinentes e s˜ ao apresentados os trabalhos desenvolvidos pelos estudantes. A divis˜ ao em etapas dos assuntos tratados na disciplina Forense Computacional auxilia no processo de escolha das ferramentas a serem utilizadas nos trabalhos desenvolvidos em laborat´ orio.
5
FERRAMENTAS E AMBIENTES
Para as atividades desenvolvidas em laborat´ orio, a op¸c˜ ao ´e a utiliza¸c˜ ao de ferramentas e ambientes livres e de c´ odigo aberto por quest˜ oes de custos e, tamb´em, por estarem facilmente dispon´ıveis. O
Tabela 2: Ferramentas e Ambientes Utilizados Etapa
1
2
Ferramentas e Ambientes tcpdump, libpcap ethereal nmap netcat snort chkrootkit iptables pf
Disponibilidade http://www.tcpdump.org http://www.ethereal.org http://www.insecure.org http://www.atstake.com http://www.snort.org http://www.chkrootkit.org http://www.netfilter.org http://www.benzedrine.cx/pf.html
TCT The Sleuth Kit The Autopsy Forensic Browser trinux FIRE Knoppix
http://www.porcupine.org http://www.sleuthkit.org/sleuthkit/index.php http://www.sleuthkit.org/autopsy/index.php http://trinux.sourceforge.net/ http://fire.dmzs.com http://www.knoppix.org
Como descrito na se¸c˜ ao anterior, a apresenta¸c˜ao da disciplina est´ a dividida em etapas para facilitar a escolha das ferramentas e dos ambientes a serem utilizados em laborat´ orio. Na Etapa 1, mostrada na Tabela 2, nos procedimentos de aprendizagem relativos ` a coleta e an´ alise de tr´ afego de rede, ser˜ ao usadas as ferramentas tcpdump e ethereal. A ferramenta tcpdump, uma das mais destacadas na ´ area de seguran¸ca, [19], ´e uma interface para as funcionalidades de captura e de filtragem de pacotes que s˜ ao oferecidas pela biblioteca libpcap. A biblioteca libpcap tamb´em ´e adotada como base para alguns sistemas de detec¸c˜ao de intrusos. O tr´ afego capturado via tcpdump pode ser analisado pelo pr´ oprio programa ou por uma ferramenta auxiliar. A ferramenta auxiliar escolhida, ethereal, pode ser usada em n´ıvel de linha de comando ou atrav´es de sua interface gr´ afica.
O software nmap ´e um port scanner utilizado para fazer auditorias e mapeamento de redes e tamb´em serve como gerador de tr´ afego interessante. Esse tr´ afego ´e capturado pelo tcpdump e analisado atrav´es do ethereal. O netcat ´e um utilit´ ario que lˆe ou escreve dados atrav´es de conex˜ oes de rede via protocolo TCP ou UDP. Pode ser usado para fazer transferˆencias de conte´ udo de m´ıdias de um computador para outro. O snort ´e um sistema de detec¸c˜ao de intrusos. Na disciplina, ele ser´ a empregado para produzir logs das amea¸cas geradas no laborat´ orio. O chkrootkit ´e utilizado para detectar a presen¸ca de rootkits. Os rootkits s˜ao ferramentas utilizadas por atacantes ap´ os comprometerem m´aquinas.
Ainda na primeira etapa, ser˜ ao usados os programas nmap, netcat, snort e chkrootkit, [29].
As t´ecnicas de aquisi¸c˜ao, autentica¸c˜ao e an´ alise das evidˆencias s˜ao estudadas durante 5 (cinco)
A implementa¸c˜ao das firewalls ser´ a feita usando-se o iptables nos sistemas Linux ou o pf nos sistemas OpenBSD.
105
semanas usando-se as ferramentas e os ambientes apresentados na Etapa 2 da Tabela 2. Nessa etapa, a primeira ferramenta apresentada aos estudantes ´e o TCT, The Coroner’s Toolkit, desenvolvida por Dan Farmer e Wietse Venema. TCT ´e composto por programas para aquisi¸c˜ao de dados (grave-robber) e por programas para an´ alise de sistemas de arquivos (unrm, ils, icat e lazarus). O software The Sleuth Kit, anteriormente conhecido como TASK - The @stake Sleuth Kit, ´e uma cole¸c˜ ao de ferramentas em linha de comando que permite examinar sistemas de arquivos NTFS, FAT, FFS, EXT2FS, e EXT3FS. Foi testado em diversas distribui¸c˜ oes Linux e *BSD. Apesar de adotar o c´odigo e a arquitetura de projeto do TCT, estende suas funcionalidades. O programa The Autopsy Forensic Browser ´e uma interface gr´ afica para o software The Sleuth Kit. No decorrer do curso, o aluno utilizar´ a ambientes autˆ onomos gravados em disquetes ou em CDs auto-execut´ aveis. Esses ambientes possuem um conjunto de ferramentas que permitem a realiza¸c˜ao ou que podem auxiliar nos procedimentos de an´ alise forense. Os ambiente s˜ ao:
6
Apresenta-se uma proposta de formaliza¸c˜ao e de ensino da disciplina Forense Computacional. Essa disciplina pode ser enquadrada como disciplina complementar para alunos em final de curso nos cursos de gradua¸c˜ao de Ciˆencia da Computa¸c˜ao ou de Engenharia de Computa¸c˜ao ou em cursos de p´ os-gradua¸c˜ao dessas mesmas ´areas. A disciplina, de car´ ater eminentemente pr´ atico, ser´ a inicialmente implementada na ˆenfase em Engenharia de Computa¸c˜ao e Automa¸c˜ao do Programa de P´ osgradua¸c˜ao em Engenharia El´etrica da Universidade Federal do Rio Grande do Norte e apresentada no primeiro semestre letivo de 2004. Com essa disciplina abrem-se perspectivas de realiza¸c˜ao de pesquisas de novas t´ecnicas em computa¸c˜ao forense, de amplia¸c˜ao da cobertura ou de realiza¸c˜ao de auditorias em ferramentas e em ambientes existentes, de desenvolvimento de novas ferramentas e na cria¸c˜ao de metodologias para a valida¸c˜ao de t´ecnicas e procedientos atualmente adotados.
Referˆ encias
• trinux, uma distribui¸c˜ ao Linux baseada em disquete que possui ferramentas que podem ser utilizadas para an´ alise de tr´ afego e verifica¸c˜ ao de vulnerabilidades, entre outros;
[1] D. Frinke, Who Watches the Security Educators?, IEEE Security & Privacy Magazine, Vol.1, Issue 3, pp. 56-58, May-June, 2003.
• FIRE (Forensic and Incident Response Environment Bootable CD) que, atualmente, possui 196 (cento e noventa e seis) ferramentas dispon´ıveis, agrupadas em:
[2] Digital Forensic Education, The Electronic Evidence Information Center, dispon´ıvel em http://www.e-evidence.info/education. html em junho de 2003.
– ferramentas para recupera¸c˜ ao e an´ alise de dados;
[3] J.P. Craiger, A. Nicoll, B. Burnham, An Applied Course in Network Forensics, Proceedings of the Workshop for Dependable and Secure Systems, University of Idaho, Moscow, Idaho, USA, September, 2002, dispon´ıvel em http://craiger.ist.unomaha.edu/pc/ craiger.netforensics.FINAL.pdf em junho de 2003.
– ferramentas para resposta a incidentes; – ferramentas para realiza¸ca˜o de testes de penetra¸c˜ ao; – ferramentas diversas compiladas estaticamente, e – ferramentas para a descoberta de v´ırus. • Knoppix, uma distribui¸c˜ ao Linux de prop´ osito geral que pode ser adotada na fase de coleta de evidˆencias em sistemas comprometidos.
[4] P.L. de Geus, Instituto de Computa¸c˜ao da UNICAMP, dispon´ıvel em http://bastion. las.ic.unicamp.br/paulo/papers/ em junho de 2003.
As ferramentas e os ambientes descritos ser˜ ao utilizados para analisar:
[5] W.R. Stevens, TCP/IP Illustrated, The Protocols, Vol. 1, Addison-Wesley, 1994.
• os logs obtidos de sistemas em produ¸c˜ao ou gerados atrav´es de pr´ aticas desenvolvidas no pr´ oprio laborat´ orio;
[6] J.F. Kurose, K.W. Ross, Computer Networking, A Top-Down Approach Featuring the Internet, Addison-Wesley, 2001.
• as imagens de sistemas comprometidos atrav´es de experiˆencias pr´ aticas realizadas em laborat´ orio, e • imagens de sistemas comprometidos obtidas na Internet.
˜ CONCLUSOES
106
[7] D.E. Comer, Internetworking with TCP/IP Principles, Protocols, and Architecture, Vol. 1, 3rd. Edition, Prentice-Hall, 1995.
[8] W. Stallings, Cryptography and Network Security, Principles and Practice, 2nd Edition, Prentice-Hall, 1999.
[20] E.E. Schultz, R. Shumway, Incident Response: A Strategic Guide to Handling System and Network Security Breaches, New Riders Publishing, 2002.
[9] S. Garfinkel, G. Spafford, Practical Unix & Internet Security, 2nd Edition, O’Reilly & Associates, 1996.
[21] D.L. Mills, Network Time Protocol (Version 3), RFC-1305, March, 1992, dispon´ıvel em http://www.rfc-editor.org em junho de 2003.
[10] C. Kaufman, R. Perlman, M. Speciner, Network Security, Private Communication in a Public World, 2nd Edition, Prentice Hall, 2002.
[22] A.B. Filho e outros, Honeynet.BR: Desenvolvimento e Implanta¸ca ˜o de um Sistema para Avalia¸ca ˜o de Atividades Hostis na Internet Brasileira, Anais do IV Simp´ osio sobre Seguran¸ca em Inform´ atica, SSI2002, S˜ ao Jos´e dos Campos, SP, pp. 19-25, Novembro de 2002, dispon´ıvel em http://www.lac.inpe. br/security/honeynet/#papers em junho de 2003.
[11] G. Palmer, A Road Map for Digital Forensic Research, Report for the First Digital Forensic Research Workshop (DFRWS), DTR-T001-01 FINAL, November 2001, dispon´ıvel em http: //www.dfrws.org/dfrws-rm-final.pdf em junho de 2003. [12] W. Harrinson, e outros, A Lessons Learned Repository for Computer Forensics, International Journal of Digital Evidence, Fall 2002, Vol. 1, Issue 3, dispon´ıvel em http://www. ijde.org/docs/02_fall_art1.pdf, em junho de 2003.
[23] D. Brezinski, T. Kilalea, Guidelines for Evidence Colletion and Archiving, RFC-3227, February, 2002, dispon´ıvel em http://www. rfc-editor.org em junho de 2003.
[13] M.A. dos Reis, P. L. de Geus, Forence Computacional: Procedimentos e Padr˜ oes, Anais do SSI2001, 3o . Simp´ osio de Seguran¸ca em Inform´atica, Instituto Tecnol´ ogico de Aeron´ autica, S˜ ao Jos´e dos Campos, SP, Outubro de 2001, dispon´ıvel em http://www.dcc.unicamp.br/ ~ra000504/ em junho de 2003.
[24] M.A. dos Reis, P. L. de Geus, An´ alise Forense de Intrus˜ oes em Sistemas Computacionais: T´ecnicas, Procedimentos e Ferramentas, Anais do I Semin´ ario Nacional de Per´ıcia em Crimes de Inform´ atica, Macei´ o, AL, Novembro de 2002, dispon´ıvel em http:// www.dcc.unicamp.br/~ra000504/ em junho de 2003.
[14] J. Postel, Transmission Control Protocol, RFC-793, September, 1981, dispon´ıvel em http://www.rfc-editor.org em junho de 2003.
[25] W.G. Kruse, J.G. Heiser, Computer Forensics, Incident Response Essentials, AddisonWesley, 2002.
[15] J. Postel, User Datagram Protocol, RFC-768, August, 1980, dispon´ıvel em http://www. rfc-editor.org em junho de 2003.
[26] D. Schweitzer, Incident Response - Computer Forensics Toolkit, Wiley, 2003.
[16] J. Postel, Internet Control Message Protocol, RFC-792, September, 1981, dispon´ıvel em http://www.rfc-editor.org em junho de 2003.
[27] K. Mandia, C. Prosise, Incident Response: Investigating Computing Crime, McGraw-Hill, 2001.
[17] J. Postel, Internet Protocol, RFC-791, September, 1981, dispon´ıvel em http://www. rfc-editor.org em junho de 2003.
[28] The Ultimate Collection of Forensic Software, dispon´ıvel em http://www.tucofs.com em junho de 2003.
[18] S. Northcutt, J. Novak, Network Intrusion Detection, 3rd Edition, New Riders Publishing, 2003.
[29] N. Murilo, K. Steding-Jessen, M´etodos para a Detec¸ca ˜o Local de Rootkits e M´ odulos de Kernel Maliciosos em Sistemas Unix, Anais do 3o . Simp´ osio sobre Seguran¸ca em Inform´ atica, SSI2001, S˜ ao Jos´e dos Campos, SP, pp. 133-139, Novembro de 2001.
[19] S. Northcutt, M. Cooper, M. Fearnow, K. Frederick, Intrusion Signatures and Analysis, New Riders Publishing, 2001.
107