A segurança pode ser um mundo difícil e dispendioso de navegar. Por isso, decidimos criar um guia completo de ferramentas de segurança de código aberto para acabar com as tretas e mostrar quais são as ferramentas mais importantes a implementar, quais os activos que precisa de proteger e como pode criar um plano de segurança a longo prazo utilizando apenas ferramentas gratuitas e de código aberto.

Quais são as ferramentas mais importantes?
Existem aparentemente inúmeras ferramentas de segurança disponíveis, o primeiro passo é sempre decidir por onde começar. Embora possa ser sempre diferente consoante as especificidades, recomendamos sempre que se comece pelo que é mais fácil para os atacantes. Certifique-se de que a sua infraestrutura de nuvem é segura, de que não tem segredos que os atacantes possam encontrar facilmente, de que não há simples erros de codificação que conduzam a erros e de que não tem vulnerabilidades críticas na sua cadeia de fornecimento de código aberto. A partir daí, pode implementar mais ferramentas para melhorar a segurança e implementar mais boas práticas ao longo do ciclo de vida do desenvolvimento de software.

Que ferramentas estão disponíveis?
Há muitas ferramentas de código aberto excelentes disponíveis e muito dependerá da sua pilha e das suas necessidades exactas, mas abaixo estão algumas das que consideramos serem o padrão de ouro e um ótimo ponto de partida.
CSPM (Gestão da postura de segurança na nuvem)
Cloudsploit
O CSPM é uma ferramenta essencial para proteger os nossos activos na nuvem, o Cloudsploit é um CSPM de código aberto. O projeto detecta riscos de segurança em contas de infra-estruturas de nuvem, incluindo Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP) e Oracle Cloud Infrastructure (OCI).
Deteção de segredos
Trufflehog | gitleaks.
Os segredos são alvos de elevado valor para os atacantes, uma vez que permitem movimentos laterais rápidos para novos sistemas. De facto, os segredos são utilizados em 83% das violações. É essencial detectá-los onde se encontram, especialmente nos seus repositórios git. Duas das melhores ferramentas de código aberto para detetar segredos são o Trufflehog e o gitleaks.
SCA (Software Composition Analysis)
Trivy | Dependency-Check | Dependency-Track
As dependências de código aberto constituem 85% do código das nossas aplicações, o que pode significar que os atacantes conhecem o seu código melhor do que você! É fundamental que saibamos quais os componentes de código aberto que contêm vulnerabilidades. As ferramentas SCA analisam as dependências de código aberto que utilizamos nas nossas aplicações e determinam quais as vulnerabilidades conhecidas. Trivy, Dependency-Check e Dependecy-Track são excelentes ferramentas para nos ajudar a compreender os nossos riscos de código aberto.
SAST (Teste estático de segurança de aplicações)
Bandit | Breakeman| GoSec |SemGrep
O SAST analisa o seu código-fonte em busca de erros que podem levar a problemas de segurança. Alguns dos erros mais comuns que o SAST pode descobrir são as vulnerabilidades de injeção, falhas de encriptação e buffer overflows. As ferramentas que escolher terão de ser específicas para a sua pilha de tecnologia específica. Algumas boas opções são Bandit (Python), Breakeman (Ruby), GoSec (Go) e SemGrep (Generic).
DAST (Dynamic Application Security Testing)
Nuclei | Zap
As ferramentas DAST funcionam como um hacker automatizado que executa ataques contra os seus domínios para descobrir vulnerabilidades exploráveis, o que também é por vezes referido como monitorização de superfície. Duas excelentes ferramentas de código aberto são Nuclei e Zap.
Deteção de malware
Phylum
As ferramentas SCA clássicas baseiam-se em vulnerabilidades que foram divulgadas publicamente. A deteção de malware tem a ver com a descoberta de código malicioso dentro de pacotes que podem não ter sido relatados. Phylum é uma ótima ferramenta para isso, embora tecnicamente não seja completamente de código aberto, mas tem uma versão gratuita que pode ser usada com sua ferramenta de varredura CLI.
Digitalização IaC
Checkov
A infraestrutura como código permitiu-nos aprovisionar e implementar com mais confiança e facilidade a infraestrutura de nuvem. No entanto, isso pode levar a uma configuração incorrecta que introduz problemas de segurança. As ferramentas CSPM discutidas anteriormente podem encontrar erros na sua infraestrutura de nuvem, enquanto a verificação IaC pode evitar que os erros ocorram antes da implantação. O Checkov é uma óptima ferramenta que pode analisar estes problemas de segurança
Firewall na aplicação
Zen-Node | Zen Python
Tem havido uma tendência real sobre a mudança para a esquerda na segurança (movendo a segurança mais cedo no ciclo de vida), embora isso seja ótimo, não devemos negligenciar o outro lado disso e implementar segurança para nossas aplicações em execução. O Zen by Aikido é um firewall in-app de código aberto que pode bloquear ataques como injeção em tempo de execução, adicionando um nível secundário de proteção. Zen-Node | Zen Python
Componentes em fim de vida
endoflife.date
Um grande risco da nossa cadeia de fornecimento de código aberto são os componentes que já não estão a ser mantidos. O endoflife.date é uma excelente base de dados de projectos que já não estão a ser mantidos e que não devem ser utilizados em produção.
Proteção da licença
Trivy
É importante estar ciente de que está a utilizar a licença de código aberto correta com a sua aplicação. O Trivy fornece excelentes informações sobre os tipos de licença de código aberto e a forma como estão a ser utilizados.
As ferramentas de código aberto são tão boas como as versões comerciais?
As ferramentas de código aberto podem ter uma qualidade muito elevada em termos das suas capacidades de digitalização. No entanto, as ferramentas comerciais trazem mais para a mesa quando se trata de redução de ruído, remediação e monitorização. Muitas ferramentas comerciais, como o Aikido, utilizam scanners de código aberto. Não deve ter medo de utilizar ferramentas de código aberto, mas tenha em atenção que a utilização de ferramentas de código aberto, especialmente à medida que cresce, exigirá muito tempo de engenharia.
Porquê utilizar ferramentas de segurança de código aberto
- Não há barreiras à entrada (o arranque é rápido e gratuito)
- O código-fonte aberto é uma óptima ferramenta para obter a adesão da administração (estas ferramentas podem ser utilizadas para destacar problemas de segurança)
- Scanners de alta qualidade (muitas ferramentas de código aberto têm as mesmas capacidades de digitalização)
- Apoio comunitário
Porque não utilizar ferramentas de segurança de código aberto
- Configuração difícil, as ferramentas de código aberto utilizam uma manta de retalhos de linguagens e estruturas, pelo que é difícil pô-las a funcionar corretamente.
- As ferramentas ruidosas e de código aberto tendem a centrar-se na descoberta, pelo que podem trazer muitos falsos positivos se não forem criadas camadas adicionais de filtragem.
- Apoio limitado, se as ferramentas se avariarem, fica por sua conta
- Sem RBAC. No desenvolvimento moderno, é importante ter toda a equipa envolvida. A segurança de código aberto não permite qualquer filtragem entre funções, o que a torna um fardo pesado para a equipa de segurança.
Não existe uma resposta correta para a escolha de ferramentas de código aberto em vez de ferramentas comerciais e ambas têm o seu lugar .
A diferença do Aikido
Se está a investigar ferramentas de segurança de código aberto, é provável que tenha chegado ou venha a chegar à conclusão de que as ferramentas comerciais são caras, enquanto as ferramentas de código aberto requerem muito trabalho para poderem ser centralizadas num painel de controlo. Na Aikido, compreendemos esse desafio e criámos um produto que reúne projectos de código aberto, centralizados num único painel de controlo, que contextualiza todos os problemas de segurança com fluxos de trabalho de correção e de triagem automática. Isto permite-lhe ter o poder de uma grande ferramenta comercial por uma fração do preço.
Comece a trabalhar gratuitamente
