IMPRIMIR VOLTAR
A. Ciências Exatas e da Terra - 2. Ciência da Computação - 11. Segurança
GERAÇÃO AUTOMÁTICA DE POLÍTICAS PARA O MONITORAMENTO DE APLICAÇÕES VISANDO A DETECÇÃO DE INTRUSÃO
Dionathan Nakamura 1
Fabrício Sérgio de Paula 1
(1. UEMS - Universidade Estadual de Mato Grosso do Sul.)
INTRODUÇÃO:

   Redes de computadores têm ganhado muita importância na comunicação entre pessoas, oferecendo diversas funcionalidades. Entretanto, a interconexão de computadores pode permitir acesso de indivíduos dispostos a causar perturbações nesse ambiente distribuído. Para evitar tais acessos indevidos, diversos sistemas computacionais são criados visando à proteção deste ambientes.

   Um sistema de segurança computacional foi proposto e implementado na tese de doutorado do orientador. Trata-se de um sistema de detecção de intrusão (IDS) que realiza a identificação de ataques com sucesso através da análise de fatos que evidenciam uma intrusão. Resultados experimentais demonstraram que esse método é bastante preciso para identificar ataques conhecidos ou até mesmo desconhecidos. Entretanto, a implementação realizada até então utiliza uma especificação manual de políticas para o monitoramento das aplicações envolvidas, podendo tornar esse trabalho de especificação um tanto custoso para aplicações complexas.

   O trabalho de iniciação científica realizado pelo orientando propôs especificar e desenvolver uma ferramenta que realize uma geração automática de políticas para o monitoramento de aplicações visando a detecção de intrusão. Tal ferramenta irá facilitar o processo de especificação de políticas no método de Detecção Baseada em Evidências de Intrusão proposta pelo orientador em sua tese.

METODOLOGIA:

   É utilizado o ambiente do sistema operacional Linux e a geração das políticas de acesso é feita pelo monitoramento das aplicações através da captura e análise de chamadas ao sistema (system calls). Visando o compartilhamento de recursos, são utilizadas também máquinas virtuais, que são computadores simulados dentro de máquinas comuns.

   A linguagem de programação utilizada é a Linguagem C, comum em sistemas Linux, utilizando o compilador gcc (GNU C Compiler). Para fazer a interceptação das chamadas ao sistema foi utilizada a biblioteca de funções PTRACE, que inclui funcionalidades de trabalhar com chamadas ao sistema no modo usuário.

   Diversas informações estão contidas nas chamadas ao sistema. Entretanto, nesta pesquisa são considerados apenas os seguintes dados: lista de acesso a arquivos, tipo de acesso a arquivos (leitura ou escrita), quantidade de processos filhos gerados e lista de arquivos binários executados.

   O monitoramento das aplicações ocorre por acoplamento de processo. Através da biblioteca PTRACE é possível que o processo monitor se acople ao processo monitorado de modo que assim, ele possa monitorar suas ações. O programa desenvolvido é capaz também de iniciar um processo para monitoramento. Portanto, um processo pode ser monitorado desde sua carga até seu encerramento.

   As políticas dos processos geradas são armazenadas em arquivos, com sintaxe apropriada, de modo que IDSs com Detecção Baseada em Evidências de Intrusão possam fazer uso de suas informações.

RESULTADOS:

   Realizados testes com diversas aplicações nativas do próprio sistema operacional Linux, puderam ser geradas as políticas dos processos destas aplicações.

   Ao realizar testes com processos que já estavam em execução no sistema, foi possível verificar em suas políticas o que o processo fazia a partir de determinado momento. Para o monitoramento de tais processos, foi feito o acoplamento através de seus PIDs (números identificadores de processos).

   No método de monitoramento desde a carga do processo monitorado, foi possível notar a similaridade no início dos processos. Para cada política gerada foi possível verificar as ações esperadas das aplicações, nos acessos aos arquivos, bem como os tipos de acesso, na criação de processos filhos e nas execuções de binários. Os arquivos gerados demonstraram atender ao conteúdo e sintaxe desejados.

CONCLUSÕES:

   Com os arquivos gerados e atendendo aos requisitos propostos, possibilitou concluir a sua usabilidade em IDSs com Detecção Baseada em Evidências de Intrusão, fornecendo as informações necessárias para a segurança de computadores protegido por estes IDSs.

   O objetivo principal foi alcançado, visto que a especificação das políticas de acesso pode ser realizada de maneira totalmente automatizada. Logo o método de detecção se torna mais fácil na implantação e atualização nos sistemas de computadores.

   A geração automática de políticas provê um meio seguro de identificar as políticas de acesso de uma determinada aplicação o que não seria possível na especificação manual, já que o processo monitor, intercepta todas as chamadas ao sistema do processo monitorado, extraindo os dados possíveis. Enquanto que a especificação manual permite que dados minoritários sejam omitidos.

   O programa proporciona ainda um grande ganho na economia de tempo, já que se podem monitorar vários processos concorrentemente e os resultados são armazenados automaticamente ao final de cada aplicação monitorada.

   Uma utilidade adicional para o programa, pode ser encontra quando se deseja conhecer o que uma aplicação está fazendo em segundo plano, proporcionando ao usuário um maior controle sobre suas tarefas.

   Por fim, a geração automática de políticas demonstrou ser um método bastante confiável e utilizável para os fins propostos.

Instituição de fomento: UEMS - Universidade Estadual de Mato Grosso do Sul
Trabalho de Iniciação Científica  
Palavras-chave: Ciência da Computação; Segurança Computacional; Sistema Operacional Linux.
Anais da 58ª Reunião Anual da SBPC - Florianópolis, SC - Julho/2006