DETECÇÃO DE INTRUSOS
Index >> Tipos de Sistemas de detecção de intrusos >> AAFID
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.*
Desvantagens dos SDIs baseados na estação.*
*[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]
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]
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.
Redução de tamanho de arquivos de registro (log files) desde a última checagem.
140.105.46.60 - - [21/Oct/1999:17:58:17 +0200] "GET / HTTP/1.0" 200 2011 |
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]
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.*
Desvantagens dos SDIs baseados em rede.*
*[retirado de 6]
[topo]
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:
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]