Fundamentos de Segurança em Redes (Parte III): IDS

Na continuação dos dois últimos artigos sobre alguns fundamentos de segurança em redes, este irá focalizar-se em alguns componentes mais comuns de uma rede e assim como também em Sistemas de Detecção.

Mais um pouco de arquitectura

Na arquitectura de uma rede estão presentes diversos componentes, cada qual com as suas funcionalidades e também responsabilidades. Já tocamos um pouco neste aspecto da importância da arquitectura da rede no primeiro artigo, mas nesta parte vamos cingir-nos aos componentes mais comuns que podemos encontrar numa rede.

Gateways

Podemos começar pelo último dispositivo que provavelmente vamos encontrar numa rede. Uma gateway é um ponto da rede que funciona como entrada para uma rede e faz de intermediário entre duas redes que falam protocolos diferentes. Geralmente as gateways trabalham nas camadas Transporte e Sessão do modelo OSI, mas dependendo do tipo de protocolo que suportem podem operar praticamente a qualquer nível ou camada do modelo OSI. Exemplos de protocolos e suites normalmente usados pelas Gateways são o X.25, o SNA (System Network Architecture – IBM) e o ATM (Asynchronous Transfer Mode).

Exemplo de uma rede com o X.25:

Segurança de redes: exemplo de uma rede com X.25

Dado que uma gateway é colocada na fronteira da rede é também necessário que ela desempenhe algumas funcionalidades importantes tais como Firewall, Proxy, VPN (Virtual Private Network), onde também podem ser incorporados alguns mecanismos de defesa.

DMZ

De seguida temos uma DMZ (DeMilitarized Zone) ou Zona Desmilitarizada. Como certamente é óbvio, este é um termo militar, que teve origem na Guerra das Coreias. Uma DMZ designa uma área geralmente entre dois países, onde actividades militares não são permitidas. Analogamente uma DMZ numa rede é uma região segura que é designada na fronteira entre a rede interna e a rede externa que na maioria dos casos é a Internet. Tipicamente usamos o termo DMZ para nos referirmos a uma pequena rede que contém serviços públicos tais como servidores de FTP, DNS e E-mail. O que assegura que os serviços que requerem acesso externo fiquem separados da rede local. Por estar separada da rede local, qualquer dano ou ataque que seja feito não irá afectar a rede local.

Segurança de redes: DMZ

É possível também a utilização de uma DMZ e de uma Screened Subnet. O que é então uma Screened Subnet?

Uma Screened Subnet é uma firewall que possui 3 interfaces de rede. A primeira interface é a interface pública e que liga à Internet. A segunda interface conecta à DMZ e por fim a terceira interface conecta à intranet e às redes internas. Qual é o objectivo de uma screened subnet?

Bem o propósito da Screened Subnet é isolar a DMZ e os seus recursos da intranet e portanto proteger a rede interna tornando mais difícil que esta sofra as consequências de um ataque.

Routers

Passando para os routers. Apesar de termos abordado algumas estratégias que podem ser usadas na melhoria da segurança de uma rede, não podemos deixar de falar num dos dispositivos mais comuns numa rede mas que tem um peso considerável. Os routers têm como função principal direccionar o tráfego que chega e que sai de uma rede, mas não se resumem apenas a esta função. Um router pode ser uma ferramenta bastante poderosa se for bem configurada e inserida na rede. Com um router podemos concentrar num único dispositivo diversas funcionalidades tais como IP Security, VPN, Stateful Firewall, Intrusion Detection e Quality of Service (QoS).

Existem diversas funcionalidades que podemos usar ou não num router convencional. Uma das primeiras coisas que podemos fazer é activar a DMZ e desactivar o UPnP. Porquê? Porque esta funcionalidade permite que um dispositivo de rede se auto-configure, apesar de ser aparentemente uma boa funcionalidade é também prejudicial. Por exemplo um vírus pode usar o UPnP para abrir um buraco na firewall do router. Outro aspecto também importante é usarmos o Filtro de endereços MAC. Assim podemos restringir os dispositivos que podem se ligar à nossa rede. Por exemplo, se apenas temos 10 endereços MAC na rede, uma boa medida de segurança seria configurar o router de maneira a que apenas esses 10 endereços possam conectar à rede.

