Qu'est-ce que l'analyse HTTPS ? Pourquoi l'utiliser si elle semble ajouter des problèmes de sécurité au lieu de protéger l'utilisateur ?
Chaque jour, 50 000 URL uniques infectées de sites web protégés par HTTPS sont détectées et bloquées. Des scientifiques de l'université Concordia de Montréal ont testé 14 programmes antivirus proposant une analyse HTTPS et ont abouti à la conclusion qu'en réalité ces programmes créaient plus de problèmes de sécurité qu'ils n'en résolvaient.
Un seul de ces programmes faisait exception : Avast. Le seul problème mentionné dans leur étude est l'absence de vérification par Avast des certificats révoqués. La version en cause était sur le marché depuis novembre 2015 et le problème a été corrigé dans les produits 2016.
Mais revenons en arrière : qu'est-ce que l'analyse HTTPS ? Pourquoi est-elle nécessaire, et pourquoi l'utiliser si elle semble ajouter des problèmes de sécurité au lieu de protéger l'utilisateur ? Voulant en savoir plus, nous avons demandé à notre collègue Lukas Rypacek, directeur de la plate-forme Poste de travail, de nous éclairer sur ce sujet.
Lukas, les sites web HTTPS étant chiffrés, ne sont-ils pas déjà sécurisés ? Pourquoi les solutions antivirus analysent-elles les sites HTTPS ?
En effet, le « S » de HTTPS signifie « sécurisé ». Le fait qu'un site web utilise le HTTPS signifie que la connexion entre le navigateur et le serveur du site web est chiffrée. Cela signifie que votre navigateur et le serveur web sont les seuls qui peuvent voir vos activités et les données que vous entrez sur le site web.
On pourrait dire que c'est comme l'envoi d'une lettre dans une enveloppe fermée afin qu'elle ne soit pas visible par des tiers. De même qu'une lettre fermée ne peut pas être lue par le postier, votre communication avec un site chiffré en HTTPS ne peut pas être vue par des pirates informatiques qui voudraient voler votre numéro de carte de crédit, par exemple.
HTTPS aide également votre navigateur à vérifier l'identité du serveur ; il peut vous aider à vérifier que le site web que vous visitez appartient réellement à votre banque ou est vraiment votre blog favori. Cela s'effectue avec ce que l'on appelle des certificats.
Cependant, le chiffrement n'est pas d'une grande aide si vous ne vous connectez pas en HTTPS à votre blog favori mais à un nouveau site web que vous venez de découvrir par une recherche Google. Vous pouvez quand même vérifier que vous communiquez avec le site web au travers d'une connexion chiffrée, mais cela n'est pas très significatif : il vous est impossible de savoir si le site web à l'autre extrémité du réseau est un magazine amical ou un repaire de pirates informatiques où l'un d'entre eux attend simplement que vous entriez vos données pour vous les voler.
Cela est encore plus problématique lorsque votre site web se fait pirater. Jusqu'à ce que les propriétaires découvrent le problème et le supprime, des logiciels malveillants sont distribués par ce domaine habituellement fiable. Dans de tels cas, le chiffrement ne vous aide pas à rester en sécurité ; même si votre dialogue avec le site web reste invisible au monde extérieur, cela ne signifie pas que vous êtes protégé contre les logiciels malveillants.
On peut donc être infecté par un virus en visitant un site HTTPS ?
Oui. Alors qu'un nombre croissant de services en ligne migrent sur HTTPS, les attaques surviennent de plus en plus sur ce protocole. Aujourd'hui, environ 30 % du trafic web global s'effectue sur HTTPS. Lorsque des pirates informatiques réussissent à prendre le contrôle d'un site de confiance et à injecter un script malveillant ou un téléchargement « drive-by » de logiciels malveillants dans la page, les visiteurs reçoivent ces logiciels malveillants aussi bien en HTTPS qu'en HTTP. De plus, il y a quelques années, HTTPS n'était utilisé principalement que par de grandes organisations comme les banques.
Obtenir un certificat TLS/SSL pour chiffrer le trafic web était assez coûteux et difficile à obtenir. Pour les auteurs de logiciels malveillants, acheter un tel certificat pour héberger leur site web n'était pas rentable, les utilisateurs se connectant sans problème à HTTP, plus facile à mettre en œuvre.
Aujourd'hui, en revanche, n'importe quel propriétaire d'un domaine peut obtenir un certificat TLS/SSL gratuitement. Des services comme Letsencrypt.org simplifient ce processus pour tous.
C'est pourquoi il est devenu intéressant pour les cybercriminels. Bien qu'il reste difficile pour eux de prétendre que leur site web est celui d'une banque, ils peuvent créer des sites web ayant l'apparence de sites de téléchargement inoffensifs mais hébergeant des contenus malveillants.
Est-il fréquent pour des sites HTTPS d'héberger des contenus malveillants ?
Avast détecte en moyenne 50 000 URL uniques infectées et bloquées et, chaque mois, Avast protège presque 3,2 millions d'utilisateurs en empêchant qu'ils ne téléchargent des logiciels malveillants ou qu'ils n'accèdent à des sites de distribution de tels logiciels sur HTTPS.
Comment les logiciels antivirus peuvent-ils analyser les connexions HTTPS ? Comment cela est-il possible alors que la connexion est chiffrée ?
Avast s'exécute sur la même machine que le navigateur. Il reste en sommeil et attends que le navigateur se connecte à un site HTTPS et démarre l'établissement de la liaison. Il s'agit de la première partie de la communication HTTPS entre le navigateur et le serveur sur lequel le site web est stocké.
Le serveur, et dans certains cas le client, fournit un certificat qui permet au navigateur de déterminer si la connexion doit être approuvée ou non. Lorsque cela se produit, l'Agent Web d'Avast prend le contrôle de l'établissement de la liaison de la part du navigateur et se connecte lui-même au serveur.
C'est l'Agent Web d'Avast qui se connecte au serveur au travers d'Internet et qui télécharge le trafic chiffré. Ensuite, Avast le déchiffre, recherche des virus et le passe au navigateur initial, par exemple Internet Explorer, Chrome, Firefox ou Opera.
Les navigateurs améliorent constamment la liste des vérifications effectuées sur les connexions HTTPS et les certificats TLS/SSL. D'après l'étude, c'est à ce stade que beaucoup de programmes antivirus commettent des erreurs. L'utilisateur ne perd-il pas le bénéfice de toutes ces améliorations de sécurité dans les navigateurs ?
Non, pas nécessairement. C'est également l'une des choses importantes que les recherches de l'université Concordia ont testées : la façon dont les différentes suites anti-logiciels malveillants mettent en œuvre tous les détails nécessaires et si la sécurité est en fait renforcée ou diminuée.
Dans notre cas, chez Avast, nous avons apporté un soin particulier à reproduire pour le navigateur tous les détails que nous observons dans la connexion avec le serveur. Cela donne au navigateur la possibilité d'effectuer la plupart de ses vérifications, même si Avast a déjà analysé les données.
Lorsque le serveur envoie ses certificats, l'Agent Web d'Avast les vérifie à nouveau par rapport au magasin de certificats Windows, qui est une liste de certificats approuvés que les navigateurs comme Internet Explorer ou Chrome utilisent également.
Avast reproduit pour le navigateur toutes les caractéristiques du certificat initial (comme la date d'expiration ou le type d'algorithme de hachage) et il reproduit également soigneusement toutes les versions des suites de chiffrement et du protocole TLS/SSL.
C'est sur ce point que l'étude reconnaît les qualités d'Avast et démontre également que toutes les solutions antivirus ne font pas uniformément preuve de rigueur pour aborder cette difficulté.
L'étude mentionne également le fait que quatre produits sont vulnérables à un emprunt d'identité complet du serveur sur une attaque active de l'homme du milieu (man-in-the-middle, MITM) dans leur configuration par défaut. Qu'est-ce qu'un emprunt d'identité complet et que cela signifie-t-il pour la sécurité des utilisateurs ?
Comme je l'ai indiqué précédemment, HTTPS offre au navigateur la possibilité de vérifier que l'autre extrémité est vraiment ce qu'elle prétend être ; dit simplement, il vérifie qu'une page web est réellement la banque à laquelle je pense que je viens de me connecter.
Cela s'effectue en analysant le certificat envoyé par le serveur, en vérifiant ses caractéristiques, le nom du site web, les dates d'expiration et l'autorité de certification vérifiant tout cela. Le pire scénario est celui dans lequel le produit antivirus ne fait aucune de ces vérifications.
De façon surprenante, cela s'est effectivement produit avec l'un des analyseurs HTTPS testés dans certains cas particuliers (comme lorsque la licence avait expiré). Une telle omission permet à quiconque se trouvant entre le serveur et le client (par exemple le propriétaire du cybercafé dans lequel vous vous trouvez) de prétendre être n'importe quel site web, comme celui d'une banque ou d'un serveur de messagerie.
Cela supprime l'intérêt du chiffrement. Pour revenir à notre analogie avec une enveloppe, c'est comme si le postier vous apportait des lettres déjà ouvertes et que vous vous contentiez de les cacheter à nouveau sans y attacher d'importance.
Comment Avast fait-il en sorte que cela ne puisse pas se produire avec l'Agent Web ?
Nous n'acceptons tous simplement pas les lettres dans des enveloppes déjà ouvertes mais, en réalité, c'est un peu plus compliqué.
L'Agent Web d'Avast vérifie les certificats par rapport au magasin Windows des autorités de certification racine, ce qui est le vraiment le minimum. Nous ne prétendons également jamais que la connexion ou le certificat sont meilleurs qu'ils ne le sont en réalité. Lorsque le serveur utilise des chiffrements obsolètes, nous les passons de façon strictement identique au navigateur, ainsi, si le serveur utilise une ancienne version du protocole TLS/SSL, nous faisons de même avec le navigateur.
En utilisant cette approche, la plupart des vérifications de sécurité des navigateurs modernes peuvent rester actives et aider les utilisateurs à découvrir les imposteurs. Nous supprimons également tous les scripts de virus et de logiciels malveillants cachés dans les données, et nous prévenons l'utilisateur, ce qui est le but réel de la fonction d'analyse HTTPS.
De plus, l'étude démontre que plusieurs des solutions antivirus examinées « font également penser aux navigateurs de façon erronée qu'une connexion TLS est plus sécurisée qu'elle ne l'est en réalité, par exemple en mettant à niveau artificiellement au niveau du client la version de TLS d'un serveur ». En quoi cela rend-il les solutions plus vulnérables et de quelle façon Avast résout-il ce problème ?
Bien qu'Avast (et les autres suites anti-logiciels malveillants) s'exécutent sur le même ordinateur que le navigateur, ils communiquent entre eux et utilisent HTTPS (TLS/SSL). La raison de cette implémentation n'est pas une mesure de sécurité, mais pour pouvoir transmettre au navigateur l'aspect de la connexion avec le serveur réel.
Lorsque la solution anti-logiciels malveillants envoie une meilleure version du protocole TLS, un meilleur chiffrement ou des certificats bénéficiant d'une meilleure approbation que dans la connexion initiale, le navigateur considérera à tort la connexion comme étant plus sûre et se comportera en conséquence alors que, en réalité, la bonne réaction consisterait à afficher un écran d'avertissement.
Y a-t-il des problèmes même avec la solution d'Avast ou des choses que vous voudriez améliorer à l'avenir ?
Nous essayons constamment d'améliorer la façon dont fonctionne l'analyseur HTTPS de l'Agent Web d'Avast. L'étude a indiqué qu'Avast ne vérifiait pas les certificats révoqués au moment où le test a été réalisé. Cela était vrai il y a un an, mais nous avons depuis corrigé le problème dans Avast 2016 (que nous avons publié en novembre de l'année dernière) et nous vérifions maintenant correctement la révocation des certificats à l'aide de plusieurs méthodes (CRL, OCSP et agrafage OCSP).
Pour les utilisateurs de Chrome et de Firefox, nous avons introduit une nouvelle méthode, complètement invisible, d'analyse du trafic qui est encore plus transparente et permet au navigateur d'utiliser de la meilleure façon l'ensemble de ses vérifications de sécurité intégrées. Cette mise à jour répond également aux suggestions de l'étude, et nous continuons à préparer des améliorations supplémentaires dans les prochaines versions d'Avast.
Enfin, on peut ajouter que cette étude publiée récemment comporte des informations correspondant aux produits de 2015. De même que nous avons amélioré notre analyseur avec notre version 2016 d'Avast, il est possible que nos concurrents aient également optimisés leurs fonctionnalités durant cette période.
Merci, Lukas, pour ces informations intéressantes !
Merci d’utiliser Avast Antivirus et de nous recommander à vos amis et votre famille. Pour toutes les dernières actualités, n’oubliez pas de nous suivre sur Facebook, Twitter et Google+.