FRFAM.COM >> Famille >> Technologie &Innovation >> Informatique

Qu'est-ce qu'un logiciel malveillant signé par code et comment l'éviter ?

La signature de code est la pratique consistant à signer cryptographiquement un logiciel afin que le système d'exploitation et ses utilisateurs puissent vérifier qu'il est sûr. La signature de code fonctionne bien, dans l'ensemble. La plupart du temps, seul le bon logiciel utilise sa signature cryptographique correspondante.

Les utilisateurs peuvent télécharger et installer en toute sécurité, et les développeurs protègent la réputation de leur produit. Cependant, les pirates et les distributeurs de logiciels malveillants utilisent exactement ce système pour aider le code malveillant à échapper aux suites antivirus et autres programmes de sécurité.

Comment fonctionnent les logiciels malveillants et les rançongiciels signés ?

Qu'est-ce qu'un logiciel malveillant signé par code ?

Lorsqu'un logiciel est signé par code, cela signifie que le logiciel porte une signature cryptographique officielle. Une autorité de certification (CA) délivre le logiciel avec un certificat confirmant que le logiciel est légitime et sûr à utiliser.

Mieux encore, votre système d'exploitation s'occupe des certificats, de la vérification du code et de la vérification, vous n'avez donc pas à vous inquiéter. Par exemple, Windows utilise ce qu'on appelle une chaîne de certificats. La chaîne de certificats comprend tous les certificats nécessaires pour garantir que le logiciel est légitime à chaque étape du processus.

"Une chaîne de certificats est constituée de tous les certificats nécessaires pour certifier le sujet identifié par le certificat final. En pratique, cela inclut le certificat final, les certificats des AC intermédiaires et le certificat d'une AC racine approuvée par toutes les parties de la chaîne. Chaque autorité de certification intermédiaire de la chaîne détient un certificat émis par l'autorité de certification située au niveau supérieur dans la hiérarchie de confiance. L'autorité de certification racine émet un certificat pour elle-même."

Lorsque le système fonctionne, vous pouvez faire confiance au logiciel. L'autorité de certification et le système de signature de code nécessitent une grande confiance. Par extension, les logiciels malveillants sont malveillants, peu fiables et ne doivent pas avoir accès à une autorité de certification ou à la signature de code. Heureusement, dans la pratique, c'est ainsi que le système fonctionne.

Jusqu'à ce que les développeurs de logiciels malveillants et les pirates trouvent un moyen de le contourner, bien sûr.

Les pirates volent des certificats aux autorités de certification

Votre antivirus sait que les logiciels malveillants sont malveillants car ils ont un effet négatif sur votre système. Il déclenche des avertissements, les utilisateurs signalent des problèmes et l'antivirus peut créer une signature de logiciel malveillant pour protéger d'autres ordinateurs utilisant le même outil antivirus.

Cependant, si les développeurs de logiciels malveillants peuvent signer leur code malveillant à l'aide d'une signature cryptographique officielle, rien de tout cela ne se produira. Au lieu de cela, le logiciel malveillant signé par code franchira la porte d'entrée pendant que votre antivirus et le système d'exploitation dérouleront le tapis rouge.

Les recherches de Trend Micro ont révélé qu'il existe tout un marché de logiciels malveillants prenant en charge le développement et la distribution de logiciels malveillants signés par code. Les opérateurs de logiciels malveillants ont accès à des certificats valides qu'ils utilisent pour signer du code malveillant. Le tableau suivant indique le volume de logiciels malveillants utilisant la signature de code pour échapper à l'antivirus, en avril 2018.

Qu est-ce qu un logiciel malveillant signé par code et comment l éviter ?

