...Sistemas de Detecção de Intrusão

Documentos:

...A Política de segurança

Uma política de segurança define o que é permitido e o que é proibido num sistema. Temos basicamente duas filosofias por traz de qualquer política de segurança:

  • Proibitiva – tudo o que não é expressamente permitido é proibido;
  • Permissiva – tudo o que não é expressamente proibido é permitido;

Geralmente as instituições mais preocupadas com a segurança adoptam a primeira abordagem. Uma política deve descrever exactamente quais operações são permitidas num sistema. Qualquer operação que não esteja descrita de forma detalhada na política de segurança deve ser considerada ilegal ao sistema.

Infelizmente hoje em dia muitos utilizadores não respeitam a privacidade de outros. O espírito de competitividade tende passar por cima da ética, quando não se trata de um caso patológico de algum doente mental que não se satisfaz sem invadir a privacidade das outras pessoas. Casos de sabotagem podem ser comuns em ambientes com níveis de competitividade elevado.

Muitos utilizadores respeitam o conjunto das regras sociais. Estas regras encorajam que uns respeitem os outros tanto na privacidade como no ambiente de trabalho. Então torna-se muito fácil subverter a confiança num ambiente onde existe um acordo de confiança, ou seja, é relativamente fácil invadir um sistema onde os utilizadores confiam uns nos outros.

Diante disso torna-se necessário a documentação e divulgação das regras que primam pela manutenção da privacidade e integridade.

A justiça deve ser feita e deve ser mostrado que foi feita!

Elementos de uma política de segurança.

Um sistema de computadores pode ser considerado como um conjunto de recursos que é disponibilizado para ser utilizado pelos utilizadores autorizados.

Existe um documento escrito por Donn Park [Park, 1994] que descreve seis elementos que devem ser contemplados numa política de segurança:

1.    Disponibilidade – O sistema deve estar disponível para uso quando o utilizador precisar. Dados críticos devem estar disponíveis de forma ininterrupta;

2.    Utilização – O sistema e os dados devem ser utilizados para as devidas finalidades;

3.    Integridade – O sistema e os dados devem estar completamente íntegros e em condições de serem utilizados;

4.    Autenticidade – O sistema dever ter condições de verificar a identidade do utilizador e o utilizador deve ter condições de verificar a identidade do sistema;

5.    Confidencialidade – Dados privados devem ser apresentados somente para os donos dos dados ou para o grupo de utilizadores para o qual o dono dos dados permitir;

6.    Posse – O dono do sistema deve ter condições de controla-lo;

 

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 acçõ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 estes conhecidos. Eles podem ser detectados a partir da monitorização de certas acções realizadas em determinados objectos;
2. Intrusão devido à 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 monitorizaçã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 à 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 pelas 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].

Em que consiste um IDS:

A detecção de intrusão, ou IDS (Intrusion Detection Systems) consiste na detecção de acessos ou alterações de ficheiros não autorizados. Para conseguir este objectivo, um agente monitoriza actividade dos ficheiros num host ou no tráfego da rede e reporta as situações anómalas que possam ocorrer ao administrador.

Características:

•  Funciona como um alarme.

•  Detecção com base em algum tipo de conhecimento:

Assinaturas de ataques.

Aprendizagem de uma rede neural.

•  Detecção com base em comportamento anómalo.

•  IPS: Intrusion Prevention System

•  A detecção é realizada com a captura de pacotes, analisando os cabeçalhos e o campo de carga útil dos pacotes, que são comparados com padrões ou assinaturas conhecidas.

•  Um IPS tem o objectivo de prevenir os ataques e diminuir a quantidade de alarmes falsos.

Tipos:

•  Tipos de IDS

HIDS (Network-based Intrusion Detection System)- IDS baseado em Host

NIDS - IDS baseado em Rede

No NIDS inclui-se o WIDS (Wireless Intrusion Detection System)

•  IDS híbrido.

•  Tipos de IPS

 IDS baseado em Host.

 IDS baseado em Rede.

O IPS actua de forma mais inteligente que a firewall, porque não bloqueia simplesmente a comunicação de um endereço IP ou porta específica, mas tem a capacidade de bloquear os pacotes que contém o ataque e permitir que o tráfego normal passe.

•  Honeypots

  HIDS - IDS baseado em Host

Adicionam uma camada alvo de segurança a uma aplicação particularmente vulnerável ou a sistemas essenciais.

Exemplos de HIDS

•  Tripware

•  Swatch

•  Portsentry (pode usar o TCP Wrapper)

•  Outros

  NIDS - IDS baseado em Network

Monitorizam o tráfego da rede (LAN) pacote a pacote em tempo real (se possível), para verificar se um ataque coincide com as assinaturas já predeterminadas, padrões de ataque já conhecidos.

Poderá ainda ser ligado a outros sistemas, por exemplo Firewall de forma a garantir que são criadas regras para colmatar possíveis ‘buracos’ no Firewall.

As placas de rede instaladas na maioria dos computadores trabalham em modo não-promíscuo. Com isso elas estão configuradas para receber apenas os pacotes destinados ao seu endereço MAC (Media Access Control), os demais pacotes destinados a endereços diferentes são descartados.

O NIDS (Network Intrusion Detection System), deve ser configurado para o modo promíscuo para que também possa receber os pacotes que não são endereçados ao próprio MAC. Com isso o NIDS captura todas comunicações dentro do segmento de rede podendo assim detectar um ataque contra qualquer máquina deste segmento.

