Cybersecurity on a budget: Securing your code and infrastructure for free
Télécharger les ressourcesÀ propos de cette session
Alexandre-Xavier Labonté-Lamoureux, qui fait de la cybersécurité au sein d'une équipe d'ingénierie de fiabilité chez Ubisoft, présente en français un catalogue d'outils gratuits et libres qu'un développeur peut adopter quand le budget de sécurité ne vient pas, la plupart produisant des rapports JSON réutilisables. Il suit le cycle de développement : analyseurs de code (SonarQube, SonarLint dans l'IDE, Cppcheck pour C++, FindSecurityBugs pour Java, gosec pour Go), analyseurs de dépendances (OWASP Dependency-Check, RetireJS, Snyk, Trivy) et mises à jour automatisées avec Renovate, détecteurs de secrets (Trivy, TruffleHog, git-secrets, Gitleaks, GitGuardian) en crochets pre-commit ou dans un pipeline central qui balaie tous les dépôts, analyseurs d'infrastructure programmable pour Terraform et Helm (tfsec, Snyk, Trivy), outils pour ce qui est déjà déployé (Starboard et Trivy Operator pour Kubernetes, le mode AWS de Trivy comme substitut gratuit à Security Hub) et fuzzers d'API, du ZAP sans état nourri d'une spécification OpenAPI jusqu'au RESTler avec état qui a trouvé 28 bogues dans les API de GitLab. Il prévient que faire échouer le pipeline à chaque CVE critique peut bloquer une livraison urgente et que la détection par entropie attrape des clés que les règles ratent.
In many organizations, securing a budget to fund cybersecurity is still a problem. Even now, executives are reluctant to fund cybersecurity, seeing it as an expense rather than an investment, despite the fact that cyber attacks increase by 50% year over year and while the media is plagued with reports of newly discovered vulnerabilities and new data breaches. Developers are struggling to ensure that the software that they produce is secure and vulnerability free. What if one of my software dependencies has a vulnerability that I'm unaware of? What if a mistake was made in my infrastructure as code and now I'm exposing a resource publicly on my cloud provider? What if someone has accidentally leaked a secret and a disgruntled employee decides to sell it to malicious actors? This talk will explore solutions to these topics. More specifically, this talk will cover secret management, code vulnerability scanning, dependency scanning, infrastructure as code scanning and fuzzing from a prevention and developer's point of view. The solutions proposed will use free (gratis) software and can easily be adapted to almost any developer's workflow.
À retenir
- Intégrer un analyseur de dépendances et d'images comme Trivy au pipeline et faire échouer la construction sur les CVE élevées et critiques, en prévoyant une voie d'exception pour qu'une livraison urgente ne soit pas bloquée par une CVE toute fraîche.
- Automatiser les mises à jour de dépendances avec Renovate (ou Dependabot sur GitHub) et fixer par règle les outils de génération de code comme gRPC et protobuf pour garder le code généré et le générateur synchronisés.
- Garder les secrets hors de Git avec des détecteurs en pre-commit sur les postes des développeurs et un pipeline central qui balaie tous les dépôts, révoquer tout secret dès qu'il est poussé, et privilégier les outils à détection d'entropie pour attraper les clés encodées.
- Analyser ce qui tourne déjà, pas seulement le code : Starboard ou Trivy Operator pour les images Kubernetes, le mode AWS de Trivy pour les mauvaises configurations comme les politiques IAM avec jokers et le stockage non chiffré, et envoyer le JSON dans Grafana.
- Fuzzer ses API à partir de la spécification OpenAPI avec ZAP, ou avec un fuzzer avec état comme RESTler, capable de déduire des failles d'autorisation en échangeant jetons et identifiants entre comptes.
Conférenciers

Alexandre-Xavier Labonté-Lamoureux is a senior student in Software Engineering at the École de Technologie Supérieure (ÉTS). He is an open-source software advocate and he is volunteering in likely-minded students scientific and technology clubs at… Lire la suiteRéduire
Alexandre-Xavier Labonté-Lamoureux is a senior student in Software Engineering at the École de Technologie Supérieure (ÉTS). He is an open-source software advocate and he is volunteering in likely-minded students scientific and technology clubs at his university. He has been involved in the cybersecurity community for more than four years, notably in the Delegation of IT Competitions at ÉTS where he has given many workshops on the subject of reverse engineering. While he and his team have been busy winning 1st place at Northsec CTF 2020 and 2nd place at Northsec CTF 2021, Alexandre-Xavier also likes to design challenges, mostly with the goal of teaching and sharing his knowledge. Some of his recent accomplishments include organizing UnitedCTF 2021 where 230 students were introduced to cybersecurity, presenting workshops at Montréhack, mentoring a Canadian team students who participated to the European Cyber Security Challenge (ECSC) and the International Cybersecurity Challenge (ICC), building the cybersecurity foundations for a DevOps team at Ubisoft Montreal and winning the Cybertalent Trophy from École Cybersécurité for his accomplishments.
