La sécurité peut être un monde difficile et coûteux. Nous avons donc décidé de créer un guide complet des outils de sécurité open-source afin de faire la part des choses et de montrer quels sont les outils les plus importants à mettre en œuvre, quels sont les actifs que vous devez protéger et comment vous pouvez élaborer un plan de sécurité à long terme en utilisant uniquement des outils gratuits et open-source.

Quels sont les outils les plus importants ?
Les outils de sécurité disponibles sont apparemment infinis, et la première étape consiste toujours à décider par où commencer. Bien que cela puisse varier en fonction des spécificités, nous recommandons toujours de commencer par les fruits les plus faciles à cueillir pour les attaquants. Assurez-vous que votre infrastructure en nuage est sécurisée, que vous n'avez pas de secrets que les attaquants peuvent facilement trouver, qu'il n'y a pas de simples erreurs de codage menant à des erreurs et que vous n'avez pas de vulnérabilités critiques dans votre chaîne d'approvisionnement en logiciels libres. À partir de là, vous pouvez mettre en œuvre d'autres outils pour améliorer la sécurité et mettre en œuvre d'autres bonnes pratiques tout au long du cycle de développement des logiciels.

Quels sont les outils disponibles ?
Il existe un grand nombre d'excellents outils open-source disponibles et beaucoup dépendra de votre stack et de vos besoins exacts, mais voici quelques-uns de ceux que nous considérons comme l'étalon-or et un excellent point de départ.
CSPM (Cloud Security Posture Management)
Cloudsploit
Le CSPM est un outil essentiel pour protéger nos actifs dans le nuage, Cloudsploit est un CSPM open-source. Le projet détecte les risques de sécurité dans les comptes d'infrastructure en nuage, notamment Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP) et Oracle Cloud Infrastructure (OCI).
Détection des secrets
Trufflehog | gitleaks.
Les secrets sont des cibles de grande valeur pour les attaquants car ils permettent des mouvements latéraux rapides vers de nouveaux systèmes. En fait, les secrets sont utilisés dans 83% des brèches. Il est essentiel de les détecter là où ils se trouvent, en particulier dans vos dépôts git. Deux des meilleurs outils open-source pour les secrets sont Trufflehog et gitleaks.
SCA (analyse de la composition des logiciels)
Trivy | Dependency-Check | Dependency-Track
Les dépendances open-source représentent 85% du code de nos applications, ce qui signifie que les attaquants connaissent votre code mieux que vous ! Il est essentiel que nous sachions quels composants open-source contiennent des vulnérabilités. Les outils SCA analysent les dépendances open-source que nous utilisons dans nos applications et déterminent quelles sont les vulnérabilités connues. Trivy, Dependency-Check et Dependecy-Track sont d'excellents outils pour nous aider à comprendre les risques liés aux logiciels libres.
SAST (test statique de sécurité des applications)
Bandit | Breakeman| GoSec |SemGrep
SAST examine votre code source à la recherche d'erreurs pouvant entraîner des problèmes de sécurité. Les erreurs les plus courantes que SAST peut découvrir sont les vulnérabilités d'injection, les échecs de cryptage et les débordements de mémoire tampon. Les outils que vous choisirez devront être spécifiques à votre stack technologique. Quelques options intéressantes sont Bandit (Python), Breakeman (Ruby), GoSec (Go) et SemGrep (Generic).
DAST (Test dynamique de sécurité des applications)
Nuclei | Zap
Les outils DAST agissent comme un hacker automatisé qui lance des attaques contre vos domaines afin de découvrir les vulnérabilités exploitables. Nuclei et Zap sont deux excellents outils open-source.
Détection des logiciels malveillants
Phylum
Les outils SCA classiques s'appuient sur des vulnérabilités qui ont été divulguées publiquement. La détection de logiciels malveillants consiste à découvrir des codes malveillants à l'intérieur de paquets qui n'ont peut-être pas été signalés. Phylum est un excellent outil pour cela, bien que techniquement il ne soit pas complètement open-source, mais il a une version gratuite qui peut être utilisée avec leur outil d'analyse CLI.
Scanner de l'IaC
Checkov
L'infrastructure en tant que code nous a permis de provisionner et de déployer l'infrastructure en nuage avec plus de confiance et de facilité. Cela peut toutefois conduire à une mauvaise configuration qui introduit des problèmes de sécurité. Les outils CSPM évoqués précédemment peuvent trouver des erreurs dans votre infrastructure en nuage, tandis que l'analyse IaC peut empêcher ces erreurs de se produire avant le déploiement. Checkov est un excellent outil qui permet de détecter les problèmes de sécurité.
Pare-feu intégré
Zen-Node | Zen Python
Il y a eu une réelle tendance à se déplacer vers la gauche en matière de sécurité (déplacer la sécurité plus tôt dans le cycle de vie), bien que cela soit excellent, nous ne devrions pas négliger l'autre côté de la médaille et mettre en œuvre la sécurité pour nos applications en cours d'exécution. Zen by Aikido est un firewall in-app open-source qui peut bloquer des attaques comme l'injection au moment de l'exécution, ajoutant ainsi un niveau de protection secondaire. Zen-Node | Zen Python
Composants en fin de vie
endoflife.date
Les composants qui ne sont plus maintenus constituent un risque important de notre chaîne d'approvisionnement en logiciels libres. endoflife.date est une excellente base de données de projets qui ne sont plus maintenus et qui ne devraient pas être utilisés en production.
Protection des licences
Trivy
Il est important de s'assurer que vous utilisez la bonne licence open-source avec votre application. Trivy fournit des informations précieuses sur les types de licences open-source et sur la manière dont elles sont utilisées.
Les outils à code source ouvert sont-ils aussi performants que les versions commerciales ?
Les outils open-source peuvent être d'une très grande qualité en termes de capacités de numérisation. Toutefois, les outils commerciaux apportent davantage en matière de réduction du bruit, de remédiation et de surveillance. De nombreux outils commerciaux tels qu'Aikido utilisent des scanners open-source sous le capot. Il ne faut pas avoir peur d'utiliser des outils à code source ouvert, mais il faut être conscient que l'utilisation d'outils à code source ouvert, en particulier au fur et à mesure que l'entreprise se développe, nécessitera beaucoup de temps de la part des ingénieurs.
Pourquoi utiliser des outils de sécurité à code source ouvert ?
- Pas de barrière à l'entrée (démarrage rapide et gratuit)
- Les logiciels libres sont un excellent moyen d'obtenir l'adhésion du conseil d'administration (ces outils peuvent être utilisés pour mettre en évidence les problèmes de sécurité).
- Scanners de haute qualité (de nombreux outils open-source offrent des capacités de numérisation équivalentes)
- Soutien communautaire
Pourquoi ne pas utiliser des outils de sécurité à code source ouvert ?
- Installation difficile, les outils open-source utilisent un patchwork de langages et de frameworks, il est donc difficile de les faire dialoguer correctement.
- Les outils bruyants à code source ouvert ont tendance à se concentrer sur la découverte et peuvent donc générer de nombreux faux positifs si des couches de filtrage supplémentaires ne sont pas créées.
- Soutien limité, si les outils se cassent, vous êtes seul.
- Pas de RBAC. Dans le développement moderne, il est important que toute l'équipe soit impliquée. La sécurité des logiciels libres ne permet aucun filtrage entre les rôles, ce qui représente une lourde charge pour l'équipe de sécurité.
Il n'y a pas de bonne réponse à la question de savoir s'il faut préférer les outils à code source ouvert aux outils commerciaux ; les deux ont leur place .
La différence de l'Aïkido
Si vous êtes à la recherche d'outils de sécurité open-source, vous avez probablement réalisé ou allez réaliser que les outils commerciaux sont chers alors que les outils open-source nécessitent beaucoup de travail pour être en mesure de les centraliser dans un tableau de bord. Chez Aikido, nous comprenons ce défi et avons créé un produit qui rassemble de manière transparente les projets open-source, centralisés dans un tableau de bord unique qui fournit un contexte à chaque problème de sécurité avec un tri automatique et des flux de travail de remédiation. Cela vous permet d'avoir la puissance d'un grand outil commercial à une fraction du prix.
