De nombreux développements en entreprises se basent sur du code partagé via des plateformes de partage de code telles que GitHub. La contrepartie naturelle de l'exploitation de cette ressource est évidemment de repartager les évolutions réalisées. Mais ce partage nécessite de « nettoyer » le code d'éléments constituant des secrets d'entreprises. Or, d'après une étude réalisée par GitGuardian et dévoilée lors d'une conférence du Clusif fin octobre, ce n'est pas toujours le cas. Pour cette étude, les dépôts sur GitHub ont été analysés et ce qui a parfois été trouvé fait frémir : codes d'accès, clés API, accès à des bases de données, clés privées, certificats... Selon GitGuardian, la rapidité exigée des développeurs pour livrer leur production entraînerait ces négligences.
Ces secrets d'entreprise (codes d'accès, clés API, accès à des bases de données, clés privées, certificats...), pour des questions pratiques, se retrouvent d'ailleurs parfois stockés en de multiples endroits et pas toujours sous le contrôle des entreprises. On peut ainsi en trouver sur des drives ou des supports amovibles personnels des développeurs (Google, Dropbox, disques durs externes...) ou sur des espaces de stockage certes internes (Sharepoint...) mais aux accès mal contrôlés. Le principal problème provient du fait que le code produit comprend souvent les fameux secrets en dur dans les lignes de code et non pas dans des fichiers de configuration séparés. Parfois, ce sont les fichiers de paramétrage, effectivement séparés, de logs ou de métadonnées qui sont inclus dans le dépôt ! Des solutions existent pourtant pour filtrer ces fichiers sensibles lors du dépôt.
La France, cinquième source de fuites dans le monde
GitGuardian a donné un exemple concernant la société Uber issu d'un rapport de la Federal Trade Commission : en 2016, Uber a découvert une clé AWS S3 donnant accès à un compartiment de stockage Uber codée en dur dans un dépôt de code public réalisé en 2014, deux ans plus tôt. Un autre exemple a été la compromission des accès depuis la pipeline d'intégration continue de l'éditeur Codecov, permettant de cibler 20 000 clients de l'éditeur.
Pour réaliser une étude quantitative, GitGuardian a analysé un milliard de dépôts sur GitHub (à raison de cinq millions par jour) avec 250 algorithmes de recherches de secrets d'entreprises. Entre 2019 et 2020, la proportion de code incluant des secrets d'entreprise s'est accrue de 20 %. Deux millions de secrets ont ainsi été repérés à raison de 5000 par jour (donc un dépôt sur mille analysés). 85 % des fuites se font via des dépôts réalisés sur des comptes personnels, 15 % des comptes d'entreprises. 27,6 % des secrets sont des clés Google (GCP, Maps, etc.), 15,9 % des données d'outils de codage (API...), 15,4 % des accès à des bases de données ou à des espaces de stockage. 27,9 % des secrets sont présents dans du code Python, 18,8 % dans du Javascript. Si l'Inde est le premier pays source de fuites et les Etats-Unis troisièmes derrière le Brésil, la France est cinquième (derrière le Nigéria, devant la Russie).
Commentaire