Accueil / Articles PiApplications. / Sécurité informatique.

Le navigateur.

Un peu d'histoire.

Le navigateur a été conçu dans les années 90 (déjà !) pour permettre aux universitaires de partager leurs articles. Leur besoin était assez basiques et la plupart des articles étaient au format texte. Le langage HTML initial permettait une mise en forme standard de ces articles. L'idée était de décrire chaque mise en forme par une "balise" spécifique qui contient le texte à mettre en forme.

Le langage HTML qui spécifie ces balises s'est ensuite enrichi au fur et à mesure de l'accroissement des besoins de présentation. En effet, à partir des années 2000, l'Internet devient la vitrine des entreprises et le monde "commercial" s'empare d'Intenet (c'est le boum des .com).

Jusque là, le navigateur est un logiciel très fiable puisqu'il ne permet pas la transmission de code binaire et donc de programmes "malicieux".

A partir de 2010, le Web passe progressivement du monde de la publication à celui des services : compte bancaire en ligne, commande de billets, achats, enchères, etc. Il devient un véritable réseau "marchand" véhiculant quotidiennement des transactions financières dont le montant global donne le tournis. Désormais l'Internet est le support vital de l'économie "globale".

Très vite, le mode "requête-réponse" qui est le fondement de la robustesse et donc du succès du Web trouve ces limites que ce soit au plan de l'ergonomie (pas de copier-déplacer par exemple) ou du contenu (ni flux audio ou vidéo par exemple). Les responsables du W3C en charge de la recommandation HTML sont réticents (sans doute à juste titre) à trop dévier des objectifs initiaux du langage. La dernière mouture (HTML5) consacre la séparation entre présentation et données et met en place les mécanismes évènementiels utilisables par un langage de script "standardisé" comme JavaScript (le glisser-déposer par exemple). Toutefois, le W3C privilégie les feuilles de style (CSS) pour enrichir l'ergonomie du navigateur à l'emploi de JavaScript dont la normalisation n'est pas pas de sa responsabilité.

Les "entorses".

Face au vide de la recommandation et aux besoins (réels ou supposés) des entreprises, des entorses sont faites par les éditeurs des navigateurs. La volonté de standardisation intervient après coup, une fois qu'une technologie a été massivement adoptée. Cette démarche est certes pragmatique mais elle ne cesse d'ouvrir des failles de sécurité dans les navigateurs.

La première entorse a été effectuée face au souci rencontré par les applications Web dans le suivi de cession : comment un serveur Web peut il être certain que la requête émane d'un client donné lorsque la communication n'est pas maintenue entre deux échanges requête-réponse ? Pour cela, le serveur doit adresser au client un "identifiant" que le client doit retourner systématiquement lors de sa prochaine requête. Netscape fut le premier éditeur à répondre efficacement à ce besoin en inventant les "cookies". Hélas les "cookies" (petits fichiers texte stockés sur la machine y compris lorsque le navigateur est fermé) sont devenus les chevaux de Troie du Big Data pour enregistrer le comportement et les habitudes des internautes. HTML5 vise à améliorer la confidentialité avec la création des données locales qui ne sont plus aussi facilement accessibles.

L'amélioration de l'ergonomie du navigateur suppose que l'on soit capable de programmer son comportement (copier-coller, menu contextuels, etc.). La façon la plus sûre de programmer son comportement en réduisant les risques associés à ette programmation est l'emploi d'un langage de script. L'interprétation d'un script autorise la limitation de l'accès aux fonctions du système d'exploitation de la machine. Ce n'est donc pas le script qui accède au système d'exploitation de la machine mais le navigateur via son interpréteur de scripts. Le niveau de risque dépend du langage des script utilisé et des possibilités d'accès qu'il autorise aux ressources de la machine hôte. Dans tous les cas l'emploi d'un langage de script affaiblit la sécurité d'un navigateur car son interpréteur "exécute" une "logique" qui peut être utilisée pour mettre en exergue ses propres failles. Les premiers langages de script comme VBscript de Microsoft étaient spécifiques à une famille de navigateurs et permettaient un accès presque total aux ressources de la machine hôte. Les choses se sont décantées depuis car Microsoft a perdu la bataille du navigateur. Désormais, le langage de script s'est "normalisé" et c'est JavaScript via les librairies JQuery qui est le plus répandu. Ces librairies parfois très volumineuses permettent de gommer (au moins partiellement) les différences de comportement d'un navigateur à l'autre.

