Redes de Computadores II - UFRJ - 2023.2

Trabalho Teórico Versão Final

 

Grupo: 11

Tema: Sistemas de Detecção de Intrusão (IDS)

Curso dos autores: Engenharia de Computação e Informação.

 

Nome: Ananias Sousa Machado

Nome: Antonny Victor da Silva

 

——————————————————————————————————————————

1. Introdução

   1.1 Objetivos do Trabalho

           

            O objetivo deste trabalho é apresentar o que é um Sistema de Detecção de Intrusão (IDS), para que serve, suas principais características, como implantar um, apresentar alguns sistemas existentes, e mencionar alguns dos principais problemas, desafios e inovações acerca do tópico.

           

   1.2 Definição de Sistemas de Detecção de Intrusão

 

            Um Sistema de Detecção de Intrusão (IDS) é um software ou hardware que automatiza o processo de detecção de intrusão em uma rede ou sistema. Uma intrusão é uma tentativa de comprometer a confidencialidade, integridade e disponibilidade, ou passar pelos mecanismos de segurança de uma rede ou sistema.

 

2. Fundamentos dos IDS

   2.1 Tipos de Ameaças Cibernéticas

            2.1.1 Com Base em Assinaturas

                        Ataques com base em padrões e assinaturas são ameaças cibernéticas identificadas por meio da correspondência de tráfego de rede ou comportamento do sistema com padrões específicos predefinidos ou "assinaturas" conhecidas. Essas assinaturas são como impressões digitais de ataques, permitindo que um sistema de segurança, como uma Intrusion Detection System (IDS), identifique ameaças com base na detecção de padrões correspondentes.

                        Por exemplo, ataques de injeção de SQL que têm assinaturas que identificam tentativas de inserir código SQL malicioso em formulários da web ou parâmetros de URL.

 

            2.1.2 Ataques com Base em Anomalias

                        Os ataques com base em anomalias, também conhecidos como detecção de intrusão baseada em comportamento ou em anomalias, são uma abordagem de segurança cibernética que se concentra na identificação de atividades ou comportamentos anormais em sistemas, redes e aplicativos. Em vez de depender de assinaturas de ataques conhecidos, como na detecção baseada em padrões, a detecção de anomalias busca desvios em relação ao comportamento normal.

                        Por exemplo, se um usuário normalmente acessa um sistema de manhã e à tarde, mas um dia ele faz login à meia-noite, isso pode ser uma anomalia que indica um possível acesso não autorizado.

 

            2.1.3 Ataques com Base na Análise de Protocolos de Estado

                        Ataques com base na análise de protocolos de estado, também conhecidos como ataques a protocolos de estado, exploram vulnerabilidades em protocolos de comunicação de rede que mantêm informações sobre o estado das conexões. Esses ataques visam comprometer a integridade, a confiabilidade ou a disponibilidade de sistemas ou redes.

                        Por exemplo, um atacante pode usar um pacote de reconhecimento que faz parte de uma sessão TCP estabelecida para identificar os sistemas operacionais e os serviços em execução em um servidor.

 

   2.2 Motivações para o Uso de IDS

 

            Um Sistema de Detecção de Intrusão permite que as organizações protejam seus sistemas contra as ameaças que vêm em conjunto com o aumento da conectividade de rede e a dependência de sistemas de informação. Dado o nível e a natureza das ameaças de segurança de rede modernas, a questão para os profissionais de segurança não deve ser se um sistema de detecção de intrusão é necessário, mas sim quais os recursos de detecção de intrusão e capacidades de uso serão necessários para a corporação.

            Os Sistemas de Detecção de Intrusão obtiveram a aceitação geral como uma adição necessária à infraestrutura de segurança da informação dentro das empresas.

            Mas apesar das diversas contribuições fornecidas pelas tecnologias de detecção de intrusão à segurança dos sistemas computacionais, muitas organizações ainda esperam justificativas sobre as razões para a aquisição de um IDS. No entanto, existem vários motivos para o uso de um IDS. Entre essas razões, temos:

