Intrusion Detection System - IDS


Um sistema de detecção de intrusão é um componente de captura e análise de fluxo de dados e é de fato uma das partes essenciais para segurança de um ambiente de redes. Ele é ativado de acordo com o tráfego de pacotes suspeitos de um ataque através do reconhecimento de assinaturas nos pacotes. Com a ajuda de um IDS todo o tráfego da rede pode ser observado e analisado quanto ao grau de risco que representa, caso seja tráfego malicioso. Pode-se também decodificar e armazenar alguns dados que mostrem atividades do intruso na honeynet.

Apresento o resumo do Artigo da RNP sobre Ferramentas de IDS

O intuito deste artigo é sensibilizar os administradores de redes da importância das chamadas ferramentas de detecção de intrusão - IDS ("Intrusion Detection System"). Assim, é descrito um modelo de ferramenta de IDS baseado no sistema de defesa dos seres humanos, apresentando a anatomia dos sensores que a compõe.


Introdução

As ferramentas para segurança de computadores e redes são necessárias para proporcionar transações seguras. Geralmente, as instituições concentram suas defesas em ferramentas preventivas como firewalls, mas acabam ignorando as ferramentas de detecção de intrusão (IDS - Intrusion Detection System).

Na primeira parte deste texto, é feita uma analogia entre o sistema de defesa dos seres vivos e as futuras (ou atuais) ferramentas de IDS. Na parte seguinte, alguns pontos relacionados a "anatomia" das ferramentas de IDS são tratados. Num próximo artigo, serão feitas considerações a respeito de aspectos legais dos dados coletados por tais sistemas.

^
O sistema de defesa dos humanos e as ferramentas IDS

Os anticorpos constituem o mais específico mecanismo de defesa que o ser humano possui. Eles desempenham um importante papel na proteção do organismo contra substâncias estranhas.

Quando uma substância estranha invade o corpo humano, certos glóbulos brancos do sangue, os linfócitos T, produzem e lançam na corrente sangüínea um tipo especial de proteína capaz de unir-se especificamente às moléculas que compõem esta substância, inativando-a. A proteína que o indivíduo sintetiza, em resposta ao material estranho, denomina-se anticorpo, e as substâncias estranhas, que induzem a síntese dos anticorpos, são denominadas antígenos.

Os seres humanos possuem dois tipos de sistemas de imunização:

* Imunização ativa: é a que se consegue pela formação de anticorpos elaborados pelo próprio indivíduo. Nos seres humanos, ela inicia-se a partir do 3º mês de vida do feto. Entre o 4º e 6º mês de vida do feto, outros órgãos completam o sistema imunológico. Como este só começ a se estabelecer a partir do 3º mês, durante os três primeiros meses de vida, o feto é incapaz de se defender por seus próprios meios contra eventuais infecções que atravessem a placenta. Nesta fase, o feto conta só com a imunização passiva (anticorpos que existem na mãe), que é transferida da mãe ao filho através da placenta.
* Imunização passiva: este tipo de imunização é obtido através de injeção concentradas do antígeno em um animal. Este reage ao antígeno produzindo quantidades cada vez maiores de anticorpos específicos, que vão se acumulando no sangue. Após a imunização, é extraído sangue do animal imunizado e a fração sangüínea que contem as moléculas de anticorpos, é separada. A esta fração rica em anticorpos chama-se soro, e é eset que é injetado na corrente sangüínea do indivíduo que se deseja imunizar.

O sistema de detecção de intrusão ou IDS, tem como um dos objetivos principais detectar se alguém está tentando entrar no seu sistema ou se algum usuário legitimo está fazendo mau uso do mesmo. Esta ferramenta roda constantemente em background e somente gera uma notificação quando detecta alguma coisa que seja suspeita ou ilegal. Assim sendo, podemos dizer que a placenta corresponde aos sistemas de firewalls. A imunidade passiva está dentro dos sensores e são os padrões de ataques/assinaturas, ou seja, os ataques conhecidos previamente. A imunidade ativa também estão dentro dos sensores e são caracterizadas por possuírem inteligência para aprender com o comportamento da rede e, com isso, identificar novos padrões ou mutação dos padrões existentes. A identificação dos novos padrões é realizada pelos aprendizes (linfócitos T). O antígeno é a doença, a ameaça, o ataque; e os anticorpos são os contra-ataques.

