Pourquoi la signature de code fait-elle tant parler le « dark web » ?

Cybersécurité

Notre recherche montre que ces identités machine à signature de code créent un buzz croissant sur le dark web, avec une série de récentes attaques qui ont contribué à faire enfler la rumeur – il semblerait que les identités machine à signature de code soient le prochain objectif à atteindre.

Les certificats de signature de code sont un élément essentiel de notre monde logiciel. Chaque mise à jour de logiciel est signée par une identité machine unique, qui combine un horodatage avec un algorithme de chiffrement sous la forme d’un certificat x.509 émis par une autorité de certification de confiance.

Cela permet à d’autres machines de savoir qu’ils sont authentiques et qu’il est possible de leur faire confiance. Les développeurs signent leur code avec une clé privée, et un utilisateur final utilise la clé publique de ce développeur pour valider que le code n’a pas changé depuis la signature du développeur.

Si quelqu’un a modifié le code, la signature émettra une alerte d’absence de fiabilité, comme le fait un site web avec un certificat non fiable ou expiré avec les identités machine avec option TLS (Transport Layer Security). Sans ce système d’identité, il serait impossible de fournir un logiciel. Sans ce système, vous ne pourriez pas utiliser Windows, Mac, ou laisser l’iPhone fonctionner sur un Airbus ou Boeing moderne. De plus en plus c’est la même chose dans le monde « cloud-native » de Kubernetes.

Bien qu’essentielles, ces identités ont une position privilégiée avec les niveaux les plus élevés d’authentification et de confiance, ce qui en fait une denrée rare pour les personnes malveillantes qui cherchent à infiltrer les systèmes. Au cours des récentes années, nous avons pu constater que ce système d’identité était sujet à des attaques.

Notre recherche montre que ces identités machine à signature de code créent un buzz croissant sur le dark web, avec une série de récentes attaques qui ont contribué à faire enfler la rumeur – il semblerait que les identités machine à signature de code soient le prochain objectif à atteindre.

Tout le monde parle des identités machines à signature de code sur le dark web

Les résultats de l’enquête sur le dark web réalisée par Forensic Pathways, révèlent que les certificats de signature de code représentent un sujet brûlant parmi les acteurs de la menace. Nous avons pu lire des publications qui faisaient la publicité de certificats de signature de code pour seulement 100 $ – ce qui représente une chute de prix considérable par rapport à nos premières enquêtes, pendant lesquelles les identités machine à signature de code étaient alors en vente pour 1200 $ en 2017.

De nombreuses recherches ont été faites sur la façon de se les procurer et des discussions ont été lancées sur la façon de les utiliser. Les résultats de cette enquête sont clairs : les cybercriminels sont à la chasse aux certificats de signature de code et savent comment les exploiter.

Si un certificat de signature de code est compromis, le dommage qui en résulte peut être extrêmement important pour les entreprises. Un hacker peut utiliser un certificat pour signer un code malveillant, tromper des outils de sécurité et faire passer son malware pour un logiciel légitime.

Ces méthodes d’attaques sont devenues l’arme privilégiée de groupes de terroristes d’État. Des groupes nord-coréens, qui génèrent semble-t-il près de 1 milliard de dollars par an de profits cybercriminels, utilisent souvent des certificats de signature de code pour effectuer des cyber-attaques. Plus tôt cette année, nous avons également vu des attaques en Ukraine pendant lesquelles des hackers ont utilisé des identités machine signées pour déployer des malwares à travers différentes organisations.

Comment augmenter la sécurité des certificats de signature de code

Ces violations à grande échelle montrent l’énorme dommage qui peut être infligé aux sociétés si des terroristes mettent la main sur des certificats de signature de code. Cela démontre pourquoi les sociétés doivent faire plus pour protéger ces actifs essentiels et empêcher les utilisations abusives en interne.

Voici cinq étapes que les équipes de sécurité peuvent appliquer afin d’améliorer leur sécurité en matière de signature de code :

1 >  Automatiser, automatiser, automatiser dans votre pipeline de DevOps : Des machines construisent maintenant des machines. Le développement de logiciels modernes fonctionne à la vitesse de la machine et utilise des systèmes d’automatisation tels que GitLab, GitHub, et Jenkins pour réaliser le processus de fabrication de logiciels. L’intégration de la protection et l’utilisation de signature de code dans ces pipelines est la première exigence et la plus importante. Non seulement, cela protège contre les tentatives des hackers mais cela implique davantage les développeurs. Autrement, ils trouveront une façon de contourner les contrôles et les équipes de sécurité resteront « les mêmes vieilles équipes lentes et inutiles ».

2 > Conserver les clés privées dans un endroit crypté, sécurisé et centralisé : une clé privée n’est jamais aussi sûre que son moyen de stockage. De nombreuses clés privées ne sont pas stockées dans des endroits sécurisés ; les administrateurs enregistrent souvent une clé dans un système de fichiers, voire même sur leur bureau. Les clés de signature de code privées ne devraient jamais quitter un emplacement sécurisé, même lorsqu’un développeur y accède pour une opération de signature de code.

3 > Contrôler l’utilisation des clés privées : De même que le contrôle de l’accès aux clés privées, les équipes doivent également en contrôler l’utilisation. Il est important de conserver un registre irréfutable pour chaque opération de signature de code, indiquant à quel outil de signature de code il a été accédé et par qui, quel logiciel a été signé avec elle, et à quelle machine il a été accédé à partir de celle-ci.

4 > Appliquer un processus d’approbation à plusieurs niveaux : Lors de l’accès aux clés de signature de code les plus critiques, les développeurs doivent demander l’approbation d’au moins une personne supplémentaire – idéalement davantage – avant d’être autorisés à les utiliser.

5 > Définir et mettre en application une politique d’accès : Afin de limiter encore davantage les utilisations abusives, les équipes ont besoin de politiques strictes en matière de signature de code et de flux de travail basés sur des paramètres contrôlés. Une politique pourrait déterminer qui a l’autorité nécessaire pour accéder à quelles clés de signature de code ou indiquer que les développeurs peuvent accéder aux clés uniquement à partir d’ordinateurs approuvés pendant un moment défini de la journée.

6 > Faire tourner les clés privées : les équipes peuvent ajouter une couche supplémentaire de sécurité en faisant tourner les clés privées. Cela permet de s’assurer que l’ancienne clé ne donnera plus accès ou ne permettra pas à un acteur de la menace de « signer » si un certificat de signature de code est compromis. La rotation des clés peut s’avérer être un processus fastidieux, en particulier pour les grandes organisations, mais il n’a pas besoin d’être avec le bon logiciel.

Il n’y a aucun doute que les identités machine à signature de code sont des outils essentiels pour les développeurs de logiciels. Avec des certificats volés qui représentent de l’or en barre pour les cybercriminels, et des certificats mal gérés qui créent d’énormes zones de vulnérabilité pour les organisations, les terroristes prennent note et leur présence sur le dark web augmente.

Sans politiques, ni flux de travail clairement définis et rigoureusement appliqués par les équipes de sécurité, les organisations restent vulnérables aux attaques. Il est essentiel de disposer d’un plan de contrôle qui permette l’automatisation de la gestion de l’identité machine à signature de code pour garantir la protection de ces actifs de valeur. L’industrie doit agir maintenant.


Auteur
En savoir plus 
Kevin Bocek est VP Stratégie de sécurité & Renseignement sur les Menaces chez Venafi
En savoir plus 

Livres blancs A la Une