DETECÇÃO DE INTRUSOS

 

Index >> Tipos de Sistemas de detecção de intrusos >> AAFID

  1. Sistemas baseados na estação
    1. Vantagens e Desvantagens
    2. Monitoramento do Estado do Sistema
    3. Técnicas
    4. Operação
    5. Protegendo o Sistema de Detecção
  2. Sistemas baseados na Rede
    1. Vantagens e Desvantagens
    2. Análise por assinaturas

Sistemas baseados na estação

Um sistema de detecção de intrusos baseados na estação é construído para monitorar, detectar e responder ao usuário e sistema atividades e ataques em uma determinada estação. Algumas ferramentas mais robustas também oferecem gerenciamento de policiamento e centralização, análise estatística e, em alguns casos, algumas medidas de controle de acesso. A diferença entre a detecção de intrusos baseadas na estação e a baseada na rede é que a segunda se preocupa com os dados transmitidos de estação para estação enquanto a primeira está preocupada com o que acontece dentro da estação em si.

Os SDIs baseados na estação operam sobre informações coletadas de uma única estação, podendo analisar atividades com grande precisão, determinando exatamente que processos e usuários estão envolvidos em um ataque, pois eles podem diretamente acessar e monitorar os dados e processos do sistema que são geralmente alvo de ataques. Ele irá detectar que programa acessa que tipo de informação de forma que possa garantir que um processador de texto, por exemplo, não irá, inesperada e inexplicavelmente, começar a modificar o banco de dados de senhas do sistema.

[topo]

Vantagens dos SDIs baseados na estação.*

  1. Com sua habilidade de monitorar eventos localmente num host, podem detectar ataques que não são detectados por um SDI baseado em rede.
  2. Podem operar em ambientes onde o tráfego seja criptografado, quando os dados são encriptados no host antes do envio e decriptados no host após a recepção.
  3. SDIs baseados em host não são afetados por switches. Desvantagens dos SDIs baseados em host.

Desvantagens dos SDIs baseados na estação.*

  1. São difíceis de gerenciar, pois para cada host monitorado deve ser instalado e configurado um SDI.
  2. Desde que ao menos as fontes de informações (e algumas vezes parte do mecanismo de análise) residam no host monitorado, o SDIs pode ser atacado e desativado mascarando assim um ataque.
  3. Não são apropriados para detectar scans de rede.
  4. Podem ser desativados por certos tipos de ataques de negação de serviço.
  5. Consomem recursos computacionais dos hosts que estão monitorando, diminuindo a performance dos mesmos.”

*[retirado de 6]

[topo]

Monitoramento do estado do sistema

O princípio da operação de um sistema de detecção baseado na estação depende do fato que um intruso irá, geralmente, deixar um traço de suas atividades. O que muitas vezes ocorre é o fato do intruso querer dominar aquele computador que atacou, instalando softwares que permitirão seu futuro acesso para realizar qualquer atividade maliciosa que pretenda.
Em teoria, o usuário de um computador tem a habilidade de detectar tais modificações, e os sistemas de detecção de intrusos baseados na estação o fazem denunciando o que encontrarem de errado.

Quase que ironicamente, após invadir um computador, muitas vezes o intruso costuma aplicar as melhores técnicas de segurança para proteger aquele sistema, deixando apenas sua própria backdoor aberta, de forma que outros intrusos não poderão tomar a “sua” estação invadida. Estas modificações também podem ser detectadas (e utilizadas como aprendizado).

[topo]

Técnicas

De maneira geral, um SDI baseado na estação usa um banco de dados de objetos do sistema que ele deve monitorar – normalmente (mas não necessariamente) arquivos de funcionamento sistema.  Também pode estar checando constantemente regiões específicas e/ou reservadas da memória verificando se foram modificadas, por exemplo – as tabelas de chamadas de sistema do Linux e as vtables do Windows.

Para cada objeto em questão, o SDI baseado na estação irá usualmente guardar seus atributos (permissões, tamanho, datas de modificação) e, possivelmente, criar um verificador de algum tipo (um hash MD5 ou similar) para o conteúdo, caso este exista. Esta informação fica armazenada em uma base de dados para comparações posteriores (cria-se a base de dados de verificadores). Note que mesmo o hash MD5 estando de acordo com os dados presentes, isso não é uma garantia completa que um intruso ou um usuário não autorizado tenham alterado o conteúdo do arquivo em questão – o hash pode ter sido igualmente restabelecido pelo invasor.

Para que se possa ter maior garantia quanto ao bom funcionamento do SDI baseado na estação, é razoável que a base de dados verificadora esteja armazenada de forma mais segura (possivelmente em um outra estação independente e de acesso restrito, específica para este tipo de operação), de foram que um invasor seja incapaz de alterar tais dados.