Um sensor é composto por um conjunto de componentes, dentre eles:

* O sub-sensor estático;
* O sub-sensor inteligente, e
* O aprendiz.

O sub-sensor estático deve, inicialmente, ser configurado de acordo com a política de segurança , além de possuir as assinaturas dos ataques conhecidos. Isso caracteriza a imunização passiva. Já o sub-sensor inteligente, inicialmente, passa por um período de adaptação e aprendizado, fase em que aprende e reconhece o padrão de funcionamento da rede. Este período pode ser variável, dependendo do volume de tráfego. Após esta fase, estes sub-sensores inteligentes estariam em condições de reconhecer padrões que fogem da normalidade da rede (linfócitos T) e tomarem ações.

De acordo com o seu campo de ação, os sensores podem ainda ser classificados de dois tipos:

* Os sensores de rede: Estes devem localizar-se em segmentos estratégicos, observando o tráfego da reder, o formato de pacotes, entre outros;
* Os sensores de hosts: Estes ficam dentro dos servidores críticos, observando as ações realizadas no sistema operacional, as ações dos serviços e o comportamento da pilha TCP/IP.

Os sensores devem interagir entre si a fim de construírem uma matriz de eventos que tem por objetivo a qualificação do padrão de ataque, minimizando, desta forma, a ocorrência de alertas falsos (falso positivo).

Outras características fundamentais são: o gerenciamento centralizado, a possibilidade do sensor interagir com outros elementos de rede como firewall, roteadores e consoles de gerência; e a possibilidade de construir uma base de conhecimento centralizada de forma a permitir uma visão ampla do nível de segurança da rede.

Desta forma, quando algum ataque (antígeno) for detectado pelos sensores, torna-se possível ações de conta-ataque (anticorpos) que podem ser: envio de e-mail para o administrador, envio de mensagem via pager, ativação de alertas nas estações de gerência via SNMP, reconfiguração de elementos de rede como firewall e roteadores, e até mesmo o encerramento da conexão através do envio de pacotes de reset (flag RST do TCP ) para a máquina atacante e para a máquina atacada, com o objetivo de descarregar a pilha TCP.

No sistema de segurança proposto em [Carlson e Cláudio, 1999], uma característica importante é o aprendizado constante com a utilização de estratégias múltiplas.

^
Intrusão: o que vem a ser?

O INTRUSO

De forma simples, podemos dizer que um intruso é alguém que tenta invadir um sistema ou fazer mau uso do mesmo. Mas, como definir um intruso? O que seria tentar invadir um sistema? Ou ainda, o que seria fazer mau uso do mesmo? Um usuário que tenta acessar um sistema três vezes consecutivas e erra a senha todas as vezes pode ser classificado como um intruso, e esta como uma tentativa de intrusão?

Para se poder diferenciar as ações legítimas das nocivas, faz-se necessária a definição de uma política de segurança .

Muitos podem pensar que uma instituição está sujeita, na maior parte do tempo, a tentativas de invasão externas, ou seja, ataques originados de fora da instituição, geralmente da Internet. No entanto, estudos revelam que a maior porcentagem de ataques tem origem dentro da própria instituição (intrusos internos), pois afinal quem poderia melhor conhecer a topologia da rede? Quem sabe onde os dados sensíveis estão armazenados e quais são os recursos de segurança disponíveis?

Levando-se em consideração o fato de que a maioria dos mecanismos de segurança são implementados com o objetivo de proteger a instituição dos ataques externos, muitos ataques ocorrem e muitas vezes não são notados; ou, quando o são, já é tarde demais. Faz-se necessário, então, um mecanismo que detecte os dois tipos de ataque - uma tentativa externa ou interna. Um sistema de IDS eficiente deve detectar os dois tipos de ataques.

A CLASSIFICAÇÃO DAS INTRUSÕES

Antes de se falar sobre o sistema de IDS, é necessário definir o que significa uma intrusão. Todas as intrusões estão definidas na política de segurança. Enquanto não for definido o que é permitido e o que não é permitido no sistema, é inútil tentar entender uma intrusão.

Uma intrusão pode ser definida como [HeadyLugerEtAl, 1990]: "Qualquer conjunto de ações que tentem comprometer a integridade, confidencialidade ou disponibilidade dos dados e/ou do sistema."