-       Redução de dano:

                  Quanto mais cedo for detectada, menor o dano e maior a rapidez da recuperação.

-       Inibição de Atacante

                  Um IDS efetivo pode servir como inibidor e, assim, agir para prevenir intrusões.

-       Realimentação de Defesas

       A detecção de intrusão habilita a coleta de informações sobre técnicas de intrusão que podem ser usadas para fortalecer medidas de prevenção de intrusão.

 

   2.3 Componentes Básicos de um IDS

           

-       Sensores

                        Os sensores são responsáveis pela coleta de dados. A entrada para um sensor

pode ser qualquer parte de um sistema que pode conter evidência de intrusão.

Tipos  de entrada para um sensor incluem pacotes de rede, arquivos de registro e conjuntos de eventos de chamadas do sistema. Os sensores coletam e transmitem essas informações ao analisador.

-       Analisadores

                Os analisadores recebem entradas de um ou mais sensores ou de outros analisadores. O analisador é responsável por determinar se ocorreu uma intrusão, a saída produzida por este componente é indicação de que uma intrusão ocorreu e pode incluir evidências que suportam a conclusão de que uma intrusão ocorreu. O analisador pode dar orientação quanto às providências a tomar como resultado da intrusão.

-       Interface de usuário

                A interface de usuário com um IDS habilita um usuário a ver a saída do sistema ou controlar o comportamento do sistema. Em alguns sistemas, a interface de usuário pode corresponder a um componente de gerenciamento, direção ou console.

 

           

3. Tipos de IDS

   3.1 IDS com Base em Assinaturas

       3.1.1 Funcionamento

 

            Nos IDS com base em assinaturas, também conhecidos como base em conhecimento, temos que o IDS monitora o tráfego da rede e procura por algum padrão de ataques conhecidos. Neste tipo de IDS é mantido uma base de dados de assinaturas de ataques de intrusão conhecidos que precisa ser periodicamente atualizada para incluir assinaturas de ataques de intrusão recém descobertos.

 

       3.1.2 Vantagens e Limitações

 

            As vantagens de um IDS com base em assinaturas são que ele é um método simples e efetivo para detectar ataques de intrusão conhecidos, e que realiza uma detalhada análise textual do conteúdo dos pacotes da rede. Contudo, ele é inefetivo contra ataques de intrusão não conhecidos, ataques de evasão, e variações de ataques conhecidos. Além disso, ele possui pouco conhecimento de estados e protocolos da rede, é difícil manter o banco de dados de assinaturas atualizado, e demanda bastante tempo manter esse banco de dados atualizado.

 

   3.2 IDS com Base em Anomalias

       3.2.1 Funcionamento

 

            Nos IDS com base em anomalias, também conhecidos como com base em comportamento, temos que o IDS monitora o tráfego da rede e constrói perfis que representam o comportamento normal ou esperado de usuários da rede, de acordo com o que é monitorado. Os perfis podem ser estáticos ou dinâmicos, e são construídos com base em diversos parâmetros, como tentativas de login que falharam, uso de processador, contagem de e-mails enviados, entre outros. O IDS então compara os eventos observados com os perfis construídos para detectar ataques de intrusão. Alguns exemplos de ataques de intrusão detectáveis são tentativas de invasão, masquerading, misfeasor, denial-of-service (DOS), Trojan horse, entre outros.

 

       3.2.2 Vantagens e Limitações

 

            As vantagens de um IDS com base em anomalias são que ele é efetivo em detectar novas e não previstas vulnerabilidades, é menos dependente do OS em comparação com outros tipos de IDS e facilita a detecção de abuso de privilégio. Contudo, a acurácia dos perfis é fraca devido aos eventos da rede estarem constantemente mudando, indisponibilidade durante a construção de perfis, e a dificuldade de criar alertas na hora certa.

 

   3.3 IDS com Base em Análise de Protocolos de Estado

       3.3.1 Funcionamento

 

            Nos IDS com base em análise de protocolos de estado, temos que o IDS monitora o tráfego da rede e o comportamento dos protocolos estabelecidos, incluindo sua mudança de estado na sua respectiva máquina de estados, e verifica se os protocolos estabelecidos estão se comportando de forma esperada segundo os perfis estabelecidos por fornecedores de perfis que especificam como determinados protocolos devem se comportar. O IDS então compara o comportamento observado com o comportamento esperado e caso sejam diferentes detecta que há um ataque de intrusão. O funcionamento é similar aos IDS com base em anomalia, contudo, ao invés dos perfis serem construídos com base no comportamento observado da rede, os perfis são obtidos por fornecedores.

 

       3.3.2 Vantagens e Limitações

 

            As vantagens de um IDS com base em análise de protocolos de estado é que ele conhece e rastreia os estados dos protocolos, e distingue entre sequências inesperadas de comandos do usuário que implicam em mudanças não esperadas de comportamento dos protocolos. Contudo, rastrear e examinar o estados dos protocolos possui um alto custo computacional, o IDS é incapaz de detectar ataques de intrusão que se parecem com comportamento esperado dos protocolos, e pode ser incompatível com alguns sistemas operacionais e aplicações.

 