[topo]

Operação

No momento da instalação – e a qualquer momento que o os objetos monitorados sejam alterados de maneira legítima – o SDI baseado na estação deve inicializar (ou atualizar) sua base de dados de verificadores buscando (realizando uma varredura) nos objetos relevantes. Os responsáveis pela segurança de computadores precisam controlar esse processo rigorosamente para prevenir que intrusos façam mudanças não autorizadas nessa base de dados específica. A inicialização do SDI geralmente leva um grande tempo envolvendo todo o processo criptográfico para cada objeto monitorado e a base de dados de verificadores. Por tal motivo, desenvolvedores de SDIs baseados em estação constroem, normalmente, a base de dados de objetos de uma maneira que a realização de atualizações freqüentes na base de dados de verificadores torna-se desnecessária.

Sistemas de Computadores geralmente tem muitos objetos dinâmicos (objetos com conteúdo modificado frequentemente), os quais os intrusos visam modificar – e que devem, consequentemente, ser monitorados pelo SDI –, mas sua natureza dinâmica os torna inadequados para serem tratados com técnicas de verificadores de conteúdo. Para superar este problema, os SDIs baseados na estação aplicam várias outras técnicas de detecção:

Monitorando mudanças feitas de maneira inesperada nos atributos do arquivo.

    1. Entende-se por atributos informações presentes no arquivo, mas que não fazem parte do seu conteúdo, tais como: usuário proprietário do arquivo (user id), grupo de usuários que tem acesso ao arquivo (group id), permissões (o que o proprietário, o grupo de usuários e outras pessoas quaisquer podem fazer no arquivo), várias timestamps, e outras informações necessárias.
    2. A alteração desses atributos de maneira inesperada, principalmente os campos de identificação do usuário proprietário e as permissões do arquivo devem ser consideradas como possíveis ataques, observando quem as está fazendo.

Redução de tamanho de arquivos de registro (log files) desde a última checagem.

    1. Arquivos de registro gravam cada ação efetuada dentro de um sistema no decorrer do tempo, armazenando informações do tipo, qual ação foi efetuada, quando e por quem. Um usuário mal intencionado buscará apagar seus rastros visando retirar dos arquivos de registro as informações que identificam suas ações dentro do sistema.

      140.105.46.60 - - [21/Oct/1999:17:58:17 +0200] "GET / HTTP/1.0" 200 2011
      140.105.46.60 - - [21/Oct/1999:17:58:17 +0200] "GET /poweredby.gif HTTP/1.0" 200 1817
      140.105.46.60 - - [21/Oct/1999:17:58:17 +0200] "GET /icons/apache_pb.gif HTTP/1.0" 200 2326
      140.105.46.60 - - [21/Oct/1999:17:58:17 +0200] "GET /cgi-bin/nph-count?width=5&link=/dummy/index.html HTTP/1.0" 200 -
      140.105.46.60 - - [21/Oct/1999:17:58:38 +0200] "GET /~faruk HTTP/1.0" 301 244
      140.105.46.60 - - [21/Oct/1999:17:58:38 +0200] "GET /~faruk/ HTTP/1.0" 200 243
      140.105.46.60 - - [21/Oct/1999:17:58:39 +0200] "GET /~faruk/homepage1.html HTTP/1.0" 200 1103

      Exemplo de arquivo de registro

       

    2. A tendência de um arquivo de registro é sempre aumentar em tamanho, naturalmente. Qualquer redução que ocorra pode ser considerada como alteração maliciosa dos dados registrados.

Existem vários meios de detectar eventos não usuais (além dos citados acima). A maioria deles, independentemente burláveis. Um invasor pode, por exemplo, remover suas ações dos arquivos de registro sem reduzir seu tamanho. Uma técnica de detecção de intrusos perfeita é, se não tecnicamente inviável, deveras complicada. A idéia é manter o sistema atento e armado, apostando que, mesmo o invasor sendo bom, ele pode apresentar falhas, descuidos ou deixar rastros.

Desde que o administrador do sistema tenha construído uma base de dados de objetos apropriada – provavelmente com ajuda e conselhos de ferramentas de instalação de SDIs baseados em estação – e inicializado a base de dados de verificadores, o SDI da estação tem tudo o que precisa para monitorar os objetos desejados regularmente e denunciar qualquer coisa que aparente estar errada. Tais avisos podem ser registros (arquivos de registros), e-mails ou algo similar.

[topo]

Protegendo o sistema de detecção

