Upload
zansued
View
69
Download
0
Embed Size (px)
DESCRIPTION
Trabalho de Conclusão de Curso Tecnologia em Sistemas para Internet
Citation preview
UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN
CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS PARA INTERNET
GUILHERME ZANINI DE S
AVALIAO DE TCNICAS ANTIFORENSES COMPUTACIONAIS
APLICADAS A REGISTROS DE SISTEMAS LINUX
TRABALHO DE CONCLUSO DE CURSO
CAMPO MOURO
2013
2
GUILHERME ZANINI DE S
AVALIAO DE TCNICAS ANTIFORENSES COMPUTACIONAIS
APLICADAS A REGISTROS DE SISTEMAS LINUX
Trabalho de Concluso de Curso de graduao do Curso
Superior de Tecnologia em Sistemas para Internet da
Coordenao de Informtica da Universidade Tecnolgica
Federal do Paran UTFPR, como requisito para colao
de grau.
Orientador: Prof. Me. Rodrigo Campiolo
CAMPO MOURO
2013
3
Ministrio da Educao
Universidade Tecnolgica Federal do Paran Campus Campo Mouro
Coordenao do Curso Superior de Tecnologia em Sistemas para Internet
ATA DA DEFESA DO TABALHO DE CONCLUSO DE CURSO
s vinte e um horas do dia trs de maio de dois mil e treze foi realizada no Mini-auditrio
do EAD da UTFPR-CM a sesso pblica da defesa do Trabalho de Concluso do Curso
Superior de Tecnologia em Sistemas para Internet do acadmico Guilherme Zanini de S
com o ttulo AVALIAO DE TCNICAS ANTIFORENSES COMPUTACIONAIS
APLICADAS A REGISTROS DE SISTEMAS LINUX. Estavam presentes, alm do acadmico,
os membros da banca examinadora composta pelo professor Me. Rodrigo Campiolo
(Orientador-Presidente), pelo professor Me. Luiz Arthur Feitosa dos Santos e pelo professor
Me. Frank Helbert Borsato. Inicialmente, o aluno fez a apresentao do seu trabalho, sendo,
em seguida, arguido pela banca examinadora. Aps as arguies, sem a presena do
acadmico, a banca examinadora o considerou APROVADO na disciplina de Trabalho de
Concluso de Curso e atribuiu, em consenso, a nota ____ (_________________________).
Este resultado foi comunicado ao acadmico e aos presentes na sesso pblica. A banca
examinadora tambm comunicou ao acadmico que este resultado fica condicionado
entrega da verso final dentro dos padres e da documentao exigida pela UTFPR ao
professor Responsvel do TCC no prazo de onze dias. Em seguida foi encerrada a sesso
e, para constar, foi lavrada a presente Ata que segue assinada pelos membros da banca
examinadora, aps lida e considerada conforme.
Observaes:
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
Campo Mouro, 03 de maio de 2013.
Me. Luiz Arthur Feitosa dos Santos Membro
Me. Frank Helbert Borsato Membro
Me. Rodrigo Campiolo Orientador
4
Deus, que me concedeu a Sua Graa,
favor imerecido e benevolente para com os
homens.
memria de lcio de S, cujos sbios
conselhos me serviram a vida toda e por
sua dedicao com a famlia que
expressaram o que amar.
Djanira Zanini de S, no somente me,
mas guerreira e refgio nos momentos de
dor, um presente de Deus para ns.
Francisco Mineiro Junior e Deise Mineiro,
que conduziram e incentivaram minha
educao formal, que me amaram e me
ampararam em momentos difceis.
Tais, Cintia e Ronaldo, meu irmos os
quais amo.
minha companheira e amada Jennifer,
uma batalhadora, mulher de Deus, minha
esposa.
todos meus amigos, que me ajudaram,
me incentivaram e foram pacientes comigo.
5
AGRADECIMENTOS
Certamente estes pargrafos no iro atender a todas as pessoas que fizeram parte
dessa importante fase de minha vida. Portanto, desde j peo desculpas quelas que no
esto presentes entre essas palavras, mas elas podem estar certas que fazem parte do meu
pensamento e de minha gratido.
Reverencio o Professor Me. Rodrigo Campiolo pela sua dedicao e pela orientao
deste trabalho e, por meio dele, eu me reporto a toda a comunidade da Universidade
Tecnolgica Federal do Paran (UTFPR) pelo apoio incondicional.
A todos os colegas da Universidade gostaria de externar minha satisfao de poder
conviver com eles durante a realizao deste curso, pelos momentos de estresse, pelas
muitas conversas nas salas de aula, pois so como alavancas para o convvio sadio perante
a sociedade e pela grande pacincia comigo.
Agradeo aos pesquisadores e professores da banca examinadora pela ateno e
contribuio dedicadas a este estudo.
Reconheo tambm o carinho da minha famlia, pois acredito que sem o apoio deles
seria muito difcil vencer esse desafio. E por ltimo, e nem por isso menos importante,
agradeo a minha esposa Jennifer pelo carinho, amor e compreenso.
6
RESUMO
S, Guilherme Zanini de. Avaliao de Tcnicas Antiforenses Computacional Aplicadas
a Registros de Sistema Linux. 59f. Trabalho de Concluso de Curso (Tecnologia em
Sistemas para a Internet) Programa de Graduao em Tecnologia em Sistemas para
Internet, Universidade Tecnolgica Federal de do Paran. Campo Mouro, 2013.
Este trabalho aborda as tcnicas antiforenses computacionais aplicadas a arquivos de
registro, conhecido como logs. Os registros so uma das principais fontes de informaes
para peritos criminais e administradores de rede investigarem comportamentos anmalos em
sistemas computacionais, como por exemplo, resultados de uma invaso. Objetiva-se neste
trabalho investigar e analisar as tcnicas antiforenses aplicadas a sistemas de registro e
avaliar a efetividade e dificuldade de execuo de tais tcnicas. Foram selecionados a
distribuio GNU/Debian Linux para a realizao de dois casos de estudo: instalao padro
e medidas de segurana. Em ambos os casos foram aplicadas as tcnicas antiforenses e
avaliadas a efetividade e dificuldade baseadas na execuo de cada tcnica. Foi considerado
neste trabalho que o sistema alvo j estava comprometido. Verificou-se que as tcnicas
usadas como um super usurio so eficientes em um ambiente sem proteo adequada, logo,
torna-se simples um invasor ocultar seus rastros.
Palavras-chave: Antiforenses. Logs. Anlise Forense. Tcnicas. Segurana. Linux.
7
ABSTRACT
SA, Guilherme Zanini de. Analysis of the Anti-forensic Techniques Applied to Linux Log
Files. 59p. End of Course Work (Systems Technology for the Internet) - Graduate Program in
Systems Technology for the Internet, Federal Technological University of Paran. Campo
Mouro, 2013.
This work addresses anti-forensic techniques applied in log files. Log files are the main source
of information for forensic experts and network administrators to investigate anomalies in
computer systems, such as results from an invasion. The aim was to investigate anti-forensic
techniques used in log files and also evaluate the efficacy and difficulty of implementing such
techniques. We used GNU / Debian Linux and we carried out two case studies: standard
installation and safety measures. In both case, antiforenses techniques were evaluated
regarding efficacy and difficulty. We assumed that the target system was already compromised.
We verified that the techniques used as a super user are efficient in an environment without
proper protection hence it becomes easy an invader hide his actions.
Keywords: Anti-forensic. Security. Linux. Forensic analysis.
8
LISTA DE ILUSTRAES
FIGURA 1 - ANATOMIA DE UM ATAQUE ............................................................................ 20
FIGURA 2- TOPOLOGIA DA REDE UTILIZADA .................................................................. 30
FIGURA 3 - LOG GERADO EM AUTH.LOG POR ACESSO SSH ........................................ 32
FIGURA 4 USO DO COMANDO HISTORY ...................................................................... 32
FIGURA 5 - PRIMEIRO COMANDO EXECUTADO POR UM INVASOR .............................. 33
FIGURA 6 - LOCALIZAO E EDIO DO REGISTRO AUTH.LOG .................................. 33
FIGURA 7 - APAGANDO DADOS DO AUTH.LOG ............................................................... 33
FIGURA 8 - COMANDO LAST VERIFICA LTIMOS ACESSOS BEM SUCEDIDOS ........... 33
FIGURA 9 - COMANDO LAST ADULTERADO .................................................................... 34
FIGURA 10 - EDITANDO ARQUIVO LASTLOG COM NANO .............................................. 34
FIGURA 11 - EXECUO DO COMANDO LASTLOG E INFORMAES DE IP ................ 34
FIGURA 12 - RESULTADO DO COMANDO LASTLOG ADULTERADO ............................... 34
FIGURA 13 - ARQUIVOS CONTIDOS NO ROOTKIT E SUA TRANSFERNCIA ................ 35
FIGURA 14 - MOVENDO O ARQUIVO PARA O COMPILADOR C ...................................... 35
FIGURA 15 - INSTALAO DO WIPE E O SECURE-DELETE ........................................... 36
FIGURA 16 - CRIAO DE PASTAS PARA TESTE ............................................................ 36
FIGURA 17 - REMOO DE ARQUIVO COM WIPE E TESTE ........................................... 36
FIGURA 18 - REMOO COM SECURE-DELETE EM 3 ETAPAS...................................... 36
FIGURA 19 - LISTA DE ARQUIVOS INSTALADOS PELO APT-GET ................................... 37
FIGURA 20 LIMPEZA APT-GET E REMOO DO WIPE E SECURE-DELETE ............... 37
FIGURA 21 - FALSO REGISTRO INSERIDO PARA CULPAR OUTRO USURIO .............. 37
FIGURA 22 - LOGGER -T PARA ESCONDER O NOME DE USURIO DO INVASOR ........ 38
FIGURA 23 - MENSAGEM ADICIONADA AO /ETC/LOGROTATE.CONF ............................ 38
FIGURA 24 - UTILIZAO DO COMANDO CHATTR +A .................................................... 38
FIGURA 25 - DOWNLOAD DO OSSEC HIDS ..................................................................... 39
FIGURA 26 - CONFIGURAO DO ARQUIVO XML DO OSSEC ....................................... 39
FIGURA 27 - ALERTA DO OSSEC HIDS ............................................................................. 40
FIGURA 28 - REGISTRO DO OSSEC.LOG ......................................................................... 40
FIGURA 29 - SELINUX EM FUNCIONAMENTO .................................................................. 40
FIGURA 30 - STATUS DO SELINUX ................................................................................... 41
FIGURA 31- ALTERAO DA CONFIGURAO DO SELINUX ......................................... 41
FIGURA 32 - STATUS DESATIVADO SO SELINUX ............................................................ 41
9
LISTA DE QUADROS
QUADRO 1 - CICLO DE VIDA DOS DADOS ....................................................................... 17
QUADRO 2 - MACTIMES DE UM SISTEMA ....................................................................... 17
QUADRO 3 - PRINCIPAIS REGISTROS E SUA FUNCIONALIDADE .................................. 18
QUADRO 4 - FACILITY SYSLOG ........................................................................................ 19
QUADRO 5 - NVEIS DE LOGGING (DETALHAMENTO) DE SYSLOG .............................. 19
QUADRO 6 - FERRAMENTAS UTILIZADAS PARA RECONHECIMENTO .......................... 21
QUADRO 7 - PROGRAMAS USADOS PARA DESCOBERTA DE TOPOLOGIA DE REDE . 21
QUADRO 8 - PROGRAMAS USADOS PARA VARREDURA DE REDE .............................. 22
QUADRO 9 - TCNICAS DE OBTENO DE SENHAS E CARACTERSTICAS................ 23
QUADRO 10 - ROOTKIT LRK6 E ALGUNS BINRIOS INCLUSOS .................................... 35
QUADRO 11 - ARQUIVOS DE LOG E FUNCIONALIDADES .............................................. 47
QUADRO 12 - ARQUIVOS DE CONTABILIDADE E FUNCIONALIDADE ............................ 48
QUADRO 13 - RECURSOS DO SYSLOG E PROGRAMAS QUE OS UTILIZAM ................ 48
QUADRO 14 - AO DO SYSLOG E SEU SIGNIFICADO .................................................. 49
QUADRO 15 - QUALIFICADORES DO SYSLOG DO UNIX E SEUS SIGNIFICADOS ........ 49
10
SUMRIO
1. INTRODUO ............................................................................................................. 12
2. DESENVOLVIMENTO TERICO ................................................................................. 14
2.1. PERCIA FORENSE COMPUTACIONAL ................................................................. 14
2.1.1. Definio .............................................................................................................. 14
2.1.2. Processos da percia ............................................................................................ 14
2.1.2.1. Coleta dos dados ................................................................................................. 14
2.1.2.2. Exame dos dados ................................................................................................. 15
2.1.2.3. Anlise de evidncias ........................................................................................... 15
2.1.2.4. Laudo tcnico ....................................................................................................... 15
2.2. SISTEMAS DE REGISTROS ................................................................................... 16
2.2.1. Conceito e uso de registros .................................................................................. 16
2.2.2. OOV Ordem da Volatilidade ............................................................................ 16
2.2.3. MACtimes ............................................................................................................. 17
2.2.4. Registros no Linux ................................................................................................ 18
2.3. ANATOMIA DE UM ATAQUE .................................................................................... 20
2.4. TCNICAS ANTIFORENSES ................................................................................... 23
2.4.1. Desabilitao de registros .................................................................................... 24
2.4.2. Adulterao dos registros ..................................................................................... 24
2.4.3. Excluso segura de registros ............................................................................... 24
2.4.4. Insero de entradas falsas de registro ................................................................ 24
2.4.5. Ataque a logrotate para eliminar registros antigos ................................................ 25
2.5. MEDIDAS DE SEGURANA ................................................................................... 25
2.5.1. Princpios bsicos de segurana .......................................................................... 25
2.5.2. Protegendo arquivos de relatrio de acesso ao sistema ....................................... 25
2.5.3. Cpia de segurana online ................................................................................... 25
2.5.4. Registros externos ao registro .............................................................................. 26
2.5.5. Nomes de arquivos manipulados com espao...................................................... 26
2.5.6. Servidor de registros ............................................................................................ 26
2.5.7. Scanners de segurana do sistema ...................................................................... 27
2.5.8. Permisses dos registros ..................................................................................... 27
2.5.9. Criptografia do trfego de syslog .......................................................................... 27
2.5.10. OSSEC Sistema de deteco de intruso de host ............................................. 27
2.5.11. SELinux Security Enhanced Linux ..................................................................... 28
3. MATERIAIS E MTODOS ............................................................................................ 29
3.1. MATERIAIS .............................................................................................................. 29
11
3.2. MTODOS ............................................................................................................... 30
4. APLICAO E ANLISE DAS TCNICAS ANTIFORENSES ...................................... 32
4.1. ESTUDO DE CASO 1: SEGURANA PADRO....................................................... 32
4.2. ESTUDO DE CASO 2: MEDIDAS DE SEGURANA ............................................... 39
5. RESULTADOS E DISCUSSES .................................................................................. 42
6. CONCLUSO .............................................................................................................. 44
7. ANEXOS ...................................................................................................................... 46
8. GLOSSRIO ................................................................................................................ 51
REFERNCIAS ................................................................................................................... 55
12
1. INTRODUO
Na mesma proporo que os sistemas de informaes interagem entre si, as
tentativas de fraude tambm ganham campo (CERT.BR, 2013). Devido a essa grande
interao, os recursos computacionais so acessados repetidamente. Por essa razo,
vestgios de atividades incomuns ao sistema, no apenas se destacam, mas tambm so
notveis durante um longo perodo de tempo, uma vez que so armazenados e preservados
em registros (FARMER e VENEMA, 2007).
Em geral, os sistemas de registro computacionais armazenam arquivos como
sequncia de bytes e organizam esses arquivos dentro de uma hierarquia de diretrios.
Possuem, no entanto, alm dos nomes e contedo, tambm outros atributos como permisses
de acesso, data/hora da ltima modificao, entre outros. No de se admirar que os registros
sejam o principal alvo das tentativas de fraude pelos invasores (FARMER e VENEMA, 2007).
A anlise forense computacional permite a coletar e analisar evidncias digitais,
reconstruindo ataques e recuperando dados, alm de rastrear invasores. Logo, os registros
constituem uma fonte valiosa de informaes para a percia forense (FARMER e VENEMA,
2007). Em contrapartida, para evitar ou ao menos dificultar a busca por evidncias deixadas
nesses sistemas, um invasor utiliza-se de tcnicas antiforenses computacionais de ocultao
ou corrupo de dados (HATCH, 2003).
Sites conhecidos como IDG Now e a CERT.BR apresentam constantemente notcias
sobre ataques, invases e furtos de informaes sigilosas, que por sua vez, so evidncias
da importncia deste trabalho, da conscientizao sobre a necessidade de segurana e
contextualizao sobre o tema abordado (IDG NOW, 2013; CERT.BR, 2013).
Objetiva-se com este trabalho analisar as tcnicas antiforenses computacionais
aplicadas a registros dos sistemas operacionais Linux. Como objetivos especficos tem-se:
simular um ambiente invadido e demonstrar a ocultao dos rastros nos registros, analisar a
efetividade das tcnicas em um ambiente padro e em um ambiente com medidas de
segurana previamente habilitadas.
A anlise de como os invasores ocultam suas aes importante para que
profissionais e administradores de rede possam aplicar contramedidas para manter segura as
informaes de registros ou, no mnimo, identificar rapidamente a ocorrncia de
comportamentos suspeitos no sistema.
O estudo foi realizado utilizando uma distribuio Debian virtualizada e considerando
que a mquina servidora j estava comprometida pelo invasor. Executou-se as tcnicas em
dois ambientes distintos, um com segurana padro do sistema e o outro com o uso de
softwares auxiliares que garantem a segurana do sistema. Para verificar as tcnicas
13
antiforenses foram considerados os critrios de efetividade, facilidade de execuo e ausncia
de rastros.
Este trabalho est dividido em 5 captulos principais. O captulo 2 apresenta o
desenvolvimento terico sobre a percia forense computacional, sistemas de registros,
registros no Linux, tcnicas antiforenses aplicadas aos registros e possveis contramedidas
de segurana. O captulo 3 contm os materiais e mtodos utilizados na investigao das
tcnicas antiforenses e medidas de segurana. O captulo 4 apresenta a aplicao e anlise
das tcnicas de ocultao dos rastros gerados nos registros e tambm sua aplicao com
algumas medidas de segurana previamente instaladas. O captulo 5 apresenta os resultados
e discusses, considerando cada tcnica e sua eficcia. O captulo 6 apresenta a concluso
do trabalho e possveis trabalhos futuros.
14
2. DESENVOLVIMENTO TERICO
Neste captulo so abordadas as caractersticas, definies e processos da percia
forense computacional. Conseguinte, so abordados os sistemas de registros, conhecidos
como logs. So descritas as principais caractersticas e como se comportam em ambiente
Linux. A seguir, so definidas as prticas antiforenses computacionais e as etapas de um
ataque computacional. Por ltimo, so apresentadas algumas tcnicas usadas por um invasor
para manter seu sigilo e esconder seus delitos.
2.1. PERCIA FORENSE COMPUTACIONAL
Esta seo apresenta a definio e os processos da percia forense computacional.
2.1.1. Definio
A percia considerada a cincia de coletar e analisar evidncias digitais,
reconstruindo ataques e recuperando dados para rastrear invasores (FARMER e VENEMA,
2000).
O responsvel por realizar a percia forense denominado perito forense. O perito
forense computacional consiste em um analista de sistemas, especialista em metodologias
laboratoriais e padronizao da investigao, aquisio, anlise e manuseio de evidncias em
inquritos, forense digital, inteligncia e contra inteligncia, como definem vrios autores
(ICCyber, 2010; FAERMER e VENEMA, 2007; TOMS, Eliane Maria Cordeiro, 2010).
Para que a percia possa realizar seu trabalho, conceitos essenciais devem ser
entendidos, sugerido por Farmer e Venema (2007), como a volatilidade dos dados, a diviso
em camadas e confiana, a coleta de quantidade mxima de evidncias confiveis de um
sistema em execuo e a recuperao de informaes parcialmente destrudas com o intuito
de manter a credibilidade das informaes analisadas.
Na tentativa de reconstruir a linha temporal do sistema analisado, a percia deve
seguir metodologias para o descobrimento de invases e anlise de informaes,
denominadas processos da percia.
2.1.2. Processos da percia
Ovie Carroll e outros (2008) distribuem a execuo de percia forense computacional
em quatro fases: coleta de dados, exame de dados, anlise de evidncias e documentao
tcnica.
2.1.2.1. Coleta dos dados
A fase de coleta de dados conglomera uma sequncia de passos que visam manter
15
a total integridade das evidncias encontradas e coletadas.
Durante a pr-coleta, referente chegada ao local da investigao, alguns cuidados
so adotados. O isolamento da rea ou local do crime, que visa impedir alguma alterao ou
contaminao das evidncias, ou se necessrio, fotografar ou filmar o ambiente ou
equipamento para amparar alguma anlise futura, so fatores fundamentais para se manter a
integridade da anlise.
Investigam-se, na fase de coleta, possveis fontes de dados. Computadores,
dispositivos eletrnicos, portas de comunicao de perifricos, so identificados para procura
de evidncias criminais. Alm dos dados internos ao ambiente analisado, dados significativos
podem estar em provedores, servidores ou outros domnios externos cena averiguada.
2.1.2.2. Exame dos dados
Na fase de exame dos dados, somente as informaes mais importantes
investigao so avaliadas, extradas, filtradas e documentadas, como por exemplo,
informaes que denunciem a atuao do invasor.
Diversos processos, ferramentas e tcnicas disponveis, podem reduzir muito a
quantidade de dados que necessitam de um exame minucioso, pois grande quantidade de
informao pode no ser til e muito trabalhosa de se analisar. Filtros de palavras-chaves ou
de arquivos, por exemplo, pela extenso do mesmo, permisses de acesso, entre outros, so
meios importantes para essa seleo.
2.1.2.3. Anlise de evidncias
Somente extrair dados relevantes, no o suficiente. O perito forense deve analisar
e interpretar essas informaes de forma correta.
O passo de anlise de informaes visa identificar caractersticas que indiquem
relaes com a rea do crime, como pessoas, e-mails, telefones, locais, vdeos.
A anlise das evidncias levanta artefatos que indicam ou no, paralela etapa do
exame, se os eventos investigados esto relacionados.
Freitas (2003) divide o mtodo de anlise pericial em duas categorias, a anlise fsica
e a anlise lgica. O exame sequencial e a obteno de dados de todo o conceito pericial,
dos arquivos normais s partes inacessveis da mdia, definem a anlise fsica, em contra
partida, a anlise lgica refere-se anlise dos arquivos de parties.
2.1.2.4. Laudo tcnico
O laudo tcnico consiste no ltimo processo da percia forense computacional.
Consiste no relatrio gerado a partir da anlise, destinado as pessoas leigas, por isso a
16
linguagem tcnica deve ser simples, para que todos possam compreender. O perito deve
utilizar anlises grficas, visuais, com o objetivo de facilitar a compreenso. O laudo tem o
objetivo de materializar a cena do crime, demonstrar como foi feito e denunciar o autor do
crime. (FREITAS, 2003)
2.2. SISTEMAS DE REGISTROS
Nesta seo so apresentados o conceito e uso dos registros, alm de algumas de
suas caractersticas como volatilidade e MACTimes. Tambm so abordadas as
caractersticas desses registros no Linux, tais como a estrutura, a localizao, a funo e
quais os principais registros.
2.2.1. Conceito e uso de registros
Os sistemas de registros so responsveis por armazenar informaes valiosas que
so, praticamente, as mesmas em vrios sistemas. As caractersticas comuns em um registro
so: incio de uma sesso, login pid, tty device, tty, usurio, endereo, status de sada,
identificao da seo, tempo e IP do acesso e o logout. Esses registros podem ser
armazenados em dois tipos de arquivos: os arquivos em formato de texto e os arquivos
binrios.
Os registros armazenados em arquivos texto so mais comuns e o contedo pode
ser facilmente compreendido, pois pode ser visualizado em qualquer editor de texto. Possuem
a facilidade de gerao por no dependerem de aplicativos especficos.
Os registros armazenados em arquivos binrios, por sua vez, somente podem ser
entendidos por softwares especficos. Os binrios so arquivos que contm caracteres
incompreensveis para leitores de texto padro. So gerados atravs de um processo de
codificao de formato de determinado arquivo que s pode ser completamente visualizado
por programas especializados.
Esses registros so usados tanto pelo invasor, quanto por profissionais e
administradores para adquirem informaes do sistema. Essas informaes so essenciais
para o controle do sistema.
2.2.2. OOV Ordem da Volatilidade
Todos os dados so volteis, e a Ordem da Volatilidade est intimamente relacionada
com a coleta desses dados. A veracidade das informaes, assim como a capacidade de
recuperao ou validao dos dados, diminui com o passar do tempo. A Ordem da Volatilidade
consiste em dois membros de uma hierarquia, as informaes impossveis de recuperar
dentro de um espao de tempo muito curto, definido por Farmer como parte superior, e a parte
17
inferior concernente s formas bastante persistentes e raramente mudam. (FARMER e
VENEMA, 2007).
Qualquer alterao no sistema pode desencadear alteraes em outras reas, e
dessa forma comprometer dados importantes em um registro. O Quadro 1 descreve a relao
entre tipos de dados e seu tempo esperado de vida.
O ciclo de vida esperado dos dados.
Tipos de Dados Tempo de Vida
Registradores, memria perifrica, caches, etc. Nanossegundos Memria Principal Dez nanossegundos Estado da rede Milissegundos Processos em execuo Segundos Disco Minutos Disquetes, mdia de backup, etc. Anos CD-ROM, impresses, etc. Dezenas de Anos
Quadro 1 - Ciclo de Vida dos Dados
Fonte: Farmer e Venema (2007), p. 172.
2.2.3. MACtimes
Farmer e Venema (2007) criaram o termo mactime para se referir aos trs atributos
de tempo mtime, atime e ctime que so anexados a qualquer arquivo ou diretrio no
Windows, UNIX e em outros sistemas de arquivos.
Essas abreviaes possuem o seguinte significado:
Mtime: muda quando um arquivo ou diretrio for modificado.
Atime: apresenta a ltima data/hora em que o arquivo ou diretrio for acessado.
Ctime: monitora quando o contedo ou as metainformaes sobre o arquivo
mudar, tais como o proprietrio, grupo e as permisses de arquivo.
O quadro 2 mostra como se apresentam os MACtimes em um sistema computacional.
MACTimes de um Sistema
Wed Mai 05 2013 15:17:02 3888 m.c -/-rwxrwxrwx 48 0 1102686 /usr/bin/.y
Thu Mai 05 2013 21:01:34 2229 .ac -/-rwxrwxrwx 48 0 1102688 /usr/bin/.y/back.tar.gz
Quadro 2 - MACTimes de um Sistema
O quadro 6 apresenta os campos respectivamente: data, tamanho, mactime,
permisses, UID, GID, contador, localizao do arquivo. Este quadro apresenta um nome de
diretrio incomum que pode ser forte indicao da ao de suspeitos. Os registros so de
extrema importncia para qualquer sistema, pois possuem as informaes mais importantes
18
em relao a qualquer atividade realizada no mesmo.
2.2.4. Registros no Linux
Os registros no Linux geralmente esto contidos no diretrio /var/log, e so arquivos
de texto ou arquivos binrios que armazenam as informaes referentes ao sistema. O
sistema de registro proporciona uma anlise completa do funcionamento do hardware,
acessos, e-mails, programas, entre outros.
Para o Linux o processo mais importante conhecido como syslogd. A funcionalidade
do syslogd gerenciar os registros do sistema e capturar as mensagens do ncleo do Linux.
O anexo A descreve sucintamente as funcionalidades do syslog.
Alguns registros, dos mais diversos existentes, proporcionam ao perito, informaes
mais importantes que outros. O Quadro 3 descreve alguns dos principais sistemas de registros
do Linux e respectivas funcionalidades e finalidades.
REGISTRO FUNCIONALIDADE
btmp Informa quando ocorreu a ltima tentativa de login que no teve sucesso no
sistema
messages Armazena os acessos ocorridos nos sistema
smbd Possui informaes referentes ao servidor de arquivos do Linux que suportam
uma rede Windows.
httpd Informaes do servidor Web Apache.
maillog Informaes referentes ao servidor de E-mails
syslog.conf Informa onde esto armazenados os logs do sistema. (Deve-se cuidar com
alteraes feitas por um invasor).
auth.log Informaes de acesso como root, inclusive o sucesso.
daemon.log Informao referente s tentativas de conexo, remotamente ou localmente.
Quadro 3 - Principais Registros e Sua Funcionalidade
Fonte: Guia Foca GNU/Linux. Captulo 17 - Arquivos e daemons de Log
O syslogd consiste em um controlador de servios de detalhamento padro do
sistema (System Logging Daemon). O arquivo /etc/syslog.conf lhe permite especificar onde
as mensagens syslog so armazenadas, baseadas no programa responsvel e no nvel de
detalhamento da mensagem.
O Quadro 4 mostra o recurso para o qual so designados os grupos de registros.
19
Recurso Descrio
auth Mensagens de segurana/autorizao (desaprovado)
authpriv Mensagens de segurana/autorizao
cron Tarefas agendadas e rotinas
daemon Outros daemons do sistema (sshd, inetd, pppd)
kern Mensagens do kernel.
lpr Subsistema da impressora.
mail Subsistema de correio (sendmail, postfix, qmail, etc.)
news Mensagens de Notcias da Usenet.
syslog Mensagens internas de syslog.
user Mensagens genricas no nvel de usurio.
uucp Subsistema UUCP.
local0-local7 Nveis reservados para uso local.
Quadro 4 - Facility Syslog
Fonte: Segurana contra Hacker Linux (Hatch, Lee, Kurtz, 2003). Pg. 70.
Quando os programas capturam uma entrada do registro, dependendo de sua
configurao, o processo do sistema syslog pode ignor-lo ou inform-lo de acordo com o
nvel de detalhamento apresentado no quadro 5.
Nvel de Logging Descrio.
emerg Sistema inutilizvel.
alert Ao precisa ser tomada por posthaste.
crit Condies crticas.
err Condio de erro.
warning Condies de advertncia.
notice Condies normais, mas significativas.
info Mensagens informativas.
debug Mensagens de depurao.
Quadro 5 - Nveis de Logging (detalhamento) de Syslog
Fonte: Segurana contra Hacker Linux (Hatch, Lee, Kurtz, 2003). Pg. 70.
O syslog-ng consiste em um registro no padro, porm mais eficiente que o syslogd.
O arquivo de configurao syslog-ng.conf alm das funcionalidades inerentes ao syslogd, tais
como especificar vrios destinos (servidores remotos, arquivos locais, etc.) o usurio pode
definir as origens das mensagens e atuar de modo diferente para gerar eventos localmente,
em contrapartida s mensagens syslog remotas (HATCH, LEE, KURTZ. 2003. Pg. 73).
O Linux possui uma ferramenta denominada logrotate. Segundo o manual do
administrador do sistema, o logrotate projetado para facilitar a administrao de sistemas
que geram um grande nmero de arquivos de registro. Ele permite a rotao automtica,
20
compresso, remoo, e envio de arquivos de registro. Normalmente, o logrotate executado
como uma tarefa diria do agendador de tarefas do Linux: o cron. O que demonstra que o
logrotate no executar vrias vezes no mesmo dia, porm pode ocorrer dos registros
adquirirem um tamanho muito grande, o que o far rotacionar.
2.3. ANATOMIA DE UM ATAQUE
Nesta seo so apresentadas as etapas de um ataque a sistemas computacionais.
importante compreender as etapas para entender porque os invasores apagam as
evidncias da invaso.
Basicamente a realizao de um ataque possui o padro apresentado pela figura 1.
Localizao do Sistema
para Ataque
Obter Acesso
de Super
Usurio
Obter Acesso
de Nvel de
Usurio
Encobrir
Rastros
Instalar
Backdoors
Atacar Outros
Roubar ou
Adulterar
Dados
Executar outras
Atividades No
Autorizadas
Figura 1 - Anatomia de um Ataque
Fonte: Segurana da Informao Disponvel em: www.cin.ufpe.br
A primeira etapa consiste na localizao do sistema e conhecimento sobre o mesmo
que uma tcnica de coleta de informaes sobre os sistemas e as entidades a que
pertencem. Isto feito atravs do emprego de tcnicas de segurana de vrios computadores,
como: consulta de DNS, enumerao de rede, consulta de rede, por exemplo, porta de acesso
ssh, identificao do Sistema Operacional, consulta organizacional, ping, consulta de pontos
de acesso e engenharia social (WHOIS). Algumas das ferramentas utilizadas para
reconhecimento so: nslookup, traceroute, nmap e neotrace.
O quadro 6 apresenta algumas caractersticas das ferramentas utilizadas.
21
Programa Caractersticas
nslookup uma ferramenta utilizada para se obter informaes sobre
registros de DNS de um determinado domnio, host ou IP
traceroute Traceroute uma ferramenta que permite descobrir o caminho
feito pelos pacotes da rede desde a sua origem at o seu destino
nmap
Nmap um software livre que realiza escaneamento de portas
desenvolvido pelo Gordon Lyon. muito utilizado para avaliar a
segurana dos computadores, e para descobrir servios ou
servidores em uma rede de computadores.
neotrace NeoTrace uma poderosa ferramenta para checar informaes
em locais da Internet.
Quadro 6 - Ferramentas utilizadas para reconhecimento
J durante a fase de varredura, conhecida como scanning. De posse dos dados
coletados, o invasor pode determinar quais sistemas esto ativos e alcanveis ou, por
exemplo, quais portas esto ativas em cada sistema. Para isso utilizam-se de muitas
ferramentas que esto disponveis, tais como: nmap, system banners, informaes via SNMP
(do ingls Simple Network Management Protocol - Protocolo Simples de Gerncia de Rede).
Para a descoberta da topologia da rede, utiliza-se de ferramentas de descoberta
automatizadas, tais como cheops, ntop, entre outras. Para tal fim o ping, traceroute, nslookup,
tornam-se comandos de maior utilizao. O quadro 7 apresenta algumas ferramentas e suas
respectivas caractersticas.
Programa Caracterstica
cheops
Desenvolvimento Open Source que faz varreduras na rede
identificando Hosts, IPS, sistemas operacionais, mostrando conexes
entre outras ferramentas administrativas.
ntop
O ntop uma ferramenta para monitorar e gerenciar redes de
computadores, alm de ter muitos recursos grficos e informaes
detalhadas.
Quadro 7 - Programas usados para descoberta de topologia de rede
Outra etapa importante a enumerao, onde o invasor faz consultas intrusivas
como consultas diretas ao sistema, no qual pode ser notado, faz a identificao de acessos
vlidos, identificao verses de HTTP e FTP. Para a identificao da rede verifica-se:
compartilhamentos (Windows) com os comandos net view e nbstat, os arquivos de sistema
exportados (Unix) com o comando showmount. Para ento, verificar as vulnerabilidades mais
comuns do sistema atravs do nessus, saint, satan ou tara. O quadro 8 demonstra as
principais ferramentas e suas caractersticas.
22
Programa Caracterstica
Nessus
Nessus um programa de verificao de falhas/vulnerabilidades de
segurana. Ele composto por um cliente e servidor, sendo que a
varredura propriamente dita feita pelo servidor.
Saint
SAINT (Ferramenta de Integrao de Rede) um software de
computador usado para a varredura de redes de computadores em
busca de vulnerabilidades de segurana e explorao de
vulnerabilidades encontradas.
Satan
A ferramenta de administrao de segurana para anlise de redes
consiste em um software de testes e relatrios que rene uma
variedade de informaes sobre os hosts da rede. Possui uma interface
web com formulrios completos.
Tara
Assistente de pesquisas analticas Tiger. uma atualizao do
programa TAMU tiger, e apresenta relatrios legveis aps uma
varredura.
Quadro 8 - Programas usados para varredura de rede
Na etapa da invaso, ou no ganho de acesso, com as informaes coletadas, as
estratgias de invaso so definidas. O invasor por possuir uma base de informaes
referentes a vulnerabilidades procura bugs no sistema operacional, kernel, servio, aplicativo,
por respectivas verses. Assim pode adquirir ao menos os privilgios de usurio comum. Para
conseguir senhas e outros privilgios, utiliza-se de tcnicas como: password sniffing,
password crackers, password guessing, session hijacking (sequestro de sesso) e
ferramentas para bugs conhecidos buffer overflow.
O quadro 9 apresenta as tcnicas de aquisio de senhas e suas respectivas
caractersticas.
23
Tcnica Caracterstica
Password sniffing uma tcnica que visa a obteno de senhas, envolvendo o
monitoramento do trfego em uma rede para retirar informaes.
Password crackers
o processo de recuperao de senhas a partir de dados que
tenham sido armazenados ou transmitidos por um sistema de
computador.
Password guessing o processo de adivinhao de senha por dois modos possveis,
ataques de fora bruta ou ataques de dicionrio.
Session hijacking
Refere-se explorao de uma sesso vlida de um computador
as vezes tambm chamada de Session Key ou ID. Possui o intuito
de conseguir acesso no-autorizado a informaes ou servios em
um sistema de computador, utilizando de possveis interceptaes
de cookies usados para manter sees.
Buffer overflow Consiste na aplicao de variveis maiores que as definidas
Quadro 9 - Tcnicas de obteno de senhas e caractersticas
Com o acesso comum, procura o acesso completo do sistema (root ou
administrador), o que define a escalada de privilgios. Algumas ferramentas so conhecidas
para a procura de bugs, tais quais os exploits. A escalada de privilgios utiliza-se das
mesmas tcnicas anteriores, com acrscimos de replay attacks e trojans horse.
O invasor procura evitar a deteco de sua presena, utilizando-se de ferramentas
que desabilitem a auditoria, para isso necessrio, inclusive tomar o cuidado com o tempo
excessivo de inatividade, que denunciam um ataque, pois deixam espaos evidentes nos
registros. So utilizadas algumas ferramentas para remoo seletiva do event log, os quais
podem esconder arquivos instalados no sistema (backdoors).
O objetivo a manuteno do acesso, utilizando de ferramentas como rootkits,
trojan horse e backdoors. Atravs dos rootkits, que consistem em ferramentas ativas,
porm ocultas, se confundem com o sistema, escondendo comandos modificados para no
revelar o invasor. Atravs dos trojan horses, o invasor obtm informaes como captura do
teclado ou um e-mail com senhas do sistema. E por ltimo com os backdoors, o invasor possui
acesso remoto sem autenticao, inclusive no aparecem na lista de processos.
Os ataques so realizados pelo invasor com os seguintes objetivos: consumos de
banda da rede, colapso de recursos, falhas de programao (Exemplo: Ping da Morte), dano
de roteamento ou sabotagem de DNS.
2.4. TCNICAS ANTIFORENSES
Nesta seo so apresentadas as tcnicas antiforenses aplicadas a registros.
Assume-se que durante a aplicao dessas tcnicas, o invasor obteve acesso administrativo
ao servidor e provavelmente a uma parte significativa da rvore de uma rede ou ento ao
24
computador local.
2.4.1. Desabilitao de registros
A desabilitao de registros consiste em uma prtica de desativar o sistema de
auditoria, modificar as datas de acesso e arquivos de registro. Para realizar esta tcnica o
invasor pode-se utilizar das ferramentas do sistema operacional ou algum software auxiliar.
(HATCH, LEE, KURTZ, 2003).
2.4.2. Adulterao dos registros
A adulterao dos registros consiste no ato de modificar dados ou propriedades dos
arquivos, como por exemplo a mudana do ctime de um arquivo. O mtodo menos sofisticado
de remover informaes de logging editar, apagar ou excluir arquivos de registro.
Existem muitos registros importantes do sistema, tais como messages, xfelog,
secure, wtmp, mail.log e bash_history. O invasor poder utilizar programas auxiliares do tipo
logcleanner para apagar as informaes que ficam contidas no wtmp, utmp e lastlog, o qual
visualizado pelo super administrador para encontrar informaes dos usurios, tais como:
incio de uma sesso, login pid, tty device, tty, usurio, endereo, status de sada, identificao
da seo, tempo e IP do acesso e o logout (HATCH, LEE, KURTZ, 2003).
Os registros do servidor Web Apache so muito visados para adulterao. Esses
registros, como access_log, ssl_request_log e ssl_engine_log podem fornecer informaes
vitais para um administrador (Oracle, 2013).
2.4.3. Excluso segura de registros
A excluso segura de registros uma tcnicas antiforense, ou uma ferramenta, que
consiste em excluir uma pasta ou arquivo de forma que no haja maneiras de recuperao de
dados, mesmo com programas especializados em recuperao. Para isso o invasor pode
utilizar ferramentas que realizam essa tarefa de excluir permanentemente um arquivo, como
por exemplo, o wipe ou o secure-delete que no so padres do sistema operacional Linux.
2.4.4. Insero de entradas falsas de registro
O intuito do invasor na questo de inserir entradas falsas no sistema consiste em
desviar a ateno do perito para outro usurio. Como por exemplo utilizando-se do programa
logger para confundir e culpar outro usurio, assim quando j obteve o acesso root, outro
pode ser culpado em seu lugar (HATCH, LEE, KURTZ, 2003).
Mesmo que o administrador do sistema seja atencioso e veja que o usurio invasor
est tentando enganar, para evitar esse tipo de descoberta, facilmente o invasor esconderia
25
seu nome de usurio fornecendo uma opo t para logger:
2.4.5. Ataque a logrotate para eliminar registros antigos
Como os arquivos de registros podem ficar grandes, o Linux faz um rodzio dos
mesmos, com o programa chamado logrotate, normalmente configurado em
/etc/logrotate.conf, podendo, um invasor, utilizar-se disso para obter vantagens, uma vez que
o logrotate gira os registros de acordo com o tamanho do arquivo ou o tempo que est no
sistema, definido pelo administrador, consiste em utilizar do logger para encher o registro,
tornando-o muito grande. Assim, quando atingir determinado nmero, o arquivo logrotate
apagar seus rastros (HATCH, LEE, KURTZ, 2003).
2.5. MEDIDAS DE SEGURANA
Muitas devem ser as medidas tomadas por um administrador de rede para que evite
invases, dificulte o prejuzo causado, restaure o que foi perdido, se recupere de um dano,
encontre rastros e procure anomalias no sistema. Este trabalho centrado nos registros, logo
no aborda todas as contramedidas para incidentes de segurana, no obstante apresentar-
se- as mais importantes, priorizando as medidas dos sistemas de registro.
2.5.1. Princpios bsicos de segurana
O administrador deve-se certificar de que seus arquivos s possam ser lidos e
gravados pelo super usurio, ou um grupo com uma finalidade especial, como logs ou
adminlogs.
O administrador tambm deve ter uma conta especial sem privilgios de super
usurio para acessar aos registros, assim ver que qualquer acesso de super usurio no
veio dele.
Para dificultar ainda mais, o administrador tambm pode armazenar remotamente
qualquer registro gerado pelo sistema, dessa forma obrigando o invasor alm de esconder
seus rastros tambm procurar comprometer a mquina remota.
2.5.2. Protegendo arquivos de relatrio de acesso ao sistema
A maioria das ferramentas que alteram os arquivos utmp e wtmp substituem as
entradas de alvo por bytes NULL, o que pode ser facilmente detectado por ferramentas como
logchk ou chrootkit (HATCH, LEE, KURTZ, 2003).
2.5.3. Cpia de segurana online
A melhor maneira de se recuperar de arquivos adulterados consiste no backup, alm
26
tanto fsico, como em CDs ou DVDs, como os efetuados online. Pode-se analisar, dessa
forma, quais registros so incompatveis, e possivelmente se h alguma adulterao nos
processos do sistema, com programas que verificam a integridade dos arquivos. Um
administrador sempre mantm uma cpia de ferramentas intactas, como cat, more, prep,
netstat, md5sum, iptables, ps, rpm, lsof e outras de relatrio (HATCH, 2003. Pg. 609).
2.5.4. Registros externos ao registro
Segundo as prticas de segurana do CERT.BR (2013) os registros so
tradicionalmente armazenados em disco, no prprio sistema onde so gerados. Entretanto,
essa prtica apresenta riscos inerentes. O primeiro problema ocorre com a destruio dos
registros durante uma invaso do sistema. Para contornar a situao aconselha-se a
instalao de um loghost centralizado.
Os loghosts apresentam duas vantagens importantes que consistem em um
repositrio redundante de registros e a indisponibilidade de acesso remoto, nem mesmo para
os administradores. Alm de permitirem uma anlise mais facilitada e a correlao entre os
eventos ocorridos nos sistemas. Para evitar um ataque de negao de servio recomenda-se
o armazenamento dos registros em partio separada, e para evitar a perda dos dados
durante a rotao automtica de registros, deve-se garantir que os registros sejam movidos
para o armazenamento off-line.
2.5.5. Nomes de arquivos manipulados com espao
Quando um administrador utiliza-se da ferramenta ls para verificar as pastas, o
invasor pode ter utilizado de espaos para enganar o administrador, forando o mesmo a no
compreender o nome real do arquivo e no pensar que h um espao vazio depois do ltimo
caractere de um nome, conhecido como o carter no imprimvel mais vulnervel do Linux. A
melhor forma de se utilizar o ls consiste em adicionar a propriedade aF depois do comando.
Dessa forma o Linux acrescenta um caractere / depois de cada diretrio e um caractere * aps
cada executvel (HATCH, LEE, KURTZ, 2003).
2.5.6. Servidor de registros
Em investigaes de incidentes eletrnicos a anlise de registros de suma
importncia, por isso um servidor de registro facilita grandemente a investigao dos mesmos,
j que os eventos ficam armazenados de forma centralizada. A Cert.br publicou um material
de Cristine Hoepers e Klaus Steding-Jessen (2013) sobre a importncia da anlise e
interpretao dos registros, apresentando vrias ferramentas de interpretao e auxlio para
manipulao de registros, o que de extrema importncia para um administrador de redes,
27
inclusive para um servidor de registros. O alvo @loghost do logging de mensagens um modo
simples de fazer com que seus registros vo para mais de uma mquina. Segundo Hatch
(2003) se quaisquer rastros forem apagados de uma mquina invadida, eles ainda podero
estar disponveis no servidor ou mquina de registro secundria.
2.5.7. Scanners de segurana do sistema
Os programas de scanner so timos auxiliares para encontrar e identificar
problemas no sistema, entre os mais importantes so os de sistema e os de rede. Dessa
forma o administrador pode verificar possveis brechas ou inseguranas em potencial. Vrios
so os pacotes de verificao de registros, com diferentes funcionalidades entre eles:
LogSentry, Logsurfer, Sec e o Lire.
2.5.8. Permisses dos registros
Para uma mxima proteo dos registros, o administrador deve ter o cuidado de
tornar os registros reconhecidos e gravveis apenas por um super usurio e legveis por um
grupo chamado log sem permisses para outros.
Utilizando-se de permisses especficas de filesystem o administrador pode impedir
at mesmo que o usurio administrador altere os registros, como exemplo o comando chattr,
dos filesystems ext2 e ext3 (HATCH, LEE, KURTZ, 2003).
2.5.9. Criptografia do trfego de syslog
Com o propsito de evitar que as mensagens syslog sejam facilmente identificadas
por um invasor no ato de leitura dos pacotes da rede, o administrador deve criptografar o
trfego da rede. Uma maneira fcil de se executar essa medida de segurana consiste em
criar um tnel SSL entre o emissor e receptor usando o Stunnel, particularmente utilizando-se
do syslog-ng. Para isso a mquina que envia os registros deve acrescentar alguns comandos
em /etc/syslog-ng/syslog-ng.conf (HATCH, LEE, KURTZ, 2003).
Aps adicionados os comandos necessrios para a criao do destino, o host que
deseja enviar a mensagem, executar o comando Stunnel para a criao do tnel com o
destino.
No host receptor o Stunnel chamado para receber a conexo do registro
criptografada mudando-se apenas a posio das portas. Em seguida configura-se o syslog-
ng do receptor para ler da porta TCP local (HATCH, LEE, KURTZ, 2003).
2.5.10. OSSEC Sistema de deteco de intruso de host
O software OSSEC consiste em um sistema Open Source para deteco de intruso
28
em mquinas locais que realiza anlise dos registros, verificao de integridade de arquivos,
monitoramento de polticas, deteco de rootkits, alertas em tempo real e resposta ativa. O
OSSEC um excelente programa pois possui muitas caractersticas que auxiliam um
administrador de sistema. multiplataforma com alerta em tempo real. possvel configurar
as alteraes do nvel de prioridade e integra-lo com smtp, sms e syslog, enviando e-mails e
mensagens para dispositivos mveis (OSSEC, 2013).
2.5.11. SELinux Security Enhanced Linux
A estrutura SELinux (Linux Seguro) fornece segurana adicional aos sistemas,
limitando as aes dos usurios e programas pela imposio de polticas de segurana para
o sistema operacional, que fornecem segurana contra acesso no autorizado. O ncleo do
Debian Linux tem suporte ao SELinux, mas desabilitado por padro (DEBIAN, Wiki. 2013).
29
3. MATERIAIS E MTODOS
Este captulo apresenta os materiais e os mtodos utilizados para a realizao do
estudo de caso. Nos materiais so apresentadas as ferramentas e o cenrio do estudo de
caso. Nos mtodos so apresentados e explicados os passos e critrios utilizados na
avaliao das tcnicas antiforenses.
3.1. MATERIAIS
Com o intuito de analisar tcnicas antiforenses em registros Linux e verificar a
efetividade destas e tambm auxiliar administradores de rede a se prevenirem contra elas
selecionou-se os seguintes materiais:
Oracle VM Virtual Box 4.2.12, com o intuito de simular as mquinas que estaro
no teste, dispostos em uma rede com topologia estrela, utilizando de conexo em
modo bridge.
Duas mquinas virtuais instaladas com a verso do Sistema Operacional Debian
6.2 para arquitetura i386.
Utilizou-se do rootkit LRK verso 6 com o intuito de analisar a efetividade sobre o
sistema e o impacto que pode causar apenas com a substituio de binrios ou
utilizao de outras ferramentas inclusas no mesmo.
Utilizou-se o OSSEC verso 2.7 como detector de intruso baseado em host, com
o intuito de realizar as mesmas tcnicas antiforenses em um sistema com uma
segurana mais elevada.
Reforou-se o kernel do Linux com o SELinux pois consiste numa camada de
implementao de segurana para o ncleo do Linux. Na prtica, o kernel consulta o
SELinux antes de cada chamada do sistema para saber se o processo est
autorizado a fazer a operao dada.
Utilizou-se do syslog-ng 3.4, uma vez que ele fornece algumas das mesmas
funes do syslog e metalog, com uma pequena diferena: pode filtrar mensagens
com base no nvel e contedo (como o metalog), fornece registro remoto como o
syslog, lida com registros do syslodg, pode escrever em um TTY, executar
programas, e pode agir como um servidor de registros.
Utilizou-se do secure-shell (ssh) 5.5p1 para conectar as mquinas, uma vez que
fornece conexo criptografada e acesso remoto.
A figura 2 apresenta a topologia da rede utilizada para a realizao do estudo.
30
Oracle VM Virtual Box
Host Prprio Modo Conexo Bridge
INTERNET
SERVIDOR
SSH
INVASOR
Figura 2- Topologia da Rede Utilizada
Verifica-se na figura 2 que o invasor utiliza de uma mquina para acessar
remotamente via ssh, com uma conexo bridge, o servidor com a distribuio Linux Debian.
3.2. MTODOS
A metodologia utilizada para a execuo das tcnicas antiforenses considera
hipoteticamente que o servidor j fora invadido, onde o invasor j possui os privilgios de
super usurio ou administrador do sistema.
A amostra selecionada para abranger a totalidade do problema investigado so as
duas mquinas virtuais, uma simulando o ambiente, inseguro e seguro, do servidor, e a outra
representando o invasor do sistema.
Os mtodos de coleta dos dados se baseiam na observao dos registros gerados
pelo invasor, possvel tcnica para ocultao dos rastros produzidos e qual a possvel
contramedida para se evitar a aplicao dessas mesmas tcnicas.
Foi separado o ambiente em duas fases distintas. O primeiro ambiente foi constitudo
de um ambiente com instalao padro, para isso, foram seguidos os passos descritos a
seguir.
Configurao do ambiente da arquitetura de rede: nesta etapa, inicialmente, foi
instalado o Oracle VM Virtual Box. Foi criado uma nova mquina virtual com o nome de
Servidor, com o sistema Operacional Linux verso Debian. Durante a configurao, foi
selecionado um disco rgido VDI (VirtualBox Disk Image). Foi escolhido o armazenamento em
disco rgido dinamicamente alocado. Em seguida, foi escolhida imagem do disco de instalao
do Debian 6. Durante a instalao foram escolhidas as configuraes padres para o Brasil,
inclusive o espelho de atualizaes. O mtodo de particionamento escolhido foi Assistido
31
usar disco inteiro. E foi selecionado a instalao separadas das parties /home, /usr, /var e
/tmp. Foi nomeada a mquina de servidor. O servidor foi clonado e a mquina clonada foi
nomeada para invasor. Atravs do ssh o invasor foi conectado em modo bridge com a
mquina virtual que representa o servidor.
Analisou-se os principais registros, binrios e textuais, do Debian. Verificou-se quais
so gerados no acesso ao sistema. Forma aplicadas tcnicas antiforenses de manipulao
de registros, adio de registros, excluso de registros e instalao de programas que possam
auxiliar o invasor a esconder seus rastros.
Em segunda instncia foi analisado a efetividade das mesmas tcnicas em um
sistema seguro, configurado com os passos descritos a seguir.
Foi selecionado o servidor, intacto, sem qualquer atividade maliciosa do invasor, para
a instalao das ferramentas de segurana. O SELinux, que constitui uma dessas
ferramentas, vem desativado nessa verso do Debian. Foi utilizado do comando aptitude
install selinux-basics selinux-policy-refpolicy-targeted, para que o Linux resolvesse as
dependncias e se encarregasse de instalar mais alguns pacotes que auxiliam na
administrao do SELinux. Depois ativou-se o SELinux.
Para a instalao do Ossec-Hids 7 utilizou-se o aptitude install build-essential,
depois o wget -cv http://www.ossec.net/files/ossec-hids-2.6.tar.gz e descompactou-se o
arquivo com tar xvzf e executou-se o instalador.
Instalou-se o syslog-ng com o comando aptitude install syslog-ng.
Instalou-se o ssh com aptitude install ssh.
Conectou-se o servidor com o host do invasor atravs do protocolo de rede ssh, uma
vez que possui conexo criptografada e permite-se executar comandos de uma unidade
remota. As tcnicas foram organizadas de forma cronolgica e sequencial, procurando
apresentar primeiramente as que evitam a gerao de mais registros, as que podem ser
adulteradas, as que podem ser removidas, as que devem ser removidas de forma segura, as
que podem prejudicar o funcionamento dos processos responsveis por esses registros,
utilizando-se principalmente de rootkit, por ltimo, ataques de negao de servio em
registros.
Para a concluso do trabalho analisou-se as tcnicas utilizando-se de critrios como
facilidade em se encontrar as tcnicas aplicadas, a dificuldade de execuo das tcnicas e a
efetividade das mesmas, nvel de conhecimento necessrio, a aplicao de contramedidas e
sua efetividade em relao s tcnicas. Analisou-se a efetividade das tcnicas em nos dois
sistemas distintos: em um sistema seguro e no mesmo sistema com uma segurana padro.
32
4. APLICAO E ANLISE DAS TCNICAS ANTIFORENSES
Este captulo apresenta dois estudos de caso, onde foram aplicadas e analisadas as
tcnicas antiforenses.
No estudo de caso 1 foram aplicadas a um sistema operacional GNU/Linux Debian
com instalao padro as tcnicas de remoo segura dos registros, conhecida como wipe
shared, alterao dos registros, acrscimo de informaes falsas, modificao do
comportamentos dos processos dos registros, sobrecarga dos registros (ataque de negao
de servio - DOS), ataque a logrotate, diminuir ou desabilitar o nvel de detalhamento.
No estudo de caso 2 foram aplicadas medidas de segurana ao sistema operacional
GNU/Linux Debian. Foram instalados o SELinux, o syslog-ng, o OSSEC HIDS.
4.1. ESTUDO DE CASO 1: SEGURANA PADRO
Ao fazer um acesso ao host que deseja invadir, o invasor acabar gerando um
registro de acesso remoto em /var/log/auth.log como mostra a figura 3.
Mar 22 17:37:07 servidor su[1170]: Sucessful su for root by administrador
Mar 22 17:37:07 servidor su[1170]: + /dev/tty1 administrador:root
Mar 22 17:37:07 servidor su[1170]: pam_unix(su:session): session opened for user
root by administrador(uid=1000)
Mar 22 19:11:30 servidor sshd[1042]: Server listening on 0.0.0.0 port 22.
Mar 22 19:11:30 servidor sshd[1042]: Server listening on :: port 22.
Figura 3 - Log gerado em auth.log por acesso SSH
Devido a isso, o invasor deve se preocupar em apagar seu acesso registrado no
arquivo auth.log, entretanto no se deve esquecer que seus comandos ficam registrados em
history, como demonstra a figura 4.
124 exit
125 ifconfig
126 cat auth.log
127 last
128 history
Figura 4 Uso do comando history
Ento, para evitar que o perito ou administrador do host invadido possa analisar suas
estratgias de invaso, o invasor ter o cuidado de impedir que seus comandos sejam
gravados com o comando mostrado na figura 5. Caso o invasor j tenha digitado alguns
comandos e tenha esquecido de executar o comando mencionado, ele pode apagar os
comandos com history c.
33
root@servidor:~# unset HISTFILE
Figura 5 - Primeiro comando executado por um invasor
Depois disso o invasor ter a liberdade de apagar o registro gerado em auth.log.
Como demonstra a figura 6.
root@servidor:~# cd /var/log/
root@servidor:/var/log# pico auth.log
Figura 6 - Localizao e Edio do registro auth.log
Aps aberto o arquivo, o invasor pode apagar o registro de acesso ssh gerado. Para
no levantar suspeitas, ele procurar apagar somente as linhas que indicam o acesso. Como
na figura 7.
Mar 22 15:02:38 servidor sshd[991]: Server listening on 0.0.0.0 port 22.
Mar 22 15:02:38 servidor sshd[991]: Server listening on :: port 22.
Figura 7 - Apagando dados do auth.log
Majoritariamente softwares de login como OpenSSH, daemons telnet ou daemons
Rlogin, registram os acessos ao sistema bem-sucedidos em um arquivo chamado
/var/run/utmp ou /var/log/wtmp, os quais armazenam informaes importantes como horrio
de login e logout de cada usurio. Com o comando last pode-se verificar os dados contidos
nesses arquivos que possuem um formato legvel apenas para mquina. O comando last
demonstrado na figura 8.
root@servidor:/var/log# last
root pts/0 192.168.1.4 Fri Apr 12 15:19 still logged in
root pts/0 192.168.1.4 Fri Apr 12 15:14 15:19 (00:05)
administ tty1 Fri Apr 12 15:05 still logged in
administ tty1 Fri Apr 12 15:05 15:22 (00:28)
wtmp begins Mon Mar 10:46:35 2013
root@servidor:/var/logs# _
Figura 8 - Comando last verifica ltimos acessos bem sucedidos
O invasor deve-se preocupar em editar o arquivo para remover seus rastros de
acesso, para isso existem muitas ferramentas como: wzap, zap, zap2, unix2, cloak e clear.
Na falta de ferramentas o invasor pode usar o prprio pico ou vi, assim pode apagar as partes
que so legveis e que cr ser til para apagar as informaes.
O comando last apresenta o registro gerado por wtmp, que tambm gera um arquivo
binrio. Devido a isso, o invasor deve alterar o arquivo wtmp encontrado em /var/log/wtmp
34
para que o mesmo no lhe apresente as informaes de login. Como demonstra a figura 9.
root@servidor:/var/log# last
wtmp begins fri Apr 12 15:37:44 2013
root@servidor:/var/log# _
Figura 9 - Comando last adulterado
O invasor pode deletar as informaes geradas pelo lastlog, como demonstra a figura
10, na qual apresenta o arquivo binrio, legvel somente pela mquina.
GNU nano 2.2.4 Arquivo: lastlog
=PhQpts/0^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^192.168.1.4^@^
Figura 10 - Editando arquivo lastlog com nano
A figura 11 demonstra como se apresentaria o comando lastlog, mostrando
informaes importantes para o administrador, como o endereo de IP do invasor.
Nome de Usurio Porta De ltimo
root pts/0 192.168.1.4 Sex Abr 12 15:19:41 -0300 2013
daemon **Nunca logou**
bin **Nunca logou**
sys **Nunca logou**
sync **Nunca logou**
games **Nunca logou**
man **Nunca logou**
lp **Nunca logou**
mail **Nunca logou**
news **Nunca logou**
uucp **Nunca logou**
proxy **Nunca logou**
www-data **Nunca logou**
backup **Nunca logou**
list **Nunca logou**
nobody **Nunca logou**
administrador Sex Abr 12 15:05:33 -0300 2013
Figura 11 - Execuo do comando lastlog e informaes de IP
Depois de apagado os dados que so perceptveis por serem diferentes de ^@, a
figura 12 mostra como se apresentaria o comando lastlog com as alteraes feitas.
Nome de usurio Porta De Ultimo
root **Nunca logou**
daemon **Nunca logou**
bin **Nunca logou**
sys **Nunca logou**
Figura 12 - Resultado do comando lastlog adulterado
35
HATCH (2003) afirma que um cracker pode adulterar o prprio processo syslog, uma
vez que a maioria dos programas do sistema submetem seus registros ao mesmo processo.
Dessa forma o invasor pode recompilar parte do arquivo syslogd.c para ocultar quaisquer
entradas que contenha seu endereo IP. A maneira mais fcil que um invasor encontra e que
possui grande impacto no sistema, consiste em se utilizar de ferramentas que substituem os
arquivos binrios e que so encontrados facilmente na Internet, so os chamados rootkits.
Como apresentado no quadro 10. O rootkit mais famoso se encontra no endereo
http://packetstormsecurity.com/ e conhecido como LRK6, ou Linux Rootkit verso 6.
Ferramentas Descrio
syslogd Esconde registros.
killall No encerra processos escondidos.
Backdoors
wted Editor de wtmp/utmp
z2 Apagador de utmp/wtmp/lastlog
Quadro 10 - Rootkit LRK6 e alguns binrios inclusos
A figura 13 demonstra uma simples transferncia de um arquivo, no caso o arquivo
z2 foi transferido para o servidor, com o intuito descrito no quadro acima. A transferncia
muito fcil e o impacto pode ser grande.
root@servidor:/home/administrador/rootkit# ls
bin fileutils-3.13 lrk-4.1.tar.gz rshd
bindshell.c findutils Makefile shadow-961025
chfn fix.c MCONFIG sysklog-1-3
Inetd net-tools-1.32-a tcpd_7.4
chsh linsniffer.c pssw wted.c
cron3.Op11 Login procps-1.01 z2.c
root@servidor:/home/administrador/rootkit# scp z2.c 192.168.1.6:/home/
z2.c 100% 2107 2.1KB/s 00:00
Figura 13 - Arquivos contidos no rootkit e sua transferncia
O arquivo foi movido para a pasta de compilao como demonstra a figura 14. So
muitas as ferramentas para um invasor, cada qual com sua funo e a escolha de cada uma
delas vai depender da necessidade do invasor e do seu objetivo.
root@servidor:/home# which gcc
/usr/bin/gcc
root@servidor:/home# mv z2.c /usr/bin/
root@servidor:/home# _ Figura 14 - Movendo o arquivo para o compilador C
36
Quando o invasor remove algum arquivo ainda h algumas formas de recuper-los,
no entanto h maneira de se remover arquivos ou diretrios de forma segura, no recupervel.
A figura 15 demonstra a instalao do wipe e do secure-delete para a remoo segura de
arquivos e diretrios. Vale ressaltar que um registro no cache do apt-get foi armazenado.
root@servidor:/# apt-get install wipe secure-delete -y
Figura 15 - Instalao do Wipe e o Secure-Delete
Primeiramente criou-se algumas pastas para o teste do wipe e secure-delete como a
figura 16 demonstra.
root@servidor:/# mkdir pasta_a_ser_removida
root@servidor:/# touch pasta_a_ser_removida/arquivo_a_remover
root@servidor:/# touch pasta_a_ser_removida/arquivo_a_remover2
root@servidor:/# touch pasta_a_ser_removida/arquivo_a_remover3
Figura 16 - Criao de pastas para Teste
Pode-se utilizar o wipe ou o secure-delete para remoo dos arquivos e diretrios. A
figura 17 demonstra a excluso segura utilizando o wipe.
root@servidor:/pasta_a_ser_removida# wipe fi P 1 r arquivo_a_remover
File arquivo_a_remover (0 bytes) wiped
Operation fineshed.
1 file wiped and 0 special files ignored in 0 directories, 0 symlinks removed
but not followed, 0 errors occured.
root@servidor:/pasta_a_ser_removida# _
Figura 17 - Remoo de Arquivo com Wipe e Teste
O secure-delete um sute que alm de remover arquivos de forma segura pode
limpar o espao livre em disco, memria e swap. A figura 18 apresenta a remoo dos arquivos
de trs formas diferentes: sem chances de recuperao, aplicao balanceada entre
segurana e rapidez e remoo insegura, respectivamente.
root@servidor:/pasta_a_removida# srm d r- -v z arquivo_a_remover2
Using /dev/urandom for random input.
Wipe mode is secure (38 special passes)
Wiping arquivo_a_remover2 ************************************ Removed file ar
quivo_a_remover2 ... Done
root@servidor:/pasta_a_ser_removida# sem d l r v z arquivo_a_remover3
Wipe mod is insecure (two passes [0xff/zero])
Wiping arquivo_a_remover3 ** Removed file arquivo_a_remover3 ... Done
root@servidor:/pasta_a_remover# cd ..
root@servidor:/# sem d l l r v z pasta_a_ser_removida/
Using /dev/urandom for random input.
Wipe mode is insecure (one pass [zero])
Wiping pasta_a_ser_removida/ DIRECTORY (going recursive now)
Warning: Couldnt find a free filename for pasta_para_ser_removida/!
Removed directory pasta_a_ser_removida/ ... Done
Figura 18 - Remoo com Secure-Delete em 3 Etapas
37
Removido de forma segura, no h mais como se recuperar um arquivo, no entanto,
a instalao de programas gera registros do apt-get install como demonstra a figura 19. Os
registros dos programas instalados podem ser encontrados em /var/cache/apt/archives. Os
pacotes instalados vo sendo armazenados na pasta mencionada, o que pode denunciar a
invaso.
root@servidor:/var/cache/apt/arqchives# ls
apache2_2.2.16-6+squeeze10_i386.deb
apache2.2-bin_2.2.16-6+squeeze10_i386.deb
apache2.2-commom_2.2.16-6+squeeze10_i386.deb
apache2-mpm-worker_2.2.16-6+squeeze10_i386.deb
apache2-utils _2.2.16-6+squeeze10_i386.deb
chkconfig_11.0-79.1-2_all.deb
lock
partial
secure-delete_3.1-5_i386.deb
shared-mime-info_0.71-4_i386.deb
ssh_1%35.5p1-6+squeeze3_all.deb
syslog-ng_3.1.3-3_i386.deb
wipe_0.21-9_i386.deb
root@servidor:/var/cache/apt/archives# _
Figura 19 - Lista de Arquivos Instalados pelo apt-get
Com o simples comando apt-get clean as dependncias no utilizadas podem ser
apagadas e assim esconder os programas que foram instalados. Para remov-los utiliza-se o
apt-get remove. Como demonstra a figura 20.
root@servidor:/var/cache/apt/archives# apt-get clean
root@servidor:/var/cache/apt/archives# ls
lock partial
root@servidor: /var/cache/apt/archives# apt-get remove wipe secure-delete
Lendo listas de pacotes... Pronto
Construindo rvore de dependncias
Lendo informao de estado... Pronto
Os pacotes a seguir sero REMOVIDOS:
secure-delete wipe
Figura 20 Limpeza apt-get e remoo do wipe e secure-delete
Outra tcnica utilizada por um invasor no consiste somente na excluso ou
adulterao dos registros, uma muito utilizada consiste adulterar os registros com o intuito de
culpar outro usurio do sistema como suspeito de invaso, como demonstra a figura 21.
root@servidor:~# logger p kern.alert authentication failure; logname=administr
ador uid=510 euid=0 tty= ruser= rhost= user=root
root@servidor:~# _
Figura 21 - Falso registro inserido para culpar outro usurio
38
Fornecendo a opo t para logger o invasor pode facilmente esconder seu nome de
usurio para evitar que um administrador atencioso veja que o invasor est tentando enganar,
como demonstra a figura 22.
root@servidor:~# logger p kern.alert t su(root) authentication failure..
Figura 22 - logger -t para esconder o nome de usurio do invasor
Um invasor pode fazer alteraes no logrotate para faz-lo girar, diminuindo o
tamanho e o tempo dos registros para que o logrotate gire ou pode usar o logger para enche-
los. Como demonstra a figura 23 a ordem para rotacionar diariamente o registro e executar o
comando /sbin/killall HuP syslogd para reiniciar o processo indicado, foi adicionado no final
do arquivo /etc/logrotate.conf.
/var/log/messages{
rotate 1
size=10k
posrotate
/sbin/killall HUP syslogd
endscript
}
Figura 23 - Mensagem adicionada ao /etc/logrotate.conf
O invasor pode ainda manipular as datas forjando pacotes NTP (Network Time
Protocol) para aparentar vir de um servidor confivel com o intuito de no precisar esperar o
tempo de rotacionamento dos registros. Dessa forma, o invasor mudar a data da mquina e
far o logrotate executar, acreditando que a data est, por exemplo, a uma semana na frente,
fazendo assim, o rotacionamento.
Outro comando muito utilizado para retirar as restries de excluso dos arquivos
mesmo por super usurios o chattr. A figura 24 mostra a utilizao do comando chattr, cujo
intuito do administrador consiste em alterar a permisso dos registros para evitar que sejam
alterados.
root@servidor:/var/log# chattr +a /var/log/auth.log
root@servidor:/var/log# cat /dev/null > /var/log/auth.log
bash: /var/log/auth.log: Operao no permitida
root@servidor:/var/log# _
Figura 24 - Utilizao do comando chattr +a
Entretanto um usurio com acesso de super usurio pode executar o comando chattr
a para retirar o comando que impede a excluso ou remoo do arquivo, no obstante esse
comando muito til, principalmente se o invasor no conhecer o comando, nem souber o
que est acontecendo.
39
4.2. ESTUDO DE CASO 2: MEDIDAS DE SEGURANA
Nesta seo utilizou-se medidas de segurana adicionais com o intuito de verificar a
efetividade das mesmas tcnicas nesse sistema e se h mais registros gerados e se h a
possibilidade de exclu-los ou adulter-los.
O administrador pode-se utilizar dessas ferramentas de verificao de forma muito
simples como demonstra a figura 25.
apt-get install build-essential
wget http://www.ossec.net/files/ossec-hids-latest.tar.gz
wget http://www.ossec.net/files/ossec-hids-latest_sum.txt
Figura 25 - Download do OSSEC HIDS
O OSSEC HIDS pode ser configurado em /ossec/etc/ossec.conf que um arquivo no
formato XML. A configurao usada para o estudo demonstrado na figura 26. Criou-se as
regras de diretrios ossecAnalise para facilitar a anlise dos registros.
200 /var/log/ossecAnalise
/etc,/usr/bin,/usr/sbin /bin,/sbin /var/log/ossecAnalise/arquivo.txt /etc/mtab /etc/mnttab /etc/hosts.deny /etc/mail/statistics /etc/random-seed /etc/adjtime /etc/httpd/logs /etc/utmpx /etc/wtmpx /etc/cups/certs /etc/dumpdates /etc/svc/volatile yes /var/log/ossecAnalise/arquivo.txt
Figura 26 - Configurao do arquivo XML do OSSEC
A maioria dos registros do ossec se encontram na pasta /ossec/logs/ossec.log e
/ossec/logs/alerts/alerts.log. Primeiramente verificou-se os registros gerados quando um
usurio acessa remotamente o sistema, no caso o invasor, no entanto o ossec no avisou
sobre qual o IP do invasor, apenas que houve alguma mudana. Se um o invasor exclui algo
do registro /var/log/auth.log o ossec verifica a integridade do arquivo e emite o alerta da figura
27.
40
** Alert 136655497.3640: mail - ossec.attacks,
2013 Apr 21 11:26:37 servidor ->ossec-logcollector
Rule: 592 (level 8) -> Log file size reduced.
ossec: File size reduced (inod remained): /var/log/auth.log.
Figura 27 - Alerta do OSSEC HIDS
O invasor pode tentar excluir tambm a mensagem de alerta do ossec, caso o mesmo
ainda no tenha enviado um e-mail para o administrador, no caso de configurao default,
essa informao do registro foi excluda e no gerou nenhum outro registro. O invasor com a
conta de super usurio pode parar o funcionamento do ossec hids. Com o comando
/ossec/bin/ossec-control stop. Um registro ser gerado em /ossec/logs/ossec.log, como
demonstrado na figura 28.
2013/04/21 18:26:54 ossec-monitord(1225): INFO: SIGNAL Received. Exit Cleaning
2013/04/21 18:26:54 ossec-logcollector(1225): INFO: SIGNAL Received. Exit Cleaning
2013/04/21 18:26:54 ossec-syscheckd(1225): INFO: SIGNAL Received. Exit Cleaning
2013/04/21 18:26:54 ossec-analysisd(1225: INFO: SIGNAL Received. Exit Cleaning
2013/04/21 18:26:54 ossec-execd(1314): INFO: Shutdown received. Deleting responses.
2013/04/21 18:26:54 ossec-execd(1225): INFO: SIGNAL Received. Exit Cleaning
Figura 28 - Registro do ossec.log
O invasor pode excluir seus rastros, caso consiga impedir que o ossec envie o e-mail
para o administrador, ou ainda se o mesmo no estiver funcionando corretamente, pois com
o privilgio de super usurio ele pode simplesmente excluir as informaes que julgar
pertinente.
O SELinux foi instalado e configurado para reforar a segurana do ncleo do Linux
e o controle de acesso obrigatrio. Instalou-se, primeiramente, os pacotes que contm a
poltica padro para o funcionamento do SELinux com o comando apt-get install selinux-
basics auditd selinux-policy-default. Para ativa-lo foi utilizado o comando selinux-activate.
Ele apresentou um falso positivo, alertando sobre /etc/pam.d/login. necessrio reiniciar a
mquina para que o SELinux entre em funcionamento como demonstra a figura 29.
Mounting local filesystems...done.
Activating swapfile swap...done.
[. . . .] Checking SELinux contexts: selinux-basics
. ok
Figura 29 - Selinux em funcionamento
Para verificar se o SELinux est com a instalao de forma correta necessrio
utilizar do comando sestatus, como demonstra a figura 30.
41
Figura 30 - Status do SELinux
O SELinux pode ser desativado temporariamente utilizando-se do
/usr/sbin/setenforce 0, e depois o invasor pode mudar a configurao em /etc/selinux/conf
para desativar o SELinux como demonstra a figura 31, modificando o SELINUX=permissive
para SELINUX=disabled.
Figura 31- Alterao da Configurao do SELinux
Vale ressaltar que alguns ncleos exigem que seja adicionado ao boot (grub) o
parmetro "selinux=0", como por exemplo, o Kernel UEK (Oracle Unbreakable Enterprise
Kernel). Verifica-se o resultado na figura 32.
Figura 32 - Status desativado do SELinux
O invasor deve se preocupar em neutralizar a ao do ossec, para depois excluir ou
adulterar os registros. Os experimentos demonstram que com privilgios de super usurio,
um invasor possui autonomia para adulterar os registros e esconder seus rastros, e mesmo
com uma sistema de verificao de integridade, as tcnicas se mostram efetivas. Porm, um
sistema seguro e bem configurado pode amenizar os danos de uma invaso, ou ainda gerar
registros que no podem ser excludos pelo invasor, como registros remotos ou e-mails.
42
5. RESULTADOS E DISCUSSES
A tcnica de desabilitar o history com unset apresenta muita eficincia, uma vez que
impede do administrador entender quais foram os passos utilizados pelo invasor e quais
mtodos utilizou para prejudicar o sistema. Uma possvel contramedida em relao aos
comandos para desabilitar o histrico de comandos, pode ser o desenvolvimento de tarefas
agendadas atravs do cron para manter o tamanho do HISTSIZE, ou ainda desenvolver
scripts que adquiram as informaes digitadas por super usurios, no somente atravs do
history e enviem e-mails para o administrador, ou ainda que desconecte temporariamente o
usurio que utilize o comando unset HISTFILE.
Adulterao dos registros auth.log, wtmp, lastlog so de suma importncia para a
ocultao dos rastros de um invasor e a tcnica usada para a excluso de seus rastros
muito eficiente e fcil de executar. Uma possvel contramedida consiste em utilizar-se de
sistema de deteco de intruso com o intuito de analisar possveis inconsistncias nos
registros, alm de servidores remotos com o intuito de manter um backup dos registros. Pode-
se tambm, acrescentar medidas de proteo de arquivos, como o chattr e permisses
apenas para grupos especficos. Deve-se tambm instalar os registros em parties
diferentes, com o intuito de evitar que o disco seja completamente cheio caso haja um ataque
com logger.
A utilizao de rootkits so ferramentas de muita eficincia e dificilmente um
administrador descobriria, sem qualquer ferramenta, onde esto. Se houve qualquer
desconfiana sobre o estranho funcionamento de algum processo ou registro, provavelmente
haver a necessidade de reinstalao do sistema. Para se evitar que problemas assim
aconteam aconselhvel ao administrador manter uma imagem do sistema em sua forma
mais pura, com o intuito de recuperar o sistema rapidamente, alm de instalar um detector de
intruso, que compara o sistema integro com qualquer atividade suspeita verificando a
integridade dos arquivos e alertando sobre possvel rootkit no mesmo.
A tcnica de remoo segura totalmente eficaz, uma vez excludo um arquivo no
h mais como recuper-lo, por isso h extrema urgncia em se manter a proteo dos
arquivos mais importantes e uma verificao constante se no houve qualquer modificao
no sistema.
Ataque a logrotate no uma tcnica muito fcil de se aplicar, porm pode atrapalhar
o administrador na verificao dos registros. Como contramedida o administrador deve se
preocupar em manter uma cpia segura dos registros e manter uma rotina de verificao do
tamanho dos registros que esto sendo rotacionados.
A insero de registros falsificados pode prejudicar outro usurio, livrando a culpa do
43
invasor, porm a mesma tcnica no to eficiente. Uma contra medida consiste em uma
maior ateno do administrador ao verificar os registros e utilizar-se de ferramentas de
interpretao de registro
No ambiente com segurana reforada foi verificado que o Ossec Hids um
programa essencial para auxiliar profissionais e administradores. Foi verificado que um
invasor possui autonomia para adulterar as configuraes do ossec hids, quando esse possui
o privilgio de super usurio. Entretanto, comprometer o servidor se torna muito mais difcil,
uma vez que, o ossec bem configurado, alerta o administrador por e-mail. Com isso, o
administrador consegue muito mais controle sobre o sistema, e pode, por sua vez, analisar
com mais cuidado os alertas gerados pelo ossec.
O SELinux essencial para o administrador que deseja reforar a segurana do
sistema operacional Linux. A lgica da poltica de tomada de decises prov segurana sobre
todos os processos e objetos do sistema, uma vez que de at mesmo o super usurio tratado
pelo SELinux como apenas um usurio comum. Evitando, assim, que os objetos do Linux
(arquivos, devices, sockets, portas, processos) sejam expostos, por exemplo, a brechas de
segurana utilizando-se incorretamente o comando de direitos de acesso.
O syslog-ng se apresenta muito eficiente em infraestruturas de segurana baseado
na verificao dos registros, pois permite centralizar os registros em um servidor, permitindo
implement-los at mesmo em tabelas de banco de dados, como MySQL, e ser mais confivel
que o syslog padro.
44
6. CONCLUSO
Realizando os experimentos com as tcnicas antiforenses computacionais em
sistemas de registro Linux com o intuito de ocultao dos rastros deixados por uma invaso,
verifica-se que as tcnicas antiforenses so efetivas para eliminar rastros em uma invaso.
Verificou-se tambm que os registros so de extrema importncia no somente para
a percia forense, mas para qualquer sistema, pois possuem todas as informaes do
funcionamento das mquinas. Devido a isso, quando um sistema est comprometido, ou est
em processo de comprometimento, um invasor procurar com toda certeza ocultar seus
rastros, e seu alvo principal so os registros.
Obtido a conta de super usurio de um sistema, o invasor pode realizar qualquer
coisa e no h como saber se ele limpou todos os seus rastros, a no ser que o perito ou
administrador conhea muito bem o seu sistema e possua um controle rigoroso do seu
funcionamento.
Com poucos comandos e pouco esforo, um invasor pode esconder seus rastros,
pois existem muitas ferramentas prontas e bem desenvolvidas. Devido a isso, pode causar
grandes