
Ao decidir qual a abordagem a utilizar para as ferramentas de segurança, parece haver duas opções.
1. Vender o rim esquerdo e comprar a solução da empresa cujo nome está na lateral de um carro de Fórmula 1.
2. Escolha a ferramenta gratuita e de código aberto que dá mais falsos positivos do que uma aplicação de encontros numa noite solitária de sexta-feira.
Como em tudo o que diz respeito à segurança, há mais para desvendar na realidade. Neste artigo, pretendo explorar quando é que as ferramentas de segurança de código aberto devem ser utilizadas, quando é que as ferramentas comerciais são mais eficazes e se podemos confiar nas ferramentas criadas a partir de um núcleo de código aberto.
Construir vs Comprar (a armadilha do custo do código aberto)
À medida que a sua empresa cresce, depressa se aperceberá de que a escolha entre código aberto e comercial é mais uma escolha entre construir ferramentas ou comprar ferramentas. O código-fonte aberto fornece um ótimo ponto de partida, mas não possui muitas das funcionalidades de que necessita: painéis de controlo, integrações, relatórios de conformidade, fluxos de trabalho de correção, filtragem de falsos positivos e priorização de vulnerabilidades, para citar algumas. Por isso, a ideia de que o código-fonte aberto é gratuito simplesmente não é verdadeira. No entanto, isto pode ser uma vantagem, pois a construção à medida que se avança reduz o investimento inicial e permite-lhe concentrar-se nas funcionalidades que são importantes para si. Significa que não está a depender de um fornecedor para fornecer a funcionalidade que "prometeram" fornecer no terceiro trimestre há dois anos.
Há muitos aspectos negativos a considerar quando se constrói com base em ferramentas de código aberto. Em primeiro lugar, não só será necessário um tempo de desenvolvimento significativo para criar estas ferramentas, como também será necessária uma manutenção contínua. As ferramentas de segurança também podem bloquear a produção quando são integradas em elementos como os pipelines CI/CD, por exemplo. Isto significa que, quando falham ou se avariam, podem causar perdas de produtividade sem qualquer apoio para o ajudar a regressar à atividade.
O que dizer então da opção de compra? Em primeiro lugar, não existe um período de arranque, obtém-se uma cobertura completa desde o início, o que resulta em menos dívidas de segurança mais tarde. Também não perde o custo de oportunidade de retirar as equipas de engenharia dos seus objectivos principais para se concentrarem na criação de funcionalidades para ferramentas internas. No mundo acelerado das empresas em fase de arranque, não subestime o valor disto.
Código aberto vs. comercial
As ferramentas comerciais são melhores na descoberta de vulnerabilidades?
Até agora, falámos de todas as funcionalidades da ferramenta sem sequer colocarmos uma das questões mais importantes. O que é que encontra mais vulnerabilidades? De um modo geral, a funcionalidade principal das ferramentas de código aberto é muitas vezes igual à das ferramentas comerciais na sua capacidade de encontrar vulnerabilidades. No entanto, as ferramentas comerciais estão à frente na sua capacidade de filtrar falsos positivos e dar prioridade às suas descobertas.
Muitas vezes, são ferramentas comerciais que são construídas com base em projectos de código aberto. Por exemplo, vejamos o Zen by Aikido, uma firewall in-app com todas as funcionalidades, concebida para impedir ameaças em tempo de execução. Será que é melhor a detetar ameaças em tempo de execução e a impedi-las do que um equivalente de código aberto? Nem por isso, porque se baseia num projeto de código aberto, o AikidoZen. O valor da versão empresarial está nas suas funcionalidades adicionais, como a análise, a criação de regras, a compreensão mais profunda das suas ameaças específicas e a facilidade de implementação, tudo coisas que teria de construir se utilizasse a versão de código aberto numa empresa. Portanto, o código aberto não é necessariamente pior, apenas está a faltar a fase seguinte da triagem.
Nota: A avaliação comparativa das ferramentas em relação às vulnerabilidades encontradas também pode ser muito complicada. Uma óptima ferramenta de segurança pode encontrar menos vulnerabilidades porque é melhor a remover falsos positivos com base no contexto. Por conseguinte, a melhor ferramenta nem sempre é a que encontra mais vulnerabilidades, na maior parte das vezes é o oposto.
Alimentado por código aberto criado para empresas
Então o código aberto é demasiado desenvolvido e o comercial é demasiado caro, que tal um meio-termo? As ferramentas com todas as funcionalidades que utilizam o código-fonte aberto no seu núcleo não são um conceito novo. Alguns dos produtos de segurança mais bem sucedidos do mundo utilizam o código aberto no seu núcleo, como o Hashicorp Vault, o Elastic Security e o Metaploit, para citar alguns. Há muitas razões para o sucesso destas ferramentas e provavelmente não é pelas razões que pensa.
Relação custo-eficácia
As ferramentas de código aberto não só têm de competir com ferramentas comerciais alternativas, como também têm de competir com a sua base de código aberto. Isto significa que o seu valor deve ser comprovado e transparente, resultando frequentemente numa oferta mais económica.
O poder da comunidade
Muitas vezes, as ferramentas de código aberto são mantidas e construídas por empresas comerciais, como a Aikido Zen. As ferramentas baseadas em código aberto não o fazem apenas para reduzir o tempo de desenvolvimento, mas também porque os fundadores acreditam fundamentalmente no poder do código aberto. As ferramentas de código aberto são frequentemente mais rápidas a criar funcionalidades porque têm uma comunidade por trás delas, o que também significa que, se tiver um problema específico e de nicho, pode introduzi-lo na ferramenta.
Transparência
Muitas vezes, comprar ferramentas comerciais pode ser um pouco como comprar um carro sem ver o seu motor. Qual a sua qualidade/fiabilidade a longo prazo? É mais fácil esconder os pontos fracos quando não se pode ver o motor. As ferramentas de código aberto não podem esconder o seu motor, pelo que é mais fácil sentirmo-nos confiantes na própria ferramenta.
Caraterísticas comerciais
Como já foi referido, uma ferramenta de código aberto está muitas vezes a competir com alternativas comerciais e ferramentas de código aberto, pelo que tem de se orgulhar das suas funcionalidades adicionais. Isto significa tudo o que se espera de uma ferramenta comercial, mas muitas vezes um pouco mais. Uma vez que o produto beneficia de uma base de código aberto bem definida, é possível dedicar atenção a melhorias que, em última análise, são transferidas para o utilizador final.
Então, o que é que eu escolho (considerações finais)
Discutimos as vantagens das ferramentas de segurança de código aberto, comerciais e de código aberto. Penso que o meu tom de voz deixa claro que, enquanto autor, adoro a comunidade de código-fonte aberto e acredito que as ferramentas de código-fonte aberto são um compromisso em termos de preço sem comprometer as caraterísticas. É obviamente idiota dizer que não há razão para que, nalguns cenários, uma versão comercial pura seja melhor. Existem óptimas soluções inovadoras que são inteiramente de código fechado. Mas o que quero dizer é que, só porque algo se baseia num projeto de código aberto, isso não significa que comprometa a sua capacidade ou as suas funcionalidades. E porque precisa de provar o seu valor com total transparência, muitas vezes oferece caraterísticas e valor mais profundos.
O Aikido security foi criado por programadores para programadores, para ajudar a garantir a segurança. Orgulhamo-nos da nossa herança de código aberto e gostaríamos que a visse em ação por si próprio.