![]() |
CERTA Centre d'Expertise Gouvernemental de |
![]() |
|
Affaire suivie par : CERTA Objet : iFRAME, fonctionnement et
protection
Gestion du document
Une gestion de version détaillée se trouve à la fin de ce document. 1 IntroductionParmi les méthodes de compromission rencontrées sur l'Internet et traitées par le CERTA dans le cadre de ses missions, il est de plus en plus courant de rencontrer l'insertion de balise iFRAME dans les codes sources des pages des sites web. Le but de cette note d'information est définir le principe de fonctionnement de ces iFRAME et les moyens pour les utilisateurs, les developpeurs et les hébergeurs de site web de se protéger et de prévenir ce type d'attaque. 2 Principe de fonctionnement2.1 DéfinitionLa balise iFRAME est une balise HTML. Le nom iFRAME est utilisé pour désigner une inline frame. Cette balise est utilisée afin d'insérer dans une page HTML un autre document HTML. Il est important de souligner la différence qui existe entre les balises FRAME et iFRAME :
2.2 Le code HTMLVoici, ci-dessous, l'exemple d'une page affichant un document HTML hébergé sur un autre serveur.
Il est possible de personnaliser la balise iFRAME avec les arguments suivants :
L'ensemble des spécifications de la balise iFRAME est disponible sur le site du W3C (cf. la section « Documentation »). Lors de la visite de la page ci-dessus, l'internaute se connecte au serveur hébergeant la page. Comme la page en question contient une iFRAME intégrant le contenu de la page d'accueil du site http://www.certa.ssi.gouv.fr, le navigateur est dans l'obligation d'effectuer une deuxième connexion vers le site http://www.certa.ssi.gouv.fr afin d'afficher le contenu de la page http://www.certa.ssi.gouv.fr/site/index.html. Cette deuxième connexion se fait de manière transparente pour l'utilisateur. Le navigateur affiche le contenu des deux pages téléchargées sur deux serveurs distincts sans que cela ne soit perceptible pour l'internaute. 3 Les risques liés à cette baliseLa connexion de l'utilisateur au serveur hébergeant le contenu de l'iFRAME s'effectuant à son insu, il est facile pour un individu malveillant d'exploiter cette propriété afin de compromettre sa victime. L'objectif de l'utilisation de la balise iFRAME par une personne malintentionnée est bien souvent la propagation de codes malveillants. Le mode opératoire est souvent le même. Le première étape est la compromission d'un site légitime. Une fois que l'attaquant a obtenu un accès au site, il en profite pour insérer dans les pages légitimes des iFRAME et les rendre invisibles. Pour cela, soit il en réduit la taille au minimum, soit il en bloque l'affichage. Le fait de bloquer l'affichage n'empêche en rien la connexion du visiteur vers le serveur contenant le contenu de l'iFRAME. Pour rendre l'iFRAME invisible aux yeux de l'internaute, il faut intégrer le paramètre suivant à la balise
Le visiteur, se rendant sur la page d'un site a priori de « confiance », établit alors, à son insu, une connexion vers un site et télécharge un code malveillant. Ce code, pour s'exécuter, exploite des vulnérabilités du navigateur et s'installe sur la machine de la victime. Les risques liés aux iFRAMEs concernent les développeurs de sites Internet, les hébergeurs ainsi que les utilisateurs finaux. Les développeurs sont la première barrière face à ce type d'attaque. L'injection de balise iFRAME dans une page web légitime s'effectue généralement par le biais d'une faiblesse du site Internet. La compromission d'un site peut nuire à l'image de son concepteur et de l'entité, entreprise ou administration, représentée par ce site. Les hébergeurs, ayant un statut d'intermédiaire entre la conception du site et son utilisation finale, sont également concernés. Ils peuvent par leur vigilance, contrôle des journaux et mesure de filtrage, limiter ou même empêcher la compromission des sites et par conséquent des internautes visitant ces derniers. Enfin les utilisateurs, naviguant sur l'Internet, peuvent être redirigés malgré eux vers des pages au contenu malveillant et ainsi compromettre leur système d'information. Ce risque existe également lors de réception de courriels si ces derniers sont envoyés et surtout lus au format HTML. 4 Les moyens de protectionLa balise iFRAME est tout à fait légitime mais c'est l'utilisation qui en est faite qui la rend potentiellement dangereuse. Il est donc important de mettre en place certaines protections afin de limiter les risques et impacts des détournements de fonctionnalité qui peuvent en être fait. Les recommandations suivantes vont se faire sur trois niveaux afin de couvrir l'ensemble des acteurs concernés : l'utilisateur final, l'hébergeur, l'exploitant du site et le concepteur. 4.1 Les recommandations aux utilisateursLes moyens de protection décrits ci-dessous sont de manière générale des recommandations applicables pour toute navigation sur l'Internet :
4.2 Les recommandations aux hébergeursL'hébergement, surtout s'il est mutualisé (lire la note d'information CERTA-2005-INF-005 sur ce sujet) , est un point qui nécessite une attention particulière. Les recommandations sont les suivantes :
4.3 Les recommandations aux exploitants du site webIl est conseillé aux personnes en charge de la gestion du site Internet et de son contenu d'appliquer les recommandations suivantes :
4.4 Les recommandations aux concepteurs/développeursLa sécurité d'un site est en grande partie liée à son mode de conception et elle doit y être intégrée dès le départ. Afin de limiter les risques de compromission via une faiblesse de conception, il est recommandé de :
Le CERTA recommande également la lecture de sa note d'information CERTA-2007-INF-002 sur les bons usages de PHP. 5 ConclusionLa balise iFRAME peut permettre à une personne malintentionnée de forcer la connexion de l'utilisateur vers un site malveillant. Cette connexion peut permettre la compromission de la machine du visiteur soit par le téléchargement d'un code malveillant, soit par l'interprétation de code dynamique exploitant des vulnérabilités du navigateur. De plus, il est récurrent de constater l'imbrication d'iFRAME ce qui complique l'identification de la (ou des) machine(s) malveillante(s). Il est courant de constater qu'une iFRAME contient une ou plusieurs autres iFRAME. Cette cascade d'iFRAME pourrait permettre de mieux dissimuler les codes malveillants et faciliter l'ajout ou la suppression de vulnérabilités à exploiter. Afin de limiter les risques liés à cette balise, il est important que tous les acteurs de l'Internet (des concepteurs aux utilisateurs finaux en passant par les hébergeurs) soient conscients de l'usage qui est faite de cette balise et des risques liés à son utilisation à des fins malveillantes. 6 Documentation
Gestion détaillée du document
CERTA 2012-01-04 |
![]() |
||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||