Sécurité

WebGL est fondamentalement défectueux – High-teK.ca

Ce site peut gagner des commissions d’affiliation à partir des liens sur cette page. Conditions d’utilisation.

Oui, Silverlight était vulnérable au même problème DoS dont souffrait WebGL. Oui, il y a des développeurs de Google, Mozilla et Opera qui condamnent la décision de l’équipe d’Internet Explorer d’éviter WebGL. Oui, il y a même un employé de Microsoft qui a eu le courage de parler publiquement de la bêtise de sa propre entreprise – et oui, Microsoft a probablement un conflit d’intérêts avec DirectX. Mais ces développeurs experts estimés passent tous à côté de l’essentiel : il ne s’agit pas de pilotes défectueux, et il ne s’agit pas non plus de corriger les vulnérabilités au fur et à mesure qu’elles sont découvertes. Il ne s’agit même pas de Microsoft qui se lance dans les technologies Web ouvertes. Il s’agit, en fait, de WebGL étant une spécification fondamentalement défectueuse.

WebGL est un wrapper autour d’OpenGL et d’OpenGL ES. Vous programmez WebGL de la même manière que vous programmez OpenGL, il utilise les mêmes pilotes OpenGL et il utilise le même matériel GPU. En ce qui concerne votre carte graphique et vos pilotes, il n’y a aucune différence entre un site Web exécutant WebGL et un jeu OpenGL installé comme World of Warcraft. Ne vous laissez pas berner par le fait que WebGL est « sans plug-in » ; ni se laisser bercer par le fait qu’il est intégré dans des navigateurs sécurisés comme Chrome et Firefox. WebGL, quelle que soit la manière dont vous le découpez, est une technologie de bas niveau qui permet à du code non fiable de s’exécuter directement sur votre GPU.

Psssssst :  Google confirme qu'il suit toujours les utilisateurs qui désactivent le suivi de localisation

Pensez-y un instant : pour que les applications utilisent OpenGL, vous devez les installer et les exécuter explicitement. WebGL, qui a un accès complet à votre sous-système matériel, peut être exécuté simplement en chargeant une page. Alors que les vulnérabilités annoncées sont en train d’être corrigées, le fait demeure : si une vulnérabilité zero-day est découverte à l’avenir, elle fournira un accès sans précédent au niveau du pilote et du matériel à votre ordinateur. Il y a un peu de mécanismes de sécurité en place, mais pour la plupart, ils sont l’équivalent de coller des patchs sur des trous qui fuient – et de plus, il y a un problème de responsabilité. Si une faille est découverte dans WebGL, quelle entreprise ou quel consortium est alors chargé de s’assurer que les utilisateurs finaux ne se font pas pirater ?

La première couche de défense est, bien sûr, le navigateur — mais est-ce la responsabilité de Mozilla et de Google de corriger leurs implémentations de WebGL, ou doivent-ils attendre la Groupe Khronos frapper un pansement sur la spécification WebGL avant de continuer? Ce n’est pas tout : dans le cas du problème de DoS, Khronos a ouvertement déclaré qu’il était en attente des fournisseurs de GPU pour mettre à jour leurs puces et pilotes pour prendre en charge une nouvelle extension OpenGL qui atténue le problème.

Ce que nous avons ici est un cercle vicieux. Les navigateurs doivent respecter les spécifications, et les modifications apportées aux spécifications pour renforcer la sécurité reposent sur les fournisseurs de GPU qui implémentent correctif après correctif pour sécuriser WebGL-cum-OpenGL. Cela ne veut pas dire que des fournisseurs comme AMD, Intel et Nvidia ne répareront pas éventuellement leurs pilotes et leur silicium, mais cela va au-delà de la question. Les cartes graphiques et les pilotes n’ont jamais été destinés à être exposés au Web ! WebGL prend OpenGL, une technologie de bas niveau qui omet intentionnellement les fonctionnalités de sécurité pour des raisons de vitesse, et l’expose au Web.

WebGL, en bref, est une spécification folle qui doit être dépouillée, séparée d’OpenGL et retravaillée de fond en comble pour devenir une technologie sécurisée et orientée Web.

Psssssst :  Apple bloquera les outils de piratage de l'iPhone de la police dans une future mise à jour

Bouton retour en haut de la page