Découvrez L'Art De L'Édition
L'ordinateur

Un informaticien identifie une vulnérabilité JavaScript dans des milliers de sites Web

Un informaticien identifie une vulnérabilité JavaScript dans des milliers de sites Web

Des millions de développeurs utilisent JavaScript pour créer des sites Web et des applications mobiles, ce qui en fait l’un des langages de programmation les plus populaires au monde. Mais selon les chercheurs de Johns Hopkins, des milliers de sites Web JavaScript sont vulnérables à une faille de sécurité qui pourrait entraîner la falsification de l’URL du site ou le vol des informations de profil d’un utilisateur.

Connue sous le nom de contamination de prototype, la faille permet aux attaquants de modifier ou de « contaminer » un prototype, qui est une propriété intégrée d’un objet JavaScript. Un attaquant qui réussit à modifier un prototype d’objet JavaScript peut exécuter diverses actions malveillantes.

Avec un cadre qu’ils appellent ProbeTheProtochercheurs de la Institut de sécurité de l’information Johns Hopkins a analysé un million de sites Web fonctionnant sur JavaScript et a constaté que plus de 2 700 sites Web– certains d’entre eux les plus visités au monde – présentaient de multiples défauts qui pouvaient les exposer à la contamination des prototypes.

Dix de ces sites figuraient parmi les 1 000 sites Web les plus visités de l’année, notamment Weebly.com, CNET.com et McKinsey.com.

« Notre outil ProbeTheProto peut détecter automatiquement et avec précision un large éventail d’attaques potentielles. Et nous avons constaté que de nombreux développeurs sont heureux que nous les aidions à garder une longueur d’avance sur les menaces de cybersécurité. »

Yinzhi-cao

professeur adjoint d’informatique

« Ce n’est que récemment que les chercheurs ont commencé à s’intéresser de près à la contamination des prototypes et se sont rendus compte qu’il s’agissait d’une source de grande inquiétude », a déclaré l’expert en cybersécurité. Yinzhi-cao, professeur adjoint d’informatique à la Johns Hopkins Whiting School of Engineering. « De nombreux membres de la communauté des développeurs ne savent peut-être pas que les vulnérabilités de contamination des prototypes peuvent avoir de graves conséquences. »

En Javascript, un objet est une collection de données ou de fonctionnalités associées ; par exemple, un objet de compte d’utilisateur peut contenir des données telles que des noms d’utilisateur, des mots de passe et des adresses e-mail. Une fois qu’un attaquant apporte une modification à un prototype d’objet, cela affectera le fonctionnement de l’objet dans l’ensemble de l’application et ouvrira la porte à des vulnérabilités plus graves, ajoute Cao.

Lui et son équipe ont entrepris d’étudier cet effet boule de neige à l’aide d’une analyse de contamination dynamique, une méthode dans laquelle l’entrée de l’application est étiquetée avec un marqueur spécial « contaminé » et les chercheurs observent comment les données contaminées se propagent tout au long du programme. Si le marqueur est toujours là dans la sortie du programme, les chercheurs savent que l’application est vulnérable aux attaques d’entrée exploitables qui pourraient conduire à une action imprévue.

« Imaginez un très long tuyau dans une grande boîte noire et je veux savoir si les points A et B sont connectés. S’ils le sont, je peux mettre un liquide toxique au point A pour attaquer le point B. Ce que nous faisons, c’est déposer du colorant rouge dans l’eau au point A, puis je regarde la couleur de l’eau au point B. Si je peux voir que le point B est également rouge, je sais que A et B sont connectés et nous pouvons alors lancer des attaques », a déclaré Cao.

Les chercheurs ont identifié trois principales attaques entrantes pouvant être causées par la contamination des prototypes : les scripts intersites (XSS), la falsification de cookies et la falsification d’URL. De telles vulnérabilités sur les sites Web publics offrent de nombreuses possibilités aux cybercriminels de détourner des mots de passe et d’installer des logiciels malveillants, entre autres activités néfastes.

Cao dit que les chercheurs ont la responsabilité de signaler les vulnérabilités de contamination des prototypes aux propriétaires de sites Web et même de recommander le meilleur correctif pour leur code. Grâce à l’équipe de Cao qui a tiré la sonnette d’alarme, les développeurs ont déjà corrigé 293 vulnérabilités à ce jour.

« Les organisations ne savent même pas que ces vulnérabilités existent. Notre outil ProbeTheProto peut détecter automatiquement et avec précision un large éventail d’attaques potentielles. Et nous avons constaté que de nombreux développeurs sont heureux que nous les aidions à garder une longueur d’avance sur les menaces de cybersécurité », a déclaré Cao. mentionné. .

Les étudiants diplômés en informatique Zifeng Kang et Song Li ont contribué à la recherche. Les membres de l’équipe présenteront leur article, « Probe the Proto: Measuring the Client-Side Prototype Contamination Vulnerabilities of a Million Real-World Web Sites », lors du Distributed Systems and Network Security Symposium du 24 au 28 mai à San Diego.