Cloudflare a annoncé aujourd'hui le rachat de S2 Systems Corporation, une start-up de la région de Seattle qui a mis au point une solution innovante d'isolation de navigateur à distance, unique sur le marché. La majorité des compromissions affectant les points de terminaison portent sur les navigateurs. En créant un espace entre les appareils des utilisateurs et l'endroit où le code web s'exécute, l'isolation de navigateur rend les points d’extrémité beaucoup plus sûrs. Dans cet article, j'expliquerai ce qu'est l'isolation de navigateur, pourquoi elle est importante, comment fonctionne la solution de navigation en cloud de S2 Systems et comment elle correspond à la mission de Cloudflare, qui est de contribuer à bâtir un Internet meilleur.

Quel est le problème de la navigation sur le web ?

Cela fait plus de 30 ans que Tim Berners-Lee a rédigé la proposition de projet définissant la technologie qui sous-tend ce que nous appelons aujourd'hui le World Wide Web. Ce que Berners-Lee envisageait comme une solution utile pour « quelques milliers de personnes, dont beaucoup sont très créatives, travaillant toutes pour atteindre des objectifs communs »[1] est devenu une composante essentielle du commerce, des affaires et de l'économie mondiale mais aussi un outil utilisé par plus de 58 % de la population mondiale[2].

Le World Wide Web et les navigateurs sont incontestablement devenus la plate-forme sur laquelle sont réalisées une grande partie des activités professionnelles (et de loisirs) au quotidien. Cependant, à mesure que le web s'est répandu, les pirates ont eu de plus en plus de possibilités de commettre des actes malveillants. Il ne se passe pas un jour sans qu'un nouveau cas de brèche de sécurité majeure ne fasse la une de l'actualité. Plusieurs facteurs ont contribué à hisser la cybercriminalité à un niveau inédit : la commercialisation des outils de piratage, l'émergence des logiciels malveillants en tant que service, la présence d'États-nations et du crime organisé bien financés et le développement des crypto-monnaies qui permettent aux criminels de toutes sortes de monnayer leurs activités de manière anonyme.

La grande majorité des atteintes à la sécurité proviennent du web. Gartner qualifie l'Internet public de « cloaque d'attaques » et considère que les navigateurs sont les principaux responsables de 70 % des compromissions des points de terminaison. [3] Ceci n'a rien de surprenant. Bien que les navigateurs modernes soient très performants, de nombreuses décisions architecturales importantes ont été prises dans les années 1990, avant que des concepts tels que la sécurité, la confidentialité, la surveillance des entreprises et la conformité ne deviennent des enjeux ou même des éléments à prendre en considération. Les principales fonctions des navigateurs (y compris toute l'architecture WWW qui y est associée) ont été conçues et développées à une époque et dans des circonstances différentes.

