Análise forense em sistemas operacionais Linux

Autor:João Alexandre Lobo Marques
Páginas:259-302
 
ÍNDICE
TRECHO GRÁTIS

Page 259

João Alexandre Lobo Marques

Diretor de Educação da APECOF. Associate Professor

– University of Saint Joseph – Macau, SAR China. Pós-Doutor/Honorary Visiting FellowUniversity of Leicester – Reino Unido. Doutor em Engenharia UFC-Brasil e Technische Universität München – Alemanha. Mestre em Inteligência Artificial, UFC. Larga experiência em projetos internacionais de tecnologia e educação, atuando no Brasil, China, Portugal, Angola, Inglaterra e Alemanha. CEO e Co-founder do Grupo EduGroup. Trabalhou por 15 anos na área de Tecnologia da Informação no MPF. Certificações: CCNA, LPI, Prince2, dentre outras. Atua em pesquisa nas áreas de Segurança da Informação, Inteligência Artificial e Bioengenharia, com sistemas não-lineares dinâmicos, teoria do caos, sistemas de auxílio ao diagnóstico, lógica fuzzy, redes neurais, machine learning e comunicação de dados.

email: alexandre.lobo@usj.edu.mo

Page 260

Page 261

Introdução

O desafio de se falar sobre computação forense de um sistema operacional (S.O.) abre um conjunto enorme de possibilidades que, a princípio, podem parecer infinitas, afinal praticamente todas as áreas ligadas à forense computacional estão contidas em um S.O., como o armazenamento de dados (um dos primeiros a serem lembrados), o tráfego das interfaces de rede, os riscos de invasão e a proteção do sistema com os firewalls pessoais (para os casos dos dispositivos clientes), as características e eventuais fragilidades de códigos importantes para o funcionamento do sistema como o Kernel ou suas bibliotecas, dentre várias outras.

Além disso, um sistema operacional pode funcionar em diversas camadas de uma rede em uma empresa, tendo como ponto de partida a divisão básica entre servidores e clientes. Mas ainda podem ser feitas diversas outras classificações de acordo com o uso do computador a que nos referimos, como por exemplo, um sistema operacional como um cliente da área administrativa ou ainda uma potente estação para desenvolvimento de software.

7.1. 1 Um complexo conjunto de plataformas

Dentro deste largo espectro de possibilidades, temos hoje um mercado que conta com praticamente três plataformas distintas que são:

Família de sistemas operacionais Linux – dada a natureza de código aberto desta família de sistemas, o Linux é certamente o sistema que mais apresenta variações por meio de suas distribuições, divisões (forks) e derivações no desenvolvimento. Além disso, cada distribuição pode trabalhar com diversas tecnologias de base que têm significativa importância para eventuais análises forenses como o sistema de arquivos utilizado, as interfaces de interpretação de

Page 262

comandos ou interfaces gráficas utilizadas. Isso certamente é um desafio para os profissionais da área de segurança da informação. Como o foco do presente capítulo é o Linux, diversos destes assuntos serão tratados nas próximas páginas.

Família de sistemas operacionais Microsoft Windows – a Microsoft já desenvolve, há vários anos, duas famílias interdependentes de sistemas operacionais que são os sistemas servidores (Windows Server) e os sistemas clientes (no momento da escrita deste livro com uma diversidade de soluções nas empresas como Windows 7, 8, 8.1 e 10). Sua grande difusão nos ambientes domésticos e corporativos tornaram-nos os sistemas mais populares, mas também os maiores alvos de ataques.

Família de sistemas operacionais Mac OS – a família de sistemas da fabricante de computadores Apple cresce de maneira significativa a cada ano não somente nos dispositivos móveis mas também no número de computadores pessoais (com o conjunto de versões 10.X do sistema operacional), que devem funcionar como clientes nas redes empresariais. Uma grande característica destes sistemas é a incompatibilidade declarada com outras tecnologias sob o argumento de manter a segurança em suas soluções.

Todas estas famílias de sistemas operacionais, a princípio devem conviver de forma harmônica e transparente em redes e provendo uma experiência satisfatórias para seus usuários.