4. Implantação de IDS

   4.1 Planejamento da Implantação

 

            A primeira decisão a ser tomada na implantação de um IDS é onde ele deve ser implantado, essa é uma decisão crítica e que varia de acordo com a rede ou sistema. O local mais comum é atrás do firewall na borda da rede. Esta prática oferece alto IDS alta visibilidade do tráfego entrando na rede e não recebe tráfego entre usuários dentro da rede. Outras práticas incluem a implantação do IDS em vários pontos de alta visibilidade da rede, permitindo monitorar uma parte mais ampla da rede.

Na implantação de um IDS, deve-se tomar diversas decisões a respeito do sistema que deseja-se implantar. Deve-se decidir que tipo de abordagem será utilizada, qual o tipo de IDS a implementar, que tipo de tecnologia utilizar, se deseja-se detectar ataques conhecidos ou não, o tipo de dado que será utilizado para treinar o modelo do IDS, além de outras características como se as detecções devem ser feitas em tempo real ou não, e se deve haver poucos falsos positivos. A seguir está uma lista de opções para cada variável de decisão, onde mais de um tipo de dado pode ser escolhido.

 

            Abordagem: Estatística, baseado em padrões, baseado em regras, baseado em estados, baseados em heurísticas.

            Tipo de IDS: Baseado em assinaturas, baseados em anomalias, baseado em protocolos de estado.

            Tipo de tecnologia: Baseado no usuário, baseado na rede, baseado em rede sem fio, baseado no protocolo.

            Detectar ataques: Conhecidos, não conhecidos, ambos.

            Tipo de dado: Pacotes da rede, sequências de chamadas de sistema ou comandos, dados de conexões na rede, dados de arquivos de log, assinaturas de ataques conhecidos, perfis de usuários, diagramas de transição de estados de ataques conhecidos, banco de dados para descoberta de regras de associação.

 

            Dado uma escolha para cada variável de decisão, pode-se implantar um IDS que possua as características desejadas. Muitos dos IDS existentes tratam-se de modelos que precisam ser configurados, treinados e terem seus parâmetros ajustados, logo, ainda tem essa etapa para ser realizada.

 

   4.2 Configuração e Tuning

 

            Na configuração temos os modelos que precisam de perfis de comportamento esperado obtidos por fornecedores, banco de dados para descoberta de regras de associação que precisa ser construído junto de um ser humano com conhecimento de domínio, banco de dados com assinaturas de ataques conhecidos, entre outros requisitos que um modelo pode precisar antes de se encontrar utilizável.

            No caso dos modelos que precisam de bancos de dados mais gerais para aprender a detectar intrusões, temos que é necessário fornecer um banco de dados com os tipos de dados necessários para treinar o modelo. Esse banco de dados é composto por diferentes tipos de dados chamados features, que podem ser cuidadosamente selecionadas para obter um melhor desempenho do modelo. Além disso, como muitos desses modelos que aprendem a realizar uma tarefa possuem parâmetros decididos por quem está implementando, temos que é necessário ajudar estes parâmetros por meio de um procedimento de tuning dos parâmetros do modelo.

            Uma etapa adicional de comparação com baselines, isto é, outros modelos que costumam ser utilizados na literatura, pode ser realizada para verificar a performance do modelo construído tendo com base o desempenho das baselines.

 

   4.3 Monitoramento e Gerenciamento

 

            Um IDS durante seu funcionamento está a todo momento monitorando a rede ou o sistema onde ele foi implantado, e pode responder a ataques identificados de forma passiva ou ativa. Na maioria dos casos, o IDS responde aos ataques de forma passiva notificando a equipe responsável que um ataque ocorreu, onde as formas mais comuns de notificação são por meio de uma janela pop up, alertas na janela, e registros de alerta em um arquivo. Esses alertas podem conter informação detalhada sobre o ataque, como IP do computador atacante, alvo do ataque, porta de interesse do ataque, ferramentas utilizadas para realizar o ataque, resultados do ataque, entre outros. Alternativamente, IDS também podem responder ativamente a ataques emitindo uma atualização que corrige uma vulnerabilidade do sistema, desconectando um usuário, reconfigurando roteadores e firewall, ou desconectando uma porta.

            O desempenho de um IDS pode piorar muito no decorrer do tempo quando não gerenciado. Pois novos ataques podem vir a ser conhecidos e com isso o banco de dados de assinaturas precisará ser atualizado, o comportamento esperado dos usuários da rede ou sistema pode mudar drasticamente e o modelo precisará novamente ser treinado e passar por um procedimento de tuning, padrões de comportamento de ataques podem mudar drasticamente e com isso os padrões antigos aprendidos perdem relevância e torna-se mais importante aprender os padrões novos. Além disso, novos requisitos podem ser feitos a respeito do IDS que deve estar em execução e com isso todo o processo de decisão de escolha de um IDS pode vir a ser feito novamente.

 