La recherche de Trend Micro a révélé qu'environ 66 % des logiciels malveillants échantillonnés étaient signés par code. De plus, certains types de logiciels malveillants sont livrés avec plus d'instances de signature de code, telles que les chevaux de Troie, les droppers et les ransomwares. (Voici sept façons d'éviter une attaque de ransomware !)

D'où viennent les certificats de signature de code ?

Les distributeurs et les développeurs de logiciels malveillants ont deux options concernant le code officiellement signé. Les certificats sont soit volés à une autorité de certification (directement ou pour la revente), soit un pirate peut tenter d'imiter une organisation légitime et de falsifier ses exigences.

Comme vous vous en doutez, une autorité de certification est une cible alléchante pour tout pirate informatique.

Ce ne sont pas seulement les pirates qui alimentent l'augmentation des logiciels malveillants signés par code. Des fournisseurs prétendument peu scrupuleux ayant accès à des certificats légitimes vendent également des certificats de signature de code de confiance aux développeurs et distributeurs de logiciels malveillants. Une équipe de chercheurs en sécurité de l'université Masaryk en République tchèque et du Maryland Cybersecurity Center (MCC) a découvert quatre organisations vendant des [PDF] certificats Microsoft Authenticode à des acheteurs anonymes.

"De récentes mesures de l'écosystème des certificats de signature de code Windows ont mis en évidence diverses formes d'abus qui permettent aux auteurs de logiciels malveillants de produire du code malveillant portant des signatures numériques valides."

Une fois qu'un développeur de logiciels malveillants dispose d'un certificat Microsoft Authenticode, il peut signer n'importe quel logiciel malveillant dans le but d'annuler la signature du code de sécurité Windows et la défense basée sur les certificats.

Dans d'autres cas, plutôt que de voler les certificats, un pirate compromettra un serveur de construction de logiciels. Lorsqu'une nouvelle version du logiciel est rendue publique, elle porte un certificat légitime. Mais un pirate peut également inclure son code malveillant dans le processus. Vous pouvez lire ci-dessous un exemple récent de ce type d'attaque.

3 exemples de logiciels malveillants signés par code

Alors, à quoi ressemblent les logiciels malveillants signés par code ? Voici trois exemples de logiciels malveillants signés :

  1. malware Stuxnet . Le logiciel malveillant responsable de la destruction du programme nucléaire iranien a utilisé deux certificats volés pour se propager, ainsi que quatre exploits zero-day différents. Les certificats ont été volés à deux sociétés distinctes --- JMicron et Realtek --- qui partageaient un même bâtiment. Stuxnet a utilisé les certificats volés pour éviter l'exigence Windows alors nouvellement introduite selon laquelle tous les pilotes devaient être vérifiés (signature du pilote).
  2. Violation du serveur Asus . Entre juin et novembre 2018, des pirates ont piraté un serveur Asus que la société utilise pour envoyer des mises à jour logicielles aux utilisateurs. Les chercheurs de Kaspersky Lab ont découvert qu'environ 500 000 machines Windows avaient reçu la mise à jour malveillante avant que quiconque ne s'en rende compte. Au lieu de voler les certificats, les pirates ont signé leur malware avec des certificats numériques Asus légitimes avant que le serveur logiciel ne distribue la mise à jour du système. Heureusement, le logiciel malveillant était hautement ciblé, codé en dur pour rechercher 600 machines spécifiques.
  3. Programme malveillant Flame . La variante du logiciel malveillant modulaire Flame cible les pays du Moyen-Orient, en utilisant des certificats signés frauduleusement pour éviter d'être détecté. (Qu'est-ce qu'un logiciel malveillant modulaire, de toute façon ?) Les développeurs de Flame ont exploité un algorithme cryptographique faible pour signer à tort les certificats de signature de code, donnant l'impression que Microsoft les avait signés. Contrairement à Stuxnet qui contenait un élément destructeur, Flame est un outil d'espionnage, recherchant des fichiers PDF, des fichiers AutoCAD, des fichiers texte et d'autres types de documents industriels importants.

Comment éviter les logiciels malveillants signés par code

Trois variantes de logiciels malveillants différentes, trois types différents d'attaques par signature de code. La bonne nouvelle est que la plupart des logiciels malveillants de ce type sont, du moins à l'heure actuelle, très ciblés.

Le revers de la médaille est qu'en raison du taux de réussite de ces variantes de logiciels malveillants qui utilisent la signature de code pour éviter la détection, attendez-vous à ce que davantage de développeurs de logiciels malveillants utilisent cette technique pour s'assurer que leurs propres attaques réussissent.

De plus, la protection contre les logiciels malveillants signés par code est extrêmement difficile. Garder votre système et votre suite antivirus à jour est essentiel, évitez de cliquer sur des liens inconnus et vérifiez à nouveau où un lien vous mène avant de le suivre.

Outre la mise à jour de votre antivirus, consultez notre liste des moyens d'éviter les logiciels malveillants !


[]