Recemment, tout le monde s'est mis a s'inquieter du fait que
WebGL existait. Ou du moins, commencait a etre integre a des navigateurs populaires comme Chrome ou Firefox. Certes, cela ajoute un niveau additionnel de complexite au code et une nouvelle surface d'attaque associee - ce qui n'est pas ideal - mais surtout ca expose les drivers graphiques aux Internets. Et ca, c'est le debut de la fin (meme si FX ne semble pas etre
d'accord). Pour la bonne et simple raison que les drivers graphiques sont gros et tres mal codes (mon .sys ATI est plus gros que mon noyau).
Dans l'eventualite ou vous voudriez en avoir la preuve, je vous invite a vous rendre sur la page du test de
conformite WebGL depuis un Windows XP sous VMware avec Chrome, le tout a jour, avec support
3D. Apres quelques tests, ma VM a bluescreene, faute au driver video de VMware qui a tente une division par 0 en ring 0 (dans vmx_fb.dll pour etre precis). La division par 0, ce n'est pas bien grave, mais ca ne represente qu'une portion infime de ce qui peut derailler dans le traitement de la 3D.
Maintenant, est-ce la faute de VMware seulement? Pas vraiment. Je citerai pour demonstration la liste
noire de drivers videos dans Firefox 4. Mozilla a pris l'initiative de ne pas activer WebGL si les drivers graphiques sont "pourris" (enfin, ils le sont tous), et ne supporte vraiment que les 3 grandes marques ATI, Intel, Nvidia. Pour crasher votre VM avec Firefox, il faut aller dans about:config, et forcer WebGL. En fait, Chrome fait de
meme, plus ou moins. On relevera les notes suivantes:
NVIDIA drivers older than 257.21 on Windows XP are assumed to be buggy.
Intel drivers older than 14.42.7.5294 on Windows XP are assumed to be buggy.
ATI drivers older than 10.6 on Windows XP are assumed to be buggy.
Je trouve relativement interessant qu'il releve aujourd'hui du navigateur de proteger l'utilisateur des couches de vulnerabilites de niveau inferieur. Enfin toujours est-il que lorsque je lis les
recherches de "Context Information Security LTD", je me dis qu'ils sont passes a cote du probleme.