Pour les besoins qui ne relèvent pas de l'ergonomie, mais qui nécessitent un accès à certaines ressources de la machine, le langage de script est trop limitatif. Les éditeurs des navigateurs sont donc allés encore plus loin dans les entorses en autorisant la mise en place d'extensions (add-on). Une extension est un code exécutable compatible avec une spécification d'interface qui permet au navigateur de la manipuler. Une extension ne fonctionne donc que sur un type donné de navigateur car ici rien n'est "normé". Si certains éditeurs limitent les interactions avec le système d'exploitation, d'autres (comme Microsoft) laissent toute latitude au point que le navigateur devient un simple intégrateur d'applications. Dans ce cas, l'extension peut même se comporter en véritable programme "serveur". Notez que l'on obtient un comportement quasi identique avec les applets Java (ou les applications JavaFX) à ceci près que ces dernières s'exécutent toujours dans un bac à sable avec de fortes restrictions d'accès aux ressource de la machine (qui peuvent être définie via une stratégie de sécurité propre à l'application).

Les conséquences.

Ces entorses ont eu pour conséquence de faire passer progressivement le navigateur d'un logiciel sûr mais peu ergonomique à un logiciel ergonomique mais risqué. La plupart des navigateurs disposent d'une longue liste d'options qui permet de fixer le curseur entre ces deux valeurs. Le tableau qui suit vous propose une stratégie adaptée à 3 niveaux de tolérance : ouvert, sensible, critique :

OptionOuvertSensibleCritiqueRôle
Cookies. Autoriser tous les cookies. Conservation uniquement durant la session en cours. Ils sont supprimés à la fermeture du navigateur. Bloquer sauf ceux mis en exception après avoir vérifié qu'ils ne contiennent qu'un simple identifiant. Permettre le suivi de session dans le cadre d'une application. Ils sont aussi utiliser pour mémoriser des informations sur la navigation de l'utilisateur sur le site afin de la faciliter. Cette dernière possibilité est également utilisée comme moyen de "pistage" et représente dès lors une atteinte à la vie privée.
Images. Afficher. Afficher. Interdire (excepté celles provenant de sites de confiance traités comme des exceptions). Affichage des images (éléments <img>). Les images peuvent être utilisés pour transporter un code malicieux non repérable mais qui peut être reconstituer par un script puis activé à son insu par le navigateur en exploitant une de ses failles. Ce type d'attaque est très sophistiqué et donc très rare. Seuls les anti-virus avec des heuristiques dynamiques d'analyse de la mémoire peuvent les repérer.
JavaScript Autoriser. Autoriser. Interdire. Les exceptions ne sont pas autorisées ici car un script peut aisément utiliser des mécanismes de rebond via des proxies pour contourner les interdictions. Il s'agit ici d'autoriser ou non l'activation de l'interpréteur de scripts JavaScript. Toute exécution de scripts, quelle que soit les précautions prises vis-à-vis de l'accès aux ressources de la machine support présente un réel niveau de risque.
Gestion de protocoles Autoriser. Interdire. Interdire. "Gestionnaire de protocoles" signifie l'autorisation de référencement (via un lien hypertexte par exemple) d'un protocole non HTTP (par exemple les liens mailto:toto@plumo.com). Si le navigateur n'autorise pas les extensions, le risque est faible. Il peut en aller tout autrement si le "protocole" est destiné à être exploité par une extension qui donnerait accès à des ressources de la machine support via le navigateur.
Extensions (add-ons, plugins, etc.) Autoriser. Autoriser ceux de confiance destinés à sécuriser le navigateur et uniquement s'ils utilisent un système dit de "bac à sable" qui limite l'accès du plug-in aux ressources de la machine. Uniquement sur autorisation pour les autres. Interdire. L'extension représente une évolution du code du navigateur produite par un tiers qui n'est pas généralement pas de confiance. La plupart des extensions sont destinées à enrichir le navigateur de fonctions multimédia
Pop-up Autoriser. Interdire sauf les exceptions liées à des sites de confiance. Interdire. Les pop-up ou fenêtres surgissantes ne présentent pas de risque en tant que telles. Toutefois les pirates s'en servent pour gêner la navigation et imposer à l'utilisateur un clic irréfléchi sur un bouton dont le véritable objectif est généralement d'activer une extension. C'est un mode d'attaque extrêmement répandu et tous les sites "sérieux" ne devraient plus utiliser ce mécanisme.
Plein écran. Autoriser. Interdire sauf les exceptions liées à des sites de confiance. Interdire. Là encore, le passage en plein-écran est utilisé à des fins malicieuses pour masquer les activités illicites qui pourraient être détectées via la barre de tâches notamment.
Contenu protégé. Autoriser. Interdire. Interdire. Pour suivre une session, il est possible d'utiliser un identifiant propre au navigateur plutôt que des données locales (via un cookie par exemple). Cet identifiant est n'est généralement disponible qu'au travers d'une API et donc n'est utilisable que par une extension. Il est surtout utilisé par les extensions dans le cadre de la diffusion de contenu et cette option n'est ni normalisée ni généralisée. L'inconvénient de ce mécanisme est qu'il peut présenter une atteinte à la vie privée dans la mesure où le site peut mettre en relation cet identifiant aux données nominatives de son propriétaire.
Micro et WebCam Autoriser. Autoriser sur demande uniquement. Interdire. Rend accessible aux scripts et aux extensions l'usage du micro.
Téléchargements. Autoriser. Autoriser sur demande. Interdire sauf les exceptions liées à des sites de confiance. Les téléchargements sont un moyen rapide de déposer un virus sur la machine quitte à l'activer ultérieurement via une extension (et plus difficilement un script). Un bon antivirus devraient toutefois réduire ce risque car il est censé faire automatiquement l'objet d'une analyse.

