Selon une recherche menée par une équipe de scientifiques du College of Computer and Information Science de Northeastern (située à Boston, dans le Massachusetts, aux États-Unis), les fonctionnalités de site web dépendant de bibliothèques JavaScript tierces (comme JQuery) peuvent créer des vecteurs d’attaques, exposant les sites web qui les utilisent à des attaques.
Ils ont effectué une étude sur l’utilisation côté client des bibliothèques JavaScript et l’implication résultante sur la sécurité sur le web. « En utilisant des données provenant de plus de 133 000 sites web, nous avons montré que 37 % d'entre eux comprennent au moins une bibliothèque avec une vulnérabilité connue », ont-ils assuré.
« Bien que JavaScript soit la norme de facto pour le développement client sur le Web, ses vulnérabilités de sécurité sont de notoriété publique. L’un des problèmes courants et persistants est le Cross-Site Scripting (XSS), qui permet à un attaquant d’injecter du code malveillant (ou HTML) dans un site Web. En particulier, si une bibliothèque JavaScript accepte l'entrée de l'utilisateur et ne la valide pas, une vulnérabilité XSS pourrait s'infiltrer, et tous les sites Web utilisant cette bibliothèque pourraient devenir vulnérables », ont noté les chercheurs.
Ils ont expliqué qu’étant donné qu’il y a des milliers de bibliothèques JavaScript (ils se sont appuyés ici sur la communauté cdnjs.com qui affichait 2379 projets en août 2016), il est préférable pour eux de se focaliser sur les plus populaires étant donné qu’elles seront plus représentatives et donc plus conséquentes. En tout, ils se sont concentrés sur 72 bibliothèques qui leur ont permis de couvrir 73 % des bibliothèques les plus populaires, d’après l’outil d’analyse Wappalyzer.
Dans le catalogue qu’ils ont constitué, ils ont noté que les bibliothèques populaires comme Angular et jQuery ont respectivement jusqu'à 110 et 66 versions distinctes, bien que la moitié des bibliothèques disposent de moins de 26 versions.
Qu’en est-il des bibliothèques vulnérables ?
Pour avoir une vue représentative de l’utilisation de JavaScript sur le web, les chercheurs ont fait des collectes sur deux échantillons de données via des indexations automatisées : le premier était constitué des 75 000 sites figurant en tête de liste sur le baromètre Alexa, le second était constitué de 75 000 sites pris au hasard dans la zone .com. « Nous avons effectué les deux indexations automatisées en mai 2016 sur des adresses IP dans une gamme de / 24 aux États-Unis. Nous avons observé un taux d’échec d’environ 5 % et 17,2 % respectivement dans ALEXA et COM, ce qui nous a laissés avec des données issues de 71 217 et 62 086 domaines uniques ».
« Bien qu’il n’y a que 21 % des sites figurant dans le Top 100 qui utilisent une bibliothèque affichant une vulnérabilité connue, ce pourcentage augmente à 32,2 % dans le Top 1000 pour se stabiliser dans le Top 5000 et rester autour de la moyenne globale de 37,8 % pour tous les 75 000 sites Web. Cela indique que même les sites relativement importants (mais pas les plus importants) ont un taux de vulnérabilité comparable à la moyenne des sites figurant dans COM, qui est dominé par de petits sites ».
Les chercheurs ont trouvé que, du côté d’Alexa, 36,7 % des inclusions jQuery ont au moins une vulnérabilité connue, 40,1 % du côté d’Angular, 86,6 % pour Handlebars et 87,3 % pour YUI 3. Du côté de COM, cette proportion passe respectivement à 55,4 %, 38,7 %, 87,5 % et 13,7 %.
Les chercheurs se sont également intéressés à la question de savoir la vitesse à laquelle les bibliothèques tierces JavaScript sont mises à jour sur les sites. Ils ont exprimé ce temps en nombre de jours. Sur les sites référencés par Alexa, la médiane était de 1476 jours pour les sites JQuery disposant d’une vulnérabilité connue (soit plus de 4 ans) et 2243 jours du côté de COM (soit plus de 6 ans). Les sites s’appuyant sur ces bibliothèques sont donc restés vulnérables tout ce temps.
Les bibliothèques JavaScript tierces, telles que Angular, Bootstrap et jQuery, sont fréquemment utilisées sur les sites Web aujourd'hui. Bien que de telles bibliothèques permettent aux développeurs Web de créer des applications hautement interactives ainsi que des sites web visuellement attrayants, les vulnérabilités dans ces bibliothèques pourraient augmenter la surface d'attaque des applications/sites Web qui dépendent d’elles. Par conséquent, il est très important de s'assurer d’utiliser les versions récentes et corrigées de ces bibliothèques.
Source : résultat de l'étude (au format PDF)
Voir aussi :
Une attaque JavaScript ciblant les unités de gestion de mémoire permet de contourner la protection ASLR sur au moins 22 microarchitectures de CPU
JavaScript : Twitter a transféré tout son trafic mobile vers un nouveau stack Node.js, Express et React
Nombreux sont les sites web qui font appel à des bibliothèques JavaScript tierces obsolètes
Et sont donc vulnérables à des attaques
Nombreux sont les sites web qui font appel à des bibliothèques JavaScript tierces obsolètes
Et sont donc vulnérables à des attaques
Le , par Stéphane le calme
Une erreur dans cette actualité ? Signalez-nous-la !