5. Tecnologias e Ferramentas IDS

   5.1 Exemplos de IDS de Código Aberto

            5.1.1 Snort

                        Snort é o principal sistema de prevenção de intrusões (IPS) de código aberto do mundo. O Snort IPS usa uma série de regras que ajudam a definir atividades maliciosas da rede e usa essas regras para encontrar pacotes que correspondam a elas e gerar alertas para os usuários.

O Snort também pode ser implantado em linha para interromper esses pacotes.

O Snort tem três usos principais: como um sniffer de pacotes como o tcpdump, como um registrador de pacotes – que é útil para depuração de tráfego de rede ou pode ser usado como um sistema completo de prevenção de invasões de rede. O Snort pode ser baixado e configurado para uso pessoal e comercial.

 

            5.1.2 Suricata

                        Suricata é um software de análise de rede e detecção de ameaças de código aberto de alto desempenho usado pela maioria das organizações públicas e privadas e incorporado pelos principais fornecedores para proteger seus ativos.

 

            5.2.3 OSSEC

                        OSSEC é um sistema de detecção de intrusão baseado em host (HIDS) escalonável, multiplataforma e de código aberto

O OSSEC possui um poderoso mecanismo de correlação e análise, integrando análise de log, monitoramento de integridade de arquivos, monitoramento de registro do Windows, aplicação centralizada de políticas, detecção de rootkit, alertas em tempo real e resposta ativa. Ele roda na maioria dos sistemas operacionais, incluindo Linux, OpenBSD, FreeBSD, MacOS, Solaris e Windows.

 

   5.2 IDS Comerciais Populares

            5.2.1. FortiGate

                        O FortiGate nada mais é do que um firewall de proteção de rede, que usa processadores de segurança capazes de identificar uma atividade suspeita antes mesmo dela solicitar acesso ao dispositivo.

 

