Brevet FR2895817A1 — publié le 20070706

La présente invention concerne le domaine de la protection des données et plus particulièrement un procédé d'analyse de pages et un système pour fournir à l'utilisateur d'un navigateur des informations sur les risques de sécurité présentés par lesdites pages. A l'heure actuelle, lorsqu'un utilisateur navigue sur Internet, il peut être trompé de différentes manières. Certaines attaques de sécurité mettent en cause l'intégrité des pages accédées. Le premier type d'attaque de ce genre est la défiguration de pages. Dans ce cas, l'attaquant remplace par le contenu qu'il souhaite le contenu légitime d'une page. Ce type d'attaque peut avoir un impact négatif très grave sur l'image d'une société quand les pages attaquées sont celles de son site web public. Un autre type d'attaque est appelé web-phishing . Dans ce cas, l'utilisateur reçoit un faux e-mail faisant référence au site Internet attaqué mais qui pointe en réalité sur un autre site. Cet autre site, très similaire au site Internet attaqué, est un site pirate qui appartient à l'attaquant. L'utilisateur, qui ne peut pas toujours se rendre compte de la supercherie, peut être amené en toute bonne foi à fournir les informations demandées sur ce site pirate . Il peut s'agir d'informations confidentielles telles que des codes de carte bancaire par exemple. Le pirate a ensuite la possibilité d'utiliser ces informations à sa guise, par exemple un code bancaire fourni par l'utilisateur pour effectuer des 2 achats sur son compte. L'utilisateur peut alors subir d'importantes pertes financières. Un troisième type d'attaque est appelé URL spoofing . Dans ce cas, l'attaque consiste à modifier l'URL, c'est à dire l'adresse Internet du site web qui s'affiche dans le navigateur de l'utilisateur. Cette attaque a pour but de faire croire à l'utilisateur qu'il est effectivement sur le site indiqué dans l'URL. Ces attaques peuvent parfois être détectées lorsque les sites comportent un système de sécurité qui utilise le protocole SSL (Secure Socket Layers). Dans ce cas, l'utilisateur doit alors se fier au nom du propriétaire affiché dans le certificat qui est lié à la page Internet consultée. Cependant, la vérification d'un certificat n'est pas aisée - elle nécessite que l'utilisateur navigue dans divers menus avant d'accéder au certificat - ce qui explique que les utilisateurs l'effectuent rarement. De plus, le nom utilisé dans le certificat n'est pas toujours un nom évocateur. En effet, il peut s'agit d'un nom de machine, d'un nom de domaine, du nom du groupe ou de la holding à laquelle la société appartient, etc. Par exemple, il n'est pas évident pour l'utilisateur qui surfe sur le site www.bonchocolat.com que ce site est hébergé par la société Nestlé. De plus, la plupart des utilisateurs ne tiennent pas à jour la liste de révocation des certificats. Cette liste peut être mise à disposition par leur navigateur mais les utilisateurs désactivent très souvent cette option. Par conséquent, un attaquant pourra tout à fait utiliser un certificat SSL correctement signé mais révoqué. L'utilisateur ne le détectera pas s'il accorde une totale confiance au certificat SSL et pourra se retrouver sur un site pirate alors qu'il pense être sur un site légitime. L'utilisateur pourra alors être victime de désinformation ou encore fournir en toute bonne foi des informations demandées sur ce site pirate. Donc, malgré la présence d'un certificat SSL, une attaque est toujours possible et reste indétectable même pour un utilisateur relativement averti. Le certificat SSL ne protège donc pas efficacement la page Internet. Concernant ces trois types d'attaque, aucun outil n'est adapté pour prévenir de façon explicite l'utilisateur que le site qu'il est en train de consulter peut avoir été attaqué. Un but de la présente invention est de remédier à ces inconvénients en proposant un procédé et un système d'analyse de pages pour détecter un changement d'au moins un paramètre de ladite page concernant des risques de sécurité tels que la défiguration de pages, le web phising, le URL spoofing par exemple. Le procédé est caractérisé en ce qu'il comprend les étapes suivantes : - dans un premier temps, l'application d'une fonction aux pages authentiques et la mémorisation des premiers résultats ainsi obtenus ; 4 - dans un deuxième temps, l'application de ladite fonction à une page supposée authentique avant son affichage par le navigateur pour obtenir un deuxième résultat ; - la comparaison du deuxième résultat de la page supposée authentique avec le premier résultat de la page authentique correspondante pour confirmer les risques de sécurité de la page supposée authentique avant son affichage. Selon un mode de réalisation particulier, ladite fonction comprend une fonction de filtrage de l'adresse des pages pour extraire certaines informations de l'adresse des pages. Avantageusement, ladite fonction de filtrage d'adresse des pages extrait les parties fixes des adresses de pages. Avantageusement, ladite fonction comprend une 20 fonction de traitement du certificat des pages. Avantageusement, le signal d'avertissement à destination de l'utilisateur est un signal visuel apparaissant sur l'écran d'affichage desdites pages. Avantageusement, la comparaison et le signal d'avertissement ne s'appliquent que sur certaines pages marquées comme sensibles. 30 Les autres buts, objets et caractéristiques de l'invention apparaîtront plus clairement à la 25 lecture de la description qui suit faite en référence au dessin dans lequel : la figure 1 présente un schéma relationnel des différents modules fonctionnels. 5 Selon l'invention, un utilisateur manipule un système lui permettant de se connecter à un système d'information. Dans la mise en oeuvre préférée de l'invention, l'utilisateur accède au réseau Internet à l'aide d'un logiciel couramment appelé navigateur . Ce logiciel donne accès à des pages d'information et permet à l'utilisateur de parcourir ces pages d'information. Ces pages sont caractérisées par des paramètres. Ces paramètres sont par exemple le contenu de la page, l'adresse de la page, le certificat de sécurité associé à cette page. Cette page est appelé page authentique lorsqu'il s'agit d'une page qui provient du vrai propriétaire de la page. La page est donc caractérisée en partie par son son contenu. Ainsi le contenu d'une page Internet est codé dans le format HTML. Le procédé selon l'invention n'est pas lié au format HTML ou à un type de réseau particulier. Le contenu d'une page peut inclure, en sus du texte, des scripts (par exemple en javascript), des applications (ou applets ), des balises (ou marques). Ces différents éléments ont tous une fonction bien définie dans une page web. Le script, dont le format peut être, par exemple, de la forme ... , est une liste de commandes qui permet l'automatisation d'une tâche. L'applet, dont 6 le code est, par exemple de la forme ... , est une petite application (par exemple développée en langage Java) intégrée dans une page. L'applet est indépendante du système d'exploitation sur laquelle elle s'exécute. Elle peut être utile, entre autres, pour faire défiler du texte dans une zone définie ou afficher des animations. Le javascript est un langage qui permet de contrôler le navigateur avec des richesses fonctionnelles que ne permet pas le langage HTML. Les commentaires, dont le code est , sont des portions du code source ignorées qui ne sont pas interprétées et qui ne sont pas nécessaires à l'exécution du programme. Les balises, dont le code est ... , servent à délimiter des ensembles de données 20 contenues dans une page web et à les structurer. Lorsqu'une page Internet est affichée sur l'écran de visualisation du système, cette page comporte un indicateur visuel pour indiquer une 25 information liée à la page. Il peut s'agir par exemple d'un trait épais de couleur qui reprend les contours de la page Internet sur l'écran de visualisation. Il peut également s'agir d'une icône dont la couleur peut varier selon la nature de 30 l'information à transmettre à l'utilisateur. De manière plus générale, l'indicateur peut être complètement logiciel (sans nécessiter de matériel 7 spécifique) ou couplé à un matériel particulier (LED, accès à une zone particulière de l'écran via le driver de la carte graphique etc.). Dans tous les cas, il est important que cet indicateur soit facilement visible pour l'utilisateur. Les pages Internet sont également caractérisées par une adresse Internet. Cette adresse commence le plus souvent par http://www.. Un système de sécurité est parfois associé à ces pages Internet. Ce système se présente sous la forme d'un certificat SSL (Secure Socket Layers). Ce certificat est un fichier unique et numérique permettant d'authentifier un site web. SSL permet de plus de chiffrer toute information circulant sur Internet. Dans ce cas, l'adresse de la page Internet est légèrement modifiée et devient https://www.. Le s ajouté signifie security . La figure 1 présente un dispositif dans lequel la page html 1, l'adresse internet 2 et le certificat 3 sont chacun reliés à différents modules fonctionnels. Typiquement, la fonction également nommée fonction caractéristique utilise des informations relatives au contenu d'une page, à son adresse et au certificat qui peut leur être associé. Elle comprend également des modules de filtrage 4 et 5 qui permettent d'extraire seulement certaines informations desdits contenus et adresse. Dans une mise en oeuvre préférée de l'invention : - le module de filtrage de contenu extrait les parties statiques des contenus de pages, c'est à dire qu'il ne tient pas compte des éléments qui correspondent aux parties dynamiques des pages (typiquement les scripts, les applets, les javascripts, les commentaires et les balises) ; - le module de filtrage d'adresse extrait les parties statiques des adresses de pages, c'est à dire qu'il ne tient pas compte des éléments qui correspondent aux parties dynamiques des pages (typiquement les numéros de session, les noms de cookies - dans une adresse Internet, cette partie dynamique se situe après un point d'interrogation). Les adresses de pages (ou la partie statique extraite par le module de filtrage d'adresse) peuvent être converties en équivalent en code ASCII (American Standard Code for Information Interchange). La fonction caractéristique comprend également une fonction 6. Cette fonction possède trois propriétés. La première propriété est que la fonction est sans collisions. Ainsi l'application de la fonction à un couple de paramètres permet d'obtenir un résultat tel que si deux résultats sont identiques alors les deux couples de paramètres 9 d'entrée sont également identiques. De la même façon, si deux résultats sont différents, alors les deux couples de paramètres d'entrée sont différents. La deuxième propriété est que la fonction est une fonction à sens unique . Ainsi lorsque l'on dispose du résultat, on ne peut pas utiliser cette fonction pour retrouver le couple de paramètres d'entrée qui a été utilisé pour obtenir le résultat. Enfin la troisième propriété est que la fonction produit un résultat appelé aussi condensé. Ce condensé possède une taille inférieure aux paramètres d'entrée. Ce type de fonction est par exemple une fonction de hachage. Cette fonction de hashage 6 peut ensuite être appliquée à l'ensemble des informations extraites des pages (possiblement filtrées par lesdits modules de filtrage et transformées en code ASCII). L'application d'une telle fonction permet d'obtenir un condensé 7 de taille inférieure aux paramètres d'entrée de la fonction. Par ailleurs les fonctions de hashage présentent l'avantage d'être sans collisions (si deux résultats sont différents, alors les paramètres d'entrée le sont également). Au sens mathématique du terme, la fonction sans collisions présente, en fait, une très forte résistance aux collisions. 10 L'ensemble des condensés ainsi mémorisés pour différentes pages Internet constitue une liste qui est stockée afin d'être utilisée lors de la connexion à une page Internet. Lors de la connexion d'un utilisateur à Internet, quand l'utilisateur visualise une page Internet dite sensible , l'état de cette page est calculé automatiquement à l'aide de ladite fonction caractéristique. Cet état est comparé au résultat correspondant à ladite page tel que mémorisé dans la liste des condensés stockés sur le site de l'utilisateur. Si la comparaison révèle une différence entre l'état qui vient d'être calculé et le résultat mémorisé, un signal d'avertissement est émis à destination de l'utilisateur. Il peut s'agir par exemple d'une icône ou d'un LED prenant la couleur rouge. Si la comparaison ne révèle pas de différence entre l'état qui vient d'être calculé et le résultat mémorisé, alors l'indicateur visuel prend typiquement une autre apparence (par exemple couleur verte) ce qui signifie que l'intégrité de la page Internet n'est pas mise en cause. Dans un autre mode de réalisation, on peut également introduire des marques (ou balises dans les pages). Ces balises sont des indicateurs qui permettent de localiser exactement les zones sensibles de la page. Ainsi dans le langage HTML ces balises peuvent être réalisées par l'insertion de l'attribut class concernant des éléments HTML tels que des images, des tableaux par exemple. Le code source de la page HTML est alors modifié de la façon suivant : ... . Par exemple, si la page HTML comporte un formulaire qui demande la saisie d'un code secret, alors ce formulaire sera typiquement indiqué comme sensible. Dans ce mode de réalisation, le module de filtrage de contenu extrait les parties sensibles repérées par les balises. Concernant l'insertion de ces balises, l'auteur du site Internet peut les réaliser. Un opérateur de télécommunication peut également se charger de les introduire. Il peut alors s'agir d'un service que l'opérateur propose aux propriétaires des sites Internet. Ainsi, l'utilisateur d'un terminal mobile peut se voir fournir une garantie de sécurité lors de sa navigation sur Internet. Dans la pratique, l'opérateur de télécommunication peut également fournir de manière payante un service utilisant un téléphone muni d'un indicateur visuel. L'opérateur peut fournir le téléphone ou seulement une application qui s'installe sur le terminal mobile 25 postérieurement à son achat par l'utilisateur, sans que ce dernier doive change de terminal mobile. L'opérateur de télécommunication peut également proposer aux propriétaires des sites web 30 d'appartenir à une liste dite de confiance . Les différents sites web présents sur cette liste sont alors automatiquement marqués comme sensibles et 12 bénéficient donc automatiquement du contrôle d'intégrité grâce au logiciel installé sur le terminal mobile de l'utilisateur. L'utilisateur d'un site Internet obtient ainsi une garantie supplémentaire lorsqu'il visualise une page ou qu'il entre des données confidentielles demandées par un site distant. REVENDICATIONS 1) Procédé d'analyse de page pour détecter un changement d'au moins un paramètre de ladite page concernant des risques de sécurité, procédé caractérisé en ce qu'il comprend les étapes suivantes : - dans un premier temps, l'application d'une fonction aux pages authentiques et la mémorisation 10 des premiers résultats ainsi obtenus ; - dans un deuxième temps, l'application de ladite fonction à une page supposée authentique avant son affichage par le navigateur pour obtenir un deuxième résultat ; 15 - la comparaison du deuxième résultat de la page supposée authentique avec le premier résultat de la page authentique correspondante pour déterminer les risques de sécurité de la page supposée authentique avant son affichage. 20 2) Procédé d'analyse de page selon la revendication précédente, caractérisé en ce que les paramètres de la page comprennent le contenu de la page, l'adresse de la page, le certificat de 25 sécurité de la page. 3) Procédé d'analyse de page selon la revendication 1 ou 2, caractérisé en ce que ladite fonction comprend une fonction de filtrage du 30 contenu desdites pages pour extraire certaines informations du contenu des pages.) Procédé d'analyse de page selon l'une des revendications précédentes, caractérisé en ce que le procédé comprend une étape d'information comprenant un signal pour avertir l'utilisateur sur les risques de sécurité liés à la page. 5) Procédé d'analyse de page selon l'une des revendications précédentes, caractérisé en ce que la fonction comprend une fonction à sens unique, sans collisions et qui produit un condensé. 6) Procédé d'analyse de page selon l'une des revendications précédentes, caractérisé en ce que la fonction comprend une fonction de hachage. 7) Procédé d'analyse de page selon la revendication 3 ou l'une des revendications 4 à 6 quand elles dépendent de la revendication 3, caractérisé en ce que ladite fonction pour filtrer le contenu des pages extrait les parties statiques des pages. 8) Procédé d'analyse de page selon l'une des revendications précédentes, caractérisé en ce que ladite fonction comprend une fonction de filtrage de l'adresse des pages pour extraire certaines informations de l'adresse des pages. 9) Procédé d'analyse de page selon la revendication 8, caractérisé en ce que ladite fonction de filtrage d'adresse des pages extrait les parties fixes des adresses de pages.) Procédé d'analyse de page selon l'une des revendications précédentes, caractérisé en ce que ladite fonction comprend une fonction de traitement du certificat des pages. 11) Procédé d'analyse de page selon l'une des revendications précédentes, caractérisé en ce que le procédé comprend une étape d'introduction de marque spécifique dans les pages et en ce que ladite fonction utilise ces marques pour extraire certaines informations des pages. 12) Procédé d'analyse de page selon l'une des 15 revendications précédentes, caractérisé en ce que le signal d'avertissement à destination de l'utilisateur est un signal visuel apparaissant à l'écran d'affichage desdites pages. 20 13) Procédé d'analyse de page selon l'une des revendications précédentes, caractérisée en ce que la comparaison et le signal d'avertissement ne s'appliquent que sur certaines pages marquées comme sensibles. 25 14) Système d'analyse de page pour fournir à l'utilisateur d'un logiciel permettant de parcourir des pages des informations sur l'authenticité du contenu desdites pages caractérisé en ce que le 30 système comprend des moyens pour exécuter les étapes du procédé selon l'une des revendications précédentes. 5X16 15) Système selon la revendication 14 caractérisé en ce que le système s'exécute sur un appareil portatif. 16) Système selon la revendication 14 ou 15 caractérisé en ce que le système est réalisé par une application installée sur l'appareil portatif postérieurement à son acquisition par l'utilisateur. 10 17) Système selon la revendication 14, 15 ou 16 caractérisé en ce que lesdites pages sont codées au format html.