Fonctionnement de l'analyse du code source JavaScript

JavaScript Security Analyzer (JSA) effectue une analyse statique du code source JavaScript pour détecter divers problèmes côté client, principalement des scripts intersite basés DOM. JSA analyse les pages HTML collectées par AppScan® Enterprise au cours de l'étape d'exploration. JSA s'exécute parallèlement à l'étape de test ou peut être lancé manuellement à n'importe quel moment sur des résultats d'exploration existants.

Les problèmes détectés par JSA comprennent les informations de trace au niveau de la source qui montrent la vulnérabilité du code source. Vous pouvez visualiser les informations de trace dans l'onglet Fragments de code du rapport A propos de ce problème d'un problème. Les lignes du code numérotées et mises en évidence indiquent, étape par étape, comment sont propagées des données non fiables depuis la source jusqu'au collecteur, jusqu'à leur utilisation non sécurisée.

Comment ça marche ?

JSA utilise la technologie avancée d'analyse des chaînes développée par IBM pour éliminer les résultats faussement positifs et classifier les problèmes de manière plus précise. JSA met en œuvre deux étapes d'analyse pour chaque page : une analyse des données ou flux de données corrompus, et une analyse de chaîne. Au cours de la première étape, JSA recherche la trace d'un flux complet ne passant pas par une étape de nettoyage. S'il trouve une telle trace, JSA la valide au cours de la deuxième étape à l'aide de la technique d'analyse du préfixe de chaîne, SPA (String Prefix Analysis), qui est une variante de l'analyse de chaîne (String Analysis).

Au cas où la source est une URL ou une portion d'URL, la trace n'est exploitable que si un cyber-attaquant peut prendre le contrôle, au niveau de la terminaison du flux, des portions d'URL contenant l'hôte et le chemin. SPA valide ces cas en suivant les opérations de la chaîne qui manipule l'URL source. SPA considère que l'hôte et le chemin de l'URL ne sont pas contrôlés par l'agresseur informatique tant que la portion de la requête et/ou de l'ancre est :

Au niveau de la terminaison du flux, SPA vérifie si un agresseur informatique peut prendre le contrôle des portions d'URL contenant l'hôte et le chemin. S'il détermine que les portions contenant l'hôte et le chemin sont fixes et ne sont pas contrôlées par un agresseur, le problème est éliminé. Si la cible de redirection commence par le préfixe javascript: ou mailto:, le problème est classifié respectivement comme "attaque XSS par injection DOM" ou "usurpation d'adresse courriel".

Remarque : Vous pouvez visualiser les vulnérabilités JSA dans le rapport Problèmes de sécurité. Cliquez sur le lien A propos de ce problème du rapport pour voir les fragments de code qui mettent en évidence les endroits du code présentant des vulnérabilités.