Entretanto, uma vez que foram projetadas e desenhadas com diferentes prioridades ou conceitos, encontram-se diversos conflitos ou incompatibilidades em sua interoperabilidade ou mesmo incapacidade de comunicação entre as plataformas. Com isso, o estudo de cada família de sistemas assume um elevado grau de complexidade e exige altos níveis de especialização.

Mais especificamente para o Sistema Operacional Linux, outra marcante característica é a existência de versões do sistema operacional empacotadas com um conjunto de outros softwares, alguns deles essenciais como a interface gráfica ou o shell de comados, outros nem tanto, como dezenas de editores de texto ou players de vídeo, que são conhecidas como Distribuições Linux.

As distribuições, também conhecidas como “distros”, eventualmente podem ser baseadas em um conjunto de programas desenvolvidos com tecnologias e premissas de funcionamento tão diferentes que praticamente é como se tivéssemos diversos sistemas operacionais distintos, mesmo que ambos possuam o mesmo núcleo ou kernel, principalmente quando falamos de usuários finais de computadores. Como exemplo, podem ser comparadas distribuições como Ubuntu, Debian, Suse ou Slackware.

O desafio de compreender e de administrar sistemas Linux torna-se ainda mais instigante uma vez que a mesma essência do sistema operacional encontra-se

Page 263

em servidores, desktops e também em dispositivos móveis, quer sejam os telefones celulares ou ainda dispositivos de internet das coisas, IoT, do inglês Internet of Things. Uma análise mais detalhada sobre estas diferenças e até mesmo será realizada no decorrer do capítulo.

7.1. 2 Aproximando-se da computação forense

Um ponto chave a se estabelecer é que o foco deste Capítulo será a realização de análise forense em sistemas operacionais Linux e não o uso do Linux como sistema operacional para realizar análises forenses em outras plataformas.

Esta diferenciação é importante para o leitor, pois as análises estarão focadas no estudo de características do sistema operacional Linux e no seu suporte a determinadas tecnologias, como os diversos tipos de sistemas de arquivos. Entretanto, muitas das ferramentas apresentadas também poderão ser aplicadas para outras plataformas.

Do ponto de vista da computação forense, de uma maneira conceitual, trabalhar com um software que possua seu código fonte aberto pode ser encarado como um ponto bastante positivo, uma vez que torna-se possível compreender a auditar o comportamento previsto para aquele código.

Desta forma, uma vez que a computação forense tem como premissa a reprodutibilidade exata dos fatos ou a construção de uma precisa linha do tempo (time line), saber exatamente o que um software executa em uma determinada ação é um grande diferencial positivo.

Outro aspecto essencial é a vasta gama de aplicações disponíveis para a plataforma, algumas de qualidade extremamente elevada e sendo a referência para as atividades desejadas. Atualmente é praticamente impossível pensar em fazer uma análise forense de qualidade em sistemas operacionais, inclusive de outras plataformas, sem considerar o uso de ferramentas baseadas em ambientes Linux.

Do ponto de vista de se utilizar o Linux como base para plataforma de análises forenses, foram criadas diversas distribuições focadas exclusivamente em unir essas ferramentas e entregar soluções completas e complementares, como um canivete suíço, para os profissionais da área. Isso vale tanto para a área de forense em dados quanto para forense em redes de comunicação.

Algumas distribuições que podem ser citadas são a Kali, DEFT, CAINE, NST, dentre várias outras. É importante ressaltar que adotar uma delas muitas vezes não exclui o uso de uma outra, ou mesmo de distribuições genéricas do Linux, uma vez que o uso de uma ferramenta específica pode ser necessário, dependendo do caso em que se esteja trabalhando.

Analisando-se todo o panorama apresentado para os complexos ambientes computacionais dos dias atuais, o conhecimento sobre um largo conjunto de

Page 264

tecnologias e abordagens torna-se necessário para uma efetiva realização de atividades de forense computacional na plataforma Linux.

7.1. 3 Estrutura do capítulo

O presente capítulo está estruturado para passar as...

Para continuar a ler

PEÇA SUA AVALIAÇÃO