Curso Livre de Segurança de Sistemas/Tecnologia e Princípios de Segurança de Computadores/Detecção de Intrusão/Caderno Colaborativo

Detecção de Intrusão editar

Um Sistema de Detecção de Intrusão é um sistema que monitora uma rede em busca de eventos que possam violar as regras de segurança dessa rede. Dentre esses eventos, destacam-se programas realizando atividades que fogem ao seu comportamento comum, malwares, e invasões de nós.

Assim os IDS, funcionam coletando os dados dos usuários, armazenazenando e analisando os padrões comportamentais, o fluxo de dados, horários.... Com essas informações, aliado ao conhecimento prévio de padrões de ataque, é possível discernir se os eventos em questão são maliciosos ou não .

A coleta dos dados dos usuários é feita de variadas formas, desde mecanismos de entrada e saída, como mouse e teclado, a arquivos salvos em seus computadores, também é possível analisar a camada de Rede do protocolo TCP/IP e analisar o tipo de fluxo, pacotes que entram e saem, conexões estabelecidas, dentre outros.

Por que os sistemas de detecção de intrusão são importantes editar

Ambientes de negócios modernos em rede exigem um alto nível de segurança para garantir a comunicação segura e confiável de informações entre várias organizações. Um sistema de detecção de intrusão atua como uma tecnologia de proteção adaptável para a segurança do sistema após a falha das tecnologias tradicionais. Os ataques cibernéticos só se tornarão mais sofisticados, por isso é importante que as tecnologias de proteção se adaptem junto com suas ameaças.

Detecção de Intrusão Baseada em Máquina Cliente editar

IDS baseados em estação são comumente utilizados para a detectção de intrusão baseada em máquina cliente, pois promove uma camada a mais de segurança em sistemas vulneráveis ou sensíveis. Assim, consegue monitorar atividades no sistema, de forma a identificar comportamentos suspeitos. Podendo ou não interromper ataques, antes de causarem dano. Porém como função principal para os IDSs baseados em estação temos, a detecção de intrusão, envio de alertas e registro de eventos suspeitos. Podendo detectar tanto intrusões internas quanto externas, utilizando duas abordagens gerais, são elas:

  • Detecção de anomalia: Coleta os dados do usuário durante determinado espaço de tempo, com base no comportamento de um usuário legítimo. Então, é realizada uma análise estatística sobre o comportamento ser ou não de um usuário legítimo do sistema. Assim, duas abordagens podem ser utilizadas para a detecção de anomalias de forma estatítica, são elas:
  1. Detecção de limiar: Define limiares para a frequência de ocorrência de eventos, independente de usuário.
  2. Baseada em perfil: Perfis de usuário baseado em suas atividas são definidos e utilizados para indentificar alterações de comportamento de forma indivídual.

Detecção de assinatura: Procura definir um grupo de padrões ou regras de ataque que define se dado comportamento é ou não a de um intruso.

A detecção de anomalia e a detecção de assitura, se utilizadas em conjunto, podem prover um serviço mais seguro. Pois se tornam efetivos contra impostores (detecção de anomalia), visto que, possívelmente o impostor não consguirá imitar padrões de comportamento da conta em questão. Também sendo efeitvo contra malfeitores (detecção de assitura), dado que, essa forma de detecção é capaz de reconhecer eventos e sequências, que em dado contexto, apontam uma intrusão.

Intrusos editar

Os intrusos (também conhecido como hackers) são um tipo de ameaça a segurança, que podem ser divididos em três classes:

  • Impostor: Um indivíduo que não está autorizado a usar o computador e que burlando o controle de acesso do sistema para explorar a conta de um usuário legítimo;
  • Malfeitor: Um usuário legítimo que acessa dados, programas ou recursos independentemente de ter acesso autorizado ou não, mas usa de forma maliciosa seus privilégios.
  • Usuário clandestino: Um indivíduo que se apodera do controle de supervisão do sistema e usa esse controle para escapar de auditorias e controles de acesso ou para suprimir a coleta de dados de auditoria.