Desenvolvidos pela Fortinet, referência em gestão e segurança de redes, além

de líder do conceito UTM (Unified Threat Management – ou, Gerenciamento Unificado de Ameaças), esse modelo de firewall representa uma evolução para os demais, visto que torna o processo de identificação de ameaças mais rápido, prático e visual.

 

            5.2.2 McAfee

A plataforma de segurança de rede McAfee é uma solução de segurança inteligente e exclusiva que descobre e bloqueia ameaças sofisticadas na rede. Usando técnicas avançadas de detecção de ameaças, ele vai além da mera correspondência de padrões para se defender contra ataques furtivos com extrema precisão, enquanto sua plataforma de hardware de próxima geração atinge velocidades de mais de 80 Gbps para atender às necessidades de redes exigentes.

 

            5.2.3 Cisco Firepower

                        O Cisco Firepower é o primeiro Firewall de Última Geração totalmente integrado e com gerenciamento unificado. A integração proposta por esse dispositivo permite que uma mesma política seja implementada nas diferentes soluções de segurança adotadas por sua empresa. Vale mencionar que o Cisco Firepower permite que a gestão de ameaças seja feita em tempo real, inclusive porque possibilita a ampla visualização da rede corporativa ― usuários, hosts, aplicações, dispositivos e mais. Algo que se traduz em uma proteção mais adequada e eficaz para a sua empresa.

 

   5.3 Tendências em Tecnologias IDS

            O uso de AI e ML para aprimorar a detecção de ameaças está em ascensão. Essas tecnologias podem identificar padrões de tráfego e comportamento de rede anômalos com maior precisão, reduzindo falsos positivos.

            Além disso, há uma certa preocupação com a capacidade de identificar ameaças em tempo real é crucial. As tecnologias IDS estão se tornando mais proativas na identificação e resposta imediata a ameaças em andamento.

Uma outra exigência é  sobre a análise de comportamento de usuário.

Os IDS estão cada vez mais incorporando análise de comportamento de usuário para identificar atividades suspeitas com base em como os usuários interagem com os sistemas e dados.

 

 

6. Conclusão

   6.1 Desafios na Detecção de Intrusão

 

            Embora haja muita pesquisa sobre IDSs, muitas questões principais permanecem a serem resolvidas. IDSs precisam ser mais acurados, com a capacidade de detectar uma variada coleção de ataques de intrusão com poucos falsos positivos. Alguns problemas em aberto e desafios futuros a serem resolvidos sobre IDSs incluem.

 

IDSs sem fio: Devido as suas características particulares como mobilidade, limitações de largura de banda dos enlaces, e recursos limitados. Esses IDSs também se destacam pelos problemas de segurança, comunicação e gerenciamento. Além disso, muitos precisam ser testados em vários cenários de mobilidade e topologia distintos, para garantir que a capacidade de proteção do sistema esteja garantida.

Heurísticas: Muitos IDSs baseados em redes neurais, redes neurais fuzzy, e baseados em heurísticas de imunidade foram propostos na literatura, contudo, um problema em aberto é regular a sensibilidade de detecção de ataques do IDS para reduzir a quantidade de falsos positivos.

