# Sistema de detecção de intrusos

Sistema de detecção de intrusos ou também conhecido como Sistema de detecção de intrusão (em inglês: Intrusion detection system - IDS) refere-se aos meios técnicos de descobrir em uma rede acessos não autorizados que podem indicar a ação de um cracker ou até mesmo de funcionários mal intencionados.
Com o acentuado crescimento das tecnologias de infraestrutura tanto nos serviços quanto nos protocolos de rede torna-se cada vez mais difícil a implantação de sistema de detecção de intrusos. Esse fato está intimamente ligado não somente à velocidade com que as tecnologias avançam, mas principalmente com a complexidade dos meios que são utilizados para aumentar a segurança nas transmissões de dados.
Uma solução bastante discutida é a utilização de host-based IDS que analisam o tráfego de forma individual em uma rede. No host-based o IDS é instalado em um servidor para alertar e identificar ataques e tentativas de acessos indevidos à própria máquina. Os tipos de IDS variam no escopo, desde computadores únicos a redes grandes.
Segue abaixo uma breve discussão de como algumas tecnologias podem dificultar a utilização de sistemas de detecção de intrusos.

## SSL, IPSec e outros

IDS baseadas em rede, ou network-based (NIDS, monitoram os cabeçalhos e o campo de dados dos pacotes a fim de detectar possíveis invasores no sistema, além de acessos que podem prejudicar a performance da rede. A implantação de criptografia (implementada via SSL, IPSec e outras) nas transmissões de dados como elemento de segurança prejudica esse processo. Tal ciframento pode ser aplicado no cabeçalho do pacote, na área de dados do pacote ou até mesmo no pacote inteiro, impedindo e ou dificultando o entendimento dos dados por entidades que não sejam o seu real destinatário.
Exemplificando, o SSL (Secure Socket Layer) é executado entre a camada de transporte e de aplicação do TCP/IP, criptografando assim a área de dados dos pacotes. Sistemas IDS não terão como identificar através do conteúdo dos pacotes ataques para terminar as conexões ou até mesmo interagir com um firewall.
Outro exemplo é a implementação do IPSec, que é uma extensão do protocolo IP que é bastante utilizada em soluções de VPN. Existem dois modos de funcionamento, o modo transporte e o modo túnel, descritos na RFC2401 de Kent, Atkinson (1998).
No modo de transporte o IPSec é similar ao SSL, protegendo ou autenticando somente a área de dados do pacote IP; já no modo túnel o pacote IP inteiro é criptografado e encapsulado. Como pode ser notado no modo transporte um IDS pode verificar somente o cabeçalho do pacote, enquanto o modo túnel nem o cabeçalho e nem a área de dados.

## IDS em redes com switches

A implementação de IDSs em redes comutadas (no caso baseadas em switching) permitem a comunicação direta, não compartilhada entre dois dispositivos. Essa característica introduz algumas dificuldades para a implementação de IDSs se comparada as redes com transmissão por difusão.
Como nesse tipo de rede os dados trafegam diretamente para seus destinos (sem a difusão) torna-se preciso, na implantação de IDSs, algumas soluções específicas.
O uso de Port Span consiste na utilização de switches com IDS embutidos. A decisão de sua utilização deve ser discutida antes da compra dos concentradores de rede (switches).
O uso de Splitting Wire e Optical Tap é uma solução que consiste em colocar uma "escuta" posicionada entre um switch e um equipamento de rede que se deseja monitorar. Um meio bastante barato de se fazer isso (Ethernet e Fast Ethernet) é a colocação de um concentrador de rede por difusão (hub) na conexão que se deseja vistoriar. No caso de fibras ópticas basta adicionar um dispositivo chamado optical tap.
O uso de Port Mirror consiste em fazer no switch o espelhamento do tráfego de uma única porta para outra usada para o monitoramento. Esse método é semelhante ao wire tap porem é implantando no próprio switch.

## IDS em redes de alta velocidade

A evolução tecnológica tem também permitido que um maior número de redes possuam altas velocidades de transmissão de dados. Sob o ponto de vista da implantação de IDS isso se torna um ponto bastante delicado que traz questões importantes na manutenção da infra estrutura de redes, destacando-se: os softwares IDS conseguirão analisar toda a grande quantidade de dados que trafegam na rede? O hardware de monitoramento suportará tamanho tráfego? Os IDS não irão prejudicar a performance da rede se tornando um gargalo?.
Essas, e outras questões, têm sido bastante discutidas, gerando várias soluções para contornar esses problemas ou problemas em potencial. Destacando-se:
* Aumentar o poder de processamento dos equipamentos
* Monitoramento utilizando-se target IDS definidas pelo administrador
* Direcionamento de tráfego, Toplayer
* Recursos de filtragem dos IDS
* Segregação de IDS por serviço (IDS especialista)

## Tipos de sistemas de detecção de intrusão

Em um IDS (Intrusion detection system) de rede, os sensores estão localizados em pontos de interesse da rede, geralmente na borda da rede. O sensor intercepta todo o tráfego da rede e analisa o conteúdo de cada pacote em busca de componentes maliciosos. Os IDS de protocolo são usados ​​para rastrear o tráfego que viola as regras de certos protocolos ou sintaxe de linguagem (como SQL). No IDS do host, o sensor geralmente é um agente de software que monitora a atividade do host no qual está instalado. Existem também versões híbridas dos tipos listados de IDS.
* O IDS baseado em rede (NIDS): monitora invasões examinando o tráfego de rede e monitora vários hosts. O sistema de detecção de intrusão de rede obtém acesso ao tráfego de rede conectando-se a um hub ou switch configurado para espelhamento de porta ou um dispositivo TAP de rede. Um exemplo de IDS de rede é o Snort.
* O IDS baseado em protocolo (PIDS): é um sistema (ou agente) que monitora e analisa protocolos de comunicação com sistemas ou usuários relacionados. Para um servidor web, esse IDS geralmente monitora os protocolos HTTP e HTTPS. Ao usar HTTPS, o IDS deve estar localizado em tal interface para que os pacotes HTTPS possam ser visualizados antes de serem criptografados e enviados para a rede.
* IDS baseado em protocolo de aplicativo (APIDS): é um sistema (ou agente) que monitora e analisa dados transmitidos usando protocolos específicos de aplicativo. Por exemplo, em um servidor web com um banco de dados SQL, o IDS monitorará o conteúdo dos comandos SQL enviados ao servidor.
* IDS baseado em host (HIDS): sistema (ou agente) localizado em um host que monitora invasões usando a análise de chamadas do sistema, logs de aplicativos, modificações de arquivos (executáveis, arquivos de senha, bancos de dados do sistema), estado do host e outras fontes. . Um exemplo é OSSEC.
* IDS híbrido: combina duas ou mais abordagens para desenvolver IDS. Os dados dos agentes nos hosts são combinados com as informações da rede para criar a visão mais completa da segurança da rede. Um exemplo de um IDS híbrido é o Prelude.