O impostor é provavelmente um agente externo (outsider), o malfeitor é geralmente um agente interno (insider), e o o usuário clandestino pode ser um agente externo ou um agente interno. Os ataques de intrusos vão desde apenas explorar a internet e ver o que existe por ali até o fato de tentar ler dados privilegiados, executar modificações não autorizadas em dados ou destruir o sistema.

Técnicas de intrusão editar

Um instruso basicamente tenta obter acesso a um sistema e/ou aumentar seus privilégios dentro dele. Geralmente os ataques iniciais exploram vulnerabilidades que permitem a execução de um código que abra uma porta dos fundos para que o intruso acesse o sistema.

Os sistemas podem ser acessados a partir de ataques que envolvam estouro de buffer em um software executado com determinados privilégios.

Outros alternativas são descobrir informações sensíveis que estão sem proteção, como uma senha. Ao ter posse dessa senha, o intruso acessa o sistema com todos os privilégios do usuário que ele está utilizando.

Honeypots editar

Honeypots é uma inovação na área, visando atrair atacantes, coletar informações sobre eles e afastá-los de sistemas críticos. Esse sistema é projetado com diversas informações falsas mas que não seriam de importância para um usuário comum, dessa forma, qualquer um que acessar o honeypot pode ser suspeito e por isso será investigado. Através de monitores e registradores, é possível ter acesso a atividade do possível atacante e coletar todas as informações, sendo que se um ataque estiver sendo planejado, os administradores do honeypot terão tempo de agir e evitar. Há 2 principais localizações para um honeypot, sendo elas:

  • fora do firewall: útil para rastrear conexões a IPs que não são utilizados na rede
  • honeypot inteno: sendo o mais poderoso, quando implementado internamente pode capturar qualquer ataque interno, porém também é o mais perigoso, podendo atacar outros sistemas se for comprometido

Detecção de Intrusão Distribuída Baseada em Máquina Cliente editar

A organização deve defender estações distribuídas conectadas via LAN. Em vez de utilizar IDS's em cada uma das estações, é possível utiliza-los em cooperação na rede. Utilizando um IDS distribuído, um ou mais nós podem ser pontos de coleta e análise de dados que são provenientes da sistemas na rede, respeitando integridade e confidencialidade dos mesmos. A arquitetura utilizada pode ser centralizada utilizando um nó para a coleta e análise ou descentralizada, que utiliza vários nós em coordenação para a análise e troca de informações.

Um IDS distribuído é composto por três elementos chave:

  • Módulo de agente de estação: módulo de coleta de auditoria sobre eventos relacionados a segurança e transmite ao gerente central
  • Módulo de agente de monitor de LAN: Funciona da mesma forma que um módulo de agente, a diferença é que analisa o tráfego na rede LAN. Auditora conexões entre estações, serviços usados e volume de tráfego.
  • Módulo de gerente central: Recebe dados provindos do agende de estação e agente de LAN e analisa para a detecção de intrusão. O gerente central possui um sistema especialista que realiza deduções a partir dos dados recebidos.

O agente captura registros de auditoria do sistema e seleciona os registros de relacionados com a segurança e então é executada uma analise em busca de eventos suspeitos. Algumas análises envolvem acessos a arquivos, modificações no controle de acesso de arquivos, análise de comportamento de um perfil com a base sendo o histórico do perfil desse usuário. Caso encontre alguma atividade suspeita, o gerente central recebe uma notificação, então, realiza consultas de dados e pesquisar eventos com base em cargas de rede e utilização de serviços relacionados à segurança. [1]

Detecção de intrusão baseada em rede editar

Essa detecção monitora todo o tráfego que passa pela rede. Os pacotes que são capturados recebem uma inspeção para que seja verificado se eles estão dentro dos padrões pré-impostos, indicando com isso também se o tráfego na rede está normal ou se está sofrendo algum tipo de ataque. No meio compartilhado de propagação, os pacotes passam sem restrições e todas as interfaces que estão conectadas nele recebem esses pacotes. Dependendo do endereço final do nível de enlace do pacote, a interface o passa para o barramento interno da máquina para processamento posterior. Entretanto, todas as interfaces recebem todo o tráfego. Então é necessário deixar o detector posicionado na rede para que ele possa analisar os pacotes desejados.

