Comparing the Detection of XSS Vulnerabilities in Node.js and a Multi-tier JavaScript-based Language via Deep Learning
Comparaison de la détection des vulnérabilités XSS entre Node.js et un langage JavaScript multi-niveau via le Deep Learning
Résumé
Cross-site Scripting (XSS) is one of the most common and impactful software vulnerabilities (ranked second in the CWE 's top 25 in 2021). Several approaches have focused on automatically detecting software vulnerabilities through machine learning models. To build a model, it is necessary to have a dataset of vulnerable and non-vulnerable examples and to represent the source code in a computer understandable way. In this work, we explore the impact of predicting XSS using representations based on single-tier and multi-tier languages. We built 144 models trained on Javascript-based multitier code -i.e. which includes server code and HTML, Javascript and CSS as client code - and 144 models trained on single-tier code, which include server code and client-side code as text. Despite the lower precision, our results show a better recall with a multitier language than a single-tier language, implying an insignificant impact on XSS detectors based on deep learning.
Le Cross-site Scripting (XSS) est l'une des vulnérabilités logicielles les plus courantes et les plus percutantes (classé deuxième dans le top 25 du CWE en 2021). Plusieurs approches se sont concentrées sur la détection automatique des vulnérabilités logicielles via des modèles d'apprentissage automatique. Pour construire un modèle, il est nécessaire de disposer d'un ensemble de données d'exemples vulnérables et non vulnérables et de représenter le code source de manière compréhensible par ordinateur. Dans ce travail, nous explorons l'impact de la prédiction de XSS à l'aide de représentations basées sur des langages à un ou plusieurs niveaux. Nous avons construit 144 modèles formés sur du code multi-niveau basé sur Javascript - c'est-à-dire, qui inclut le code serveur et HTML, Javascript et CSS comme code client - et 144 modèles formés sur du code à un niveau - qui incluent le code serveur et le code côté client sous forme de texte. Malgré une faible précision, nos résultats montrent un meilleur rappel avec un langage multi-niveaux qu'avec un langage mono-niveau, impliquant un impact insignifiant sur les détecteurs XSS basés sur l'apprentissage en profondeur.
Origine | Fichiers produits par l'(les) auteur(s) |
---|