Estgf - Instituto Politécnico do Porto
Transcrição
Estgf - Instituto Politécnico do Porto
Instituto Politécnico do Porto Escola Superior de Tecnologia e Gestão de Felgueiras Licenciatura em Segurança Informática em Redes de Computadores “Gestão de eventos de segurança de informação - SIEM” Projeto realizado por: João Pedro G. Alves - Nº 8000055 Novembro 2015 Projeto realizado sob a orientação de: Professor Doutor António Pinto Página propositadamente deixada em branco. Índice de conteúdo Resumo................................................................................................................................... 1 Agradecimentos...................................................................................................................... 2 Abreviaturas............................................................................................................................ 3 1. Introdução........................................................................................................................... 1 2. Gestão de eventos de segurança de informação................................................................2 Introdução....................................................................................................................... 2 2.1 Como se define um SIEM.........................................................................................3 2.2 SIEMs de código livre................................................................................................5 3. Teste às soluções SIEM......................................................................................................9 Introdução....................................................................................................................... 9 Cenário de testes............................................................................................................ 9 3.1 Solução OSSEC......................................................................................................11 Instalação e descrição do seu funcionamento.....................................................11 Recolha de dados...............................................................................................12 Análise em tempo real e correlação de informação............................................13 Armazenamento e compliance............................................................................15 Reporte............................................................................................................... 16 Conclusão........................................................................................................... 17 3.2 Solução OSSIM.......................................................................................................18 Instalação e descrição do seu funcionamento....................................................18 Recolha de dados...............................................................................................20 Análise em tempo real e correlação de informação............................................20 Armazenamento e compliance............................................................................23 Reporte............................................................................................................... 23 Conclusão........................................................................................................... 23 3.3 Solução Graylog......................................................................................................24 Instalação e descrição do seu funcionamento....................................................24 Análise em tempo real e correlação de informação............................................26 Armazenamento e compliance............................................................................27 Reporte............................................................................................................... 28 Conclusão........................................................................................................... 28 3.4 Solução Prelude-Siem.............................................................................................29 Instalação e descrição do seu funcionamento....................................................29 Análise em tempo real e correlação de informação............................................30 Armazenamento e compliance............................................................................31 Reporte............................................................................................................... 31 Conclusão........................................................................................................... 31 4. Análise comparativa.......................................................................................................... 32 4.1 Análise geral comparativa.............................................................................32 4.2 Análise crítica e conclusões..........................................................................34 4.3Trabalho futuro...............................................................................................35 5. Conclusão......................................................................................................................... 36 Referências bibliográficas.............................................................................................37 Índice de ilustrações Ilustração 1: Funcionamento de um SIEM...............................................................................3 Ilustração 2: Cenário de testes..............................................................................................11 Ilustração 3: Funcionamento do OSSEC...............................................................................12 Ilustração 4: Exemplo do programa para criar agentes com adição de um agente do lado servidor................................................................................................................................. 13 Ilustração 5: Agente OSSEC a ser executado.......................................................................14 Ilustração 6: Exemplo de resumo de eventos gerado em tempo real pelo KIBANA..............15 Ilustração 7: Exemplo de uma alerta de nível 6.....................................................................16 Ilustração 8: Funcionamento standard do OSSIM.................................................................19 Ilustração 9: Processo de correlação de eventos no OSSIM (Fonte: [3])..............................21 Ilustração 10: Exemplo da diretiva de correlação a detetar ataques por força bruta (Fonte[3] ) .............................................................................................................................................. 22 Ilustração 11: Ecrã inicial do Wizard OSSIM.........................................................................23 Ilustração 12: Arquitetura do Graylog[0]................................................................................25 Ilustração 13: Evidência de coneção de coletor Ms Windows ao Server...............................26 Ilustração 14: Dashboard parcial do input.............................................................................28 Ilustração 15: Componentes principais do Graylog[0]...........................................................29 Ilustração 16: Arquitetura simples do Prelude-Siem OSS[0]..................................................30 Índice de tabelas Tabela 1: Comparação de soluções de código livre................................................................9 Tabela 2: Principais recursos alocados por máquina virtual..................................................11 Tabela 3: Comandos de configuração do coletor Graylog para máquinas Windows.............26 Tabela 4: Exemplo de uma regra em Python[5].....................................................................31 Tabela 5: Comparação de funcionalidades presentes em cada SIEM...................................34 Resumo A gestão de eventos e de segurança da informação assume nos dias de hoje um papel fundamental no quotidiano das organizações e de cada um em geral. Os contextos económicos atuais desfavoráveis são um entrave à promoção e adoção de soluções que possam ajudar nesta área. Este projeto tem como principais objetivos investigar e analisar as principais soluções de programas informáticos existentes no mercado em código aberto, para a gestão de eventos e segurança da informação. Os principais procedimentos foram a comparação das várias soluções investigadas, os resultados obtidos e as conclusões retiradas. Este relatório exibe todos os passos efetuados no decorrer deste projeto. I Agradecimentos Gostaria de agradecer a todos os docentes da licenciatura de SIRC em geral pelo seu empenho e trabalho prestado, bem como a todos os que me apoiaram nesta etapa da minha vida académica. Destaco a especial importância ao professor Dr. António Pinto, o docente que me coordenou nesta importante unidade curricular do meu curso e ao professor Dr. João Paulo Magalhães por toda a atenção e disponibilidade. II Abreviaturas OSSEC Open source host based intrusion detection system OSSIM Open source security information Management SEC Simple event correlator SIEM System information and event management TI Tecnologias da informação RAM Random Access Memory MS Microsoft HDD Hard Disk Drive TCP Transmission Control Protocol MIT Massachusetts Institute of Technology CPU Cnetral Processing Unit III 1. Introdução Desde os tempos mais longínquos, até aos dias de hoje, a informação assumiu sempre um elemento valioso no nosso mundo, como tal, também foram desenvolvidos diversos mecanismos para tentar protegê-la, como a cifra de César, o enigma G, entre outros mecanismos de cifras utilizados pelo império Romano e exército Alemão. Com a chegada da Internet e a massificação do seu uso, ficamos cada vez mais ligados e por sua vez a informação muito mais exposta, sendo possível aceder-lhe de qualquer parte do mundo e por qualquer pessoa. Com a preocupação em proteger a informação o que para muitos é o seu bem mais precioso, tais como empresas, organismos governamentais, etc…, passamos a dispor de outros mecanismos para assegurar a sua salvaguarda, tentando manter afastados potenciais invasores. Esses mecanismos vão desde ferramentas e tecnologias compostas por firewall's1 dedicadas, soluções de antivírus, sistemas de deteção de intrusos, proxys2 e outros que as empresas passam a adicionar às suas infraestruturas. O senão é que cada mecanismo de proteção tem a sua interface de gestão, a sua forma de atuar e de apresentar dados e para tal um analista em segurança tem de despender muito tempo e sempre sem ter todas as áreas asseguradas. Neste contexto e para tentar colmatar esta falha, começaram a surgir na última década os sistemas de gestão de eventos de segurança da informação, SIEM – Security Information and Event Management, em que o objetivo é agregar e correlacionar todas as informações de segurança geradas pela infraestrutura de rede de computadores num único ponto central de gestão administrativa, permitindo a um analista ter uma visão geral e otimizada do seu trabalho com o mínimo de falsos-positivos e falsos-negativos. Segundo um relatório publicado pela Gartner[1] em julho deste ano em , é-nos dado a conhecer que o mercado dos SIEMs vale atualmente 1,6 biliões de dólares, em 2014 cresceu 11% e esperase que em 2015 se feche o ano com um crescimento de 12.4%, sendo esta área de particular interesse e estar no foco entre o mercado da TI's. Este relatório está organizado por capítulos. No capítulo 2 é abordado um conjunto de soluções SIEM de código aberto onde se descrevem as suas principais características. No capítulo 3 é evidenciado o estudo e teste às soluções anteriores e no capítulo 4 apresenta-se as conclusões ao trabalho efetuado. 1 2 Firewall é uma solução de segurança baseada em hardware ou software em que a partir de uma série de instruções ou regras, analisa o tráfego de rede para determinar quais as operações de transmissão ou receção podem ser executadas. Proxy pode ser um computador ou programa intermediário capaz de receber requisições de clientes e que por sua vez solicita os recursos pedidos a outros servidores 1 2. Gestão de eventos de segurança de informação Neste capítulo são enumeradas, descritas e comparadas as soluções de acordo com os princípios e características que cada verdadeira solução SIEM deverá ter, para que sejam efetivamente consideradas no estudo que se irá efetuar, sendo o objeto da nossa análise crítica global à melhor solução SIEM Open Source. Introdução Atualmente as organizações de tecnologias de informação (TI) são constantemente confrontadas com um volume crescente de registos oriundos das mais diversificadas fontes, sejam elas computadores, equipamentos de rede, ou de outros sistemas, sendo que por isso os sistemas de gestão de eventos de segurança de informação, ou SIEM, estão a assumir um papel cada vez mais importante no apoio à gestão de tais registos de informação, essenciais para análise e descoberta de incidentes de segurança. Um sistema SIEM efetua a gestão de eventos de segurança de informação, e assume normalmente a forma de um conjunto programas informáticos que recolhem, armazenam, processam e correlacionam registos (logs) ou fontes de informação e eventos de segurança. Estes sistemas recolhem dados de aplicações, de equipamentos de rede, de computadores, bem como recolhem informação proveniente de outros sistemas de informação. A informação é armazenada num ponto central, permitindo a sua analise para deteção de padrões ou ocorrências que não sejam comuns. A generalidade dos SIEM opera com recurso a agentes, pequenos programas ativos nos sistemas a analisar, por forma a fornecer informação relacionada com a segurança destes sistemas. Os SIEM, usando uma base de conhecimento composta por regras pré-estabelecidas, analisa e processa a informação tentando detetar anomalias. Uma vez detetadas, estas anomalias são sinalizadas e posteriormente são despoletados alertas para o operador. A escolha de um SIEM por parte de uma organização não é uma tarefa fácil, agravando-se se se limitar a escolha a produtos de código aberto. O objetivo deste projeto é o de analisar as demais soluções de código aberto existentes na Internet, comparando-as e validando se estas reúnem as características de um verdadeiro sistema de gestão de eventos de segurança de informação. Este trabalho pretende ainda servir de apoio na escolha de uma destas soluções. 2 2.1 Como se define um SIEM Um sistema SIEM trata-se de um conjunto programas informáticos que recolhem, armazenam, processam e correlacionam registos (logs) ou fontes de informação de eventos de segurança. A recolha de informação é feita normalmente em tempo real sobre ficheiros de log de sistemas e aplicações, bem como de equipamentos de rede e outros. A informação é processada com base num conjunto de políticas ou regras bem definidas previamente e tenta-se que todos os dados sejam correlacionados para que se possa obter informações sólidas sobre a segurança da informação e para proporcionar uma resposta rápida a incidentes de segurança. As ferramentas SIEM devem possuir mecanismos de armazenamento da informação correlacionada para que possa ser consultada quando necessário por equipas forenses em busca de pistas em casos concretos de ameaças ou comprometimento da informação. Para que possa ser uma mais valia nas organizações, os analistas de segurança devem poder contar com alertas e relatórios de uma forma reativa e imediata a sinais positivos de risco ou ameaça. Dados/Logs Output Informação recolhida por agentes locais Relatórios Outros alertas externos Fontes externas de dados/logs SIEM Alertas Processa informação Informação Forense Resolução de problemas Dados ou logs Os SIEM's recolhem dados em ficheiros de log de uma diversificada quantidade de dispositivos, aplicações, sistemas operativos, firewall's, routers, switchs,IDS e IPS, servidores proxy, sistemas de controlo de acesso, entre outros que geram dado, pois os dados são a peça fundamental num sistema SIEM. Os mecanismos usados para recolha da informação são geralmente através dos protocolos Simple Network Management Protocol (SNMP), Netflow ou Internet Protocol Flow Information Export (IPFIX) entre outros. Em caso de soluções que não suportam estes protocolos, 3 geralmente recorre-se ao uso de agentes, normalmente uma componente de software capaz de recolher informação relevante e a normnaliza no formato de origem do seu SIEM. Geralmente o uso deste mecanismo implica soluções mais complexas de implementar., Processamento de informação / SIEM De forma a ultrapassar problemas gerados no uso de fontes de informação de várias origens e formatos, processa-se a informação e é feita uma normalização para um formato específico de cada solução em que a ideia essencial no final é todos os dados serem apresentados da mesma forma. De seguida é desencadeado um processo de correlação afim de ligar os diversos eventos de segurança ou alertas, dentro de um determinado intervalo de tempo e em vários sistemas para identificar atividades anómalas que não sejam evidentes numa simples observação. Normalmente para efetuar a correlação, existe um conjunto de regras ou políticas previamente configuradas que indicam quais as áreas ou tipo de evento que interessa correlacionar. A informação depois de normalizada e correlacionada disponibilizada para análise na etapa seguinte e é armazenada geralmente em bases de dados relacionais, dependendo de cada SIEM. Output Após as etapas anteriores, a informação de segurança está pronta para ser analisada ou monitorizada e o mecanismo mais comum a todas as soluções é através da disponibilização de uma interface Web onde o utilizador pode interagir com a informação, efetuando pesquisas específicas, filtrando eventos de maior interesse, etc... .Um sistema assume maior interesse quando nesta fase e mediante as funcionalidades que possua, faça escalar para níveis superiores alertas sobre eventos ou ameaças críticas detetadas. 4 2.2 SIEMs de código livre Open Source SECurity (OSSEC) O OSSEC é uma solução do tipo HIDS - Host-based Intrusion Detection System, sistema de deteção de intrusão. Faz análise de logs, executa verificações de integridade de ficheiros, executa monitorização baseada em políticas, com componentes de deteção Rootkit 3 e alertas em tempo real com respostas ativas. O OSSEC é essencialmente composto por um programa servidor e por um agente. Pode ser executada na maior parte dos sistemas operativos atuais, Linux, MacOS, Solaris, HP-UX, AIX e Windows e é licenciado ao abrigo da GNU - General Public License (version 2). Esta ferramenta pode ser descarregada da Internet a partir do seguinte endereço: http://www.ossec.net/. Open Source Security Information and Event Management (OSSIM) O OSSIM é uma solução que oferece uma plataforma unificada de diversas funcionalidades de segurança essenciais, tais como, pesquisa de vulnerabilidades, deteção de intrusão, monitorização de comportamentos, descoberta de ativos. Possuiu suporte gratuito baseado numa comunidade ativa de colaboradores espalhados por todo o mundo. Tem três modelos de relatórios de alto nível, com acesso a um único utilizador e a gestão de cada componente é feita de forma individual na sua versão gratuita. Esta ferramenta pode ser descarregada da Internet a partir do seguinte endereço: https://www.alienvault.com/products/ossim. Logwatch O Logwatch é um sistema parametrizável de análise de logs. Esta ferramenta analisa os ficheiros de logs e cria relatórios sobre áreas específicas que foram previamente definidas, fazendo-os escalar em modo de alertas para o operador. Consolida e centraliza as diversas fontes de informação e o seu licenciamento é ao abrigo do MIT. Esta ferramenta pode ser descarregada da Internet a partir do seguinte endereço: http://www.logwatch.org. Simple Event Correlator (SEC) O SEC é uma ferramenta de correlação de eventos avançada, para o processamento de eventos recolhidos da monitorização de logs. Faz gestão da informação de segurança, com capacidades para deteção de fraude. Esta solução é leve e tem independência de plataformas, correndo num único processo simples ou vários em simultâneo com missões diferentes. Recorre essencialmente a regras alojadas em ficheiros de configuração. É capaz de utilizar sub-rotinas desenvolvidas em PERL4 e produz essencialmente ficheiros externos para serem analisados por outros programas 3 Conjunto de programas maliciosos com a finalidade de obter acesso a áreas protegidas dos sistemas 4 Linguagem de programação 5 de reporte. Esta ferramenta pode ser descarregada da Internet a partir do seguinte endereço: http://www.simple-evcorr.github.io/. Snare Backlog O Snare Backlog é uma solução que assenta num sistema básico de registo de eventos, préWindows 2008. Não possuí suporte para auditoria, no entanto engloba-se nas soluções Open Source. Possibilita a instalação de um servidor e diversos agentes (snares) ou laços que fazem a recolha de informação. Esta solução foi uma das primeiras a ser desenvolvida e entretanto foi migrada para uma versão Snare Enterprise Agents que é utilizada pelas 500 empresas Fortune e pela maioria das empresas governamentais. Esta ferramenta pode ser descarregada da internet a partir do seguinte endereço: https://www.intersectalliance.com/our-product/ Syslog-ng O Syslog-ng é uma aplicação do tipo do sistema operativo Unix e é uma implementação Open Source do protocolo Syslog para Unix. Utiliza filtragem rica de conteúdos. A sua configuração é flexível dando poderosas funcionalidades ao Syslog. O seu licenciamento assenta na GPL. Esta ferramenta pode ser descarregada da internet a partir do seguinte endereço: https://syslog-ng.org/. Logsurfer O Logsurfer foi desenhado para monitorizar em tempo real num sistema, ficheiros de texto de logs. Utiliza expressões regulares para encontrar padrões que podem ser complementadas com exceções. Processa blocos de mensagens em vez de simples linhas de texto. Implementa múltiplas reações às ações despoletadas nas análises. Foi desenvolvido na linguagem de programação C e recorre livraria de expressões regulares GNU REGEX. Esta ferramenta pode ser descarregada da Internet a partir do seguinte endereço: http://www.crypt.gen.nz/logsurfer/. Loghound O Loghound foi desenhado para encontrar padrões frequentes em conjuntos de ficheiros de logs. Baseia-se no algoritmo breath-first frequent itemst mining. Esta ferramenta pode ser descarregada da internet a partir do seguinte endereço: http://ristov.github.io/loghound/ Log2timeline O Log2timeline trata-se de uma framework para criação de cronogramas (timelines), com eventos suspeitos ocorridos e recolhidos em ficheiros de logs em sistemas tais como equipamentos de rede, servidores, computadores, com a finalidade de serem analisados por investigadores forenses. Foi desenvolvida em PERL para Linux. Esta ferramenta pode ser descarregada da internet a partir do seguinte endereço: https://code.google.com/p/log2timeline/. 6 Graylog Graylog é uma plataforma completa para gestão de logs, com recolha, indexação, e análise estruturada ou não de informação de proveniente de várias as fontes. Utiliza uma arquitetura multi-tier afim de evitar congestionamentos em processamento e alojamento de dados. Disponibiliza API’s REST5 para proporcionar extensibilidade. Esta ferramenta pode ser descarregada da internet a partir do seguinte endereço: https://www.graylog.org/. Prelude-SIEM O Prelude-SIEM é uma solução com a qual pode-se recolher, normalizar, ordenar e correlacionar eventos de segurança independentemente da marca ou do tipo de fonte de informação utilizada. Funciona sem recurso a agentes e recorre a outras soluções anteriormente descritas para enriquecer o su potencial, tais como OSSEC , SNORT, etc… . O eventos de segurança são normalizados segundo um formato IDMEF – Intrusioin Detection Message Exchange Format, descrita na RFC4765. Esta ferramenta pode ser descarregada da internet a partir do seguinte endereço: https://www.prelude-siem.org/ Logalyze O Logalyze é uma solução centraliza informação das mais variadas fontes de informação, tais como servidores LINUX/UNIX, servidores Windows, dispositivos de rede e processa em tempo real a deteção de eventos e pesquisas alargadas de padrões. Possui um sistema integrado de estatísticas e relatório. Associa aos incidentes um sistema de tickets para uma maior eficácia na gestão dos incidentes. Esta ferramenta pode ser descarregada da Internet a partir do seguinte endereço: http://www.logalyze.com/. Logstash O Logstash trata-se de um pipeline de dados que processa registos de outros dados de eventos, provenientes da diversificadas fontes. Contém 165 plugins e pode ser conectado a outros sistemas idênticos com o mesmo propósito. Centraliza toda a informação recolhida e converte-a num formato global comum para que possa ser utilizado noutros sistema de análise mais familiares a cada utilizador. Esta ferramenta pode ser descarregada da internet a partir do seguinte endereço: https://www.elastic.co/products/logstash. 5 Programas de interligação aplicacionais 7 2.3 Comparação Efetuando uma análise à (Tabela 1), verifica-se que as soluções OSSEC, OSSIM, Graylog, e Prelude-SIEM possuem todas as valências de uma verdadeira solução SIEM, recolhem, correlacionam e analisam em tempo real fontes de informação ou logs, processam o seu armazenamento para reanalise futura ou análise forense e permitem execução relatórios. Já as ferramentas Logwatch, SEC e Snare Backlog não processam o armazenamento para análises forenses nem possuem um sistema de relatórios. Características SIEM Solução OSSEC OSSIM Logwatch SEC Snare BackLog syslog-ng Logsurfer LogHound Log2timeline Graylog2 Prelude-SIEM Logalyze Logstash Recolha de dados Logs Análise tempo real Correlação de eventos Armazenamento p/análise forense Reporte x x x x x x x x x x x x - - x x x - - x x x - - x - x x - x x x x - x - x - x x - x x x x x x x x x x x x x x - x x x x - x - x Tabela 1: Comparação de soluções de código livre Baseado na análise anterior selecionaram-se as soluções OSSEC, OSSIM, Graylog, PreludeSIEM e Logalyze para um estudo mais aprofundado no próximo capítulo com a finalidade de se obter a melhor solução a adotar numa possível implementação real. 8 3. Teste às soluções SIEM Introdução Neste capítulo são descritos os testes efetuados às soluções OSSEC, OSSIM, Graylog, e Prelude-SIEM. O foco dos testes é direcionado para as principais características de um sistema SIEM, nomeadamente comprovar a eficácia destes sistemas na recolha de informação de logs, a análise em tempo real, a correlação de eventos, a forma como armazenam os dados para futuras necessidades por parte de equipas forenses e o sistema de reporte. Cenário de testes Para os testes a efetuar à soluções, preparou-se um cenário assente numa máquina física baseada em tecnologia intel x64, com 4GB de memória RAM, e 260 GB de espaço em disco disponível, a executar o sistema operativo MS Windows 7 x64. Nesta máquina instalou-se o software de virtualização Virtual Box ver. 5.08 disponível em <https://www.virtualbox.org/> afim de ser possível recorrer à tecnologia de virtualização para termos um cenário virtual composto por várias máquinas virtuais dispositivos de rede, alvos de recolha de informação para os nossos testes e análise. Adicionou-se uma máquina real MS Windows 7 com 4 GB de memória RAM e processador Core 2 Duo, uma máquina virtual Linux baseada em Ubuntu versão 6.06.1, uma máquina virtual a executar a distribuição KALI, usada por muitos especialistas em segurança informática para efetuar testes de penetração em sistemas, que servirá para simular possíveis ameaças ou ataques por parte de um hipotético hacker6 de forma a comprovarmos a eficácia das soluções a testar e um router7 com acesso à Internet. A seguir descreve-se as principais características em termos de capacidade de processamento e de memória alocados a cada máquina virtual respetivamente para que fosse possível efetuar os testes com o mínimo de performance. Em termos de soluções SIEM utilizamos quatro máquinas virtuais a executarem as soluções a analisar, de acordo com a tabela de recursos seguinte. Apesar da representação gráfica conjunta, casa solução será analisada separadamente, apenas com os ativos destacados em execução simultânea. 6 7 Pessoa mal intencionada que efetua ataques a redes e sistemas com a finalidade de causar estragos Router é um equipamento que reencaminha pacotes de dados entre várias redes 9 Solução Memória CPU 1024 MB 1 core Xeon 2,33 GHz 2048 MB 2 core Xeon 2,33 GHz 1024 MB 1 core Xeon 2,33 GHz 1024 MB 1 core Xeon 2,33 GHz Tabela 2: Principais recursos alocados por máquina virtual 10 3.1 Solução OSSEC Instalação e descrição do seu funcionamento Efetuou-se download da versão 2.8.1, assente no sistema operativo Centos 6.6 de 64 bits. A instalação foi feita de acordo com o manual de instalação em anexo (Anexo1 – Manual de instalação OSSEC) a este relatório e é parte integrante deste projeto. Esta solução funciona com uma componente servidora e e uma ou mais componentes “agentes”. É preparado um servidor “OSSEC” a executar software específico para escuta e monitorização de informação numa porta TCP 1514. São criados agentes num componente de software manage_agents e gerada uma chave para cada um deles que será utilizada para efetuar comunicação encriptada entre os agentes e o servidor. Do lado de cada máquina/equipamento ou ponto de análise, instala-se um agente e importa-se a respetiva chave previamente gerada. Após estes procedimentos, os agentes iniciam o trabalho de recolha de informação e enviam-na para o servidor onde é centralizada, armazenada e analisada e reportada. 11 Recolha de dados A recolha de dados nesta solução pode ser feita de duas formas, uma delas é por via da instalação de agentes que são pequenos programas que se instalam nos sistemas que queremos monitorizar, são programas que consomem poucos recursos de memória e de utilização de CPU e por isso não afetam muito a performance dos sistemas onde se instalam. São executados numa área que é criada durante a instalação, com poucos privilégios, dentro de uma “jaula” de root isolada do sistema. Estes agentes recolhem em tempo real a informação e reencaminham-na para o manager para efetuar a sua correlação e análise. As configurações destes agentes, são efetuadas do lado do manager e enviadas a cada agente. Caso estas configurações sejam mexidas do lado do “agente”, o manager é alertado. Outra das formas desta ferramenta recolher informações, é sem recurso a instalação de agentes, para sistemas onde não seja possível instalá-los, como o caso de firewalls, routers, e outros, em que nestes a ferramenta efetua a sua monitorização e verificação de integridade. Estes mecanismos são um pouco trabalhosos de implementar pois exigem algum trabalho por parte do operador que previamente tem criar os diversos agentes, criar chaves para cada um 12 deles e posteriormente repetir o procedimento do lado das máquinas a analisar, instalando os agentes previamente criados e efetuando a importação das chaves. Após se ter criado os agentes conforme ilustração anterior, precedeu-se à sua instalação do lado dos clientes ou máquinas que irão servir de agentes de recolha de informação que por usa vez a enviarão para o servidor OSSEC para correlação e análise. Estas tarefas ocorrem em tempo real e devido ao tamanho reduzido de 1,09 MB por cada agente nas versões Windows e consumo de memória de 2068 KB a performance do sistema em que opera não é afetada. Os agentes podem ser instalados com duas opções adicionais, uma de monitorização de logs do IIS (Internet Information Server) e outra de verificação de integridade de ficheiros, no entanto ambas são recomendadas durante a instalação. Nesta ilustração podemos verificar um agente a ser executado do lado da máquina cliente alvo de recolha de dados. Nele foi configurado o endereço IP do servidor OSSEC bem como adicionada a chave previamente criada no servidor que serve de mecanismo de autenticação entre ambos. Análise em tempo real e correlação de informação Para análise, esta plataforma disponibiliza componentes baseados em páginas de web, onde é centralizada toda a gestão e ações de monitorização. Do lado do servidor, iniciou-se o navegador 13 Mozilla Firefox com o endereço <http://localhost/ossec-wui/index.php> e acedemos à consola central de interface com o utilizador. A partir daqui, podemos navegar para as páginas das diversas componentes que nos permitem analisar a informação recolhida. Executando o link para OSSEC Events, acedemos a uma página gerada pelo KIBANA8 fornecendo-nos um excelente quadro resumo de todos os eventos analisados na informação que vai sendo recolhida e processada. Nesta solução salienta-se o facto de que as regras que vêm pré-configuradas serem bastante satisfatórias fornecendo informação sobre o nível de alerta, o timestamp9 do evento, descrição e detalhes, localização onde ocorreu o evento, origem, tipo e índice do evento no ficheiro de log. Basicamente temos num único painel toda a informação centralizada e correlacionada proveniente de vários agentes, para podermos analisar com o grau de personalização que quisermos configurar baseado nas regras pré-estabelecidas. Este sistema classifica os eventos com um nível de alerta entre 1 e 15, em que o grau de importância do evento é mais importante quando o seu nível de alerta também o é (ex. Nível de alerta 15 poderá corresponder a um ataque). Efetuou-se uma série de testes de penetração com a máquina virtual KALI afim de atestar a eficácia deste sistema. Entre tentativas de login por 8 9 Interface muito personalizável com painéis de gráficos e histogramas para análises em tempo de real sobre dados em logs. Sequencia de caracteres ou informação codificada que identifica quando determinado evento ocorre. 14 ataques por força bruta e varrimentos aos portos de rede abertos, verifica-se que são gerados com sucesso diversos eventos de segurança que a título de exemplo ilustramos a seguir. Na ilustração acima, que é um excerto da lista de eventos da interface web central, evidenciandose um alerta de nível 6 para um evento de segurança encontrado pois existiu um varrimento aos portos TCP por parte da máquina 192.168.1.36 com tentativa de conexão por via de SSH - Shell segura. Armazenamento e compliance O OSSEC utiliza o manager que é a componente central de toda a solução para guardar a base de dados de integridade de ficheiros, os logs, os eventos e as entradas de auditoria do sistema. Todas as regras, descodificadores e as principais configurações também são armazenadas no maneger, fazendo com que a administração tanto de sistemas com poucos agentes ou em sistemas com muitos agentes seja fácil de efetuar. A localização de todos os logs é feita por defeito em subdiretoórios em </var/ossec/logs>. As mensagens de log do próprio OSSEC são armazenadas no ficheiro </var/ossec/logs/ossec.log>. Todas as mensagens provenientes dos agentes por defeito não são armazenadas, depois de analisadas são eliminadas, a não ser que seja ativado o parametro <loggall> no ficheiro de configuração do manager em <ossec.conf> e neste caso essas mensagens serão armazenadas em </var/ossec/logs/archives/archives.log>, com rotação diária. No que respeita a compliance e de forma a que possíveis equipas forenses em cenários reais tenham o seu trabalho facilitado, o OSSEC garante a integridade da sua informação através de mecanismos FIM – File Integrity Checking. De base o OSSEC já efetua a verificação de integridade aos seguintes ficheiros: 15 • /var/log/messages • /var/log/auth.log • /var/log/syslog • /var/log/mail.info • /var/log/dpkg.log • /var/log/apache2/error.log • /var/log/apache2/access.log Estes mecanismos segundo o livro OSSEC [2] detetam alterações na integridade do sistema, recorrendo a alterações nos ficheiros de hash10 MD5/SHA1 e no Windows Registry. 11 Reporte No que respeita a relatórios e reporte, esta plataforma possui uma componente OSSEC-reportd que no fundo é uma aplicação que corre numa shell de sistema, para gerar relatórios a partir da base de dados de eventos do OSSEC. Funciona aceitando alertas no stdin12 e efetua o seu output sob a forma de relatório em stderr13. Um exemplo da utilização desta aplicação é o caso a seguir, em que é solicitado um relatório de todos os alertas com um nível = 6 ou superior: # cat /var/ossec/logs/alerts/alerts.log | /var/ossec/bin/ossec-reportd -f level 6 Outra das possibilidades é a utilização do Dashboard em que num ambiente web é-nos dado a conhecer uma série de alertas escalados por níveis (1-15). Em tempo real e em modo gráfico são gerados os principais relatórios com a explicação do níveis de alerta, o top 10 de alertas, alertas assinados por operador, e alertas não assinados. Pode-se ainda personalizar estes relatórios com uma pesquisa avançada por eventos ocorridos em determinado sistema, num determinado período, de uma determinada origem (endereço IP) e com determinado nível de alerta. 10 11 12 13 Algoritmo que mapeia dados de comprimento variável para dados de comprimento fixo Base de dados hierárquica que guarda definições de baixo nível do sistema operativo MS Windows Canal de entrada de dados entre um programa e o ambiente, normalmente um terminal de texto Canal de saida de dados relativos a erros normalmente direcionado para um terminal de texto afim de garantir a sua observação 16 Conclusão Esta solução mostrou ser simples na sua instalação e a sua operação. Acaba por ser uma boa solução para a correlação de logs, deteção de rootkits, verificação de integridade e ficheiros e na monitorização em tempo real. Destaca-se a análise de logs e verificação de integridade de ficheiros, pois é fácil a compreensão dos dados apresentados durante a monitorização devido à utilização de Dashboards gráficos e dinâmicos em ambiente web. Foi possível verificar a sua eficácia na geração de eventos de segurança derivados no testes de penetração efetuados, nomeadamente varrimentos ou scans aos portos TCP de uma das máquinas, e diversas tentativas de login falhados de ataques por força bruta. 17 3.2 Solução OSSIM Instalação e descrição do seu funcionamento Efetuou-se download da appliance14 versão 4.15 disponível em <http://downloads.alienvault.com/c/download?version=current_ossim_iso>. A instalação foi feita de acordo com o manual de instalação em anexo (Anexo2– Manual de instalação OSSIM). Esta appliance combina um vasto leque de outras ferramentas de código livre, tais como a ferramenta OSSEC anteriormente analisada, o SNORT que é um programa para deteção de intrusão para rede e análise de tráfego, o NAGIOS, poderoso sistema de gestão e monitorização de ativos numa rede ou infraestrutura, entre outros. Esta plataforma assenta numa arquitetura de três camadas ou three-tier, pois possui três componentes fulcrais, a componente Sensor, a componente Server e a Logger. Podem ser implementadas individualmente em cada máquina ou todas integradas. Estes componentes, fornecem análise em tempo real de ameaças, correlação de eventos e tecnologia inteligente para tentar antecipar cada ameaça. 14 Dispositivo baseado em hardware e software integrado, pronto a utilizar. 18 Sensor – nesta solução os sensores são os módulos da linha da frente, e são responsáveis por efetuar a descoberta automática dos ativos críticos existentes numa rede. Efetuam procuras ativas e passivas e criam um inventário de ativos implementados. Outra das suas funções é descoberta de vulnerabilidades existentes nos ativos previamente indetificados. Para além destas funcionalidades, os sensores também efetuam deteção de intrusos através da identificação de dispositivos ativos e as ameaças ativas que estes possuam, bem como a monitorização comportamental. Logger – este módulo é responsável por efetuar o arquivo seguro dos principais dados e eventos para análises forenses futuras e para fins legais, registando a informação fornecida pela componente anterior, os sensores. Permite efetuar a configuração e gestão dos das principais áreas, descoberta de ativos, descoberta de vulnerabilidades, deteção de intrusos, monitorização comportamental. Como técnicas, assina digitalmente a informação guardada para asseguar a sua admissibilidade em casos legais, efetua a compressão dos dados afim de reduzir necessidade de espaço de armazenamento. Server – esta componente tem como propósito efetuar toda a automação da ferramenta no seu todo. É aqui que se efetuam as configurações necessários, correlaciona a informação e identifica as ameaças, gerando um relatório ou guião com as sugestões do que fazer para remediar as falhas ou ameaças encontradas. Utiliza bases de dados SQL – Structured Query Language ou bases de dados estruturadas permitindo assim armazenar informação normalizada e disponibilizar uma capacidade de análise e exploração de dados mais abrangente e atual. O interface com o analista ou operador é efetuado em ambiente Web e nele são disponibilizados os acessos aos parâmetros de configuração e a toda a informação sobre os eventos gerados. As principais tarefas que se podem realizar com este interface são: Gestão de utilizadores; Alteração de configuração; Gestão de vulnerabilidades; Visualização de informação em tempo real; Criação de relatórios; Sistema de tickets; Gestão de tráfego de rede Respostas 19 Recolha de dados O OSSIM é uma solução orientada à monitorização de rede. Uma das formas de recolha de dados de segurança é a através da utilização do snort para efetuar pesquisas ou sniffing ao tráfego de rede analisando-o de seguida e efetuando comparações com uma base de dados de assinaturas. Toda a informação analisada pelo snort origina eventos no OSSIM e são catalogados como tráfego suspeito, mesmo não sendo perigoso. Posteriormente é necessário efetuar monitorização adicional para que se decida que eventos se guardam e quais os que se eliminam. Outra das formas é utilizar um coletor de logs chamado de logs collector. Em máquinas Unix ou Linux é utilizado o syslog15 . Curiosamente para máquinas Windows, esta solução recorre a outras plataformas como o Snare ou mesmo o OSSEC, descritos anteriormente. A recolha de dados incide essencialmente sobre a lista de ativos previamente criada. Análise em tempo real e correlação de informação De acordo com o guia de referencia da Alien Vault[3] a correlação de informação é associada a múltiplos eventos com do mesmo tipo de evento ou não dentro da mesma origem de dados. Os sensores enviam os eventos normalizados para o motor de correlação do OSSIM onde este por sua vez lhes aplica política e regras de avaliação de risco e de seguida os correlaciona, gerando novos eventos com níveis de prioridade mais elevados. O motor trata estes eventos já classificados como novos eventos e reinjeta-os no processo Server onde este detetando níveis de risco elevado gera alarmes. 15 Mecanismo standard para efetuar registos de sistema 20 O nível de risco de cada ativo é calculado da seguinte forma: [VALOR ATIVO(0-5 * PRIORIDADE(0-5) * FIABILIDADE(0-10)] / 25 = RISCO DO EVENTO (0-10) Cada ativo no OSSIM tem um valor entre 0 e 5, em que quanto maio for o número, mais valioso é esse ativo. A prioridade mede a importância do evento, a fiabilidade é a probabilidade de existir um ataque e valores obtidos entre 9 e 10, níveis altos, indicam que o ataque é real. Os alarmes são despoletados quando o valor obtido é 1 ou superior. A decisão de conectar os eventos é gerida por diretivas de correlação, que são uma ou mais regras de correlação definidas em árvores lógicas. A ilustração a seguir mostra um exemplo do funcionamento de uma diretiva de correlação. Neste caso esta diretiva é utilizada para detetar eventos de autenticação por força bruta, ligando dois tipos de eventos, os de login16 bem sucedidos e os falhados. Neste exemplo baseado no número de ocorrências individuais o motor de correlação consegue perceber se um administrador se engana a digitar o seu código de acesso(um evento de login falhado seguido de um bem sucedido) ou no caso de um ataque por força bruta de alta fiabilidade em que ocorrem 100000 logins falhados, seguido de um bem sucedido. Estes eventos devem ter a proveniência no mesmo IP e serem destinados também a um único endereço IP de destino para que a diretiva seja criada. O motor de correlação também pode usar tabelas de reputação sobre os endereços de origem e destino afim de gerar eventos de segurança. Após termos efetuado a instalação e configuração, seguimos para a primeira fase de operação do 16 Processo de controlo de entrada num sistema através de credencias de acesso 21 sistema, acedendo via interface Web ao endereço <https://192.168.1.28> onde se iniciou a adição de ativos. Neste caso utilizou-se uma ferramenta automática ou wizard que facilitou muito as tarefas inicias para configuração e colocação em funcionamento da solução. Este wizard começou por identificar a rede a gerir de seguida a descoberta de ativos, e por fim a recolha de informação, que se inicia depois de efetuarmos a instalação do HIDS, que no caso das máquinas Windows é efetuado por via de instalação de um agente, e nas máquinas Linux através da configuração de do HIDS remoto para obtermos as funcionalidades de monitorização de ficheiros, deteção de rootkit's e recolha de logs. Ilustração 11: Ecrã inicial do Wizard OSSIM Para apoio à monitorização, o OSSIM disponibiliza um interface Web baseado em Apache17 e MySql. Neste ambiente temos acesso a gráficos e tabelas com informação gerada em tempo real, e é disponibilizado links para ferramentas de calendarização de pesquisas de vulnerabilidades através do OpenVas, ferramenta de código livre para pesquisa de vulnerabilidades em ativos. É possível efetuarmos ações sobre os eventos tais como envio de emails ou execução de programas. 17 Servidor de páginas Web denominado HTTP Server 22 Armazenamento e compliance No que respeita ao armazenamento, o OSSIM armazena as suas regras num ficheiro em /etc/ossim/server/directives.xml, que podem ser personalizadas pelo operador. A informação de eventos é armazenada em base de dados SQL. Em termos de compliance, esta solução disponibiliza relatórios de alto nível. Quanto à segurança da sua informação para fins forenses, esta solução não efetua qualquer tipo de auditoria com admissibilidade em tribunal de acordo com informação recolhida na publicação[4] da Alien Vault sobre as características do OSSIM em comparação com a sua versão paga. Reporte Em termos de reporte e relatórios o OSSIM fornece até 25 relatórios pré-instalados e a possibilidade de criar novos relatórios baseados em Jasper Report, uma ferramenta de código livre em JAVA18 para execução de relatórios com possibilidade de exportação de informação para diferentes alvos, para o ecrã, impressora, ficheiros PDF, HTML, XLS, ODT, etc... Conclusão O OSSIM mostrou ser uma plataforma completa no que respeita a appliances SIEM com vocação pura para analise de tráfego em redes pois combina um vasto leque de outras aplicações também de código livre tais como o OSSEC, o SNORT, NAGIOS, OPENVAS, entre outros, com esse propósito o que lhe confere potencialidades diferenciadoras quando analisadas outras soluções. Esta appliance foi bastante simples de instalar e com os seus assistentes quer de configuração inicial quer de operação tornam-na numa boa solução a ter em conta por empresas que queiram uma solução de implementação rápida com foco em análise de informação de segurança de rede, no entanto salienta-se que a sua performance deixa um pouco aquém as expectativas iniciais, pois revelou-se uma plataforma lenta a executar os seus componentes comparativamente com a solução OSSEC. 18 Linguagem de programação interpretada e orientada a objetos 23 3.3 Solução Graylog Instalação e descrição do seu funcionamento Os testes a esta solução foram efetuados na virtual appliance Graylog OVA appliance versão 1.2.2 pronta a utilizar disponível para descarga em <https://github.com/Graylog2/graylog2- images/tree/master/ova>. Procedeu-se à sua instalação de acordo com o manual de instalação, (Anexo3 - Manual de instalação Graylog). O seu funcionamento de acordo com a ilustração seguinte assenta numa componente servidora (Graylog Server) capaz de efetuar o processamento da informação recebida, a sua categorização, a gestão e controlo de acessos, o armazenamento e os alertas. A receção de informação é feita através de um coletor de dados (Graylog Collector) que se foca na recolha de dados de dispositivos, sistemas operativos e aplicações. Utiliza a ferramenta Elasticsearch para efetuar pesquisas e apresentação de informação sobre os dados processados mesmo em tempo real e assegura o armazenamento da informação de segurança em bases de dados baseadas em MongoDB, bases de dados multiplataforma orientada ao documento, normalmente catalogada como sendo NoSQL, ou base de dados não de consultas estruturadas. A informação tratada pelo Graylog Server é gerida através de um interface Web (Graylog Web Interface) e funciona por API's REST que também servem para exportar a informação para outros SIEM's ou utilitários. 24 Nesta fase efetuamos a instalação de um coletor na máquina MS Windows e procedemos à sua configuração, que basicamente se traduz na alteração de um ficheiro colletor.conf onde indicamos o endereço HTTP do servidor Graylog2. Após iniciamos a execução do coletor afim de começar a enviar informação de log da máquina MS Windows para o Servidor. A seguir ilustra-se o ficheiro de configuração do coletor e o seu estado do lado do servidor. server-url = "http://192.168.1.26:12900/" inputs { win-eventlog-application { type = "windows-eventlog" source-name = "Application" poll-interval = "1s" } win-eventlog-system { type = "windows-eventlog" source-name = "System" poll-interval = "1s" } win-eventlog-security { type = "windows-eventlog" source-name = "Security" poll-interval = "1s" } } outputs { gelf-tcp { type = "gelf" host = "192.168.1.26" port = 12201 } } Tabela 3: Comandos de configuração do coletor Graylog para máquinas Windows 25 Análise em tempo real e correlação de informação Neste área, o Graylog recorre a uma ferramenta intitulada Docker – ferramenta de código livre para automatizar aplicações dentro de “contentores” isolados dos sistema operativo, adicionando uma camada adicional de abstração. A ideia é não sobrecarregar o sistema e isolar em simultâneo a execução de diversas aplicações. Uma vez iniciada a execução de aplicações individuais em diversos “contentores”, para entrada de dados, o Graylog utiliza um mecanismo proprietário GELF – Graylog Extended Log Format para normalizar a informação processada nesses “contentores” e fá-la sair para o STOUT ou STDERR do sistema Graylog Server já formatada, com a adição de campos importantes sobre cada “contentor” com a finalidade de facilitar tarefas de resolução de problemas que são os seguintes: • Hostname – nome da máquina “Docker” • Container ID – identificação do contentor • Container Name – descrição inteligível do contentor • Image ID – identificação da imagem usada para criação do contentor • Image Name – descrição inteligível da imagem • Command – comandos executados no contentor • Tag – referencia rápida para identificação simples do contentor • Creation time – data e hora de criação • Log level – campo que indica para onde seguiu a mensagem (STDOUT or STDERR) (Fonte:<https://www.graylog.org/centralize-your-docker-container-logging-with-graylog-native-integration/>) Toda a informação processada é convertida em Streams que é o mecanismo usado para catalogar os eventos em tempo real enquanto são processadas. Estas Streams podem ser convertidas em erros com atribuição de níveis que servirão para futuramente configurar alertas. Exemplos: campo nível > que 4 campo origem deve validar a expressão regular ^database-host-\d+ Na ilustração seguinte evidencia-se um dos painéis de informação ou dashboards onde nos é mostrado em tempo real um histograma de eventos, uma grelha de mensagens recebidas e várias zonas de seleção pesquisa e filtragem. A informação está a ser alimentada por um input previamente criado do tipo GELF – Graylog Extended Log Format por via TCP e atua nas mensagens enviadas pelo coletor. 26 Ilustração 14: Dashboard parcial do input É de referir a facilidade com que se operam estes dashboards, são intuitivos e têm diversos pontos de ordenação e disponibiliza os campos necessários para efetuarmos ordenações personalizadas. Armazenamento e compliance O Graylog no que respeita ao armazenamento, utiliza dois componentes principais, Elasticserach nodes que são responsáveis por armazenar a informação de logs/mensagens que a sua performance depende do CPU e da RAM do sistema, e o MongoDB responsável armazenar meta-dados – informação sobre os dados armazenados, e não é muito exigente termos de recursos do sistema. 27 os em por em Em termos de regras e normas de compliance, esta solução não fornece sistemas de auditoria ou outros mecanismos de segurança da sua própria informação, invalidando assim o seu uso em situações de litígio e questões legais. De acordo com informação recolhida no seu website em <http://docs.graylog.org/en/1.2/pages/faq.html> verifica-se que é uma funcionalidade que poderá estar em desenvolvimento e poderá ser disponibilizado em versões futuras. Reporte A geração de relatórios e envio de informação de alertas automatizada é outra das áreas que esta solução não possui. Baseado em informação recolhida no link anterior devido a esta solução ter muito presente a característica de API's REST para integração com aplicações externas, os programadores do Graylog deixam um pouco ao gosto de cada um o desenvolvimento das suas aplicações ou integrações por esta via para colmatar esta falha. Conclusão Esta solução mostrou-se bastante ágil no que respeita à velocidade de operação da interface Web na pesquisa de informação e ambiente de configuração. Não possuindo alguns componentes como suporte a compliance e os alertas automatizados, mesmo assim graças à sua possibilidade de interação via API's REST poderá ser a base de um ou mais complementos externos, desenvolvidos à medida ou não para resolver falta deles. 28 3.4 Solução Prelude-Siem Instalação e descrição do seu funcionamento Procedeu-se à instalação dos componentes desta solução de acordo com o instruções em anexo (Anexo4– Manual de instalação Prelude-Siem) assente numa distribuição Linux Centos 6.5. Esta solução é uma variante de código livre à sua solução idêntica mas paga (Prelude Pro) destinado a organizações de grande dimensão. A versão que vamos analisar é composta por vários módulos: • Libprelude: livraria de comunicação entre módulos • Libpreludedb: livraria de acesso e gestão da base de dados • Prelude Manager: módulo de receção de eventos e armazenamento, limitado nesta versão a um utilizador ou gestor • Prelude Correlator: módulo de correlação de eventos • Prelude LML: gestor de ficheiros de log • Prewikka: interface para gestão de eventos De acordo com informação no sítio Internet desta solução em <http://www.preludesiem.com/index.php/uk/products/prelude-oss>, esta versão de código livre destina-se a pequenas organizações e a instituições de investigação e desenvolvimento, pelo que alertam para a fraca performance desta à medida que os ativos a gerir aumentam. A sua arquitetura nesta versão de código livre é composta por sensores que efetuam a deteção de intrusão e geram alertas para um sistema central, o Prelude manager server. Este manager, por sua vez processa estes alertas e entrega-os num repositório específico pré-configurado tal como base de dados MySQL, ficheiros XML, ou qualquer outro formato suportado por extensões nesse sequencia os dados ficam pronto para serem visualizados pelo Prelude console. 29 Análise em tempo real e correlação de informação A análise da informação é assegurada pelo módulo Prelude-LML, que se trata de um analisador de logs e faz a coleção da informação e a transforma em alertas do tipo Prelude-IDMEF. Estes alertas. Este módulo assume particular importância nesta solução pois fornece interoperabilidade com quase todos os sistemas existentes no mercado. Esta solução é agentless não dependendo portanto de quaisquer marca de equipamento ou aplicação, por isso, nativamente é compatível com as soluções AuditD, Nepenthes, ufwi-filterd, OSSEC, Pam, Samhain, Sancp, Snort, Suricata. Ao nível de logs é de acordo com informação consultada on-line capaz de interpretar a maioria das soluções de log existentes, IDS, Switchs,SMTP/POP, FTP Server, Web Server, Nessus, Honeypots, OpenSSH, Selinux… Ao nível da correlação, é usado o módulo Prelude-Correlator, no fundo um motor de correlação escrito em Python baseado em regras. Consegue ligar-se a um ou vários Prelude-Manager's e efetuar a correlação à medida que vão chegando os alertas. Em caso de sucesso, são-lhes aplicadas as regras IDMEF e ao alertas correlacionados são escalados. from PreludeCorrelator.context import Context from PreludeCorrelator.pluginmanager import Plugin class EventScanPlugin(Plugin): def run(self, idmef): source = idmef.Get("alert.source(*).node.address(*).address") target = idmef.Get("alert.target(*).node.address(*).address") if not source or not target: return for saddr in source: for daddr in target: ctx = Context(("SCAN EVENTSCAN", saddr, daddr), { "expire": 60, "threshold": 30, "alert_on_expire": True }, update = True, idmef=idmef) if ctx.getUpdateCount() == 0: ctx.Set("alert.correlation_alert.name", "A single host has played many events against a single target. This may be a vulnerability scan") ctx.Set("alert.classification.text", "Eventscan") ctx.Set("alert.assessment.impact.severity", "high") Tabela 4: Exemplo de uma regra em Python[5] No que respeita a monitorização em tempo real, esta solução consegue fornecer uma visualização através de um interface Web, o seiu módulo Prewikka. Desta forma garante que se possa efetuar resposta a incidentes num baixo período de tempo. Este interface está programado de base para efetuar a atualização automática da informação apresentada, mostrando os eventos por ordem cronológica. 30 Armazenamento e compliance O armazenamento faz-se centralmente, normalmente numa SAN-Storage Area Network e em bases de dados estruturadas. Atualmente este solução suporta MySQL, PosgreSQL e SQLlite. De forma a garantir segurança na transação da informação, todas as comunicações são encriptadas ao nível do transporte (SSL) e por via de certificados X509 para autenticação. Para garantir regras de compliance é sempre efetuado uma cópia dos dados originais no seu formato original pelo módulo Prelude-LML e como referido a informação é normalizada segundo as normas IDMEF disponíveis em <http://www.ietf.org/rfc/rfc4765.txt>. A sua base de dados central está desenhada para manter o rasto forense da informação. Reporte Em termos de reporte, o Prelude-SIEM apresenta uma série de relatórios de base com possibilidade de personalização. Podem ser exportados para diferentes formatos, email, base de dados, IDMEF XML, ficheiro de texto. Conclusão Ao analisar esta solução, consegue-se verificar a existência de todas as características de uma solução SIEM, no entanto numa escala reduzida, pois o Prelude-SIEM em código livre está muito limitado comparando com a sua versão paga. Não possui suporte X509 para certificados externos, tem limitação de análise de 100 eventos por nó por segundo e ao nível de performance não suporta paralelismo dos seus módulos. Mesmo assim, em cenários de treino e de gestão de eventos de segurança em pequenas organizações, é uma solução a ter em consideração. No capítulo seguinte é feita uma reflexão sobre o trabalhado realizado e uma análise crítica do contributo que cada solução pode dar para colmatar a necessidade que comça agora a ser muito evidenciada nesta área das TI's. Por fim descreve-se o trabalho a realizar num futuro próximo de forma a acrescentar valor a este projeto. 31 4. Análise comparativa Este capítulo reflete uma análise em geral comparativa às soluções SIEM estudadas ao longo deste projeto e uma análise crítica sobre a melhor solução SIEM de código livre a adotar por uma eventual organização. 4.1 Análise geral comparativa Em resultado do estudo efetuado e em análise geral comparativa, verifica-se por parte das organizações cada vez mais atenção dedicada a esta temática. Garantir a segurança da informação promovendo implementação de técnicas e mecanismos de SIEM entra agora na lista de prioridades de cada uma delas. Atentos a este facto, verifica-se que os principais desenvolveres das soluções de código livre estudadas tentam aproveitar esta necessidade, começando a limitar as funcionalidades dos seus produtos de código livre, criando versões equivalentes pagas mais poderosas e mais funcionais. O caso a Alien Vault empresa que desenvolve o OSSIM limitou o uso desta solução promovendo uma outra paga o USM. Assim o OSSIM padece falta de otimização e performance, no entanto continua a ser a solução SIEM orientada à rede mais completa, pois muitos das outras soluções vêm integradas nela. O caso do Prelude-SIEM entra no mesmo âmbito, mantido pelo CS Group, este SIEM é uma ótima solução no que respeita à implementação, pois não recorre à instalação de agentes no entanto foram-lhe removidas capacidades tais como paralelismo entre os seus módulos, limitando o número de eventos analisados por segundo, entre outras, afetando assim a sua performance e promovendo a comercialização do seu concorrente direto pago o Prelude Pro e Enterprise. Por outro lado, a acentuada procura por parte das grandes empresas em criar SOC - Security Operations Center ou centros de operações de segurança podem comprometer o fomento das soluções de código livre, pois derivado da criticidade e o impacto que a segurança da informação dessas empresas uma vez comprometida possa causar empurram-nas para a aquisição de soluções comerciais ou pagas. De acordo com o trabalho, pode-se admitir que no domínio das soluções SIEM de código livre abordadas existe uma característica presente em todas elas, que é a orientação para análise de rede, deixando menos aprofundada a análise aplicacional. Outra das curiosidades é que o OSSIM é a plataforma mais completa no entanto esse facto deve-se a integrar muitas das outras soluções aqui evidenciadas. Em termos de rapidez de resposta o OSSEC assumiu uma posição relevante 32 em relação às outras soluções mas carece de algum trabalho extra a configurar os agentes que recolhem dados noutros sistemas. Esta particularidade no OSSIM é resolvida com a instalação assistida do lado do servidor, facilitando assim o trabalho de implementação. Estas duas soluções são mais indicadas para implementação em organizações com maior elevado número de ativos, e portanto maior número de eventos de segurança para analisar. O Graylog2 não deixa de ser menos importante e o que o melhor o define é a falta de funcionalidades SIEM contudo deixa aqui em aberto um enorme potencial a explorar na integração com outras soluções por via da utilização das API's REST disponibilizadas. O Prelude-SIEM em pequenas organizações é a solução mais indicada, pois reúne todas as valências de um SIEM e é de simples usabilidade ainda que limitadas em performance. Na tabela que se segue resume-se as principais funcionalidades encontradas em cada solução de acordo com os focos de teste efetuados no capítulo anterior. Funcionalidade Solução SIEM OSSEC OSSIM OSS GRAYLOG2 PRELUDE-SIEM Recolha de dados X X X x Análise em tempo real X X X x Correlação de informação X X X x Compliance X X - x Armazenamento X X X x Reporte X X - X ~14.000 ~5.000 ~10.000 ~10.000 Excelente Razoável Boa Excelente EPS (Eventos por segundo) Performance Geral Tabela 5: Comparação de funcionalidades presentes em cada SIEM De acordo com a tabela anterior, verifica-se que o Graylog2 não possui de base suporte em termos de compliance, nem alertas automáticos e relatórios, deixando assim esta solução um 33 pouco atrás em relação às outras. Os ambientes gráficos das soluções estudadas estão mais ou menos enquadrados na mesma categoria, pois todos utilizam interfaces Web na interação com o operador. Por ordem de usabilidade e qualidade destes interfaces o OSSIM assume a primeira posição, seguido do OSSEC e GRAYLOG, em que neste último apesar de não ser o mais agradável é sem dúvida o mais rápido no retorno da informação. Ao nível da documentação de apoio técnico e de instalação no geral todas disponibilizam o suficiente, sendo que a forma de apresentação da informação na solução PRELUDE-SIEM é mais rudimentar. O suporte nas nestas soluções em geral, talvez por serem de código livre, assenta em fóruns ou blogs de discussão online onde a comunidade em geral de utilizadores e membros das equipas de desenvolvimento partilham os problemas e soluções. Salienta-se o facto dos testes efetuados não serem totalmente objetivos uma vez que o seu uso foi limitado a poucos ativos, sendo que testes mais aprofundados em cenários com muitos ativos físicos poderia-nos dar uma visão geral um pouco diferente. 4.2 Análise crítica e conclusões Nesta linha de análise pode-se concluir que a melhor solução SIEM de código livre é difícil de escolher pois os cenários reais com que nos deparamos são muito heterogéneos, com níveis de criatividade diferentes de organização para organização e com disponibilidade de recursos a alocar nesta área também muito variada. A título de exemplo, caso estejamos a tratar um grande número de eventos e ativos a gerir, a solução ideal a adotar seria o OSSIM, por se tratar da solução mais completa pois para além de cobrir todas as áreas importantes de um SIEM, acaba por integrar muitas das outras soluções as quais se destaca o OSSEC, NAGIOS, OSIRIS, SORT, etc... e fornece uma base sólida de arranque nesta área, no entanto se necessitarmos de implementar esta solução, teremos de ser bastante generosos em termos de recursos físicos nomeadamente memória e processador pois esta plataforma assim o exige afim de ser minimamente eficiente. Para casos mais simples e ou redes de ativos menores a solução mais eficiente é o Prelude-SIEM, combinando todas as valências necessárias à recolha e tratamento de informação, não sendo muito exigente em termos de recursos físicos de memória e processador mas tendo limitações de processos concorrentes face aos produtos equivalentes pagos ou com fins comerciais. Podemos concluir que a escolha de um SIEM de código livre, é sem dúvida uma tarefa exigente e nada fácil, deve ser ponderada e selecionada de acordo com a dimensão de cada empresa ou organização. 34 4.3Trabalho futuro Devido ao grau de complexidade que cada solução testada exprime, de futuro, seria uma mais valia a execução de testes aprofundados com ativos reais e comprovar a quantidade de eventos de segurança por segundo (EPS) que cada solução consegue analisar, dando assim um ponto muito relevante na escolha da melhor solução. Será interessante também acompanhar a evolução dos SIEM's e dos de código livre afim de confirmar a convergência das melhores soluções em código livre em soluções comerciais pagas. Outro aspeto a verificar será o posicionamento desta vertente das TI's, será que as organizações implementarão as soluções SIEM de código livre dentro de portas ou tenderão a delegar esta área em prestadores de serviços externos? 35 5. Conclusão É certo que a relevância desta temática está a assumir atualmente um nível elevado. A decisão de utilizar uma ferramenta SIEM ou não e de código livre acarreta uma enorme responsabilidade por parte do responsável pela segurança da informação. Neste contexto e com este relatório pretendeu-se contribuir com disponibilização de mais informação nesta matéria e focada nos aspetos essenciais de que cada solução SIEM de código livre face às funcionalidades efetivas que um SIEM deve ter. Esta, além de outras funções é uma área em que um especialista em segurança deve poder dar o seu contributo, fazendo com que as empresas ou organizações sejam bem sucedidas na implementação de sistemas de proteção da sua informação e na análise dos eventos críticos com ela relacionada. 36 Referências bibliográficas 1: Gartner, Magic Quadrant for Security Information and Event Management, 2015 http://www.gartner.com/technology/reprints.do?id=1-2JM4RVZ&ct=150720&st=sb 2: Andrew Hay, Daniel Cid, Rory Bray, OSSEC Host-Based Intrusion Detection Guide, 2008 3: Alien Vault, Correlation Reference Guide, 2015, https://www.alienvault.com/doc-repo/usm/securityintelligence/AlienVault_Correlation_Reference_Guide.pdf 4: Alien Vault, AlienVault Professional SIEM and AlienVault Open Source SIEM (OSSIM, 2015) https://www.alienvault.com/products/ossim 5: Graylog, Graylog Architecture, 2015, https://www.graylog.org/architecture/ 7: Mitchel Anicas, , 2014, Graylog2 Installation Guide https://www.digitalocean.com/community/tutorials/how-to-install-graylog2-and-centralize-logs-onubuntu-14-04 8: Jean-Philippe Lang, , 2014, PreludeArchitecture, https://www.prelude-siem.org/projects/prelude/wiki/PreludeArchitecture 9: Website da solução OSSEC. Página e subpáginas consultadas em 01-08-2015, http://www.ossec.net/ 10: Centro de documentação da alienvault, “categoria OSSIM”. Página e subpáginas consultadas em 15-09-2015. <https://www.alienvault.com/forums/categories> 11: Páginas e vídeo sobre o passado, presente e futuro de SIEM, por Mike Rothman, presidente da Securosis “categoria SearchSecurity”. Página e vídeo consultados em 26-10-2015. <http://searchsecurity.techtarget.com/video/The-past-present-and-future-of-SIEM-technology> 37