Désactiver la fonction Autorun
Numéro : TR08-004
Date: 22 decembre 2008
Table des matières
Survol
Fonctions autorun et autoplay
Autorun.inf
Types de supports amovibles
Les risques de la fonction autorun
Menaces connues découlant de l'utilisation d'autorun
Solutions pour désactiver autorun
Mise à l'essai
Survol
La fonction Autorun a été créée par Microsoft comme façon pratique de faire en sorte qu'un programme enregistré sur un support amovible soit exécuté aussitôt que l'on insère le dit support dans un lecteur. La fonction Autorun se trouve dans tous les types de supports amovibles, comme les CD, les DVD et les clés de mémoire USB.
Cette fonction est à l'origine de risques considérables pour la sécurité car elle permet à des vers et à des chevaux de Troie de se propager avec très peu d'interaction avec l'utilisateur. De plus, on a constaté une hausse du nombre de maliciels qui exploitent cette fonction autorun.
Dans le présent rapport technique, on définit ce qu'est la fonction autorun, on identifie les risques qu'elle présente et on propose des stratégies d'atténuation.
Fonctionsautorun et autoplay
Les termes autorun et autoplay ont été utilisés de façon interchangeable, mais il s'agit de deux fonctions différentes.
Autorun
La fonction Autorun a été créée par Microsoft dans Windows 95. Elle sert à lancer des programmes automatiquement lorsqu'un support amovible est inséré dans un ordinateur. Le fichier autorun.inf est stocké dans le répertoire racine de l'appareil amovible et il est lancé lorsque l'appareil est branché à l'ordinateur.
Autoplay
La fonction Autoplay a été créée par Microsoft dans Windows XP. Cette fonction permet de choisir le programme à utiliser pour différents types de contenu multimédia. Par exemple, s'il y a plus d'un lecteur multimédia dans un ordinateur, la fonction autoplay demande à l'utilisateur de préciser le lecteur à utiliser.
La fonction autoplay est différente de la fonction autorun car lorsque vous insérez un support qui utilise la fonction autorun, c'est la fonction autoplay qui vous demande ce que vous voulez en faire.
Autorun.inf
Autorun.inf est le fichier d'instruction de la fonction autorun. Ce fichier de configuration textuel simple contient des instructions pour le système d'exploitation. Il peut inclure des instructions comme le programme exécutable à lancer, les icônes à utiliser et toute autre commande de menu contextuel qu'il faut rendre disponible. Lorsqu'un ordinateur détecte un appareil amovible, il cherche le fichier autorun.inf dans le répertoire racine de l'appareil pour y trouver d'autres instructions.
Types de supports amovibles
Clés de mémoire USB
Les clés de mémoire USB (Universal Serial Bus), ou lecteurs Flash, sont des dispositifs de stockage que l'on branche dans un port USB. On les utilise couramment pour stocker des données que l'on peut ensuite transférer facilement d'un ordinateur à un autre. Les clés USB sont un des types de supports amovibles les plus répandus.
Lecteurs U3
Les lecteurs U3, ou « lecteurs intelligents », sont des clés USB qui contiennent une rampe de lancement préinstallée qui est configurée de façon à s'exécuter automatiquement lorsque la clé est insérée. Cette rampe de lancement ressemble au menu Démarrer de Windows et, de là, on peut exécuter des programmes entièrement à partir de la clé USB sans laisser de trace des programmes ou des données dans l'ordinateur hôte. Les lecteurs U3 n'exigent aucun droit d'accès d'administration pour s'exécuter dans un ordinateur et la plupart sont dotés de leur propre logiciel antivirus.
La caractéristique unique des lecteurs U3 est qu'il s'agit en fait de deux lecteurs. Le premier est une partition en lecture seule (ROM) qui contient le fichier autorun et l'autre est un lecteur Flash standard. Les deux lecteurs s'affichent lorsque l'appareil est branché dans l'ordinateur.
CD et DVD
Les CD et les DVD sont des disques de stockage qui peuvent contenir différents types de données, y compris de la musique, des films ou des logiciels.
Disques durs externes
Les disques durs externes sont des disques durs que l'on branche à un ordinateur à l'aide d'un port USB. On les utilise comme façon peu coûteuse de stocker ou de sauvegarder de grandes quantités de données. Le fichier autorun.inf est préinstallé dans les disques durs externes.
Lecteurs MP3
Les lecteurs MP3 sont des appareils multimédia portatifs que l'on utilise pour stocker et écouter des fichiers audio. Les utilisateurs peuvent télécharger de la musique d'Internet pour la stocker dans un MP3 à l'aide d'un port USB. Le fichier autorun.inf est préinstallé dans les lecteurs MP3.
Les risques de la fonction autorun
La fonction autorun est très attrayante pour les auteurs de code malicieux parce qu'elle exige très peu d'interaction de l'utilisateur pour propager le maliciel. Les auteurs de code malicieux utilisent le fichier autorun.inf pour propager des vers et des chevaux de Troie. Le fichier contient souvent des instructions qui forcent le système d'exploitation à exécuter un fichier infecté, qui se trouve aussi dans le dispositif amovible. Selon le code malicieux, le fichier autorun.inf pourrait aussi inclure des instructions qui, par exemple, suppriment le fichier après exécution, changent l'icône du fichier pour éviter qu'il ne soit détecté ou même changent le menu contextuel de l'appareil pour tromper de nouveau l'utilisateur.
Par exemple, une clé USB infectée, lorsque branchée dans un ordinateur d'une organisation, pourrait infecter ce dernier avec le ver qu'elle contient. Cet ordinateur infecté chercherait alors tous les lecteurs amovibles pour les infecter à leur tour. Le réseau de l'organisation pourrait être infecté en moins d'une seconde, généralement sans que l'utilisateur ne s'en aperçoive. De plus, une nouvelle clé USB branchée dans cet ordinateur infecté serait infectée aussi.
Une fois un système infecté, le code malicieux peut faire bien des choses, selon ce qui a été programmé dans le code malicieux. Souvent, il est programmé de façon à établir une connexion par Internet avec une adresse IP prédéterminée afin de télécharger d'autres instructions, et peut-être un rootkit. Ce rootkit pourrait alors installer un enregistreur de frappe pour voler des numéros de comptes, des noms d'utilisateur, des mots de passe et d'autres informations sensibles.
Menaces connues découlant de l'utilisation d'autorun
Les maliciels qui utilisent le fichier autorun.inf existent depuis quelques années. Ce n'était qu'une question de temps avant que ce type d'attaque devienne plus répandu.
Rootkit de Sony BMG
En 2005, on a découvert que la compagnie Sony avait installé sur ses CD de musique un rootkit qui recueillait de l'information personnelle sur les utilisateurs, et ce, sans qu'ils ne le sachent et sans leur consentement. Il créait aussi des failles dans les mesures de sécurité. Le rootkit était pratiquement impossible à détecter par les utilisateurs parce qu'il tirait profit de la fonction autorun. Lorsque les utilisateurs découvraient le rootkit et tentaient de le désinstaller, ils constataient que leur système d'exploitation devenait inutilisable.
Cadres à photos numériques
Au début de 2008, certains rapports ont circulé dans Internet au sujet de cadres à photos numériques infectés. Ces cadres, qui étaient scellés à l'usine, contenaient un virus qui était installé silencieusement dans l'ordinateur de l'utilisateur à l'aide d'un fichier autorun.inf. Un grand nombre de clients, heureux d'avoir reçu ce cadeaux pour Noël, ont installé sans le savoir des maliciels dans leurs ordinateurs. Une fois que la nouvelle a été rendue publique, tous les grands magasins les ont rappelés.
Solutions pour désactiver autorun
Il existe plusieurs façons d'empêcher l'exécution d'un fichier autorun.inf, mais certaines sont plus efficaces que d'autres. Dans cette section, on explique plusieurs stratégies d'atténuation et on donne leurs avantages et leurs désavantages. Le CCRIC a testé ces stratégies et il ne recommande que la première d'entre elles.
Les solutions énumérées dans ce document fonctionnent, mais leur efficacité dépend surtout de la prise de conscience des utilisateurs. Il est possible de désactiver la fonction autorun dans des réseaux organisationnels, mais cela n'empêche pas les utilisateurs de cliquer sur des fichiers exécutables. Le CCRIC recommande de s'assurer que des mesures de sécurité préventives soient mises en œuvre, y compris, sans y être limité, un logiciel antivirus à jour et des règles de pare-feu contraignantes.
Vous remarquerez aussi que certaines solutions exigent la modification de certaines clés du Registre. Le CCRIC recommande de créer une copie de sauvegarde de toutes les clés du Registre avant d'apporter les changements.
Tableau 1 : Solutions et recommandations
Solutions |
Avantages |
Désavantages |
Recommandée |
Sys:DoesNotExist |
- efficace
- il est facile de changer la clé du Registre et de l'appliquer comme politique de groupe
- ne permet à aucune partie du fichier autorun.inf de s'exécuter, et ce, même si l'ordinateur a déjà vu l'appareil amovible
|
- pas suggérée par Microsoft
|
Oui |
KB950582 |
- efficace
- il est facile de changer la clé du Registre et de l'appliquer comme politique de groupe
|
- il faut appliquer la mise à jour avant que la clé du Registre puisse être changée
- même après le changement, certaines parties du fichier autorun.inf peuvent s'exécuter
|
Non |
MountPoint2 |
- efficace
- il est facile de changer la clé du Registre et de l'appliquer comme politique de groupe
|
- on n'est pas sûr de l'effet qu'elle peut avoir sur le système d'exploitation
|
Non |
NoDriveTypeAutorun |
- il est facile de changer la clé du Registre et de l'appliquer comme politique de groupe
|
- si l'ordinateur a déjà vu le support amovible avant que le changement ne soit apporté, MountPoint2 ne tient pas compte de cette solution et exécute le fichier autorun.inf
|
Non |
Touche Majuscules |
|
- il faut se fier à l'utilisateur qui doit se rappeler d'appliquer cette procédure chaque fois que le support amovible est utilisé
|
Non |
SYS:DoesNotExist
Suivez les étapes ci-dessous pour bloquer l'exécution de tous les fichiers autorun.inf. Cette solution peut être appliquée comme politique globale en changeant les clés du Registre.
- Lancez Bloc-notes.
- Copiez le texte ci-dessous et collez-le dans Bloc-notes. Tout ce qui se trouve entre les crochets doit se trouver sur une même ligne.
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\
IniFileMapping\Autorun.inf]
@="@SYS:DoesNotExist"
- Enregistrez le fichier sous le nom NoAutoRun.reg. Assurez-vous de donner au fichier l'extension .reg.
- À l'aide du bouton droit de la souris, cliquez sur votre fichier .reg et choisissez la commande « Fusionner ». Confirmez votre intention aux invites d'avertissement qui s'affichent à l'écran pour ajouter cette information au Registre. Vous pouvez aussi utiliser la commande suivante : « REG IMPORT NoAutoRun.reg ».
- Faites redémarrer l'ordinateur.
En changeant cette clé du Registre, aucune partie du fichier autorun.inf ne s'exécute, et ce, même si l'ordinateur a déjà vu l'appareil avant la modification du Registre et qu'il l'a enregistré en mémoire cache dans la clé MountPoint2. On désactive aussi les fonctions autorun sans causer d'autres effets secondaires négatifs. Le CCRIC recommande d'utiliser cette procédure comme solution efficace, surtout dans un réseau organisationnel.
Il faut souligner que le CERT CC a mis à jour ses recommandations permettant de désactiver la fonction autorun en ajoutant la suppression de la clé de Registre MountPoint2 et l'ajout de SYS:DoesNotExist. En effet, on a découvert qu'une entrée mise en cache dans la clé Mountpoint2 peut quand même contourner la clé SYS:DoesNotExist et permettre le lancement de la fonction autorun. Dans le cadre de nos propres essais approfondis, nous n'avons pas pu répliquer cette situation et, par conséquent, le CCRIC recommande toujours d'ajouter seulement la clé SYS:DoesNotExist au Registre. Le CCRIC ne recommande pas pour le moment de supprimer la clé de Registre MountPoint2 à cause d'un manque d'information disponible à ce sujet.
KB953252
En septembre 2008, Microsoft a publié un bulletin intitulé « How to correct 'disable Autorun registry key' enforcement in Windows » en réponse à l'article TechNet no 91525 qui ne désactivait pas correctement la fonction autorun.
Microsoft recommande d'appliquer une mise à jour au système d'exploitation avant de désactiver la fonction autorun. Une fois que la mise à jour a été appliquée, suivez les étapes suivantes :
- Cliquez sur « Démarrer », « Exécuter » et tapez « Gpedit.msc ».
- Accédez à « Configuration ordinateur/Modèles d'administration/Système ».
- Sélectionnez l'option « Activé » pour le paramètre « Désactiver le lecteur automatique ».
- Sélectionnez l'option « Tous les lecteurs ».
- Faites redémarrer l'ordinateur.
Veuillez consulter le lien fourni pour voir les détails et une explication complète de la procédure.
Cette solution est efficace, mais le CCRIC ne la recommande pas comme solution sécuritaire car, dans le cadre de nos essais, nous avons découvert que certaines parties des fichiers autorun.inf s'exécutent quand même, comme le changement de l'icône du dossier.
MountPoint2
Lorsqu'un ordinateur détecte un dispositif amovible, il l'examine pour y déceler un fichier autorun.inf. Il inscrit alors les valeurs dans la clé de Registre MountPoint2. Cette clé contient de l'information en cache sur tous les dispositifs qui ont déjà été connectés à l'ordinateur.
En changeant les permissions de la clé de Registre MountPoint2, on empêche l'exécution du fichier autorun.inf, et ce, même si l'ordinateur a déjà vu le dispositif amovible. Suivez les étapes ci-dessous pour changer les permissions de la clé de Registre MountPoint2 :
- Démarrer > Exécuter > tapez « regedit » pour ouvrir le Registre.
- Accédez à la clé HKEY_CURRENT_USER\Software\Microsoft\ Windows\CurrentVersion\Explorer\MountPoints2.
- Avec le bouton droit de la souris, cliquez sur « mountpoints2 » et sélectionnez « Autorisations ».
- Cliquez sur « Paramètres avancés », puis retirez la coche de l'option « Hérite de l'objet parent les entrées d'autorisation qui s'appliquent aux objets enfants. Cela inclut les objets dont les entrées sont spécifiquement définies ici. ».
- Cliquez sur « Supprimer », sur « Oui » et sur « Ok ».
Cette solution est efficace, mais le CCRIC ne la recommande pas en raison du manque d'information disponible concernant le fonctionnement de la clé de Registre MountPoint2 et les autres effets qu'elle peut avoir sur le système d'exploitation.
NoDriveTypeAutoRun
Si vous voulez désactiver la fonction autorun pour tous les lecteurs amovibles, Microsoft vous recommande de modifier la clé de Registre suivante et de régler ses valeurs à 0xFF.
HK_LOCAL_MACHINE\SOFTWARE\MICROSOFT\Windows\CurrentVersion\Policies\Explorer\NoDriveTypeAutoRun.
La modification de cette clé de Registre empêche l'exécution du fichier autorun.inf installé dans n'importe quel dispositif amovible.
Cependant, si l'ordinateur a déjà vu le dispositif amovible avant que cette clé de Registre n'ait été modifiée, toute l'information provenant du dispositif amovible a été stockée en mémoire cache dans la clé de Registre MountPoint2. Si vous réutilisez le dispositif amovible après la modification de la clé de Registre, la clé MountPoint2 contourne la valeur de la clé NoDriveTypeAutoRun, ce qui entraîne l'exécution du fichier autorun.inf.
Le CCRIC ne recommande pas cette solution. Nous l'avons testé avec un système d'exploitation qui n'avait pas déjà vu le dispositif amovible et nous avons constaté que certaines parties du fichier autorun.inf étaient exécutées quand même. Même si la modification de la clé de Registre NoDriveTypeAutorun a empêché la propagation du maliciel, le fichier autorun.inf du dispositif amovible a quand même exécuté le menu contextuel et changé l'icône du lecteur.
Touche Majuscules
La façon la plus simple d'empêcher l'exécution du fichier autorun.inf est de demander aux utilisateurs de maintenir enfoncée la touche Majuscules pendant qu'ils insèrent le support amovible. Le désavantage de cette approche est que les utilisateurs pourraient oublier de respecter cette procédure à chaque fois qu'ils insèrent un support amovible.
Le CCRIC ne recommande pas cette solution car elle repose exclusivement sur la capacité des utilisateurs à se souvenir de la mettre en œuvre. Ce n'est pas une mesure de sécurité fiable, surtout dans un environnement organisationnel.
Mise à l'essai
Des essais exhaustifs ont été menés à l'aide d'un lecteur intelligent U3 avec Windows XP. Le lecteur E était la partition en lecture seule (ROM) et le lecteur F était le lecteur Flash standard. Nous avons configuré le fichier autorun.inf de façon à ce qu'il ajoute des entrées dans le menu contextuel et change l'icône du dossier s'il était exécuté. Les tableaux 2 et 3 ci-dessous contiennent un résumé de nos constatations.
Tableau 2 : Résultats pour un lecteur U3 que l'ordinateur n'avait jamais vu
Recommandations |
L'exécutable spécifié dans Autorun.inf a été lancé |
La fenêtre Autoplay a été lancée |
Le menu contextuel a été changé |
L'icône du lecteur a été changée |
Sys:DoesNotExist |
Non |
Non |
Non |
Non |
KB953252 |
Non |
Non |
Non |
Les deux ont été changées |
MountPoint2 |
Non |
Oui |
Non |
Les deux ont été changées |
NoDriveTypeAutoRun |
Non |
Non |
Les deux ont été changées |
Les deux ont été changées |
Touche Majuscules |
Non |
Non |
Les deux ont été changées |
Les deux ont été changées |
Tableau 3 : Résultats pour un lecteur U3 que l'ordinateur avait déjà vu
Recommandations |
L'exécutable spécifié dans Autorun.inf a été lancé |
La fenêtre Autoplay a été lancée |
Le menu contextuel a été changé |
L'icône du lecteur a été changée |
Sys:DoesNotExist |
Non |
Non |
Non |
Non |
KB953252 |
Non |
Non |
Non |
Les deux ont été changées |
MountPoint2 |
Non |
Oui |
Non |
Les deux ont été changées |
NoDriveTypeAutoRun |
Non |
Non |
Seulement pour le lecteur F |
Les deux ont été changées |
Touche Majuscules |
Oui |
Oui |
Les deux ont été changées |
Les deux ont été changées |
http://windowshelp.microsoft.com/Windows/en-us/help/a19ac945-1007-4638-9615-e2c3bfd92b751033.mspx
On peut trouver des exemples de commandes à l'adresse http://autorun.moonvalley.com/autoruninf.htm
http://en.wikipedia.org/wiki/2005_Sony_BMG_CD_copy_prevention_scandal
http://isc.sans.org/diary.html?storyid=3787
http://www.windowssecrets.com/2007/11/08/02-One-quick-trick-prevents-Autorun-attacks
http://www.cert.org/blogs/vuls/2008/04/the_dangers_of_windows_autorun.html
http://support.microsoft.com/kb/953252
http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/regentry/91525.mspx?mfr=true
Note aux lecteurs
Le Centre canadien de réponse aux incidents cybernétiques (CCRIC) constitue le point de convergence au Canada pour les avertissements et l'analyse concernant les menaces et les vulnérabilités cybernétiques, ainsi que pour la coordination de la réponse aux incidents. Le CCRIC est chargé d'assurer la résilience de l'infrastructure essentielle nationale en surveillant les menaces et en coordonnant la réponse du gouvernement fédéral aux incidents de cybersécurité d'intérêt national. Le CCRIC, qui travaille conjointement avec le Centre des opérations du gouvernement (COG) de Sécurité publique Canada, constitue un élément clé de l'approche « tous risques » du gouvernement en regard de la gestion des urgences et de la sécurité nationale.
Pour obtenir des renseignements généraux, veuillez communiquer avec la division des Affaires publiques de Sécurité publique Canada:
Téléphone: 613-944-4875 ou 1-800-830-3118
Télécopieur: 613-998-9589
Courriel: communications@ps-sp.gc.ca