Um SDI baseado na estação fará o possível para prevenir a base de dados de objetos, de verificadores e relatórios de qualquer forma de ataque. Ainda assim, se os intrusos obtiverem sucesso na modificação de qualquer objeto que esteja sendo monitorado pelo SDI da estação, não há nada que impeça tais usuários de modificar o sistema de detecção – a não ser que o administrador de segurança tome as precauções apropriadas, como manter as informações do SDI em outra estação. Muitos vermes (worms) e vírus tentarão desativar ferramentas de detecção, tais como antivírus, por exemplo. Infelizmente, muitos deles obtêm sucesso ao fazê-lo.
Técnicas de criptografia a parte, os SDIs baseados na estação também devem permitir que os administradores armazenem as bases de dados em alguma memória externa ao sistema (em uma estação apropriada) ou em alguma mídia removível do tipo somente leitura (CD-ROM, DVD). De maneira semelhante, os SDIs da estação enviarão frequentemente seus registros para fora do sistema imediatamente – em alguns casos através de canais de comunicação unidirecionais, tais como portas seriais apenas com a parte de transmissão conectada, por exemplo.

[topo]

  1. Sistemas baseados na estação
    1. Vantagens e Desvantagens
    2. Monitoramento do Estado do Sistema
    3. Técnicas
    4. Operação
    5. Protegendo o Sistema de Detecção
  2. Sistemas baseados na Rede
    1. Vantagens e Desvantagens
    2. Análise por assinaturas

Sistemas baseados na rede

Sistemas de detecção de intrusos baseados na rede usam os pacotes da rede como fonte de dados. Um SDI baseado na rede tipicamente utilizada um adaptador de rede rodando no modo promíscuo ou um conjunto de sensores colocados em vários pontos da rede para monitorar e analisar todo o tráfico em tempo real. Como os sensores são limitados a executarem somente o SDI, eles podem ser mais facilmente protegidos contra ataques. Muitas das vezes, estes sensores ficam rodando em uma ponte (bridge), para tornar mais difícil a localização de um sensor por um atacante.

Quando um ataque é detectado, o sistema provém uma variedade de opções de notificação, alerta e tomada de ação em resposta ao ataque. Estas respostas variam de produto para produto, mas usualmente envolvem a notificação do administrador, encerramento da conexão e/ou gravação da seção para análise forense e coleta de evidências.

O posicionamento da unidade responsável pelo SDI baseado na rede é bem importante. Ela poderá ser uma estação ou mesmo um sensor (ou um conjunto destes), que se tornam responsáveis por determinado segmento de uma rede, devendo ser capazes de analisar todos os pacotes que trafegam nesta.

Quando se está em um ambiente de difusão, a unidade deverá estar conectada ao roteador no modo promíscuo. Neste modo, ela irá capturar e analisar qualquer pacote que trafegue pelo meio compartilhado. Em uma rede densa, pode ser custosa a análise de todos os pacotes circulantes.

Quando, ao invés da figura do roteador, têm-se o switch (comutador), perde-se a idéia da conexão no modo promíscuo, pois os pacotes que saem do comutador vão diretamente ao destino através de um meio não compartilhado. Neste ambiente, a unidade responsável pelo SDI deverá estar conectada ao comutador através de um sistema de espelhamento. Ou seja, o comutador irá refletir pacotes que saiam de qualquer porta para a porta onde a unidade do SDI está conectada.

[topo]

Vantagens dos SDIs baseados em rede.*

  1. Poucos SDIs instalados, mas bem posicionados podem monitorar uma grande rede. Isso reflete em baixo custo de implantação.
  2. A instalação provoca um pequeno impacto na rede, pois eles são dispositivos passivos que escutam a rede sem interferirem no seu funcionamento. Logo, é geralmente simples adicionar esse tipo de IDS a uma rede.
  3. Podem ser bem seguros contra ataques e ainda podem ser invisíveis a muitos atacantes.

Desvantagens dos SDIs baseados em rede.*

  1. Podem ter dificuldades em processar todos os pacotes em uma rede grande e sobrecarregada, logo, eles podem falhar no reconhecimento de um ataque lançado durante períodos de tráfego intenso.
  2. Muitas das vantagens dos SDIs baseados em rede não se aplicam as redes mais modernas baseadas em switches, pois estes subdividem a rede em muitos segmentos e proporcionam links dedicados entre hosts servidos pelo mesmo switch.
  3. SDIs baseados em rede não podem analisar informações criptografadas. Este problema é crescente visto que mais organizações (e atacantes) usam VPNs (Virtual Private Networks) e outros meios de conexão.
  4. A maioria não pode informar quando um ataque foi bem sucedido. Eles só podem alertar que um ataque foi iniciado, e cabe ao administrador investigar cada host atacado para determinar de fato quais destes foram violados.

*[retirado de 6]

[topo]

Análise por Assinaturas

Análises baseadas em assinaturas permitem que um segmento da rede seja monitorado para a detecção de vermes, varreduras, ou ataques na camada de aplicação examinando os pacotes que circulam no ambiente analisando seu cabeçalho e payload. Capturando dados da rede e comparando-os com um bom conjunto de assinaturas pré-definidas, sensores presentes na rede podem detectar ataques tais como fragmentação, ofuscação e estouro de buffer.