É importante frisar que estações de trabalho conectadas à rede também podem receber pacotes destinados a outras estações. Para que uma interface de rede consiga receber pacotes não destinados a ela, é necessário que ela trabalhe em um modo especial, chamado modo promíscuo.

Há duas maneiras de operação em uma interface de rede:

  • Normal: Cada interface de rede verifica o endereço de destino do nível de enlace, também chamado endereço Medium Access Control (MAC), ou ainda endereço físico. Sendo o endereço do pacote idêntico ao endereço da interface, o pacote é repassado para processamento interno.
  • Promíscuo: A verificação feita no modo anterior é ignorada, dessa vez o que ocorre é que todos os pacotes são repassados para processamento.

Esse método de detecção precisa trabalhar de modo invasivo para que mesmo os pacotes não destinados a ele possam ser analisados. Assim, tendo todas as informações que trafegam pela rede é possível ao sistema, por exemplo, detectar varreduras de portas, monitorar conexões, data gramas maliciosos ou verificar ataques de negação de serviço.

Esse método de detecção é vantajoso por ser praticamente independente dos sistemas das máquinas contidas na rede além de não influenciar diretamente no tráfego da rede. Ele também é eficaz contra varreduras de portas, além de ser dificilmente mais identificável pelo atacante. Entretanto, ele também possui desvantagens, sendo ele incapazes de detectar ataques criptografados além de perder muito desempenho em redes congestionadas ou muito complexas.

Técnicas de Evasão editar

Estar ciente das técnicas disponíveis para os criminosos cibernéticos que estão tentando violar uma rede segura pode ajudar os departamentos de TI a entender como os sistemas IDS podem ser enganados para que não percam as ameaças acionáveis:

  • Fragmentação: o envio de pacotes fragmentados permite que o invasor permaneça sob o radar, contornando a capacidade do sistema de detecção de detectar a assinatura do ataque.
  • Evitando padrões: uma porta utilizada por um protocolo nem sempre fornece uma indicação para o protocolo que está sendo transportado. Se um invasor o reconfigurou para usar uma porta diferente, o IDS pode não ser capaz de detectar a presença de um trojan.
  • Ataques coordenados de baixa largura de banda: coordenando uma varredura entre vários invasores ou mesmo alocando várias portas ou hosts para diferentes invasores. Isso torna difícil para o IDS correlacionar os pacotes capturados e deduzir que uma varredura de rede está em andamento.
  • Falsificação de endereço / proxy: os invasores podem ocultar a origem do ataque usando servidores proxy mal protegidos ou configurados incorretamente para repelir um ataque. Se a fonte for falsificada e devolvida por um servidor, será muito difícil detectá-la.
  • Evasão de mudança de padrão: o IDS depende da correspondência de padrões para detectar ataques. Fazendo um pequeno ajuste à arquitetura de ataque, a detecção pode ser evitada.

Detecção de instrução adaptativa distribuída editar

Este tipo de detecção se baseia na contribuição dos demais aparelhos na rede a fim de captar alterações no comportamento de requisições de uma determinada maquina suspeita, a modo metafórico, o sistema e seus demais componentes agem como fofoqueiros de atividade alheia, ou seja, quando uma maquina começar a demonstrar um comportamento diferente de seu padrão, este já fica em estado de alerta para os demais sistemas, a principio, os demais componentes dão um falso positivo, ou seja, se mantem em estado de analise acerca da maquina suspeita, pois, se ela continua com seus níveis de requisição elevados por muito mais tempo que o normal, então, o sistema já detecta que um ataque esta ocorrendo e que provem da maquina suspeita.

Este tipo de sistema de detecção é extremamente util em se tratando de que em ambientes que inúmeras maquinas ou roteadores podem ser vinculados ou desvinculados da rede, uma analise do comportamento e monitoramento por parte dos demais aparelhos, é de grande auxilio para a resolução dos ataques, impedindo que grandes riscos e danos sejam feitos na empresa ou no serviço.

  1. STALLINGS, William. BROWN, Lawrie. Segurança de Computadores. 2ed.