Se usamos wireless podemos modificar o nome SSID (Service Set Identifier) que vem por defeito, assim como configurar o WEP/WPA e desactivar o SSID broadcast.

NAT – como defesa

Geralmente é usado um firewall ou um router para proteger cada segmento da rede. Estes são dispositivos ideais para proteger o perímetro da rede, mas não são os únicos a ser usados. Talvez associemos o Network Address Translation (NAT) a um método de aproveitar ao máximo a falta de endereços no IPv4, por conectar múltiplos computadores à Internet usando apenas um endereço IP. Mas o NAT tem um bom potencial no que toca a segurança, podendo ser usado para complementar o uso dos firewalls e routers. Como? NAT complementa o uso de routers ao providenciar medidas extras de segurança para uma rede interna. Usualmente, os hosts de dentro da rede são capazes de comunicar com o exterior, mas sistemas de fora necessitam passar pelo NAT para chegar à rede interna o que confunde o atacante quanto a qual é o host que quer atingir. Outra vantagem da utilização do NAT diz respeito ao bloqueamento de ataques como o SYN flood e ping of death.

IDS (Intrusion Detection System)

Existem dois tipos principais de Intrusion Detection System, temos o NIDS (Network Intrusion Detection System) e o HDIS (Host Intrusion Detection System). Basicamente tanto num caso como noutro o objectivo é a detecção e o alerta de eventos prejudiciais ou maliciosos que possam comprometer a rede ou um computador. O alerta pode ser feito de diversas formas, desde o enviar um e-mail a apenas indicar a ocorrência num log.

Também é possível a utilização de IDS híbridos no sentido de usarmos diversos tipos de abordagem como solução para uma situação específica.

Alguns dos IDS mais conhecidos e talvez usados são:

  • Snort
  • Cisco Secure IDS
  • Dragon Sensor + E-Trust IDS
  • Audit-Guard
  • Symantec Snort

Como podemos ver, existem diversos IDS que podem ser inseridos em diversas categorias dependendo da sua funcionalidade e arquitectura. Já referimos a existência dos HIDS e dos NIDS, vamos falar um pouco sobre cada um deles.

Host-based Intrusion Detection Systems

Este tipo de IDS tem como objectivo monitorizar, detectar e responder correctamente a alguma actividade suspeita ou a um ataque num computador. Um HIDS permite que um determinado computador ou computadores possam ser protegidos não só contra ataques mas também contra falhas de segurança ou vulnerabilidades. Por isso alguns HIDS trazem incorporado diversas ferramentas de gestão de políticas, análise de estatísticas e outras ferramentas importantes para um bom e eficaz funcionamento do IDS. Na maior parte dos casos o HIDS é incorporado no sistema operativo do computador em questão. No entanto, este tipo de IDS apresentam desvantagens, nomeadamente quando o computador em questão é invadido e o IDS fica comprometido e muitas vezes inutilizado para futuras acções. Essa situação leva-nos à existência em parte de outro tipo de IDS.

Exemplos de HIDS:

  • OSSEC
  • Samhain
  • Osiris
  • Aide
  • Third Brigade

Network-based Intrusion Detection System

O funcionamento do NIDS baseia-se na análise do tráfego da rede e verificar operações suspeitas. Basicamente funcionam como Packet Sniffers que lêem o tráfego e usam regras ou outros parâmetros de maneira a verificar se a rede está ou não comprometida. Apesar de ser uma boa opção para analisar protocolos como TCPIP, XNS e muitos outros, os NIDS não apresentam tão bons resultados face a tráfego encriptado. Outro factor constrangedor é a velocidade de análise do tráfego.