Pode-se classificar as intrusões em duas classes principais:

1. Intrusão devido ao mau uso do sistema - são os ataques realizados a pontos fracos do sistema, pontos este conhecidos. Eles podem ser detectados a partir da monitoração de certas ações realizadas em determinados objetos;
2. Intrusão devido a mudança de padrão - são detectadas com a observação de mudanças de uso em relação ao padrão normal do sistema. Primeiro monta-se um perfil do sistema, em seguida, através de monitoração, procura-se por divergências significantes em relação ao perfil construído.

Como a intrusão de mau uso segue padrões bem definidos, ela pode ser descoberta através da comparação de padrões em relação a auditoria do sistema. Por exemplo, uma tentativa de criar um arquivo com set UID root pode ser detectada através da análise dos logs realizados pela chamadas ao sistema [KumarSpafford, 1994].

Uma intrusão devido a mudança de padrões é detectada observando-se divergências significantes em relação a utilização normal do sistema. Pode-se construir um modelo a partir de valores derivados da operação do sistema [Denning, 1987].

Estes valores são apurados a partir de parâmetros do sistema, como utilização da CPU, número de conexões por minuto, número de processos por usuário entre outros.

Uma variação significativa nestes padrões pode ser um indício de intrusão. Devido ao grupo de valores que podem definir a utilização normal do sistema, pode-se assumir o seguinte:

A exploração das vulnerabilidades de um sistema envolve a utilização indevida/anormal do sistema; então, podem ser descobertas violações de segurança a partir de padrões anormais de uso de sistema.

Intrusões devido a mudança de padrões são difíceis de serem detectadas. Não existe um padrão fixo que possa ser monitorado, desta forma devemos trabalhar com aproximação.

O ideal seria a combinação de padrões humanos com programas. Desta forma, o sistema seria monitorado constantemente a procura de intrusão ao mesmo tempo que teria a capacidade de ignorar as ações de usuários legítimos.

A DETECÇÃO DE UMA INTRUSÃO

Muitas ferramentas, de IDS realizam suas operações a partir da análise de padrões do sistema operacional e da rede tais como: utilização de CPU, I/O de disco, uso de memória, atividades dos usuários, número de tentativas de login, número de conexões, volume de dados trafegando no segmento de rede, entre outros. Estes dados formam uma base de informação sobre a utilização do sistema em vários momentos do tempo, outras já possuem bases com padrões de ataque previamente montadas permitindo também a configuração dos valores das bases bem como inclusão de novos parâmetros.

Com estas informações a ferramenta de IDS pode identificar as tentativas de intrusão e até mesmo registrar a técnica utilizada.

Uma ferramenta de IDS deve possuir algumas características, entre elas:

1. Deve rodar continuamente sem interação humana e deve ser segura o suficiente de forma a permitir sua operação em background; mas não deve ser uma caixa preta;
2. Ser tolerante a falhas, de forma a não ser afetada por uma queda do sistema, ou seja, sua base de conhecimento não deve ser perdida quando o sistema for reinicializado;
3. Resistir a tentativas de mudança (subversão) de sua base, ou seja, deve monitorar a si próprio de forma a garantir sua segurança;
4. Ter o mínimo de impacto no funcionamento do sistema;
5. Poder detectar mudanças no funcionamento normal;
6. Ser de fácil configuração, cada sistema possui padrões diferentes e a ferramenta de IDS deve ser adaptada de forma fácil aos diversões padrões;
7. Cobrir as mudanças do sistema durante o tempo, como no caso de uma nova aplicação que comece a fazer parte do sistema;
8. Ser difícil de ser enganada.

O último ponto faz referências aos prováveis erros que podem acontecer ao sistema. Estes podem ser classificados como falso positivo, falso negativo e erros de subversão. A saber:

* Falso positivo ocorre quando a ferramenta classifica uma ação como uma possível intrusão, quando na verdade trata-se de uma ação legítima;
* Falso negativo ocorre quando uma intrusão real acontece mas a ferramenta permite que ela passe como se fosse uma ação legítima;
* Subversão ocorre quando o intruso modifica a operação da ferramenta de IDS para forçar a ocorrência de falso negativo.

^
A anatomia de uma ferramenta de IDS

O MODELO CONCEITUAL DE UMA FERRAMENTA DE IDS

