(tcc ii utfpr) avaliação de técnicas antiforenses computacionais aplicadas a registros linux

Upload: zansued

Post on 31-Oct-2015

69 views

Category:

Documents


0 download

DESCRIPTION

Trabalho de Conclusão de Curso Tecnologia em Sistemas para Internet

TRANSCRIPT

  • 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