Exemplos de NIDS:

•  RealSecure,

•  NFR,

•  Snort

Honeypots

•  Funcionam como armadilhas para os crackers.

•  Não contém dados ou informações importantes para a organização.

•  Seu único propósito é passar-se por um equipamento legítimo da organização.

      É configurado para interagir como o atacante.

•  Detalhes de ataques podem ser capturados e estudados.

Implementações e seus fabricantes:

Produto

Fabricante

Site

Tipo

Intruder Alert

Axent

www.axent.com

Host

NetProwler

Axent

www.axent.com

Rede

RealSecure

ISS

www.iss.net

Host/Rede

NetRanger

Cisco

www.cisco.com

Rede

NFR

NFR

www.nfr.net

Rede

SessionWall

C. Associates

www.ca.com

Rede

Snort (free)

Marty Roesch

www.snort.org

Rede

Abacus (free)

Psionic

www.psionic.com

Host

Vulnerabilidades

IP Spoofing

Esta é uma vulnerabilidade inerente ao protocolo TCP/IP, neste caso o atacante pode

Fazer-se passar por outra máquina e assim enganar o IDS o qual não possui regras no seu banco de dados para detectar pacotes desta outra máquina.

Na figura o Sensor monitoriza a rede com as máquinas A e B, mas pode não

ter regras para identificar ataques destas mesmas máquinas, então se o hacker consegue colocar pacotes na rede com o endereço de origem destas máquinas, ele consegue colocar pacotes que não são detectados pelo IDS.

Inserção

Neste caso pacotes são propositadamente enviados a sistemas que irão rejeitá-los, mas estando o IDS configurado para analisá-los.

Desta forma, o hacker pode fazer com que o IDS aceite pacotes a mais na sequencia de pacotes que ele envia, fazendo com que o mecanismo de análise de assinaturas seja enganado.

Evasão

Nesta modalidade os pacotes são enviados aos sistemas (alvos) que irão aceitá-los, mas estando o IDS configurado para rejeitá-los, ataques deste tipo são realizados quando as regras na análise de assinaturas estão muito detalhadas.

Este é o caso mais simples, onde os pacotes são especificamente construídos para não serem detectados pelas regras do analisador de assinaturas.

Defendendo-se contra os ataques aos IDS

Regras a estabelecer no desenvolvimento de um IDS para que este seja menos vulnerável a tais ataques:

.                      Verificar todos os checksums;

.                      Examinar correctamente os cabeçalhos;

.                      Verificar existência de flags, SYN, ACK, RST, etc.

.                      Realizar correctamente a remontagem de pacotes;

.                      IDS deve conhecer a topologia da rede!

.                      IDS deve conhecer os sistemas instalados!

.                      IDS deve conhecer a configuração dos sistemas!

 

Problemas dos sistemas IDS

 Redes com Switch

Os NIDS (IDS baseados em rede) não funcionam em redes com switch.

Solução: Utilizar uma propriedade do Switch chamada port spam, com esta funcionalidade presente no equipamento pode-se configurar uma porta que irá receber pacotes de todas as outras, então o IDS deve ser colocado nesta porta. Deve-se observar que a capacidade desta porta do Switch bem como a robustez do IDS devem ser cuidadosamente analisadas.

 Denial of Service no IDS

IDS são alvos lógicos de ataques e os ataques de DoS e DDoS são os mais perigosos, e não existem formas simples de combatê-los.

Solução: Para os IDS podemos tomar as seguintes precauções:

.                      Colocar IDS em modo Stealth-se o software tiver esta propriedade;

.                      Desabilitar IP e arp na interface se não tiver a propriedade Stealth;

.                      Modificar cabo de rede de forma a somente receber pacotes;

.                      Utilizar técnicas de redireccionamento de nomes no DNS;

O modo Stealth é conseguido desabilitando o IP e o arp na interface, a modificação no cabo tem a desvantagem de limitar a comunicação do IDS com outros agentes.

 

 IDS em modo Stealth(Invisível)

IDS em modo Stealth não consegue comunicar pela rede.

Solução: para resolver este problema pode fazer-se esta comunicação através de outra sub-rede ou através da interface série.

Uma outra solução seria fazer com que o IDS realiza-se uma configuração na interface desabilitando o modo Stealth em intervalos tempo a fim de transmitir informações para outros agentes.  

 

Referências:

·       Snort: http://www.snort.org

·    Whitehats.com e arachNIDS rules database: http://www.whitehats.com

·    Libpcap: ftp://ftp.eecs.lbl.gov

·    Libnet: http://www.packetfactory.net

·    Incident.org (database plug-ins): http://www.incident.org

·   Silicon Defense (boas ferramentas para o Snort): http://www.silicondefense.com

·   Snort para Win32: http://www.datanerds.com/~mike

·   Snorticus: http://www.snorticus.baysoft.net

·        Eluding Network Intrusion Detection: http://www.snort.org/docs/idspaper/

·        Ferramentas de IDS:  http://www.rnp.br/newsgen/9909/ids.html

·        Tutoriais-Seguranca-ids-legais:http://under-linux.org/wiki/index.php/Tutoriais/Seguranca/ids-legais

·        Intrusion Detection Pages: http://www.cerias.purdue.edu/about/history/coast_resources/idcontent/welcome.html