Uma boa utilização de IDS passa pela utilização conjunta de um NIDS e de um HIDS. Ficando o NIDS centralizado e analisando os dados que serão fornecidos pelos outros IDS (HIDS).

Portanto, apesar de o NIDS e o HIDS terem o mesmo objectivo a maneira como actuam é diferente, no caso do NIDS é monitorizado o tráfego da rede e no caso de surgirem situações suspeitas é dado o alarme. No HIDS essa monitorização é aplicada apenas a um host. Existem também IDS que trabalham com base na monitorização de protocolos e de aplicações, sendo estes IDS mais apropriados para redes com servers e data centers.

IPS (Intrusion Prevention System)

Um Intrusion Prevention System tem como função a detecção e impedir ataques contra certos recursos da rede. A diferença de um IPS para um IDS, é que um IPS concentra-se em automaticamente defender o alvo do ataque sem a intervenção de um administrador.

A prevenção é conseguida pela incorporação de tecnologias de firewall com IDS. Dado que um IPS incorpora este género de tecnologias pode praticamente trabalhar a qualquer nível do modelo OSI. No entanto, poderá não ser uma boa solução porque um IPS pode não conseguir apresentar a mesma rapidez e robustez que um firewall e um IDS convencionais.

IDS – Métodos Detecção e Acção

Como podemos verificar nas secções anteriores os IDS funcionam de maneiras diferentes, mas o princípio básico de operacionalidade mantém-se ou seja analisar pacotes do tráfego da rede. No entanto existem duas maneiras básicas de detecções que se baseiam na detecção de anomalias e detecção com base em assinaturas.

No caso da detecção por anomalias é feita uma análise à procura de actividades fora do comum e é feita uma comparação com logs de actividades ditas normais ou com regras definidas pelo administrador. Portanto se existir um contraste de actividade daquilo que é habitual aquele computador fazer é dado o alarme e é indicada uma anomalia que é transmitida ao administrador.

As regras por exemplo podem ser definidas de maneira a verificar se por exemplo certos ficheiros são acedidos, se certos recursos são usados, etc. São diversos os parâmetros os quais podemos usar para verificar anomalias.

Apesar de ser uma boa solução apresenta algumas desvantagens como é lógico. Uma desvantagem são os falsos alarmes que poderão ser activados mesmo quando acções legítimas são efectuadas, mas dado que diferem do padrão habitual despoletam um alarme.

Outra metodologia empregada pelo IDS é a detecção com base em regras ou assinaturas já predefinidas. Essas assinaturas representam um padrão que é característico de um determinado ataque. Portanto esses IDS possuem uma base de dados dessas assinaturas que são usadas para comparação com a actividade da rede.

Como é que os IDS respondem às detecções de intrusão?

O tipo de resposta depende do tipo de ataque que é feito e do tipo de alarme gerado e por isso existe dois tipos de resposta, modo passivo e activo que podem ser incorporadas nos IDS.

Alguns desses modos podem passar desde o bloquear o endereço de IP, bloqueando assim o endereço do atacante o que permite em certa forma travar o SPAM e os ataques de Denial of Service. Outro modo interessante passa por analisar o ataque por algum tempo, retirar informação e usar esses dados para tornar o IDS mais eficaz.

Conclusão

Como podemos ver ao longo destes artigos, a segurança é uma parte fundamental numa rede. Para termos relativa segurança não podemos basear a nossa confiança apenas num software ou dispositivo pensando que isso basta por si só. Uma boa solução de segurança para uma rede pode não ser o melhor para outra. É preciso fazer uma análise da rede, daquilo que queremos proteger dos objectivos que queremos atingir e por isso é preciso encarar a segurança de uma rede como sendo um projecto que baseia a sua capacidade em diversas camadas, cada qual com o seu objectivo.

Publicado na edição 18 (PDF) da Revista PROGRAMAR.