Si vous appliquez le profil "critique", vous aurez la désagréable surprise de constater que la plupart des sites ne sont tout simplement plus fonctionnels (y compris la plupart des sites bancaires). Cela fait froid dans le dos et donne une idée du manque d'engagement des fournisseurs de services et de la méconnaissance des risques par l'utilisateur. Ceci dit, les fournisseurs se protègent bien de la fraude au plan juridique en vous laissant la responsabilité de la prouver en en s'en dégageant tout simplement. Relisez attentivement la protection liée à votre carte bancaire préférée en cas de piratage informatique et notamment les articles associés aux plafonds de remboursement... Si vous vous sentez un peu seul c'est normal. Dans la mesure où ce sont les fournisseurs de services qui auraient le plus de poids dans la lutte contre le piratage mais qu'ils déclinent leur responsabilités en la reportant sur les épaules de leurs clients, il ne faut pas s'étonner de l'engouement suscité par le piratage informatique. Comme Internet est un réseau international qui n'est soumis à aucune loi "internationale" il faut tout de même reconnaître que chasser le "pigeon" en dehors de ses terres avec une relative assurance d'impunité est tentant.

Les moyens de protection.

Travaillant pour le "grand public", source essentielle de leurs profits, les éditeurs de navigateurs ont adapté leur produit et ses règles aux fortes demandes mais aussi aux faibles compétences et donc critiques du plus grand nombre. Leurs stratégies sont souvent en opposition avec les stratégies de sécurité élémentaires des entreprises.

Si vous n'avez pas vraiment de compétences dans le domaine informatique, ce panorama peut être perturbant. Heureusement en plus des profils décrits ci-dessus il existe des moyens pour vous aider à protéger votre navigation.

Le premier d'entre eux est un bon antivirus disposant de fonctionnalités spécifiques à la protection Web. Ces antivirus placent généralement un proxy transparent entre le serveur distant et votre navigateur. Ce proxy analyse tous les flux à la recherche de signatures "douteuses" avant de les transmettre à votre navigateur. Ils comportent également un mécanisme de type "smartscreen" de Microsoft. Ce mécanisme consiste à rechercher l'URL que vous voulez contacter à une banque de données pour vérifier que le site n'est pas identifié comme un site "indélicat". Si c'est le cas vous en serez informé avant que le navigateur y accède et vous devrez forcer la poursuite de la navigation. Bien entendu, l'activation de ce genre de mécanisme permet à son éditeur de connaître vos moindres faits et gestes en matière de navigation. C'est donc aussi une atteinte à la vie privée même si c'est pour la bonne cause...