De nos jours, plusieurs principes de fonctionnement de la navigation sur le web sont dépassés, voire dangereux. Les navigateurs et les technologies de serveur correspondantes comprennent une longue liste de technologies complexes et interdépendantes, qui ne cesse de s'allonger. Ces technologies sont en constante évolution, sous l'impulsion de communautés open source dynamiques, d'éditeurs de contenus, de moteurs de recherche, d'annonceurs et de la concurrence entre les entreprises spécialisées dans les navigateurs. En raison de cette complexité, les navigateurs sont devenus les principaux vecteurs d'attaque. Selon Gartner, « le fait même de naviguer sur Internet et de cliquer sur des liens URL expose l'entreprise à un risque important. [...] Attaquer par le biais du navigateur est trop facile, et les cibles trop nombreuses »[4] « Même les sites web qui semblent inoffensifs sont faciles à pirater et peuvent être utilisés pour attaquer les visiteurs » (Gartner[5]) avec plus de 40 % des URL malveillantes trouvées sur des domaines supposément dignes de confiance (Webroot[6]). (Il n'est pas possible de dresser une liste complète des failles dans cet article.)

La structure et les technologies utilisées sur le web sont par nature difficiles à sécuriser. Certaines vulnérabilités des navigateurs résultent de l'utilisation illégitime de fonctionnalités légitimes : permettre aux navigateurs de télécharger des fichiers et des documents est une bonne chose, mais autoriser le téléchargement de fichiers infectés par des logiciels malveillants ne l'est pas ; le chargement dynamique de contenu sur plusieurs sites au sein d'une même page web est une bonne chose, mais les scripts intersites ne le sont pas ; la mise en place d'un écosystème publicitaire étendu est une bonne chose, mais l'incapacité à détecter les liens piratés ou les redirections vers des logiciels malveillants ou des sites de phishing ne l'est pas ; etc.

Problèmes de la navigation dans les entreprises

Les navigateurs traditionnels posent des problèmes supplémentaires aux entreprises.

Paradoxalement, ce sont les services informatiques qui ont le moins de contrôle sur l'application la plus utilisée au sein de l'entreprise, c'est-à-dire le navigateur web. Les principales sources de préoccupation des professionnels de la sécurité et de l'informatique en ce qui concerne les navigateurs web sont les suivantes :

  1. La sécurité, bien entendu. L'internet public est truffé de failles de sécurité et le problème s'aggrave avec des attaques qui sont 11 fois plus nombreuses qu'en 2016 (Meeker[7]). Les coûts de détection et de correction augmentent, et les atteintes à la réputation ou les pertes financières liées aux infractions peuvent être considérables.
  2. Le contrôle. Les départements informatiques ont peu de visibilité sur les activités des utilisateurs et ont une capacité limitée à exploiter les mécanismes de neutralisation et de reconstruction du contenu (CDR), et de lutte contre la perte de données (DLP), y compris quant à savoir quand et où les fichiers ont été téléchargés/chargés, et par qui ils l'ont été.
  3. La conformité. L'incapacité à contrôler les données, et l'activité sur les zones géographiques ou la collecte nécessitaient une vérification par télémétrie pour répondre à des réglementations toujours plus strictes. Il en résulte une exposition importante aux pénalités et aux amendes.

Étant donné les failles révélées par les activités quotidiennes des utilisateurs telles que le courrier électronique et la navigation sur le web, certaines entreprises tentent de restreindre ces activités. Ces deux fonctionnalités étant essentielles et légitimes pour les entreprises, les efforts visant à limiter ou à réduire l'utilisation des navigateurs web échouent inévitablement ou ont un impact négatif important sur la productivité des entreprises et le moral des employés.

Les stratégies actuelles visant à remédier aux problèmes de sécurité inhérents à la navigation sur le web sont largement basées sur la technologie de signature des fichiers de données et des exécutables, ainsi que sur des listes de bonnes/mauvaises adresses URL et DNS connues. Le problème que posent ces stratégies est la difficulté de se tenir au courant des attaques connues (signatures de fichiers, URL et adresses DNS) et leur vulnérabilité inhérente aux attaques de type « Zero day » Les pirates ont conçu des outils automatisés pour déjouer les stratégies basées sur les signatures (par exemple en générant des quantités de fichiers aux signatures inconnues) et créer des millions de sites web éphémères afin de contourner les listes noires d'URL/DNS.

Si ces stratégies permettent certainement d'empêcher certaines attaques, le nombre croissant d'incidents et la gravité des atteintes à la sécurité indiquent clairement qu'il est indispensable de mettre en place des alternatives plus efficaces.

Qu'est-ce que l'isolation de navigateur ?

Le concept fondamental de l'isolation de navigateur est une sécurisation par isolation physique qui consiste à créer un « espace » entre le navigateur d'un utilisateur et le dispositif de point de terminaison, permettant de protéger ce dernier (et le réseau de l'entreprise) contre les exploits et les attaques. Contrairement aux passerelles web sécurisées, aux logiciels antivirus ou aux pare-feu qui reposent sur des modèles ou des signatures de menaces connus, il s'agit d'une stratégie de confiance zéro.

Il existe principalement deux architectures d'isolation de navigateur : (1) l'isolation locale du client et (2) l'isolation à distance.

L'isolation de navigateur locale consiste à isoler un navigateur fonctionnant sur un point de terminaison local en utilisant un bac à sable au niveau de l'application ou du système d'exploitation. En plus de présenter un risque pour le point de terminaison en cas de dysfonctionnement de l'isolation, ces systèmes nécessitent d'importantes ressources (mémoire + calcul), ont tendance à être fragiles et sont difficiles à gérer pour les services informatiques car ils dépendent de composants matériels et logiciels spécifiques.

En outre, l'isolation de navigateur locale ne permet pas de résoudre les problèmes de contrôle et de conformité mentionnés ci-dessus.

L'isolation de navigateur à distance (RBI) protège le point de terminaison en déplaçant le navigateur vers un service distant dans le cloud ou vers un serveur séparé sur site au sein du réseau de l'entreprise :

  • L'isolation sur site permet simplement de déplacer le risque du point de terminaison à un autre emplacement au sein de l'entreprise sans pour autant l'éliminer.
  • La navigation à distance en cloud isole l'appareil de l'utilisateur final et le réseau de l'entreprise tout en autorisant pleinement les solutions de contrôle et de conformité informatiques.

Compte tenu de ses avantages intrinsèques, la plupart des solutions d'isolation de navigateur (y compris les systèmes S2) utilisent l'isolation à distance basée sur le cloud. Si elle est correctement mise en place, l'isolation de navigateur à distance peut protéger une entreprise contre les exploits de navigateur, les plug-ins, les vulnérabilités de type « Zero day », les logiciels malveillants et d'autres attaques intégrées aux contenus web.

Comment fonctionne l'isolation de navigateur à distance (RBI) ?

Dans un système RBI classique basé sur le cloud (la partie en pointillés bleus ❶ ci-dessous), les navigateurs individuels distants ❷ sont lancés dans le cloud en tant qu'instances conteneurisées jetables (généralement une instance par utilisateur). Le navigateur distant envoie le contenu restitué d'une page web au périphérique de point de terminaison de l'utilisateur ❹ en utilisant un protocole et un format de données spécifiques ❸. Les actions de l'utilisateur, comme la frappe au clavier, la souris et les commandes de défilement, sont renvoyées au service d'isolation par un canal chiffré sécurisé où elles sont traitées par le navigateur distant et toute modification de la page web du navigateur distant qui en résulte est renvoyée au périphérique de point de terminaison.

En fait, le périphérique de point de terminaison permet de contrôler à distance le navigateur dans le cloud. Certains systèmes RBI utilisent des clients propriétaires installés sur le point de terminaison local, tandis que d'autres utilisent des navigateurs compatibles HTML5 sur le point de terminaison et sont considérés comme « sans client ».

Les violations de données qui se produisent dans le navigateur distant sont isolées du point de terminaison local et du réseau de l'entreprise. Chaque instance du navigateur distant est traitée comme si elle était corrompue et est fermée après chaque session. Les nouvelles sessions de navigation démarrent avec une nouvelle instance. De toute évidence, le service RBI doit empêcher que les failles du navigateur ne créent des fuites hors des conteneurs du navigateur vers le service lui-même. La plupart des systèmes RBI sont dotés de visionneuses de fichiers à distance, ce qui évite d'avoir à les télécharger, mais permettent également d'inspecter les fichiers pour détecter les logiciels malveillants avant d'autoriser leur téléchargement.

La technologie de délocalisation spécifique utilisée par le service RBI en cloud est un élément essentiel de l'architecture ci-dessus. La technologie de délocalisation a un impact significatif sur le coût d'exploitation et l'évolutivité du service RBI, la fidélité et la compatibilité des sites web, les besoins en bande passante, les besoins en matériel/logiciels des points de terminaison et même l'expérience des utilisateurs. La technologie de délocalisation détermine également le degré de sécurité effectif du système RBI.

Tous les systèmes actuels de RBI en cloud utilisent l'une des deux technologies de délocalisation suivantes :

(1) la technologie du pixel pushing est une approche basée sur la vidéo qui capture les images en pixels de la « fenêtre » du navigateur à distance et transmet une séquence d'images au navigateur du point de terminaison client ou au client propriétaire. Le fonctionnement est semblable à celui des ordinateurs de bureau et des systèmes VNC à distance. Bien qu'elle soit considérée comme relativement sûre, cette méthode présente plusieurs inconvénients :

  • L'encodage et la transmission en continu des flux vidéo de pages web distantes vers les points de terminaison des utilisateurs sont très coûteux. Adapter cette méthode à des millions d'utilisateurs est financièrement rédhibitoire et complexe sur le plan logistique.
  • Elle nécessite une grande quantité de bande passante. Même lorsque l'optimisation est poussée à son maximum, la technologie du pixel pushing est gourmande en bande passante.
  • La latence inévitable se traduit par une mauvaise expérience pour l'utilisateur. Ces systèmes ont tendance à être lents et à créer une certaine insatisfaction chez les utilisateurs.
  • La compatibilité avec les appareils mobiles est réduite en raison des exigences élevées en matière de bande passante, aggravées par une connectivité inconstante.
  • Les écrans HiDPI peuvent afficher des résolutions plus faibles. La densité de pixels augmente de manière exponentielle avec la résolution, ce qui signifie que les sessions de navigation à distance (en particulier les polices) sur les appareils HiDPI peuvent apparaître brouillées ou floues.

(2) La reconstitution DOM est née en réaction aux insuffisances du pixel pushing. La reconstitution DOM tente de nettoyer le HTML, le CSS, etc. de la page web avant de transmettre le contenu au navigateur du point de terminaison local. Le HTML, le CSS, etc. sont reconstitués pour tenter d'éliminer le code actif, les exploits connus et tout autre contenu potentiellement malveillant. Tout en réglant les problèmes de latence, de coût opérationnel et d'expérience utilisateur que pose le pixel pushing, elle présente deux nouveaux problèmes importants :

  • La sécurité. Les technologies utilisées (HTML, CSS, polices web, etc.) sont les vecteurs d'attaque utilisés par les pirates pour s'introduire dans les points de terminaison. Vouloir supprimer un contenu ou un code malveillant équivaut à vouloir nettoyer des moustiques : on peut toujours essayer de les nettoyer, mais ils demeurent porteurs de contenus dangereux et nuisibles. Il est impossible d'identifier à l'avance tous les moyens d'exploiter ces technologies, même par le biais d'un système RBI.
  • Fidélité du site web. Les tentatives de suppression du code actif malveillant, la reconstitution du HTML, du CSS et d'autres aspects des sites web modernes aboutissent inévitablement à des pages endommagées qui ne sont pas affichées correctement ou qui ne sont pas affichées du tout. Les sites web qui fonctionnent aujourd'hui peuvent ne pas fonctionner demain, car les éditeurs de sites leur apportent quotidiennement des modifications qui peuvent briser les fonctionnalités de reconstitution DOM. Cette situation se traduit par une infinité de problèmes nécessitant des ressources importantes dans un jeu perpétuel du chat et de la souris. Certaines solutions RBI ont du mal à prendre en charge certains services courants à l'échelle de l'entreprise, comme Google G Suite ou Microsoft Office 365, alors que les e-mails infectés par des logiciels malveillants continuent d'être une source importante de piratage.

Les clients doivent donc choisir entre une solution sécurisée mais peu conviviale et aux coûts de fonctionnement élevés et une solution plus rapide mais beaucoup moins sécurisée qui endommage les sites web. Ces différences ont conduit certains fournisseurs de RBI à intégrer ces deux technologies de distanciation à leurs produits. Cependant, cela laisse les clients choisir le moindre mal sans aborder les questions fondamentales.

Compte tenu des compromis importants que leur imposent les systèmes RBI actuels, les clients ont tendance à déployer des fonctionnalités de navigation à distance uniquement pour les utilisateurs les plus vulnérables d'une entreprise, tels que les cadres supérieurs et le personnel des services des finances, du développement commercial ou des ressources humaines. Tout comme la vaccination de la moitié des élèves d'une classe, cela donne un faux sentiment de sécurité qui ne contribue guère à protéger l'entreprise dans son ensemble.

Malheureusement, le plus grand « fossé » créé par les systèmes actuels d'isolation des navigateurs à distance est l'écart entre le potentiel du concept d'isolation et la réalité de la mise en place des systèmes RBI actuellement disponibles.

Isolation de navigateur à distance de S2 Systems

L'isolation de navigateur à distance de S2 Systems est une solution fondamentalement différente basée sur la technologie brevetée par S2 appelée Network Vector Rendering (NVR).

Le navigateur à distance de S2 repose sur le moteur open-source Chromium utilisé par Google Chrome. En plus d'être le moteur de Google Chrome, qui détient une part de marché d'environ 70 %[8], Chromium est le moteur de 21 autres navigateurs web, dont le nouveau navigateur Microsoft Edge.[9] Par conséquent, en investissant de manière significative et continue dans le moteur Chromium, on garantit les plus hauts niveaux de prise en charge et de compatibilité des sites web, ainsi que des améliorations constantes.

L'une des principales caractéristiques architecturales du navigateur Chromium est son utilisation de la bibliothèque graphique Skia. Skia est un moteur graphique multiplateforme très utilisé sur Android, Google Chrome, Chrome OS, Mozilla Firefox, Firefox OS, FitbitOS, Flutter, le framework d'applications Electron et de nombreux autres produits. Tout comme pour Chromium, l'omniprésence de Skia assure une large compatibilité avec le matériel et les plates-formes.

Fragment de code Skia

Tout ce qui est affiché dans une fenêtre de navigateur Chromium est restitué par la couche de rendu Skia. Cela englobe les fenêtres d'application telles que les menus, mais surtout, l'ensemble du contenu de la fenêtre de la page web est affiché par Skia. La composition, la mise en page et le rendu de Chromium sont extrêmement complexes, avec de multiples chemins parallèles optimisés pour différents types de contenu, de dispositifs, etc. Le schéma suivant représente une très grosse simplification du fonctionnement de S2 (toutes mes excuses aux experts de Chromium) :

La technologie NVR de S2 Systems intercepte les commandes de traçage Skia ❶ du navigateur Chromium distant, les convertit en jetons et les compresse, puis les chiffre et les transmet via le réseau ❷ à tout navigateur web compatible HTML5 ❸ (Chrome, Firefox, Safari, etc.) fonctionnant localement sur l’ordinateur de point de terminaison ou l'appareil mobile de l'utilisateur. Les commandes de l'API Skia capturées par le NVR sont une pré-rastérisation, ce qui signifie qu'elles sont très compactes.

Lors de la première utilisation, le service RBI de S2 transmet de manière transparente une bibliothèque WebAssembly (Wasm) NVR ❹ au navigateur web HTML5 local du périphérique de point de terminaison où elle est mise en cache pour une utilisation ultérieure. Le code Wasm NVR contient une bibliothèque Skia intégrée et le code nécessaire pour décompresser, déchiffrer et réexécuter les commandes de traçage Skia du serveur RBI distant dans la fenêtre du navigateur local. La capacité de WebAssembly à « s'exécuter à la vitesse native en tirant parti des capacités matérielles communes disponibles sur un large éventail de plateformes » [10] permet d'obtenir des performances de traçage quasi natives.

Le service d'isolation de navigateur à distance de S2 utilise des navigateurs administrés à distance basés sur Chromium dans le cloud, intercepte de manière transparente les informations de la couche de dessin, transmet les commandes de traçage de manière efficace et sécurisée sur le web, et les retrace dans les fenêtres des navigateurs HTML5 locaux. Cette architecture présente un certain nombre d'avantages techniques :

(1)    Sécurité : le transport de données n'est pas un vecteur d'attaque existant et les clients ne sont pas obligés de faire un compromis entre la sécurité et les performances.

(2)    Compatibilité du site Web : aucun problème de compatibilité entre les sites web, ni de longue recherche de technologies web en évolution ou de vulnérabilités émergentes.

(3)    Performances : le système est très rapide, généralement plus rapide que la navigation locale (cela fera l'objet d'un prochain article).

(4)    Expérience utilisateur de qualité : La navigation à distance avec S2 ressemble à la navigation locale : les utilisateurs ne se rendent généralement pas compte qu'ils naviguent à distance.

(5)    Nécessite moins de bande passante que la navigation locale pour la plupart des sites web. Permet une mise en cache avancée et d'autres optimisations propriétaires propres aux navigateurs web et à la nature du contenu et des technologies web.

(6)    Sans client : utilise les navigateurs compatibles HTML5 déjà installés sur les ordinateurs des points de terminaison et les appareils mobiles des utilisateurs.

(7)    Une évolutivité financièrement avantageuse : sans nous étendre sur les détails, le backend S2 et la technologie NVR ont des coûts d'exploitation nettement inférieurs à ceux des technologies RBI existantes. Les coûts d'exploitation se traduisent directement en coûts pour le client. Le système S2 a été conçu pour être déployé à l’échelle d’une entreprise et non pas seulement pour des utilisateurs spécifiques (c'est-à-dire pour vacciner la moitié de la classe), ce qui est à la fois réalisable et intéressant pour les clients.

(8)    RBI-as-a-platform : permet de déployer des services connexes/adjacents tels que le DLP, la neutralisation et la reconstitution de contenu (CDR), la détection et la prévention du phishing, etc.

Le service d'isolation à distance du navigateur de S2 Systems et la technologie NVR sous-jacente éliminent le décalage entre d’une part le potentiel conceptuel et la promesse de l'isolation du navigateur d’autre part les aspects négatifs des technologies RBI actuelles.

Isolation de navigateur à distance de Cloudflare + S2 Systems

La plateforme mondiale de cloud computing de Cloudflare est particulièrement adaptée à l'isolation de la navigation à distance. L'intégration parfaite avec nos produits et services de sécurité avancés, fiables et performants nativement en cloud, donne à nos clients de grandes possibilités.

Notre architecture Cloudflare Workers fournit des services informatiques de pointe à 200 villes dans plus de 90 pays et permet à 99 % de la population connectée à Internet dans les pays développés de disposer d'un navigateur à distance en moins de 100 millisecondes. Avec plus de 20 millions de propriétés Internet directement connectées à notre réseau, l'isolation de navigateur à distance Cloudflare bénéficiera de données mises en cache localement et s'appuiera sur la connectivité et les performances impressionnantes de notre réseau. Notre solution Argo Smart Routing utilise notre infrastructure de communication pour acheminer le trafic sur des chemins réseau plus rapides et plus fiables, ce qui permet d'accélérer de 30 % en moyenne l'accès aux ressources web.

Une fois intégrée à notre gamme de produits de sécurité avancés Cloudflare for Teams, l'isolation à distance de navigateur offrira une protection contre les exploits de navigateur, les vulnérabilités de type « Zero day », les logiciels malveillants et d'autres attaques présentes dans les contenus web. Les entreprises pourront sécuriser les navigateurs de tous leurs employés sans avoir à faire de compromis entre la sécurité et le confort d'utilisation. Le service permettra le contrôle informatique des données d'entreprise transmises par navigateur et la vérification de la conformité. L'intégration harmonieuse de nos produits et de nos services permettra aux utilisateurs et aux entreprises de naviguer sur le web sans crainte ni conséquences.

La mission de Cloudflare est d'aider à construire un Internet meilleur. Cela implique de protéger les utilisateurs et les entreprises lorsqu'ils travaillent et jouent sur internet et de rendre l'accès à internet rapide, fiable et transparent. Repenser et moderniser la navigation sur le web est une étape importante dans la quête d'un internet meilleur.


[1] https://www.w3.org/History/1989/proposal.html

[2] « Internet World Stats »,https://www.internetworldstats.com/, récupéré le 21/12/2019.

[3] « Innovation Insight for Remote Browser Isolation », (ID du rapport : G00350577) Neil MacDonald, Gartner Inc, 8 mars 2018

[4] Gartner, Inc., Neil MacDonald, « Innovation Insight for Remote Browser Isolation », 8 mars 2018

[5] Gartner, Inc., Neil MacDonald, « Innovation Insight for Remote Browser Isolation », 8 mars 2018

[6] « Rapport de menaces Webroot 2019 : Quarante pour cent d'URL malveillantes trouvées sur des domaines de bonne réputation », 28 février 2019

[7] « Kleiner Perkins 2018 Internet Trends », Mary Meeker.

[8] https://www.statista.com/statistics/544400/market-share-of-internet-browsers-desktop/, récupéré le 21 décembre 2019

[9] https://fr.wikipedia.org/wiki/Chromium_(web_browser), récupéré le 29 décembre 2019

[10] https://webassembly.org/, récupéré le 30 décembre 2019

Actualités des produits Access Cloudflare for Teams Security VPN