Devido a grande variedade de sistemas de IDS, foi proposto um modelo chamado CIDF (Common Intrusion Detection Framework) que agrupa um conjunto de componentes que define uma ferramenta de IDS:

* Gerador de Eventos (E-boxes);
* Analizador de Eventos (A-boxes);
* Base de dados de Eventos (D-boxes);
* Unidade de Resposta (R-boxes).

Algumas características desejáveis destes componentes são:

* Poderem ser reutilizados em um contexto diferente do qual foram originalmente desenvolvidos, ou seja, devem ser configuráveis de forma a adaptarem-se a ambientes distintos;
* Serem elaborados em módulos com funções distintas;
* Poderem compartilhar/trocar informações entre si, via API ou através da rede, para uma melhor precisão na identificação de ataques;
* Componentes novos devem, automaticamente, identificar os demais componentes;
* O grupo de componentes poder atuar mutuamente de forma a dar a impressão de ser um único elemento.

Segundo a padronização do CIDF, existe um modelo de linguagem para troca de informações entre os componentes, o CISL - Common Intrusion Specification Language - este formato é referenciado como GIDO - Generalized Intrusion Detection Objects.

O Gerador de Eventos - (E-box)

A função deste componente é obter os eventos a partir do meio externo ao CIDF, ou seja, ele "produz" os eventos mas não os processa, isso fica a cargo do componente especializado na função de processamento, que, por sua vez, após analisar os eventos (violação de política, anomalias, intrusão) envia os resultados para outros componentes.

O Analisador de Eventos - (A-box)

Este componente, basicamente, recebe as informações de outros componentes, as analisa e as envia de forma resumida para outros componentes, ou seja, recebe os dados de forma bruta, faz um refinamento e envia para outros.

A Base de Dados de Eventos - (D-box)

A função deste componente é armazenar os eventos e/ou resultados para uma necessidade futura.

A Unidade de Resposta - (R-box)

Este componente é responsável pelas ações, ou seja, matar o processo, reinicializar a conexão, alterar a permissão de arquivos, notificar as estações de gerência, etc.

A COMUNICAÇÃO ENTRE COMPONENTES

A comunicação entre os componentes é definida por uma arquitetura de camadas:

* Nível Gido (Gido Layer);
* Nível de Mensagem (Message Layer);
* Nível de Transporte Negociado (Negotiated Transport Layer).

Esta arquitetura garante a comunicação entre os elementos, bem como sistemas de criptografia e autenticação. Estes mecanismos estão definidos no Comm - Communication in the Common Intrusion Detection Framework.

^
Conclusão

O assunto tratado neste artigo representa um vasto campo para estudo e pesquisas. Desta forma, com sua modesta abrangência, este trabalho pretende servir como motivação ao leitor para busca de novos conhecimentos no campo da segurança da informação. Não houve aqui a pretensão de esgotar o assunto, mas sim fornecer ao leitor um texto condensado reunindo conceitos fundamentais ao entendimento dos termos relacionados.

^
Referências bibiográficas

Segurança Pró-ativa e Consciente Para Redes Corporativas: Avaliação de Alternativas na Inteligência Artificial.
OLIVEIRA, Carlson Batista; NEHME, Claudio Chauke, Disertação de mestrado. UCB, 1999.

Demonstrating the Elements of Information Security with Threats
Donn B. Parker, Proceedings of the 17th National Computer Security Conference, pages 421-430, 1994.

The Architecture of a Network Level Intrusion Detection System.
Richard Heady et al., Technical Report CS90-20, Department of Computer Science, University of New Mexico, August 1990.

A Pattern Matching Model for Misuse Intrusion Detection. Sandeep Kumar and Eugene H. Spafford, In Proceedings of the 17th National Computer Security Conference, pages 11-21, October 1994.

An Intrusion-detection Model.
Dorothy E. Denning, IEEE Transactions on Software Engineering, 13(2):222-232, February 1987.

Insertion, Evasion, and Denial os Service: Eluding Network Intrusion Detection.
Ptacek, Thomas H.; Newshan, Timothy N., 1998.

MICHAELIS, 1998
Moderno Dicionário da Língua Portuguesa.
1 comentário

Postagens mais visitadas deste blog

MANUAL DE REDAÇÃO DA PRESIDÊNCIA DA REPÚBLICA

Plural de substantivos compostos