Pour notre part nous utilisons Bitdefender mais les éditeurs Karspersky, Norton au autres disposent de mécanismes similaires tout aussi efficaces. Notez que pour réduire l'atteinte à la privée, la plupart de ces produits proposent une option qui désactive le test de vos URL : à vous de voir. Dans le doute, il vaut mieux qu'un "protecteur" ayant pignon sur rue soit au courant de vos activités (surtout s'il affirme ne pas les associer à vos données personnelles) plutôt que de courir le risque d'accéder à un site indélicat via un mécanisme de phishing. Nous vous engageons à lire attentivement le document sur la protection de la vie privée associé à votre anti-virus préféré. Voici par exemple celui de Bitdefender (lisez attentivement les 3ème et 4ème paragraphe).

A ce niveau nous devons distinguer ce qui relève de la vie privée, de ce qui relève de la sécurité. Comme nous l'avons vu plus haut, renforce la sécurité revient parfois à limiter vos droits en matière de vie privée. Nous nous intéressons ici plus spécifiquement à ce qui relève de votre vie privée. Vous n'imaginez pas le nombre "d'espions" à des fins plus ou moins avouées qui sont embarqués dans vos pages. Ce phénomène est fortement encouragé par les éditeurs de moteurs de recherche (Google en tête) et ceux des réseaux sociaux. En effet, ces sociétés tirent une partie de leur revenus de la vente d'analyses "comportementales" (elles sont des "actifs" de ces sociétés). Le but est donc d'établir au sein de Big Data des profils type, d'identifier les utilisateurs, de les associer à ces profils et de vendre de façon ciblée ces listes à haute valeur ajoutée. Pour être le mieux référencés possible, la plupart des sites n'hésitent pas à introduire dans leur page web des "mouchards" dont l'objectif est de pister votre comportement de consommateur. En effet, lors d'une requête HTTP vers un serveur Web, ce dernier peut récupérer de nombreuses informations comme la date et l'heure, l'adresse IP de la machine qui a émise la requête, le type et la version du navigateur utilisé, etc. Pour vous en convaincre, il existe de nombreux sites qui proposent de retourner les informations livrées par votre navigateur. L'un des plus complets est IP Check. Pour se débarrasser (au moins d'un maximum) de ces mouchards, il existe de nombreuses extensions. L'une des plus efficaces est nommée Ghostery. Elle est disponible gratuitement pour la plupart des navigateurs. Voici ce qu'elle filtre si vous vous connectez au site Oracle :

Chasse aux mouchards.

Le moins que l'on puisse dire est qu'Oracle entretient de nombreux partenariats ! Avec les sites de presse cela est généralement bien pire, l'URL http://edition.cnn.com/ est associée à ce jour à pas moins de 18 mouchards !

En d'autres termes, chaque fois que vous visitez un site, vous laissez une carte de visite informatique non seulement au site que vous visitez mais aussi à un certain nombre dont vous ne soupçonnez même pas l'existence. Si vous naviguez depuis votre domicile ou votre lieu de travail avec une adresse IP fixe (constante), il est aisé à partir des informations de votre fournisseur d'accès et votre adresse IP de savoir qui vous êtes. La mise en place d'une extension anti-mouchard ne résout pas le problème. Elle permet simplement d'éviter d'adresser cette carte de visite à des sites sans que vous en soyez informé. Pour "masquer" votre carte de visite, il faut rendre "anonyme" votre navigation. Le schéma ci-dessous en expose le principe :

Utilisation d'un proxy HTTP chiffrant.

