Brevet FR2814306A1 — publié le 20020322

z PROCEDE DE CONTRE-MESURES POUR AMELIORER LA SECURITE DE TRANSACTIONS DANS UN RESEAU L'invention concerne les réseaux qui permettent d'effectuer des transactions sécurisées entre les utilisateurs du réseau, notamment des transactions monétaires et, plus particulièrement dans le réseau INTERNET, un procédé de contre-mesures pour empêcher à un fraudeur de faire croire à un utilisateur que la transaction en cours est sécurisée, ceci, par exemple, en vue de soutirer à ce dernier des informations confidentielles telles qu'un numéro de carte bancaire ou, au contraire, alimenter l'acheteur avec des informations inexactes. Dans le réseau INTERNET, de plus en plus de sites marchands proposent des transactions sécurisées en mettant en oeuvre des certificats qui garantissent, dans une certaine mesure, que les informations que l'acheteur va rentrer à l'écran sur le site du vendeur ne peuvent pas être "dérobées" par un tiers à la transaction. Ceci est réalisé en établissant une communication signée et/ou chiffrée entre le vendeur et l'acheteur, par exemple à l'aide de la norme SSL. Lorsqu'un site vendeur est sécurisé pour la transaction à effectuer, cet état est porté à la connaissance de l'acheteur, par des caractéristiques visuelles du navigateur (terme plus connu sous le vocable anglo- saxon ) qui consistent en: - l'apparition d'un cadenas fermé en bas de la fenêtre du navigateur, à gauche, à droite ou ailleurs selon le navigateur utilisé, et - l'apparition, dans la barre d'adresse du site, de la lettre "s" après "http" pour obtenir "https" en début d'adresse. Pour l'acheteur, ces caractéristiques visuelles sont, en général, les seules preuves que la transaction à effectuer sera sécurisée. Ainsi, un fraudeur qui voudrait "dérober" les informations confidentielles d'un acheteur potentiel ou, au contraire, l'induire en erreur en lui présentant des fausses informations, doit faire apparaître ces caractéristiques visuelles sur son site vendeur de manière à faire croire que la transaction à effectuer sera sécurisée. Dans l'état actuel de fonctionnement des navigateurs, il est possible de faire apparaître ces caractéristiques visuelles de sécurité en l'absence de toute sécurité en utilisant un langage de programmation, notamment ceux connus sous les marques "JAVA" ou " ActiveX ". En effet, ces langages permettent d'afficher par une "applet" une image en surimpression de celle affichée par le navigateur et ainsi faire apparaître les caractéristiques visuelles de sécurité en vue de tromper l'acheteur sur la réalité de la sécurité. Un but de la présente invention est donc de mettre en oeuvre un procédé de contre-mesures pour empêcher à un fraudeur de faire croire à un utilisateur par une ou plusieurs images en surimpression que sa transaction est sécurisée alors qu'elle ne l'est pas. Ce but est atteint en empêchant la surimpression de cette ou ces image(s) dans certaines parties de l'écran du navigateur, notamment dans des parties réservées aux caractéristiques visuelles de sécurité. Cette surimpression est empêchée en modifiant le programme du navigateur, du système d'exploitation ou par l'ajout d'un programme tiers afin de déterminer si l'image en surimpression affecte ces parties réservées aux caractéristiques visuelles de sécurité et afficher un message d'alarme ou prendre des mesures protectrices si tel est le cas. Dans le cas du langage "JAVA", la modification du programme s'effectue dans la partie de la machine virtuelle "JAVA" relative à la sécurité en ajoutant une nouvelle règle de sécurité. Ainsi, l'invention concerne un procédé de contre- mesures pour améliorer la sécurité des transactions entre les sites et les visiteurs des sites connectés o10 par un réseau qui est accessible par l'intermédiaire d'un programme de navigation capable d'afficher des images en surimpression sur l'écran d'affichage en provenance du site examiné, caractérisé en ce qu'il comprend les étapes suivantes consistant à: (a) déterminer au moins une zone de l'écran o la surimpression d'une image conduirait à afficher au visiteur du site une information erronée relative à la sécurité de la transaction en cours, (b) détecter si une surimpression d'image qui est demandée par un site examiné recouvre tout ou partie de ladite zone, (c) continuer la transaction si le résultat de l'étape (b) est négatif, ou (d) entreprendre une action protectrice telle que afficher un message d'avertissement, bloquer l'exécution, refaire apparaître le contenu de la zone recouverte ailleurs etc si le résultat de l'étape (b) est positif. D'autres caractéristiques et avantages de la présente invention apparaîtront à la lecture de la description suivante d'un exemple particulier de réalisation, ladite description étant faite en relation avec les dessins joints dans lesquels: - la figure 1 est une vue simplifiée d'un écran de navigateur montrant que la transaction monétaire à effectuer sera sécurisée; - la figure 2 est une vue simplifiée d'un écran de navigateur montrant une image en surimpression faisant croire que la transaction est sécurisée; - la figure 3 est une vue simplifiée d'un écran de navigateur montrant au moins un message en cas de détection d'une image en surimpression interdite par le procédé selon l'invention. Dans le réseau INTERNET, pour rechercher les informations, il est fait appel à des programmes appelés "navigateurs" tels que ceux connus sous les marques "NETSCAPE" et "INTERNET EXPLORER". Ces navigateurs font apparaître des écrans comportant plusieurs parties, chaque partie étant affectée à certaines fonctionnalités. La figure 1 donne une vue simplifiée d'un tel écran dans le cas o l'utilisateur est invité à dactylographier son numéro de carte bancaire en vue de payer un achat. Cet écran comprend sept parties ou zones horizontales qui sont: - une barre des titres 10, - une barre des menus 12, - une première barre des fonctions 14, - une deuxième barre de fonctions 16 comportant notamment une zone d'adresse 26, - une troisième barre de fonctions 18, - une fenêtre de navigateur 20, - une barre de messages 22 comportant notamment une zone de cadenas 24. S'agissant d'une transaction monétaire qui doit être sécurisée, le caractère sécuritaire est affiché comme indiqué dans le préambule, par exemple, - par un cadenas fermé 24 dans la zone 22 de bas d'écran dans le cas du navigateur connu sous la marque NETSCAPE, - par la lettre minuscule "s" accolée à "http" dans la zone 16 et plus particulièrement dans l'adresse 26 du site. Ce caractère sécuritaire peut aussi être affiché à tout autre endroit de l'écran du navigateur sous la forme d'une fenêtre contenant toutes les informations de sécurité de la transaction en cours. Dans le cas du navigateur connu sous la marque INTERNET EXPLORER (figure 2), le cadenas fermé 28 est dans la zone 30 du bas de l'écran mais à droite. Cependant, dans le cas de la figure 2, il s'agit d'une fraude que le procédé de l'invention empêche. En effet, le cadenas fermé 28 fait partie d'une image en surimpression 32 qui a pour but de faire croire que la transaction est sécurisée. Cette image en surimpression est obtenue, par exemple, de manière classique par une "applet" en langage "JAVA", ou par tous autres langages. Pour empêcher l'affichage à l'écran d'une telle image qui contient une information erronée faisant croire que la transaction est sécurisée, le procédé selon l'invention prévoit d'entreprendre une action préventive et/ou protectrice telle que afficher un message d'avertissement, bloquer l'exécution, avertir l'utilisateur de cette supercherie dès que l'image en surimpression concerne les zones suivantes: - la zone 22 ou 30 o le cadenas 24 ou 28 doit apparaître, - la zone 16 et plus particulièrement la zone 26 o la lettre minuscule "s" termine le début d'adresse "http" pour s'écrire "https", et - la zone 10 du titre o des messages peuvent être affichés. L'utilisateur est averti de la supercherie par tous moyens, par exemple par un message 40 affiché dans la barre de messages 22 ou 30, par "Avertissement:Une zone indicatrice de sécurité vient d'être recouverte par une fenêtre non sécurisée". Dans un mode de réalisation amélioré l'avertissement sera affiché dans une fenêtre 42 venant se placer à un emplacement aléatoire dans l'écran afin d'éviter son re- recouvrement par l'applet hostile. D'autres actions préventives sont possibles en cas de recouvrement illicite et incluent les opérations suivantes: - Emission d'un signal sonore d'avertissement, - Ecriture de l'incident dans un fichier contenant l'historique des incidents sur une période donnée, ce fichier étant plus connu sous l'expression anglo- saxonne "log file", - Migration du contenu de la zone recouverte, par exemple, le cadenas, vers une zone de l'écran non couverte par l'applet hostile, - Rétablissement de la présence de l'information recouverte, si celle-ci est définie comme sensible par le navigateur, le système d'exploitation ou l'utilisateur, sur le contenu de la fenêtre couvrante. En d'autres mots, le recouvrement d'une zone cadenas par exemple, aura pour effet de " trouer " la fenêtre couvrante afin de laisser réapparaître le cadenas. - Opposition par le système ou le navigateur à l'opération de recouvrement, par exemple par arrêt de la fonction d'étirement ou déplacement de fenêtre, si cette opération a pour effet de recouvrir une zone définie comme sensible. Pour arriver à l'un ou plusieurs de ces résultats, le procédé selon l'invention ajoute une nouvelle règle de sécurité dans le programme du navigateur et utilise les moyens prévus à cet effet dans le langage "JAVA", par exemple. Ces moyens sont répertoriés selon les termes anglosaxons suivants: - "Class Loader" pour charger le code correspondant à l'applet et le convertir en une classe, - "Security Manager" pour vérifier que l'applet n'effectue pas certaines opérations qu'elle n'est pas censée faire, telles que lire certains fichiers, - "Access Controller" pour vérifier que l'accès à certaines ressources est autorisé ou non. Dans le langage JAVA, les différents moyens énumérés ci-dessus sont regroupés sous le terme anglo-saxon "Sandbox". Les rôles de ces moyens et la manière de les mettre en oeuvre sont exposés dans le livre intitulé JAVA SECURITY de Scott Oaks publié en 1998 par O'Reilly & Associates Inc., 101, Morris Street, SEBASTOPOL CA 95472. Cette nouvelle règle consiste à définir les zones interdites à la surimpression, par exemple les trois zones 10, 22 et 26 définies cidessus en les identifiant par leurs coordonnées: - "Position 1" pour les coordonnées de la zone 10, - "Position 2" pour les coordonnées de la zone 22, - "Position 3" pour les coordonnées de la zone 26. La règle sera alors la suivante: Si la position Pi de l'image en surimpression correspond à Position 1 et/ou à Position 2 et/ou à Position 3, alors il y a violation de la nouvelle règle de sécurité et affichage à l'écran d'un message dans la barre 22 ou 30 des messages, par exemple le message 40 "AVERTISSEMENT" qui serait libellé comme suit: "Une zone indicatrice de sécurité vient d'être recouverte par une fenêtre non sécurisée". La position Pi de l'image est, par exemple, définie par les moyens du langage JAVA connus par les termes anglo- saxons "SetLocation" et "SetBounds". Avec cette nouvelle règle de sécurité, le fonctionnement du navigateur sera le suivant dans le cas o un fraudeur veut faire croire à un utilisateur que son site est sécurisé en utilisant une applet qui est censée afficher un cadenas ouvert en surimpression. Le navigateur possède une machine virtuelle "JAVA" qui met en oeuvre les éléments de la fonctionnalité "SandBox" selon le processus suivant: - le "Class Loader" va charger l'applet en provenance du site du fraudeur sous la forme de son "Bytecode", - le "Security Manager" et/ou "l'Access Controller" vont comparer chacune des instructions de l'applet avec les règles de sécurité et notamment avec celles de la nouvelle règle de sécurité en utilisant, par exemple, les moyens "SetLocation" et "SetBounds" du langage JAVA. Si cette comparaison montre que l'applet s'affiche à l'une des trois positions "Position 1", "Position 2" et "Position 3", alors il y a violation de la nouvelle règle de sécurité et affichage du message 40. Le message 40 qui apparaît dans la barre de messages 22 peut être doublé par le même message présenté dans la fenêtre 42: "Avertissement:Une zone indicatrice de sécurité vient d'être recouverte par une fenêtre non sécurisée". Le nombre, la position et l'étendue des zones qui sont interdites à la surimpression sont variables en fonction, notamment, du type de navigateur. Ceci peut aboutir à présenter un écran de navigateur dans lequel plusieurs zones ne peuvent pas être surimprimées à l'aide de fenêtres dès que ces fenêtres recouvrent en tout ou partie une zone interdite à la surimpression. L'invention a été décrite dans le cas o l'affichage d'une image en surimpression est interdit si elle recouvre en tout ou partie une ou plusieurs zones déterminées de l'écran du navigateur. Cependant, l'invention s'applique également au cas o le procédé interdirait l'affichage d'une image en dehors de la fenêtre de navigateur 20, ce qui permettrait d'empêcher de falsifier les caractéristiques visuelles d'un site sans sécurité pour le faire apparaître comme sécurisé. Autrement dit, seule la fenêtre 20 du navigateur peut être surimprimée de sorte que toute tentative de présenter une image en dehors de cette fenêtre 20 donne lieu à un message de violation et/ou à une action protectrice telle que l'interdiction d'affichage de l'image. La mise en oeuvre de l'invention peut avoir lieu au niveau du système d'exploitation, du programme de navigation ou d'un programme tiers installé à cet effet par l'utilisateur. La mise en oeuvre par le système d'exploitation s'effectuera par l'intermédiaire d'une série d'instructions compilées faisant partie du code exécutable du système d'exploitation ou de sa couche de gestion d'interface graphique. Dans le cas du programme de navigation, la mise en oeuvre s'effectuera par l'intermédiaire d'une série d'instructions compilées faisant partie du code exécutable du navigateur. Afin d'éviter d'avoir une pluralité de zones interdites correspondant à des caractéristiques visuelles de sécurité, par exemple dans le cas o plusieurs navigateurs seraient simultanément ouverts, il est proposé de rassembler ces caractéristiques de sécurité à un seul endroit déterminé de l'écran et d'interdire toute présentation d'une image en surimpression à cet endroit par le système d'exploitation ou sa couche d'interface utilisateur. Afin de limiter les interdictions de surimpression aux seules images correspondant à des applications pouvant éventuellement porter atteinte à la sécurité, qui sont a priori indignes de confiance tout en n'étant pas expressément justiciables du qualificatif " malveillantes>>, le système de sécurité du système d'exploitation, du navigateur ou du programme tiers reconnaît les applications autorisées, selon tout critère de sécurité décidé par le concepteur, par exemple la présence d'un certificat valable, la provenance, la nature et l'identité de l'application et leur permet de s'afficher en surimpression même si elle recouvre une zone interdite. Dans le cas d'une application pouvant éventuellement porter atteinte à la sécurité, c'est-à-dire non reconnue comme a priori digne de confiance, cette dernière ne pourra donc pas être surimprimée. L'invention a été décrite dans son application à la sécurité d'une transaction monétaire mais elle s'applique également à toute transaction impliquant la mise en place d'une sécurité. L'exemple particulier de réalisation a été décrit en relation avec l'utilisation du langage "JAVA" par le navigateur, mais l'invention peut être mise en oeuvre en relation avec tout autre langage de programmation avec du code compilé inclus directement dans le système d'exploitation ou sa couche d'interface graphique mais aussi avec des navigateurs autres que NETSCAPE et INTERNET EXPLORER à condition que ces navigateurs soient capables d'utiliser un langage comme par exemple, les langages "JAVA" et " ActiveX >>. Le procédé de l'invention peut être mis en oeuvre avec différents types d'appareils qui sont, à titre d'exemples, les ordinateurs personnels, portables ou non, les agendas électroniques, les organisateurs électroniques, les appareils PDA, les téléphones mobiles munis d'un écran graphique. R E V E N D I C A T IONS 1. Procédé de contre-mesures pour améliorer la sécurité des transactions entre les sites et les visiteurs des sites connectés par un réseau qui est accessible par l'intermédiaire d'un programme de navigation capable d'afficher des images en surimpression sur l'écran d'affichage en provenance du site examiné, caractérisé en ce qu'il comprend les étapes suivantes consistant à (a) déterminer au moins une zone de l'écran (10, 16, 22) o la surimpression d'une image conduirait à afficher au visiteur du site une information erronée relative à la sécurité de la transaction en cours, (b) détecter si une surimpression d'image qui est demandée par un site examiné recouvre tout ou partie de ladite zone (10, 16, 22), (c) continuer la transaction si le résultat de l'étape (b) est négatif, ou (d) exécuter une action protectrice si le résultat de l'étape (b) est positif. 2. Procédé selon la revendication 1, caractérisé en ce que l'étape (b) comprend deux étapes intermédiaires consistant en: (bl) définir cette zone (10, 16, 22) par ses coordonnées de position (Pl, P2, P3), et (b2) comparer les coordonnées de position (Pl, P2, P3) à celles (Pi) de l'image en surimpression fournie par le site examiné. 3. Procédé selon la revendication 1 ou 2, caractérisé en ce que la zone qui est déterminée par l'étape (a) est celle o doit apparaître la caractéristique visuelle (24) attestant ou non la sécurité de la transaction en cours. 4. Procédé selon la revendication 1 ou 2, caractérisé en ce que les zones qui sont déterminées par l'étape (a) sont celles (10, 12, 14, 16, 18 et 22) qui sont en dehors de la fenêtre réservée à l'affichage des informations en provenance du site examiné. 5. Procédé selon l'une des revendications précédentes 1 à 4, caractérisé en ce que les étapes (b), (c) et (d) sont mises en oeuvre par le programme de navigation par l'intermédiaire d'un langage de programmation. 6. Procédé selon l'une des revendications précédentes 1 à 4, caractérisé en ce que les étapes (b), (c) et (d) sont mises en oeuvre par le programme de navigation par l'intermédiaire d'une série d'instructions compilées faisant partie du code exécutable du navigateur. 7. Procédé selon l'une des revendications précédentes 1 à 4, caractérisé en ce que les étapes (b), (c) et (d) sont mises en oeuvre par le système d'exploitation par l'intermédiaire d'une série d'instructions compilées faisant partie du code exécutable du système d'exploitation ou de sa couche de gestion d'interface graphique. 8. Procédé selon l'une des revendications précédentes 1 à 4, caractérisé en ce que les étapes (b), (c) et (d) sont mises en oeuvre par un programme tiers installé à cet effet. 9. Procédé selon l'une des revendications 1 à 8, caractérisé en ce que l'étape (d) comprend au moins l'une des opérations suivantes consistant à: (dl) Emettre un signal sonore à l'intention de l'utilisateur. (d2) Afficher un message d'avertissement à l'intention de l'utilisateur. (d3) Ecrire l'incident dans un fichier contenant l'historique des incidents sur une période donnée. (d4) Migrer le contenu de la zone recouverte vers une zone de l'écran non encore couverte par l'applet hostile. (d5) Migrer la présence de l'information recouverte, si celle-ci est définie comme sensible, sur le contenu de la fenêtre couvrante. (d6) Empêcher l'opération de recouvrement si cette opération a pour effet de recouvrir une zone définie comme sensible. 10. Procédé selon la revendication 9, caractérisé en ce que l'opération (d2) consiste à afficher le message d'avertissement à un emplacement aléatoire de l'écran du navigateur. 11. Procédé selon l'une des revendications précédentes 1 à 10, caractérisé en ce que l'étape (d) n'est pas mise en oeuvre si le système de sécurité reconnaît que l'application est autorisée selon des critères déterminés. 12. Procédé selon l'une des revendications précédentes 1 à 11, caractérisé en ce que la zone déterminée par l'étape (a) est une zone dédiée de l'écran qui regroupe toutes les informations graphiques et/ou textuelles relatives à la sécurité. 13. Dispositif pour mettre en oeuvre le procédé selon l'une des revendications précédentes 1 à 12, caractérisé en ce qu'il est constitué de l'un des éléments suivants: ordinateur personnel, portable ou non, agenda électronique, organisateur électronique, appareil PDA, téléphone mobile muni d'un écran graphique.