Originalmente escrito por Joe Schreiber, reescrito e editado por Guest Blogger, reeditado e expandido por Rich Langston
Se você precisar monitorar hosts ou as redes que os conectam para identificar as últimas ameaças, há algumas grandes ferramentas de detecção de intrusão de código aberto (IDS) disponíveis para você.
- Lista de ferramentas IDS de código aberto
- Técnicas de Detecção de Ameaças
- Ferramentas IDS baseadas em assinatura
- Gestão de Segurança Unificada
- Ferramentas IDS baseadas em anomalias
- Vantagens e Desvantagens
- IDS (NIDS)
- Snort
- Suricata
- Bro (renamed Zeek)
- Host-based IDS (HIDS)
- OSSEC
- SEC Resumo:
- Samhain Labs
- Samhain Summary:
- Monitoramento de Integridade de Arquivos (somente FIM)
- Final Thoughts
Lista de ferramentas IDS de código aberto
- Snort
- Suricata
- Bro (Zeek)
- Samhain Labs
- OpenDLP
li>OSSEC
Técnicas de Detecção de Ameaças
Existem duas técnicas primárias de detecção de ameaças: detecção baseada em assinaturas e detecção baseada em anomalias. Estas técnicas de detecção são importantes quando você está decidindo se vai com um motor de detecção de assinatura ou anomalias, mas os fornecedores se tornaram conscientes dos benefícios de cada uma, e alguns estão incorporando ambos em seus produtos. Aprender seus pontos fortes e fracos permite que você entenda como eles podem se complementar.
Ferramentas IDS baseadas em assinatura
Com um IDS baseado em assinatura, também conhecido como IDS baseado em conhecimento, há regras ou padrões de tráfego malicioso conhecido sendo pesquisado. Uma vez encontrada uma correspondência com uma assinatura, um alerta é enviado ao seu administrador. Esses alertas podem descobrir problemas como malware conhecido, atividade de varredura de rede e ataques contra servidores.
Gestão de Segurança Unificada
Uma plataforma que combina os recursos essenciais de segurança, incluindo IDS, descoberta de ativos e gestão de logs SIEM.
Saiba mais
Ferramentas IDS baseadas em anomalias
Com um IDS baseado em anomalias, também conhecido como IDS baseado em comportamento, a atividade que gerou o tráfego é muito mais importante do que a carga útil que está sendo entregue. Uma ferramenta IDS baseada em anomalias se baseia em linhas de base ao invés de assinaturas. Ela irá procurar por atividade incomum que se desvie das médias estatísticas de atividades anteriores ou de atividades anteriormente vistas. Por exemplo, se um usuário sempre faz login na rede a partir da Califórnia e acessa arquivos de engenharia, se o mesmo usuário faz login a partir de Beijing e olha para arquivos HR, esta é uma bandeira vermelha.
As técnicas de detecção baseadas em assinaturas e anomalias são tipicamente implantadas da mesma maneira, embora se possa fazer o caso de você (e as pessoas têm) criar um IDS baseado em anomalias em dados de fluxo líquido coletados externamente ou informações de tráfego similares.
Vantagens e Desvantagens
Menos falsos positivos ocorrem com a detecção baseada em assinaturas mas apenas assinaturas conhecidas são sinalizadas, deixando uma falha de segurança para as ameaças novas e ainda a serem identificadas. Mais falsos positivos ocorrem com a detecção baseada em anomalias mas, se configurada adequadamente, captura ameaças previamente desconhecidas.
IDS (NIDS)
Sistemas de detecção de intrusão (NIDS) baseados em rede operam inspecionando todo o tráfego em um segmento de rede a fim de detectar atividade maliciosa. Com os NIDS, uma cópia do tráfego que atravessa a rede é entregue ao dispositivo NIDS, espelhando os switches e/ou roteadores de cruzamento de tráfego.
Um dispositivo NIDS monitora e alerta sobre padrões ou assinaturas de tráfego. Quando eventos maliciosos são sinalizados pelo dispositivo NIDS, informações vitais são registradas. Estes dados precisam ser monitorados para que se saiba que um evento aconteceu. Ao combinar estas informações com eventos coletados de outros sistemas e dispositivos, você pode ver uma imagem completa da postura de segurança de sua rede. Note que nenhuma das ferramentas aqui correlaciona os registros por si só. Esta é geralmente a função de um Gerenciador de Eventos e Informações de Segurança (SIEM).
Snort
Ah, o porquinho venerável que adora pacotes. Muitas pessoas se lembrarão de 1998 quando o Windows 98 saiu, mas foi também o ano em que Martin Roesch lançou Snort pela primeira vez. Embora o Snort não fosse um verdadeiro IDS na época, esse era o seu destino. Desde então ele se tornou o padrão de fato para o IDS, graças às contribuições da comunidade.
É importante notar que o Snort não tem uma GUI real ou console administrativo fácil de usar, embora muitas outras ferramentas de código aberto tenham sido criadas para ajudar, tais como a BASE e o Sguil. Estas ferramentas fornecem um front end web para consultar e analisar alertas vindos do Snort IDS.
Snort Summary
- Li>Longa vida útil do produto sem sinais de ir embora
- Grande suporte comunitário
- Fortemente provado e testado
- Grande suporte comunitário
- De acordo com o site do Snort, os recursos incluem:
- Desenho modular:
- Multi-threading for packet processing
- Shared configuration and attribute table
- Use a simple, scriptable configuration
- Plugin framework, make key components pluggable (and 200+ plugins)
- Auto-detect services for portless configuration
- Auto-generate reference documentation
- Scalable memory profile
- Rule parser and syntax (support sticky buffers in rules)
- Documentation:
- Ruleset Updates
- Snort FAQ
- A Snort Cheatsheet
- A plugin for Snort is available for AlienVault USM Anywhere.
Li>Muitos front-ends administrativos
Suricata
What’s the only reason for not running Snort? If you’re using Suricata instead. Although Suricata’s architecture is different than Snort, it behaves the same way as Snort and can use the same signatures. What’s great about Suricata is what else it’s capable of over Snort. Ele faz muito mais, provavelmente merece um post dedicado próprio.
Existem ferramentas de código aberto de terceiros disponíveis para um web front end para consultar e analisar alertas vindos do Suricata IDS.
Suricata Summary
- Multi-Threaded – O Snort roda com uma única thread, o que significa que ele só pode usar uma CPU(core) de cada vez. Suricata pode rodar muitos threads para que ele possa tirar vantagem de todos os cpu/cores que você tem disponíveis. Tem havido muita discussão sobre se isso é vantajoso, Snort diz Não e alguns benchmarks dizem Sim.
- Built in Hardware Acceleration – Você sabia que você pode usar placas gráficas para inspecionar o tráfego da rede?
- Extracção de ficheiros – Alguém está a descarregar malware? Você pode capturá-lo diretamente da Suricata e estudá-lo.
- LuaJIT – É um monte de letras sim, mas também é um mecanismo de script que pode ser usado com informações dos pacotes inspecionados pela Suricata. Isso torna a correspondência complexa ainda mais fácil e você pode até ganhar eficiência combinando várias regras em um único script.
- Logging more than packets – Suricata pode pegar e registrar coisas como certificados TLS/SSL, solicitações HTTP, solicitações DNS
- Great community support
- Segundo o site de Suricata, as características incluem:
- High performance – multithreaded, scalable code base
- Multipurpose Engine – NIDS, NIPS, NSM, análise offline, etc.
Suporte multi-plataforma – Linux, Windows, macOS, OpenBSD, etc.
- Suporte TCP/IP moderno incluindo um mecanismo de fluxo escalável, fluxos IPv4/IPv6, TCP e desfragmentação de pacotes IP
- Parsers de protocolo – descodificação de pacotes, descodificação da camada de aplicação
- MáquinaHTTP – analisador HTTP, registrador de pedidos, correspondência de palavras-chave, etc.
- Autodetect services for portless configuration
- Lua scripting (LuaJIT)
- Application-layer logging and analysis, including TLS/SSL certs, HTTP requests, DNS requests, and more
- Built-in hardware acceleration (GPU for network sniffing)
- File extraction
- Suricata User Guide
- User and Developer Docs
- Suricata FAQ
Bro (renamed Zeek)
Bro, which was renamed Zeek in late 2018 and is sometimes referred to as Bro-IDS or now Zeek-IDS, is a bit different than Snort and Suricata. In a way, Bro is both a signature and anomaly-based IDS. Its analysis engine will convert traffic captured into a series of events. An event could be a user login to FTP, a connection to a website or practically anything. The power of the system is what comes after the event engine and that’s the Policy Script Interpreter. Este mecanismo de política tem sua própria linguagem (Bro-Script) e pode fazer algumas tarefas muito poderosas e versáteis.
Se você é um analista e se perguntou “Como posso automatizar algum do meu trabalho?” então esta é a ferramenta que você tem procurado. Quer baixar arquivos vistos no fio, enviá-los para análise de malware, notificá-lo se um problema for encontrado e depois colocar na lista negra a fonte e desligar o computador do usuário que fez o download? Deseja rastrear os padrões de uso de um usuário após ele ter contatado um IP de um banco de dados de reputação?
Se você não for um analista, então esta ferramenta terá uma curva de aprendizado desafiadora. Como ela foi desenvolvida como uma ferramenta de pesquisa, inicialmente não focou em coisas como GUIs, usabilidade e facilidade de instalação. Embora ela faça inúmeras coisas legais fora da caixa, muitas dessas coisas não são imediatamente acionáveis e podem ser difíceis de interpretar.
Não há uma GUI nativa, mas há ferramentas de código aberto de terceiros disponíveis para um web front end para consultar e analisar alertas vindos do Bro-IDS. Consider ELK stack.
Bro Summary
- Complicated to set up
- Can detect patterns of activity other IDS systems can not
- Very extensible architecture
- Good community support
- According to Bro’s website, features include:
- Comprehensive traffic logging and analysis
- Powerful and flexible event-driven scripting language (Bro scripts)
- Deploys on UNIX-style systems, including Linux, FreeBSD, and MacOS
- DNS/FTP/HTTP/IRC/SMTP/SSH/SSL/other protocol support
- Fully passive traffic analysis with network tap or monitoring port
- Real-time and offline analysis
- Cluster-support for large-scale deployments
- Comprehensive IPv6 support
- IDS-style pattern matching
- File extraction
- Extensible architecture
- Analysts can use Bro for automation (file extraction, malware analysis, blacklisting, track usage patterns, research work, etc.)
- Documentação:
- Manual Bro
- Bro Docs
- li>Bro FAQ
- Agentes para quase todos os sistemas operacionais
- Agente compilado para Windows
- Lots of functionality than just FIM
- Processo de instalação rígido mas simples
- Bom suporte à comunidade
- De acordo com o site do OSSEC, as características incluem:
- File integrity monitoring (FIM)
- Log monitoring collects, analyzes, and correlates system logs
- Rootkit detection, which searches for system modifications similar to rootkits
- Active response can invoke automated response action when alerts are triggered
- Client/Server architecture
- Multi-platform support (Linux, Solaris, Windows, MacOS, etc.)
- Supports compliance requirements for FIM
- Real-time and configurable alerts
- Integration with current infrastructure
- Centralized server for mass policy management
- Agent and agentless monitoring
- A plugin for OSSEC is available for AlienVault USM Anywhere. To learn more, read here.
- Documentation:
- OSSEC Docs
- OSSEC FAQ
- OSSEC Github
- Harder to install
- Windows clients require Cygwin
- Great FIM functionality
- More flexible client
- Okay community support
- According to Samhain’s website, features include:
- File integrity monitoring (FIM)
- Log file monitoring and analysis
- Rootkit detection
- Port monitoring
- Detection of rogue SUID executables and hidden processes
- Multi-platform support
- Centralized logging and maintenance
- Client/Server architecture (mostly)
- Variety of output methods (e.g. syslog, email RDBMS)
- Can be used as a standalone application on a single host
- Documentation:
- Samhain Docs
- Manual do Usuário da Samhain
- Samhain FAQ
Host-based IDS (HIDS)
Host-based intrusion detection systems (HIDS) work by monitoring activity occurring internally on an endpoint host. As aplicações HIDS (por exemplo, software antivírus, software de detecção de spyware, firewalls) são normalmente instaladas em todos os computadores conectados à Internet dentro de uma rede, ou em um subconjunto de sistemas importantes, tais como servidores. Isto inclui aqueles em ambientes de nuvem pública.
HIDS busca por atividades incomuns ou nefastas examinando logs criados pelo sistema operacional, procurando por alterações feitas em arquivos-chave do sistema, rastreando software instalado e, às vezes, examinando as conexões de rede que um host faz.
Os primeiros sistemas HIDS eram básicos, geralmente apenas criando hashes MD5 de arquivos em uma base recorrente e procurando por discrepâncias, utilizando um processo dublado de monitoramento de integridade de arquivos (FIM). Desde então, as HIDS tornaram-se muito mais complexas e desempenham uma variedade de funções de segurança úteis e continuarão a crescer. Isso inclui recursos modernos de Endpoint Response (EDR).
Se a sua organização tem um mandato de conformidade, como para PCI DSS, HIPAA ou ISO 27001, então você pode exigir que a HIDS demonstre o monitoramento de integridade de arquivos (FIM), bem como o monitoramento ativo de ameaças.
OSSEC
No reino das ferramentas HIDS de código aberto com todos os recursos, existe o OSSEC e não há muito mais. A grande novidade é que o OSSEC é muito bom no que faz e é bastante extensível.
OSSEC corre em quase todos os principais sistemas operativos e inclui uma arquitectura de gestão e registo baseada em cliente/servidor, o que é muito importante num sistema HIDS. Como o HIDS local pode ser comprometido ao mesmo tempo que o SO é, é muito importante que a segurança e informação forense saia do host e seja armazenada o mais rápido possível para evitar qualquer tipo de adulteração ou ofuscação que impediria a detecção.
A arquitetura cliente/servidor do OSSEC incorpora esta estratégia entregando alertas e logs para um servidor centralizado onde a análise e notificação podem ocorrer mesmo que o sistema host seja levado off-line ou comprometido. Outra vantagem da arquitetura cliente/servidor é a capacidade de gerenciar centralmente os agentes a partir de um único servidor. Como as implementações podem variar de uma a milhares de instalações, a habilidade de fazer mudanças globais a partir de um servidor central é crítica para a sanidade de um administrador.
Quando se discute OSSEC (e outros HIDS), muitas vezes há ansiedade sobre a instalação de um agente ou software em servidores críticos. Deve-se notar que a instalação do OSSEC é extremamente leve (o instalador tem menos de 1MB) e a maioria das análises realmente ocorre no servidor, o que significa que muito pouca CPU é consumida pelo OSSEC no host. OSSEC também tem a capacidade de enviar logs de SO para o servidor para análise e armazenamento, o que é particularmente útil em máquinas Windows que não possuem mecanismos de registro nativos e multi-plataforma.
SEC Resumo:
Samhain Labs
Samhain is probably the only HIDS open-source that gives OSSEC a run for its money. Mas é muito o caso do “mesmo, mas diferente” quando se comparam os dois. Samhain tem a mesma arquitetura cliente/servidor, mas não requer o mesmo que o OSSEC. O próprio agente tem uma variedade de métodos de saída, sendo um deles um repositório central de logs mas inclui outros como Syslog, Email, e RDBMS. Há até uma opção para usar Samhain como uma aplicação independente em um único host.
Uma outra diferença importante é onde a análise ocorre. Ao contrário do OSSEC, o processamento ocorre no próprio cliente, o que tem implicações operacionais. From a practical point of view, care must be taken it doesn’t overload a busy server and interfere with operations. From the security point of view, having the brains on the endpoint invites hackers to deactivate the tool so warnings aren’t issued.
Samhain Summary:
Monitoramento de Integridade de Arquivos (somente FIM)
Muitas ferramentas de monitoramento de integridade de arquivos (FIM) são categorizadas com HIDS já que FIM envolve detecção de ameaças, então vamos falar sobre elas. O FIM é uma ferramenta que valida a integridade do sistema operacional e dos arquivos de aplicativos especificados, comparando as versões atuais com as versões válidas conhecidas, alertando seu administrador sempre que elas forem modificadas. Isto é importante porque as alterações em servidores críticos muitas vezes sinalizam a ocorrência de uma violação. Se você ainda está se perguntando “o que é monitoramento de integridade de arquivos e porque eu preciso dele”, temos um post inteiro no blog explicando porque.
alguns FIM são desenvolvidos ativamente enquanto outros não são atualizados há anos. Open Source Tripwire e AFICK são duas opções de produtos FIM open-source. Para sistemas autônomos baseados em Unix, considere verificar verificadores de integridade de arquivos rootkit, tais como chkrootkit, rkhunter, ou Unhide. O mecanismo único de localização de rootkit faz com que estas soluções valham a pena considerar. Soluções proprietárias também estão disponíveis para Windows.
AlienVault Unified Security Management (USM) Platform fornece recursos FIM embutidos para impulsionar tecnologias de detecção de ameaças e acelerar seus esforços de conformidade de segurança cibernética. Para saber mais sobre como o AlienVault USM usa o FIM para proteger seus ativos, leia aqui.
Final Thoughts
Hopefully este guia ajudou você a entender algumas de suas opções de código aberto. Como mostrado aqui, nunca antes houve tantas escolhas ou um conjunto mais amplo de ferramentas disponíveis. Com um planejamento cuidadoso, e um plano de manutenção contínua, você pode construir uma rede segura com essas ferramentas. Com um planejamento cuidadoso, e um plano para a manutenção contínua, você pode construir uma rede segura com estas ferramentas.