Le fournisseur de service du proxy vous délivre un moyen de connexion à ses serveurs via un canal VPN. Un canal VPN (Virtual Private Network) est un canal de communication chiffré qui emprunte un réseau IP (en l'occurrence l'Internet). Grâce à ce VPN, toutes les communications entre votre machine et le proxy HTTP sont chiffrées et non identifiables (attention à faire également transiter toutes les requêtes DNS via ce VPN). Le serveur distant ne reçoit pas la carte de visite de votre machine mais celle du proxy : il n'a aucun moyen de savoir qui vous êtes. Il existe de nombreux proxy de ce type dits "gratuits" mais ils sont pour la plupart assez dangereux à utiliser (sites de phishing) et peu performants. Pour rendre anonyme votre navigation, vous devrez "louer" le VPN entre (60 et plus de 100 € annuellement). Le choix du fournisseur ne dépend pas seulement du coût, il est aussi fonction de la localisation de ses serveurs et des lois nationales auxquelles ces machines sont soumises (ces fournisseurs proposent généralement des serveurs dans différents pays). Inutile de préciser que les fournisseurs nord-américains ou d'autres pays utilisant l'écoute informatique comme un moyen "régulier" de leur politique sécuritaire ne présentent pas vraiment les garanties requises pour préserver votre vie privée. Avant de vous décider lisez attentivement les caractéristiques de l'offre commerciale et notamment la section qui traite de la conservation des journaux historiques liés à vos connexions. Si vous ne trouvez pas cette section, passez votre chemin.

Pour ce qui est de la sécurité à proprement parlé, il existe de nombreuses extensions qui visent à vous protéger des plugins et des scripts. L'un des plus efficace se nomme ScriptSafe et est disponible pour la plupart des navigateurs courants. Cette extension bloque les scripts, les redirections et certaines balises vous laissant le soin de décider si vous les autorisez ou pas. Cette extension est très efficace mais impose un minimum de connaissance de fonctionnement du Web. En reprenant l'exemple du site Oracle, voici l'interface via laquelle vous autorisez ou interdisez les URL associées à la page d'accueil :

Utilisation d'un proxy HTTP chiffrant.

Le menu "options" au bas de cette fenêtre vous permet de modifier les autorisations effectuées et de modifier le filtrage des éléments présents dans les pages.

L'espionnage.

Nous avons vu plus haut que de nombreux sites introduisent des adresses ou du code qui déclenchent l'invocation automatique d'adresses lorsqu'une page est chargée. La plupart de ces adresses sont utilisées pour surveiller vos habitudes. Cette surveillance a deux principaux objectifs :

  1. permettre au gestionnaire du site d'établir des statistiques en vue d'affiner sa stratégie de publication ou d'offre ;
  2. dresser votre profil afin de le "vendre" à d'autres sociétés.

Ces types de surveillance relèvent plus de l'agacement que du risque. En fonction de votre activité professionnelle ou pour des raisons liées à votre vie privée, vous ne souhaitez peut être pas qu'un tiers connaisse les sites que vous visitez ou tout simplement vous ne souhaitez pas être destinataires de courriels publicitaires (pourriel) aussi nombreux que désagréables.

Jusqu'ici nous avons vu comment nous protéger de la surveillance induite par le contenu des pages visitées. Il existe toutefois une surveillance bien plus basique et ignorée de ces moyens de protection : la configuration du navigateur ou de votre anti-virus.

Pour le comprendre, nous allons prendre le cas de d'Internet Explorer de Microsoft. Ce navigateur active par défaut un mécanisme nommé "smartscreen". Ce mécanisme consiste à adresser directement (avant même d'avoir la réponse à votre requête) l'URL invoquée à une base de données de Microsoft. Officiellement cette URL est comparée à une liste de sites "pirates" identifiés. Si cette URL correspond en tout ou partie à l'URL d'un de ces sites, la navigation est bloquée par le navigateur. Tous les navigateurs disposent actuellement de ce type de mécanisme y compris les navigateurs "open source" comme FireFox. A priori, cela semble une bonne pratique tant que la version "officielle" de protection de votre vie privée demeure la stricte réalité. On peut cependant sérieusement en douter pour deux raisons :

Dès lors, la confiance que nous pouvons accorder en tant que citoyen aux grands éditeurs américains est sérieusement ébranlée. Le fait de savoir que les américains eux-mêmes sont soumis au même régime n'en est que plus inquiétant. Il est donc risqué de faire confiance à ces opérateurs (Microsoft, Google, Apple, etc.) dont on rappelle qu'ils sont soumis à la loi américaine. Les bases de données des URL invoquées contiennent souvent l'adresse de la machine (ou de la passerelle) à l'origine de la requête. Peu importe que vous passiez par un proxy ou non puisque cette adresse est mise en place par le navigateur lui-même. Il faut avouer que ces sources exhaustives de données sont tentantes pour qui veut dresser le profil des internautes d'autant que ce mécanisme est ignoré du grand public et présenté comme une solution de protection.