Assinaturas são padrões comuns em cenários de ataques que devem ficar armazenadas em uma base de dados segura. No sensor ou estação que esteja monitorando a rede (ou um segmento dela), cada pacote que circule no meio será capturado, analisado sendo comparado com a base de dados contendo as assinaturas. Esta base, preferencialmente, deve ser atualizada constantemente para se prevenir de novos ataques.
Dentre as técnicas se Análise por Assinaturas, seguem algumas:

Reconhecimento de padrão simples

            É a forma mais simples de reconhecimento de padrões, detectando uma seqüência de bytes presentes em um pacote que possa ser relatado como maliciosa.

Reconhecimento de padrão atento à sessão

            Essa forma de reconhecimento exige que o sensor ou a estação responsável mantenha informações sobre o estado dos fluxos TCP na rede. Detecções precisas dependem do armazenamento e da interpretação da unidade através de toda a troca de pacotes.  A entidade responsável pelo SDI deve ordenar os pacotes de maneira apropriada antes de aplicar as regras de assinatura, para ser capaz de lidar com a fragmentação.

Análise de assinaturas baseadas no contexto

            Esta análise requer que o sensor ou entidade responsável pelo SDI compreenda as circunstâncias da "conversação" e determine se determinado padrão pode ser aplicado a determinado pacote. Por exemplo, ataques contra um servidor web normalmente ocorre na requisição da URL. Neste caso, o sensor deverá iniciar buscando por assinaturas de estouro de buffer depois do cliente enviar a requisição http. As entidades do SDI devem estar cientes do fluxo e dos parâmetros de cada tipo de tráfego.

Análise baseada em decodificação de protocolos.

            Esta analise decodifica vários elementos de uma série de pacotes da mesma forma que o cliente ou o servidor fariam em uma “conversação”. Decodificação completa de protocolos permite que outras ferramentas de análises sejam utilizadas no processo de validação do pacote (que dirá se o pacote é válido ou malicioso). Utilizar assinaturas para detectar alguns padrões dentro de protocolos é uma prática comum.

            Decodificação de protocolos compara os padrões de tráfego com as especificações traçadas na documentação RFC (Request For Comments). Qualquer trafego observado que não seja considerado de acordo com a RFC será registrado no sistema e/ou será gerado um alerta para o administrador da rede como uma possível ameaça. Este tipo de análise exige que a unidade responsável pelo SDI seja capaz de reconhecer protocolos (tais como: TELNET, http, DNS, SMB, RPC, SMTP, SNMB, FTP, ICMP, TFTP, SSH, POP, IDENT, dentre outros)

Análise Heurística

            A unidade responsável pelo SDI aplicará, nesse caso, algoritmos lógicos para determinar o tipo de tráfego que está cruzando a rede. Isto é aprender através da descoberta. Desvios do padrão estatístico do tráfego normal acionam um evento. A unidade “aprende” quando você ajusta o algoritmo para reduzir o número de falsos positivos e monitorar a rede de maneira mais precisa.

            Um exemplo comum utilizado para demonstrar heurísticas em funcionamento é a detecção de uma inundação com ping. Se o número de pings recebidos durante um período excede a média estatística de número de pings, um evento é acionado.

            Interpretar relacionamentos complexos através de heurísticas é, em muitas das vezes, o único meio de detectar ataques profundamente.

Análise por Anomalia do Tráfego

            Neste tipo de Análise, as unidades do SDI devem ser capazes de detectar desvios do padrão do tráfego normal associados a um segmento da rede, onde se entende por normal um padrão bem comportado de trafego esperado na rede. Análise por anomalia de tráfego requer a definição de marcos para tipos interessantes de tráfego por parte do administrador da rede.  Após a definição destes limites, as unidades do SDI respondem a desvios dos padrões do trafego acionando um evento (indicando a anomalia). Análise por Anomalia do tráfego pode detectar qualquer evento anormal como os seguintes:

  1. Inundação com pacotes UDP, que pode ser o início de um ataque de negação de serviço.
  2. Crescimento abrupto do tráfego ICMP, que é típico de reconhecimento de um atacante.
  3. Requisição WEB anormalmente grade, que é, frequentemente, associado com ataques de estouro de buffer.

            Análise por anomalia de tráfego é o mais efetivo em um meio que é relativamente estático. A habilidade do administrador em definir os padrões de tráfego normal é a chave para a sua efetividade. O sistema será capaz, provavelmente, de detectar ataques sem o uso de uma assinatura conhecida identificando condições anormais de tráfego.

[topo]

<< Anterior || Próxima >>