Paralelismo: A computação de alta performance torna possível a implementação de IDSs que operam em tempo real por meio de hardwares com custo acessível, contudo, há desafios acerca do paralelismo da divisão dos trabalhos de detecção de intrusão, coordenação e gerenciamento de múltiplos nós, entre outros.

 

   6.2 Tendências Futuras em IDS

 

            Algumas das tendências futuras na pesquisa sobre IDSs incluem o uso de diferentes técnicas de classificação, aprendizado de máquina e inteligência artificial em IDSs, avanços na tarefa de feature selection na etapa de treinamento de um IDS, desenvolvimento de novos algoritmos de feature selection, e a substituição de classificadores simples nas baselines, como um modelo de redes neurais ou árvore de decisão, por classificadores híbridos, isto é, combinação de classificadores simples, ou ensemble de classificadores.

 

   6.3 Importância dos IDS na Segurança Cibernética

 

            Os ambientes de rede corporativa atuais requerem um alto nível de segurança para garantir comunicação de informação segura e confiável entre diferentes organizações. Um sistema de detecção de intrusão age como uma tecnologia de segurança adicional após tecnologias tradicionais falham em impedir um ataque. Como ataques cibernéticos se tornam mais sofisticados com o tempo, é importante ter à disposição uma ferramenta que é capaz de se adaptar aos novos cenários.

 

7. Perguntas

 

-       Pergunta 1: Quais são os tipos de ameaças cibernéticas?

 

Resposta: Os tipos de ameaças cibernética são com base em assinatura, com base em anomalias, e com base em análise de protocolos de estado.

 

-       Pergunta 2: Por quais motivos uma organização utilizaria um IDS?

 

Resposta: Um IDS serve uma tecnologia de segurança adicional após tecnologias tradicionais falharem em impedir um ataque. Além disso, um IDS é capaz de se adaptar aos novos ataques que surgem no decorrer do tempo.

 

-       Pergunta 3: Quais são os componentes básicos de um IDS?

 

Resposta: Os componentes básicos de um IDS são sensores, analisadores e a interface de usuário.

 

-       Pergunta 4: De que forma um IDS pode responder a um ataque detectado?

 

Resposta: Um IDS pode responder a um ataque detectado notificando a equipe responsável, escrevendo em um arquivo de log, desconectando um usuário, reconfigurando firewall e roteadores, entre outras maneiras.

 

-       Pergunta 5: Existem implementações de IDS com código aberto? Em caso afirmativo, cite exemplos.

 

Resposta: Sim, existem implementações de IDS com código aberto. Algumas delas são Snort, Suricata e OSSEC.

 

8. Referências Bibliográficas

 

-       [1] Intrusion detection system: https://en.wikipedia.org/wiki/Intrusion_detection_system, acesso em: 22/10/2023

-       [2] Stefan Axelsson. (1998). Research in Intrusion-Detection Systems: A Survey: https://neuro.bstu.by/ai/To-dom/My_research/Paper-0-again/For-research/D-mining/Anomaly-D/Intrusion-detection/survey.pdf acesso em: 22/10/2023

-       [3] Hung-Jen Liao, Chun-Hung Richard Lin, Ying-Chih Lin, Kuang-Yuan Tung. (2013). Intrusion detection system: A comprehensive review: https://profsandhu.com/cs5323_s17/ids2013.pdf acesso em: 22/10/2023

-       [4] Ghafir, Ibrahim & Husák, Martin & Prenosil, Vaclav. (2014). A Survey on Intrusion Detection and Prevention Systems: https://www.researchgate.net/publication/305957314_A_Survey_on_Intrusion_Detection_and_Prevention_Systems acesso em: 22/10/2023

-       [5] Stefan Axelsson. (2000). Intrusion Detection Systems: A Survey and Taxonomy: https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=7a15948bdcb530e2c1deedd8d22dd9b54788a634 acesso em: 22/10/2023

-       [6] IDS - Sistema de Detecção de Intrusão

https://www.eunarede.com/seguranca/ids-sistema-de-deteccao-de-intrusao acesso em: 22/10/2023

-       [7] IDS/IPS: O que São e Como Funcionam acesso em: 22/10/2023

https://blog.starti.com.br/ids-ips/ acesso em: 22/10/2023

-       [8] What is an Intrusion Detection System?: https://www.barracuda.com/support/glossary/intrusion-detection-system acesso em: 22/10/2023