Il faut savoir que la plupart des anti-virus disposent d'un mécanisme identique. Contrairement aux éditeurs de navigateurs, le non respect de leur politique du respect de votre vie privée pourrait avoir de graves conséquences pour eux. Cela ne veut dire que l'on peut leur faire confiance mais que vous aurez plus de recours le cas échéant surtout si l'éditeur n'est pas américain.

Nos conseils dans ce domaine sont :

Les navigateurs les plus performants et le plus transparents vis-à-vis du mécanisme anti-phising sont FireFox, Chromium (version libre de Chrome) et Chrome (qui s'appuient d'ailleurs sur la même base de données).

Malgré tout, les filtres anti-phishing des navigateurs semblent avoir été efficaces. Très en vogue entre 2005 et 2010, les sites de phishing semblent décliner en relation avec à la prise de conscience du grand public des risques liés à la navigation. Leurs attaques sont devenues indirectes avec la plupart du temps pour origine un courriel qui suggère à l'utilisateur de cliquer sur un lien. L'expérience montre alors que beaucoup de ces sites ne sont pas répertoriés car ciblant une faible audience (beaucoup de ces sites sont africains, certains en provenance de l'Est et ils sont souvent "à brève durée de vie"). Toutefois, des algorithmes d'analyse des redirections ou des scripts d'une bonne solution anti-virale parviennent assez souvent à vous mettre en garde après avoir commis l'erreur de cliquer sur un de ces liens.

Profitons en pour rappeler que vous ne devez jamais fournir la moindre information liée à un quelconque système bancaire ne provenant pas d'une source connue et habituellement utilisée. Aucun organisme financier ne déroge à des procédures établies et publiquement décrites. Par exemple, de nombreux courriels tentent "d'angoisser" l'utilisateur en indiquant des rappels de facture impayées. Cette angoisse est de nature à abaisser votre vigilance pour vous faire commettre l'erreur de vous renseigner via les liens du message. Un courriel n'est que du texte et n'a aucune valeur juridique pour la plupart des états. Il ne vous contraint à rien. Si l'angoisse persiste, prenez contact avec l'organisme par un autre moyen (téléphone, SMS, courrier papier) et éclaircissez le problème en partant du du principe qu'un tiers cherche à vous arnaquer (cela vous évitera d'être inutilement agressif conséquence fréquente de l'angoisse). Pour notre part, nous ignorons purement et simplement et classons verticalement (poubelle) une dizaine de ce type de message par mois.

NavigateurLien
FireFox Comment fonctionnent les protections contre l'hameçonnage et les logiciels malveillants ?
Chromium Understanding Phishing and Malware Protection in Google Chrome
Internet Explorer Phishing Filter: frequently asked questions
Opera Opera's Fraud and Malware Protection
Safari Inside Safari 3.2’s anti-phishing features

Et vous dans tout ça ?

Vous devez être persuadé que le navigateur est une fenêtre ouverte sur le monde et que ce monde est à la fois utile voire indispensable mais dangereux. Avec l'intention louable d'améliorer l'ergonomie, de nombreuses évolutions plus ou moins maîtrisées font que les navigateurs augmentent la vulnérabilité de la machine ou de l'appareil sur lequel ils sont installés. Le navigateur constitue souvent le moyen le plus accessible dont dispose un pirate pour exécuter son activité favorite : l'extorsion. Cela passe par l'exploitation des failles techniques mais aussi et surtout par le manque de vigilance de l'utilisateur en jouant sur des facteurs humains vieux comme le monde : envie, cupidité, avarice, etc.

Beaucoup d'utilisateurs partent du principe que la sécurité est une affaire "technique" de la responsabilité de leurs fournisseurs de service. Nous avons montré qu'il n'en est rien : en cas de fraude ou d'usurpation d'identité vous êtes seul ! D'autres encore pensent que la mise en place de moyens de protection est suffisante : c'est inexact, seule votre attention vous évitera les pièges et autres chausses-trappes du Web.

Les règles d'or sont :

(c) PiApplications 2016