Les contrôles ActiveX

Date : 27 Juillet 2005

Un certain nombre de failles de sécurité récentes, dont celle décrite dans l'avis CERT-IST/AV-2000.101, sont liées aux codes mobiles et autres composants réutilisables. Il nous a paru important de mieux cerner les risques liés aux contrôles ActiveX (fichiers .ocx) qui sont des objets issus du modèle COM (Component Object Model) de Microsoft.

Le modèle COM est la norme de Microsoft pour le développement de composants réutilisables et communicants. Sa grande particularité est qu’il n’est pas destiné à un langage de programmation précis, ni à une plate-forme précise.

Les contrôles ActiveX sont des objets du modèle COM destinés essentiellement aux applications Web à travers les plate-formes Windows. Ce sont les concurrents des fameuses applets Java

Ils sont appelés à travers des pages web par des scripts (JavaScript ou autres) ou directement par des tags html. Si un contrôle ActiveX n’est pas présent sur le système au moment de son appel, il peut être alors téléchargé à partir d’une URL fournie dans cette page.

En terme de sécurité, les contrôles ActiveX ne s’exécutent pas dans un environnement restreint, contrairement au applets Java (notion de sandbox) mais directement sur le système avec les privilèges de l’utilisateur connecté. Ainsi, il est très important de connaître le degré de confiance que l’on accorde à un contrôle ActiveX.

Pour cela, les contrôles ActiveX se dissocient en 2 familles :

  • les contrôles ActiveX signés,
  • les contrôles ActiveX non signés

La signature du contrôle ActiveX permet de vérifier l’intégrité de ce dernier pour s’assurer qu’il n’a pas subi de modification depuis sa conception. Cependant, un contrôle signé n’est pas une marque de confiance suffisante dans le sens où ce dernier reste quand même la création d’une personne plus ou moins bien intentionnée.

Les auteurs de contrôles ActiveX ont la possibilité de marquer leur "produit" comme "sûr pour l’écriture de scripts" (Safe for scripting). Cela signifie que ces contrôles peuvent être utilisés à travers des scripts situés sur des pages web. Par "définition", un contrôle marqué comme "sûr pour l’écriture de scripts" ne donnerait pas la possibilité de faire des dommages sur le système. Cependant, la sécurité de ce contrôle repose également sur la confiance que l’on accorde à son auteur.

Par le passé, des vulnérabilités dans des contrôles ActiveX marqués "sûr pour l’écriture de scripts" ont été exploitées pour concevoir des virus (Cf. avis CERT-IST/AV-1999.195a sur la vulnérabilité et ceux sur les virus l’utilisant : Bubbleboy CERT-IST/AV-1999.252 et Kak CERT-IST/AV-2000.006).

De même ce mois-ci, un avis de Microsoft a fait part du danger que représentait un contrôle ActiveX utilisé par l’aide de Office2000 (Cf. CERT-IST/AV-2000.101)

Les contrôles ActiveX et les navigateurs :

- Sous Internet Explorer 5.x, des paramétrages spécifiques permettent de gérer la sécurité des contrôles ActiveX :

Menu Outils -> Options Internet -> Sécurité -> personnaliser le niveau (pour la zone Internet)

Dans la partie "Contrôles ActiveX et Plugins", l’utilisateur peut alors agir sur les paramètres suivants :

  • "Contrôles ActiveX reconnus sûrs pour l'écriture de scripts" ("Demander" conseillé)
  • "Contrôles d'initialisation et de scripts ActiveX non marqués comme sécurisés" ("Désactiver" conseillé)
  • "Exécuter les contrôles ActiveX et Plugins" ("Demander" conseillé)
  • "Télécharger les contrôles ActiveX non signés" ("Désactiver" conseillé)
  • "Télécharger les contrôles ActiveX signés" ("Demander" conseillé)

- Sous Netscape Navigator, les contrôles ActiveX ne sont pas supportés par défaut à moins de télécharger le plugin ScriptActive.

Des informations supplémentaires peuvent être trouvées dans l’avis du CERT/CC CA-2000-07 à l’adresse http://www.cert.org/advisories/CA-2000-07.html.

Précedent Précedent Suivant Suivant Imprimer Imprimer