Rejoindre l’Agence nationale de la sécurité des systèmes d’information (ANSSI), c’est mettre ses compétences au service de l’intérêt général en participant à une mission capitale, d’actualité et porteuse de grandes responsabilités dans un monde où la cybersécurité est devenue l’affaire de tous ! Au sein de la division « scientifique et technique », le laboratoire « Sécurité du Logiciel » (LSL) est responsable du développement logiciel robuste recouvrant toutes les étapes du cycle de développement.
Descriptif des missions
Description du stage Les outils d'analyse de la composition logicielle (SCA ou "Software Composition Analysis") sont essentiels pour renforcer la sécurité de la chaîne d’approvisionnement des logiciels. Ils ont pour finalité de fournir une connaissance continue des composants tiers inclus dans les applications, et de leurs problèmes de sécurité potentiels.
Un article de Boles et al [1] établit un comparatif des capacités de détection de vulnérabilités des outils SCA sur un corpus d'images Dockers. Les auteurs constatent que ces outils génèrent de faux positifs et produisent des résultats divergents en fonction des images analysées. Ils avancent les facteurs d'explication suivants :
le mode d'intégration des bases de données de vulnérabilités dans les outils a un impact sur le nombre de vulnérabilités annoncé,
l'utilisation de bases de vulnérabilité différentes (NVD : National Vulnerability Database, GHSA : GitHub Security Advisories, etc.), ce qui a une influence sur la sévérité annoncée,
la capacité variable des outils à détecter efficacement les composants dans les images docker,
une identification des composants non standardisée : un même composant peut être référencé via des identifiants différents tels que les PURLs (Package URLs), les CPE(Common Platform Enumerations) ou d'autres conventions. Cette variabilité complique les regroupements et comparaisons des résultats.
De plus, d'autres articles montrent que les résultats peuvent varier entre les différentes versions de ces outils d'analyse pour un même corpus de tests. Objectifs du stage
Reproduire les résultats de l’article [1] et l’étendre à d’autres outils de SCA (notamment le projet open source AboutCode), ainsi qu'à différentes versions de ces produits.
Identifier et comprendre les écarts, notamment l’influence des bases de vulnérabilités ainsi que les problèmes d’identification des composants tiers.
Evaluer la sensibilité de ces produits aux attaques via de l’unicode.
Vous suivez une formation de type Master 2 d’Informatique, ou en dernière année d’école d’Ingénieur en Informatique (niveau 7), avec une spécialisation en sécurité informatique.
Compétences requises
fort intérêt pour la gestion des composants logiciels libres et leur sécurité
Qualités attendues
autonomie
créativité et savoir prêter attention aux détails
curiosité technique et goût pour la veille technologique
aisance relationnelle
Process de recrutement
Si votre candidature est présélectionnée, vous serez contacté(e) pour apprécier vos attentes et vos motivations au cours d'un entretien téléphonique ou physique.
Des tests techniques pourront vous être proposés.
Vous ferez l'objet d'une procédure d'habilitation.