Des chercheurs de l’Université de Californie à Berkeley (Californie) et de Microsoft Corporation à Redmond (Washington) ont mis au point un nouveau système de sécurité permettant de surveiller et de contrôler le code partagé sur les sites web. Leur nouvelle application identifierait le code partagé externe et permettrait aux développeurs d’applications web de déterminer précisément ce que ce code peut et ne peut pas faire à leurs sites et aux données sous-jacentes.
Appelé Conscript, le nouveau système permettrait aux développeurs web de contrôler si et comment le JavaScript s’exécute sur leurs applications web – à condition que leurs utilisateurs utilisent Internet Explorer 8 (le système pourrait théoriquement être étendu à d’autres navigateurs à l’avenir). Conscript identifie dix-sept types différents de JavaScript exécutable en se basant sur des modèles trouvés à la fois dans le JavaScript classique et dans les bibliothèques JavaScript couramment utilisées telles que JScript et AJAX, et donne à ses utilisateurs – les créateurs de sites web – un contrôle fin sur chacun d’entre eux.
Parmi les options offertes par Conscript, citons la possibilité de désactiver le code exécuté dynamiquement après un point spécifique du chargement de la page, de restreindre l’utilisation de méthodes de rappel basées sur le temps, de limiter les appels XMLhttpRequest aux connexions sécurisées de confiance, de désactiver l’accès JavaScript aux données privées souvent stockées dans les cookies et d’utiliser des listes blanches pour activer ou désactiver le code exécutable provenant de sources spécifiques. Par exemple, un site Web peut explicitement désactiver tout code exécutable provenant de toutes les sources, à l’exception de sites partenaires spécifiques tels que Google Maps ou Amazon, ou interdire tout appel côté serveur à tout code JavaScript côté client en bloquant l’utilisation de XMLhttpRequest. Conscript peut également être utilisé pour mettre sur liste noire des appels ou des domaines spécifiques et pour enregistrer les tentatives d’intrusion effectuées contre toute fonction bloquée ou par des domaines bloqués.
Les développeurs peuvent sélectionner manuellement leur niveau de restriction préféré pour chacune des dix-sept options, mais Conscript prend également en charge les sélections automatiques par défaut imposées par leur IDE ou d’autres outils de développement courants. Ces politiques seraient élaborées une fois puis intégrées dans le modèle de projet utilisé pour tous les développements futurs, un peu comme le sont aujourd’hui d’autres pratiques et normes de codage organisationnelles.
Le TFOT a déjà présenté d’autres logiciels de débogage et de sécurité, notamment des logiciels autoréparateurs capables de localiser et de corriger divers bogues quelques minutes après leur découverte, les fonctions de sécurité du navigateur Firefox 3 et les fonctions de sécurité de Google Chrome, y compris certaines fonctions de sécurité spécifiques à JavaScript.