Só o ano passado foram descobertas mais de 25.000 novas vulnerabilidades de software publicadas em vários sites da internet. Por mais impressionantes que estes números possam parecer aos utilizadores comuns não espantam os profissionais que trabalham com a segurança cibernética. Na verdade, nenhuma organização irá ter problemas com todas essas vulnerabilidades, mas se for vítima de apenas algumas será o suficiente para lhe causar danos incalculáveis.
Provavelmente gostaria de saber se a sua organização está vulnerável a alguma dessas vulnerabilidades. Lembramos que em 26% dos ataques começam com uma análise e exploração de vulnerabilidades. Ou seja, os hackers pesquisam constantemente a Internet à procura dos pontos fracos das suas vítimas.
Por isso, se não quer que a sua organização seja mais uma das suas vítimas, deve ser o primeiro a encontrar esses pontos fracos. Por outras palavras, deve adotar uma abordagem proativa para gerir as suas vulnerabilidades, e o primeiro passo que deve tomar e que é crucial para conseguir isso é realizar uma análise de vulnerabilidade.
Criamos este artigo para o ajudar a entender o que é uma análise de vulnerabilidades, porque é importante e como executá-la na sua organização.
O que é uma análise de vulnerabilidades?
Como seres humanos, todos cometemos erros e, como o software é escrito por humanos, inevitavelmente também contém bugs. Apesar de muitos desse bugs serem de natureza inofensiva, alguns acabam por se tornarem vulnerabilidades exploráveis, pondo em risco a usabilidade e a segurança dos nossos sistemas de informação.
Por isso é que se torna tão importante a avaliação de vulnerabilidades dos sistemas informáticos. Basicamente é uma análise que procura por vulnerabilidades num determinado momento, com o objetivo de identificar os pontos fracos dos sistemas antes que os hackers se possam aproveitar deles para o atacar.
É importante perceber que a avaliação de vulnerabilidades é a diferença entre expor as fraquezas informáticas da sua organização e expor a organização a ameaças de segurança por causa dessas mesmas fraquezas.
Análise de vulnerabilidade e testes de penetração (VAPT)
Reconhecemos que por vezes é fácil confundirmos a análise de vulnerabilidades com os testes de penetração. Muitas empresas especialistas em segurança possuem os dois serviços, e a linha que os separa é facilmente confundida.
A melhor maneira para perceber a diferença entre os dois serviços é analisar como são realmente executados. Uma análise de vulnerabilidades é um teste automático, o que significa que é utilizada uma ferramenta que faz todo o trabalho de análise para gerar um relatório final. Os testes de penetração, por outro lado, são processos manuais que dependem do conhecimento e da experiência de um profissional de segurança e da sua capacidade de identificar vulnerabilidades nos sistemas de uma determinada organização.
No Informatico.pt recomendamos aos nossos clientes a combinação de uma análise automática de vulnerabilidades com testes regulares de penetração executados de forma manual para se conseguir uma maior proteção dos seus sistemas. No entanto, nem todas as organizações são iguais e, naturalmente, quando se trata de testes de segurança, as suas necessidades são diferentes. Portanto, se está apenas a começar e não tem a certeza se deve optar por uma análise de vulnerabilidades ou um teste de penetração, criamos este artigo que nos parece útil para poder tomar uma decisão acertada.
Para que serve uma análise de vulnerabilidades?
De facto, há uma grande diferença entre suspeitar que se está vulnerável a um ataque cibernético e ter exatamente a certeza daquilo a que se está vulnerável, porque só assim é que o poderá impedir. O objetivo da análise de vulnerabilidades é testar alguns ou todos os seus sistemas de informação para depois gerar um relatório final detalhado sobre todas as vulnerabilidades. Esse relatório pode ser utilizado para corrigir os problemas descobertos e assim evitar possíveis violações de segurança.
Além disso, um número cada vez maior de organizações dependem da tecnologia para realizar as suas tarefas diariamente. No entanto, as ameaças cibernéticas como os ransomware, podem interromper os seus negócios instantaneamente e causarem-lhe prejuízos elevadíssimos. Como já diz o ditado, prevenir é sempre melhor que remediar e talvez por isso é que tem aumentado a importância da segurança cibernética e a procura de soluções que garantam a nossa resiliência. Por exemplo, aumentou o número de clientes que procuram não só por serviços SaaS de análise e avaliação de vulnerabilidade como também por serviços de testes de segurança para os ajudarem a manter os seus negócios.
Se é daqueles que pensa que tudo lhe acontece ou daqueles que acha que estas coisas só acontecem aos outros o melhor é não arriscar e utilizar uma das ferramentas que descrevemos neste artigo para realizar um teste ao seu sistema antes que seja tarde de mais. Se quiser arriscar recomendamos que utilize por exemplo uma das plataformas de jogos online como a Ivibet aposta que é mais seguro que por em risco o funcionamento da sua organização.
Que ferramentas para análise de vulnerabilidades existem?
As análises de vulnerabilidades são processos automatizados executados por sistemas de pesquisa especializados acessíveis a qualquer utilizador. No entanto, existem muitos desses sistemas de pesquisa que, são mais adequados para especialistas em segurança cibernética. Também existem soluções personalizadas para Gestores e Administradores de Sistemas que trabalham em organizações que não têm equipas de segurança dedicadas.
De facto, existem vários tipos de sistemas de análise de vulnerabilidades. Alguns destacam-se pela sua capacidade de pesquisa de rede, outros por serem bons a analisarem aplicações da web, segurança de API, equipamentos de IoT ou segurança de contentores.
Por isso, se trabalha numa pequena organização, é provável que consiga encontrar uma única ferramenta que consiga analisar todos ou a maioria dos seus sistemas. No entanto, as organizações maiores com redes complexas têm combinar vários sistemas de pesquisa e analise para conseguirem atingir o nível de segurança desejado. Continue a ler este artigo para descobrir como pode analisar as vulnerabilidades da sua organização e assim escolher a melhor ferramenta para o seu negócio.
Como avaliamos as ferramentas de análise de vulnerabilidades?
Para conseguirmos criar este artigo tivemos de pesquisar uma variedade de ferramentas grátis para análise de vulnerabilidades informáticas. Utilizamos conteúdo que encontramos em fóruns da comunidade, sites de ferramentas e outros recursos para conseguirmos obter um feedback real sobre as ferramentas.
Incluímos sobretudo ferramentas de pesquisa e análise de vulnerabilidades, ou seja, deixamos de parte as ferramentas de teste de penetração ou ferramentas de segurança de endpoint, rede, etc. Não incluímos ferramentas com uma única função de análise de vulnerabilidades. Presumimos que os nossos leitores estariam à procura de ferramentas completas para a análise de vulnerabilidades.
Além disso, focámo-nos apenas em ferramentas gratuitas de código aberto que tivessem sido atualizadas recentemente porque só assim teríamos a certeza que acompanha a evolução das vulnerabilidades. Ou seja, muitas das ferramentas mais populares de código aberto, como Arachni, Lynis, Vega e w3af, não forma incluídas neste artigo porque não são atualizadas há vários anos.
Sempre que possível, escolhemos a ferramenta ideal para uma determinada categoria. Muitos programadores criaram ferramentas gratuitas para a análise de vulnerabilidade como o Anchore , Clair , Dagda e Trivy. Apesar de algumas avaliações das ferramentas indicarem resultados efetivos, também faltam alguns recursos e existem algumas dificuldades na sua utilização e integração.
Quem não deve utilizar ferramentas de análise de vulnerabilidades?
As ferramentas gratuitas de código aberto normalmente podem ser descarregadas, modificadas e utilizadas sem qualquer tipo de restrições e limitações. Mas isso não quer dizer que sejam ideais para qualquer tipo de utilizador.
Basicamente porque, os sistemas de análise de código aberto tendem a exigir mais conhecimento técnico, mais tempo e mais esforço dos membros da equipa de TI que utilizam estas ferramentas. Mesmo as organizações com experiência interna normalmente compram ferramentas comerciais de análise ou gestão de vulnerabilidades como serviço (VMaaS) para conseguirem poupar tempo e dinheiro que passam despercebidos sobretudo com os serviços de mão de obra.
Normalmente, as ferramentas de código aberto não têm os mesmos recursos, integrações e recursos das ferramentas comerciais. As ferramentas de código aberto também carecem de suporte técnico formal. Apesar de alguns consultores e empresas com fins lucrativos, como Greenbone for OpenVAS, oferecerem serviços e suporte mediante o pagamento de uma taxa.
No entanto, algumas das ferramentas de código aberto têm comunidades online muito robustas e que estão disponíveis para nos ajudarem com suporte sobre a utilização da ferramenta. A desvantagem é que o tempo de resposta às perguntas pode variar e não há garantia de se conseguirem obter respostas úteis.
Normalmente, as ferramentas de código aberto também dependem de bases de dados de código aberto o que as torna inferiores às ferramentas comerciais não têm funcionários dedicados à atualização constante dessa informação. No entanto, os investigadores também costumam contribuir com vulnerabilidades para essas bases de dados, portanto, existem algumas ferramentas de código aberto que são inferiores apenas às ferramentas comerciais que são atualizadas de forma mais agressiva.
Um problema do código aberto é que a maioria dos projetos depende de blocos de construção de código para o desenvolvimento das ferramentas. De qualquer maneira, os contribuidores policiam regularmente as bibliotecas e trabalham constantemente para conseguirem eliminar as vulnerabilidades no código à medida que elas são descobertas. No entanto, há quem considere que o software comercial pode ser mais agressivo do que as ferramentas gratuitas no que está relacionado com a análise de possíveis vulnerabilidades, mas isso tem de ser avaliado caso a caso.
Ferramentas de teste de penetração podem ser utilizadas para analisar vulnerabilidades?
Muitos blogs com artigos sobre listas de ferramentas de análise de vulnerabilidade de código aberto incluem uma variedade de ferramentas de teste de penetração, como o Wireshark, p Metasploit e o Aircrack-Ng. Apesar de estas ferramentas de teste de penetração poderem ser utilizadas para localizar vulnerabilidades, a maioria delas não foi concebida para se integrar com sistemas de Tickets, fornecer qualquer classificação, priorizar a resolução das vulnerabilidades, ou indicar a probabilidade de possível exploração.
De facto, as ferramentas de teste de penetração funcionam muito bem, mas foram concebidas com um objetivo diferente. Os Engenheiros informáticos e os técnicos que utilizam ferramentas de teste de penetração para analisarem as vulnerabilidades de uma infraestrutura fazem-no mais por hábito e conforto do que porque são ferramentas eficientes de análise de vulnerabilidades.
Que tipos de ferramentas de análise de vulnerabilidades existem?
Basicamente, as ferramentas de avaliação de vulnerabilidades verificam os ativos de uma determinada rede à procura falhas que já sejam conhecidas, configurações incorretas e outros problemas de segurança. Estes sistemas geram relatórios muito úteis para as equipas de operações de desenvolvimento de aplicações e segurança de TI (DevOps) que definem as tarefas mais prioritárias através de sistemas de Tickets e fluxos de trabalho para conseguirem corrigir as vulnerabilidades eficazmente.
As ferramentas de análise e teste de vulnerabilidade de código aberto são soluções que ajudam a encontrar vulnerabilidade de forma económica. Muitas equipas de TI implementam não só uma, mas várias ferramentas de código aberto. Ou seja, também implementam ferramentas comerciais de análise de vulnerabilidades, como backup das soluções gratuitas. Neste artigo mostramos as melhores ferramentas de análise de vulnerabilidade de código aberto.
Ferramentas de análise vulnerabilidades em websites:
- OSV-Scanner – Melhor analisador de código-fonte aberto
- Sqlmap – Melhor para pesquisar base de dados
- Wapiti – Melhor para testes de SQLi
- ZAP (OWASP Zed Attack Proxy) – Melhor para testes XSS
Ferramentas de análise de vulnerabilidades em infraestruturas:
- CloudSploit – Melhor para analisar recursos na Nuvem
- Firmwalker – Melhor para analisar sistemas IoT
- Nikto2 – Melhor para analisar servidores Web
- OpenSCAP – Melhor para verificação de conformidade
- OpenVAS – Melhor para endpoint e digitalização em rede
- Nmap – Melhor para rede e análise de Portas
Depois de uma descrição sobre as ferramentas, mostremos a seguir como funciona o processo de análise de vulnerabilidades recorrendo a ferramentas de código aberto.
Como executar uma avaliação de vulnerabilidades
Quando escolher as ferramentas certas para aquilo que pretende analisar, poderá executar uma avaliação de vulnerabilidades executando as seguintes tarefas:
1 – Identificar ativos
Primeiro, precisa de decidir o que realmente precisa de analisar, o que nem sempre é tão simples quanto parece. Um dos desafios mais comuns de segurança cibernética enfrentados pelas organizações é a falta de visibilidade da sua infraestrutura digital e dos seus equipamentos ou ativos. para lhe tentarmos facilitar a vida listamos a seguir alguns desses ativos que podem selecionar para a sua análise de vulnerabilidades:
- Equipamentos móveis: Smartphones, computadores portáteis e equipamentos similares são concebidos para se ligarem e desligarem frequentemente da rede da organização, bem como das casas dos funcionários e de outros locais remotos.
- Equipamentos de IoT: Os equipamentos de IoT fazem parte da infraestrutura da organização, mas podem ser ligados sobretudo a redes móveis.
- Infraestrutura baseada na nuvem: Os provedores de serviços na nuvem facilitam a criação de novos servidores, conforme necessário, sem o envolvimento das equipas de TI.
Na verdade, todos gostaríamos de trabalhar numa organização perfeitamente organizada, mas a realidade normalmente é mais confusa. Simplesmente é difícil acompanhar o que diferentes equipas colocam online ou alteram constantemente. Essa falta de visibilidade é problemática porque é difícil garantir a segurança do que não conseguimos controlar. Felizmente, as tarefas de descoberta desse processo podem ser amplamente automatizadas. Por exemplo, algumas ferramentas modernas de avaliação de vulnerabilidades podem realizar pesquisas em sistemas voltados para o público e ligarem-se diretamente a provedores da nuvem para conseguirem identificar a infraestrutura.
2 – Priorizar tarefas
Depois de saber o que tem, a próxima pergunta é se pode executar ou não uma análise de vulnerabilidades a esses ativos e infraestruturas. Num mundo perfeito, executaríamos uma análise de vulnerabilidades de forma regular a todos os nossos sistemas. No entanto, os fornecedores das ferramentas comerciais costumam cobrar por cada ativo, portanto temos de priorizar as tarefas de forma a ajudar a organização sobretudo quando o orçamento é mais apertado.
Mostramos-lhe a seguir alguns critérios que deve ter em conta quando precisar de priorizar a análise de vulnerabilidades:
- Servidores com acesso a partir da Internet
- Aplicações voltados para o cliente
- Bases de dados com informações confidenciais
- Sistemas com acesso à Internet
- Computadores portáteis de funcionários
Por isso, se não consegui pagar uma ferramenta comercial para analisar as vulnerabilidades de todos os ativos da sua organização, tente pelo menos analisar os sistemas pela mesma ordem da lista anterior.
3 – Processo de Análise
Os sistemas de análise de vulnerabilidade são concebidos para conseguirem identificar os pontos fracos conhecidos da segurança dos sistemas para depois fornecerem as orientações necessárias para os profissionais de segurança os conseguirem resolver. Como essas vulnerabilidades são normalmente publicadas, há muitas informações disponíveis sobre o software vulnerável. Os sistemas de análise de vulnerabilidade utilizam essas informações para conseguirem identificar equipamentos e software vulneráveis na infraestrutura de uma organização. O processo começa com a ferramenta enviando sondas para todos os sistemas de forma a conseguir identificar algumas configurações importantes que listamos a seguir:
- Portas abertas
- Serviços em execução
- Versões de software
- Outras configurações
Com base nessas informações, a ferramenta normalmente consegue identificar muitas vulnerabilidades conhecidas no sistema que está a testar. Além disso, a ferramenta envia sondas específicas para identificar vulnerabilidades específicas que só podem ser testadas enviando um pedido de exploração seguro que nos comprova se a falha existe ou não. Esses tipos de sondas podem identificar vulnerabilidades comuns, como “Injeção de comando”, Scripts entre sites (XSS) ou a utilização de nomes de utilizador e senhas padrão num determinado sistema.
Dependendo da infraestrutura que está a analisar e particularmente do seu tamanho, a análise de vulnerabilidades pode demorar alguns minutos ou então varias horas.
4 – Analisar e corrigir resultados
Depois de concluído o processo de análise de vulnerabilidade, a ferramenta irá apresentar-lhe um relatório de avaliação. Depois de ler esse relatório deve desenvolver planos de intervenção para corrigir as vulnerabilidades com base no seguinte:
- Gravidade: Um sistema de análise de vulnerabilidades deve rotular uma potencial vulnerabilidade com base na sua gravidade. Ao planear a correção, concentre-se primeiro nas vulnerabilidades mais graves, mas evite ignorar as restantes para sempre. Não é incomum os hackers procurarem várias vulnerabilidades menos relevantes para conseguirem criar uma falha que depois exploram num ataque. Uma boa ferramenta de análise de vulnerabilidades irá sugerir cronogramas com indicações de quando deve corrigir cada problema que encontrou.
- Exposição: Depois de considerar a priorização acima, nem todas as vulnerabilidades estão em sistemas públicos. É mais provável que os sistemas voltados para a Internet sejam mais explorados por qualquer criminoso que analise a Internet, aumentando a sua prioridade de resolução. Depois disso, deve dar prioridade a qualquer computador portátil de funcionários que tenha software vulnerável instalado. Além disso, qualquer sistema que aloja dados particularmente sensíveis ou possa afetar negativamente os seus negócios, deve ter prioridade em relação aos restantes.
Normalmente, existe sempre um patch ou atualização publicada para poder corrigir uma determinada vulnerabilidade detetada pela ferramenta de análise, ou então terá de fazer uma alteração à configuração do sistema ou outra solução alternativa. Depois de aplicar uma correção, também é uma boa ideia verificar novamente o sistema para garantir que a correção foi aplicada corretamente. Caso contrário, o sistema ainda pode estar vulnerável à exploração da falha detetada anteriormente. Além disso, se o patch acrescentar novos problemas de segurança, como configurações incorretas de segurança (pouco comum), essa analise posterior poderá encontrá-los de forma a também poderem ser corrigidos.
Ao descobrir o número de vulnerabilidades existentes e a complexidade da infraestrutura digital começará a perceber melhor o estado real da sua infraestrutura em termos de segurança cibernética.
5 – Segurança cibernética contínua
Uma análise de vulnerabilidades oferece uma imagem real sobre as falhas atuais de segurança que existem na infraestrutura digital de uma determinada organização. No entanto, as novas implementações, alterações na configuração, vulnerabilidades recém-descobertas e outros fatores podem rapidamente tornar a organização vulnerável outra vez. Por esse motivo, deve tornar a gestão de vulnerabilidades num processo contínuo, e não numa tarefa única.
Como muitas das vulnerabilidades são criadas quando o software é desenvolvido, algumas das empresas que os produzem integram análises automatizadas de vulnerabilidade aos seus pipelines de integração e implementação contínua (IC/CD). Basicamente isso permite-lhes identificar e corrigir as vulnerabilidades antes mesmo do lançamento do software, evitando assim o seu potencial de exploração e a necessidade de terem de desenvolver e enviar patches para corrigirem código vulnerável.
Ferramentas para análise de vulnerabilidades em websites e aplicações
Num mundo cada vez mais ligado, os desenvolvedores criam continuamente sites e aplicações cada vez mais complexos. As ferramentas de análise de sites e aplicações testam o código de várias maneiras possíveis para tentarem encontrar erros de programação e vulnerabilidades antes que os hackers os consigam localizar.
A maioria das ferramentas detetará vulnerabilidades comuns, mas as críticas que aprecem no top 10 da OWASP, como o SQL Injections (SQLi) ou Cross-site Scripting (XSS) podem ser detetadas melhor numa categoria do que noutras. As organizações farão a sua escolha com base na flexibilidade do processo de implementação, velocidade de análise, precisão da identificação de vulnerabilidades e ligações com outras ferramentas, como sistemas de emissão de tickets ou produtos de fluxo de trabalho de programação. No entanto, sem os custos de licenciamento como uma barreira, muitas equipas de segurança poderão implementar várias ferramentas de código aberto ao mesmo tempo.
1 – Scanner OSV
Melhor analisador de código-fonte aberto
Na verdade, existem várias outras ferramentas de análise de composição de software (SCA) anteriores ao lançamento do OSV Scanner que foi em 13 de dezembro de 2022. São ferramentas que verificam efetivamente o software estático em busca de vulnerabilidades no código-fonte. No entanto, o OSV desenvolvido pelo Google extrai a sua informação da base de dados das vulnerabilidades de código aberto OSV.dev e funciona em vários ecossistemas diferentes.
Apesar de ser uma ferramenta relativamente recente, o OSV oferece uma ampla gama de fontes e linguagens de vulnerabilidades que devem ser consideradas. É de facto, uma ferramenta de código aberto muito útil para a análise e verificação de falhas de segurança que deve ser utilizada pelas equipas de DevOps.
Características
- Analisa o software para identificar as dependências e as vulnerabilidades que os afetam
- Guarda informações sobre versões afetadas do sistema JSON que é um formato legível para integração com pacotes de desenvolvedor
- Analisa diretórios, lista de materiais de software (SBOMs), ficheiros de bloqueio, imagens docker baseadas em Debian ou software executado em contentores do Docker.
Prós
- Descobre vulnerabilidades de variadas de fontes: Apine, Android, crates.io, Debian, Go, Linux, Maven, npm, NuGet, OSS-Fuzz, Packagist, PyPl, RubyGems e muito mais.
- Mostra resultados condensados que reduzem o tempo necessário para a resolução.
- Pode ignorar as vulnerabilidades por número de ID.
- Ainda em desenvolvimento ativo pelo Google, novos recursos serão adicionados.
Contras
- Ainda em desenvolvimento ativo
- Faltam recursos completos para a integração do fluxo de trabalho do desenvolvedor
- Não deteta vulnerabilidades C/C++
- Ainda não consegue superar os recursos especializados de ferramentas SCA
- Há ferramentas mais indicadas para determinadas linguagens de programação:
- Bandit : Python
- Brakeman : Ruby on Rails
- VisualCodeGrepper : C, C++, C#, VP, PHP, Java, PL/SQL, Cobol
2 – Sqlmap
Melhor para análise de base de dados
Algumas equipas de DevOp precisam de verificar a segurança de uma determinada base de dados de back-end antes de a ligarem ao seu código. A ferramenta sqlmap permite-nos verificar as vulnerabilidades das bases de dados e fazer alguns testes de penetração a uma ampla variedade de bases de dados sem distrair a equipa de DevOp com recursos e funções desnecessários.
Características
- Reconhece e utiliza automaticamente hashes de passwords
- Desenvolvido em Python pode ser executado em sistemas com interpretadores python
- Pode ser anexado diretamente à base de dados para teste recorrendo a credenciais DBMS, endereço IP, porta e o nome da base de dados
- Suporte completo para mais de 35 sistemas de gestão de base de dados, incluindo MySQL, Oracle, Postgre SQL, Microsoft SQL Server, IBM DB2, Sybase, SAP MaxDB, Microsoft Access, Amazon Redshift, Apache Ignite e muito mais.
- Executa seis tipos de técnicas de SQL Injection baseadas em lógica booleana, tempo, erro, consulta UNION, consultas empilhadas e fora de banda.
Prós
- Pode executar a análise de falhas de passwords
- Pode pesquisar nomes e tabelas de bases de dados específicas
- Suporta a execução de comandos arbitrários e recuperação de saídas padrão
Contras
- Ferramenta de linha de comando sem interface gráfica para o utilizador
- Ferramenta muito especializada
- Requer uma experiência em bases de dados para uma utilização eficaz
3 – Wapiti
Melhor para testes de SQLi
O Wapiti executa análises de caixa negra de sites e aplicações sem ter de examinar o seu código. Em vez disso, o Wapiti utiliza técnicas de fuzzing para injetar cargas úteis em scripts e verificar as vulnerabilidades mais comuns.
Características
- Suporta métodos de ataque que recorrem HTTP GET e POST
- Módulos de teste para injeções de SQL (SQLi), injeções de XPath, Cross Site Scripting (XSS), divulgação de ficheiro, injeção de Entidade Externa Xml (XXE), enumeração de pastas e ficheiros e muito mais.
- Suporta proxies HTTP, HTTPS e SOCKS5
- Autenticação através de Basic, Digest, NTLM ou GET/POST em formulários de login
- As Análises podem ser executadas em domínios, pastas, páginas e URLs.
Prós
- Testa uma grande variedade de potenciais vulnerabilidades
- Testes detetam mais vulnerabilidades SQLi e Blind SQLi do que as outras ferramentas de código aberto, como o ZAP
Contras
- Ferramenta de linha de comando sem interface gráfica para o utilizador
- Requer experiência e conhecimentos técnicos significativos para ser utilizada
4 – ZAP (OWASP Zed Attack Proxy)
Melhor para testes XSS
O Zed Attack Proxy (ZAP) da OWASP, também disponível no Kali Linux, coloca-se entre o navegador do sistema testador e a aplicação da web para intercetar os pedidos e atuar como um “proxy”. Essa técnica permite ao ZAP testar aplicações modificando conteúdos, encaminhando pacotes e outras atividades para simular o comportamento dos utilizadores e dos hackers.
Características
- Disponível para os principais sistemas operativos
- Análises rápidas de sistemas Docker
- Estrutura automática disponível
- Tem disponível uma API abrangente
- Exploração manual e automática
Prós
- Mantido ativamente pelas equipas OWASP
- Muito abrangente
- Possui interface gráfica e de linha de comando
- Curva de aprendizagem muito rápida
- Ótima documentação
- Bom tanto para principiantes como equipas de segurança
- Consegue detetar vulnerabilidades XSS
- Pode realizar ataques difusos
- Utilizado por testadores de penetração
Contras
- Para obter alguns recursos são precisos plugins adicionais
- É necessária alguma experiência para se poder utilizar
- Tem mais falsos positivos do que os produtos comerciais
Ferramentas para análise de vulnerabilidades em infraestruturas
Os profissionais de segurança em TI precisam de sistemas de análise de vulnerabilidade para conseguirem descobrir patches em falta e configurações incorretas nas suas infraestruturas de rede que incluem servidores, firewalls, equipamentos de rede e endpoints. Com a crescente complexidade da nuvem, das máquinas virtuais e dos equipamentos ligados, as ferramentas de análise de vulnerabilidades também se expandiram de forma a acompanharem as suas necessidades.
5 – Cloud SploitName
Melhor analisador de recursos na nuvem
A empresa Aqua abriu o seu código-fonte da ferramenta de análise chamada CloudSploit aos utilizadores para que eles possam descarregar, modificar e aproveitar os seus benefícios. As análises do CloudSploit podem ser executadas a pedido ou configuradas para serem executadas continuamente alimentando os alertas úteis para as equipas de segurança e DevOp.
Características
- Utiliza uma interface RESTful para APIs
- A API pode ser chamada a partir da linha de comando, scripts ou sistemas de compilação (Jenkins, CircleCL, AWS CodeBuild, etc.)
- Os controlos de leitura/gravação podem fornecer a cada chave de API permissões específicas
- Cada chamada de API é controlada separadamente
- Auditoria contínua de benchmark CIS para AWS, Azure e Google Cloud
- Análises contínuas podem fornecer alertas sobre alterações na infraestrutura da nuvem que introduzem vulnerabilidades à medida que ocorrem, como grupos de segurança alterados, novas chaves SSH confiáveis, equipamentos MFA desativados, logs apagados e muito mais.
Prós
- Resultados em tempo real
- Assinaturas HMAC256 seguras para autenticação de chaves de API
- Verifica mais de 95 riscos de segurança em apenas alguns segundos
- Interface Web GUI muito intuitiva
- Suporta estruturas de conformidade HIPAA e PCI (DSS)
- Envia alertas por Slack, Splunk, OpsGenie, Amazon SNS, e-mail e muito mais.
Contras
- Não disponível através do GitHub
- A atualização automática, algumas ferramentas de relatórios e algumas integrações só estão disponíveis na versão paga.
6 – Firmwalker
Melhor para analisar equipamentos IoT
Algumas equipas que trabalham com código aberto desenvolveram várias ferramentas para analisarem o firmware e as configurações de equipamentos de rede e internet das coisas (IoT). No entanto, a maioria tende a inclinar-se mais para ferramentas de segurança do que para sistemas de análise de vulnerabilidade. No entanto, o Firmwalker pode pesquisar firmware extraído ou montado e relatar possíveis vulnerabilidades.
Características
- Podemos pesquisar por ficheiros relacionados com SSL
- Podemos pesquisar ficheiros de configuração, script e PIN
- Reconhece e revela passwords de administrador, e de acesso remoto
- Podemos pesquisar endereços URLs, e-mail e IP
Prós
- Executa uma auditoria de segurança de IoT, rede, OT e outros firmwares
- Podemos localizar ficheiros inesperados, passwords guardadas ou URLs ocultos
- Disponível como um script bash
Contras
- Precisa de ter conhecimentos de programação para conseguir utilizar eficazmente
- Não tem nenhuma interface GUI disponível
- Atualmente o suporte da API Shodan é experimental
7 – Nikto2
Melhor analisador de servidores web
O Nikto2 é uma ferramenta de análise de servidores Web de código aberto que pode detetar ficheiros e programas perigosos, bem como configurações incorretas do servidor que os hackers podem explorar para executarem ataques criminosos. Além disso, os utilizadores também podem utilizar a ferramenta Nikto no Kali Linux.
Características
- Analisa mais de 6.700 ficheiros e programas potencialmente perigosos
- Testa mais de 1.250 versões de software de servidor desatualizadas
- Analise vários ficheiros de índice e opções de servidor HTTP
- Verifica os servidores web e os software instalados
- Pode realizar descobertas de credenciais
- Possui técnicas que reduzem os falsos positivos
- Exporta os resultados para formatos de ficheiro TXT, XML, HTML, NBE ou CSV
Prós
- Software pequeno e leve, mas bastante poderoso
- Suporta ficheiros tanto de entrada como de saída
- Itens de verificação e plug-ins são atualizados com frequência
- Deteta e sinaliza muitos problemas comuns com servidores web
- Suporte SSL para sistemas operativos Unix e Windows,
- Suporta proxy HTTP
- Pode implementar técnicas de codificação para evasão
- Pode testar sistemas de deteção de intrusão (IDS)
Contras
- Sem interface de utilizador, apenas linhas de comando
- Muito específico, o que pode ser confuso para principiantes
- As atualizações dos plugins e funcionalidades não são automáticas
- As pesquisas são mais limitadas do que algumas ferramentas comerciais
- Análises completas podem demorar mais de 45 minutos a termina
8 – OpenSCAP
Melhor para analisar a conformidade
OpenSCAP é uma estrutura de código aberto para a plataforma Linux baseada no Protocolo de Automação de Conteúdo de Segurança (SCAP) mantido pelo Instituto Nacional de Padrões e Tecnologia (NIST) dos EUA. O projeto OpenSCAP cria ferramentas de código aberto para implementar e aplicar esse padrão aberto utilizado para enumerar falhas e configurações incorretas.
A ferramenta de análise oferece uma ampla variedade de funcionalidades que suportam a pesquisa de aplicações web, infraestrutura de rede, bases de dados e hosts. Ao contrário da maioria dos sistemas de pesquisa que testam vulnerabilidades e exposições comuns (CVEs), o OpenSCAP testa o equipamento relativamente ao padrão SCAP.
Características
- Realiza análises de vulnerabilidade em diferentes sistemas
- Acede a bases de dados públicas com a maioria das vulnerabilidades
- Ferramenta de análise de linha de comando certificada pelo NIST
- Uma interface gráfica (GUI) que facilita a sua utilização
- Pode verificar continuamente a infraestrutura com a política SCAP
- Fornece a possibilidade de analisar computadores
- Resultados de análise centralizados
- Integração com sistemas de gestão de sistemas, como Red Hat Satellite 6, RH Access Insights e muito mais
- Com a opção Atomic Scan pode-se verificar contentores
Prós
- Identificação rápida de problemas de segurança e operações corretivas instantâneas
- Suportado pela Red Hat e outros fornecedores de código aberto
- Combina a análise de vulnerabilidade de segurança com a verificação de conformidade
- Pode pesquisar imagens de container docker
Contras
- Significativamente mais difícil de aprender do que muitas outras ferramentas
- As várias ferramentas no sistema OpenSCAP podem tornar-se confusas
- Os utilizadores têm de conhecer a política de segurança que atende às suas necessidades
- Muitas ferramentas são executadas apenas no Linux e em distribuições específicas
9 – OpenVAS
Melhor para endpoints e análises de rede
Os programadores que criaram o OpenVAS como uma ferramenta de análise multi funcional utilizando o último código-fonte aberto disponível para o Nessus que agora passou a ser um produto comercial líder do mercado lançado pela Tenable. O OpenVAS mantém altos recursos para realizar análises em larga escala e testes de vulnerabilidade de rede em terminais e redes tradicionais. A ferramenta recolhe informações de uma grande variedade de fontes e uma extensa base de dados de vulnerabilidades.
Características
- Analisa os sistemas em busca de vulnerabilidades conhecidas e falta de patches
- Consola de gestão baseado na Web
- Pode ser instalado em qualquer máquina local ou com suporte na nuvem
- Oferece informações sobre cada vulnerabilidade, por exemplo, como eliminá-la ou como os criminosos a conseguem explorar
Prós
- Ferramenta mantida pela Greenbone
- Consegue abrange muitos CVEs (vulnerabilidades e exposições comuns)
- A base de dados de digitalização é atualizada regularmente
- Possui uma grande comunidade para suporte técnico
- Pode atualizar a versão do Community Edition para o Greenbone Enterprise Appliance ou o Greenbone Cloud Service.
Contras
- Pode ser complicado para principiantes e requer alguma experiência
- Se fizer muitas análises simultaneamente, pode bloquear o programa
- Sem gestão de políticas
- O Greenbone Community Edition analisa apenas ativos de endpoint muito básicos ou então produtos de aplicações domésticas, como Ubuntu Linux, MS Office, etc.
- Para pesquisar produtos corporativos ou obter acesso a Políticas, as organizações t~em de atualizar para a versão paga do Greenbone Enterprise.
10 – Nmap
Melhor para análises de rede e portas
O Nmap Security Scanner está disponível para utilização no Windows, macOS e Linux e já vem incluído em muitas distribuições do Linux. O Nmap utiliza pacotes IP para pesquisar as portas do equipamento e determinar quais hosts, serviços e sistemas operativos estão disponíveis e ativos. Os profissionais que executam testes de penetração e as equipas de TI valorizam o nmap como uma ferramenta rápida, eficaz e leve para listar todas as portas abertas de um sistema.
Características
- A pesquisa de hosts revela rapidamente os endereços IP ativos e disponíveis numa rede.
- Utiliza as características do protocolo TCP/IP para descobrir o sistema operativo do equipamento
- Possui uma biblioteca crescente com mais de 500 scripts que pode utilizar para analisar a rede e avaliar as vulnerabilidades
Prós
- Analisa rapidamente as portas abertas do sistema e determina os serviços TCP/UDP disponíveis
- Consulta as portas para determinar os protocolos em execução, as aplicações e números das versões
- Grande quantidade de utilizadores e comunidade de código aberto
Contras
- Sem serviço de suporte formal para os seus clientes
- Requer alguma experiência e conhecimento de TI para utilizar eficazmente a ferramenta
Considerações finais
As análises regulares de vulnerabilidade são importantes e até mesmo críticas para conseguir uma forte postura de segurança cibernética. O grande número de vulnerabilidades existentes e a complexidade da infraestrutura digital das organizações significam que é quase garantido que elas terão pelo menos uma vulnerabilidade não corrigida que a coloca em risco. Encontrar essas vulnerabilidades antes que um criminoso pode significar a diferença entre um ataque que teve origem numa falha e uma violação de dados ou infeção de ransomware dispendiosa e embaraçosa.
Uma das grandes coisas das análises de vulnerabilidade é que as pode executar sozinho e até mesmo automatizar o processo. Ao conseguir obter as ferramentas certas e realizar as análises regulares de vulnerabilidades, pode diminuir drasticamente o risco de segurança cibernética.
A etapa mais importante na gestão de vulnerabilidades é começar. Se uma organização escolhe ou não ferramentas de código aberto, ou comerciais dependerá dos seus recursos e preferências, mas as ferramentas devem ser implementadas e utilizadas regularmente. A utilização regular de ferramentas de análise de vulnerabilidades pode detetar problemas antes que os criminosos e dar às equipas internas o tempo necessário para conseguirem remediar os problemas.
Felizmente, o baixo custo das ferramentas de código aberto permite que as equipas de TI, segurança e DevOps implementem várias ferramentas de código aberto, mesmo que também utilizem ferramentas comerciais. Os hackers costumam utilizar ferramentas de código aberto para pesquisarem sistemas e software vulneráveis para exploração. Portanto, a utilização periódico dessas ferramentas de código aberto fornece as informações necessárias sobre o ponto de vista e as prioridades de um hacker. Mesmo que essas ferramentas possam exigir mais esforço e experiência, fornecem um recurso valioso para qualquer organização que consiga utilizá-las com eficácia.