Threat Stack est désormais F5 Distributed Cloud App Infrastructure Protection (AIP). Commencez à utiliser Distributed Cloud AIP avec votre équipe dès aujourd'hui .
Threat Stack Application Security Monitoring détecte les vulnérabilités dans le code et bloque les attaques en direct en temps réel. La plupart des solutions de sécurité des applications évoquent les attaques d’exécution les plus courantes (injection SQL ou XSS, par exemple), mais les langages et frameworks d’applications Web modernes incluent également certaines fonctions légitimes qui peuvent être utilisées de manière abusive, ce qui peut entraîner des attaques qui peuvent avoir un impact aussi important que celles-ci (ou plus). Threat Stack Application Security Monitoring protège contre SQLi et XSS, et nous introduisons désormais une détection d'attaque d'exécution supplémentaire pour protéger davantage votre application Web, vos microservices et vos charges de travail API contre les attaques de traversée de chemin ou de répertoire et l'exécution de code à distance.
L'exécution de code à distance (RCE — également connue sous le nom d'exécution de code arbitraire ou ACE) permet à un attaquant d'exécuter du code arbitraire sur le serveur sur lequel une application est en cours d'exécution. Il s’agit d’une attaque par injection : un attaquant pourrait transmettre une chaîne à une fonction qui exécuterait ses propres commandes du système d’exploitation. Une bonne explication de la façon dont cela fonctionne en Javascript se trouve sur le blog Wanago.io à l' adresse https://wanago.io/2018/11/19/how-does-eval-work-and-how-is-it-evil-javascript-eval/ . Dans cet exemple, la fonction eval prend une chaîne et l'exécute en tant que code avec les mêmes privilèges que le reste de l'application. Imaginez qu'un attaquant soumette les informations suivantes sur le formulaire d'inscription de votre site en tant que nom d'utilisateur :
'John"); exec("rm -rf ./*"); console.log("'
Si cette valeur de nom d’utilisateur est utilisée dans une fonction d’évaluation, ce ne sera pas une très bonne journée !
Threat Stack vous protège contre le RCE de deux manières : au moment de la création et au moment de l'exécution. Au moment de la construction, le microagent AppSec identifie les appels de fonction vulnérables aux attaques RCE, comme eval()
dans Node.js ou os.fork
en Python. Ces fonctions pourraient être utilisées de manière légitime et sûre, c'est pourquoi nous les signalons comme « à risque » pour les développeurs. Nous fournissons du contenu eLearning qui explique pourquoi ils peuvent être risqués et propose des alternatives plus sûres. Cependant, au moment de l’exécution, nous identifions des tentatives visant à exploiter réellement les vulnérabilités. Par exemple, si nous constatons qu’une de ces fonctions risquées est invoquée avec du contenu provenant du Web contenant un exploit de commande shell, nous signalons cela comme une attaque et avertissons immédiatement votre équipe. Les exploits de commandes courants peuvent consister en des commandes telles que kill, disable, stop, fdisk, etc.
Une attaque par traversée de chemin ou de répertoire permet à un attaquant de lire (ou dans certains cas d'écrire) des fichiers arbitraires sur le serveur sur lequel une application s'exécute, des fichiers situés en dehors des dossiers où réside l'application Web. Cela peut inclure le code source de l'application, les informations d'identification ou les fichiers précieux du système d'exploitation. Il fonctionne en exploitant une technique courante consistant à utiliser des chemins de fichiers relatifs dans les variables, généralement appelés séquences « point-point-barre oblique (../) ». Par exemple, la séquence ../ fait référence à un niveau supérieur dans la structure du répertoire. Enchaînez plusieurs de ces séquences et vous pourrez faire référence à la racine du système de fichiers à partir de laquelle d'autres fichiers et répertoires pourraient être accessibles.
Il existe de nombreuses utilisations légitimes des séquences point-point-barre oblique, il serait donc ennuyeux que toute utilisation de celles-ci soit signalée comme un risque (comme vous pourriez le voir avec un outil SAST). Au lieu de cela, Threat Stack AppSec Monitoring analyse à la fois la fonction qui l’utilise et la charge utile transmise à la fonction au moment de l’exécution. Par exemple, dans une application Node.js utilisant des commandes telles que fs.open/read/write/etc.
, la charge utile transmise à la fonction peut être vérifiée pour le codage du chemin du répertoire ou les références aux fichiers sensibles du système d'exploitation. Une fonction risquée avec une charge utile malveillante sera signalée comme une attaque et votre équipe sera immédiatement avertie.
Les attaquants ne pensent pas aux niveaux ; ils ne se concentrent pas uniquement sur les applications en ignorant les conteneurs dans lesquels elles s’exécutent ou le service cloud sur lequel elles sont hébergées. Une attaque RCE, par exemple, pourrait entraîner l’exécution de processus non autorisés sur un hôte. Ou une attaque de traversée de chemin pourrait compromettre les fichiers d'informations d'identification sensibles de l'hôte cloud. Il est important de pouvoir détecter ces attaques et d’autres attaques d’applications d’exécution, mais il est essentiel de permettre l’observabilité de la sécurité sur toutes vos surfaces d’attaque, quelle que soit leur complexité ou l’évolution de votre infrastructure. C'est la puissance d'AppSec Monitoring dans le cadre de la plateforme complète Threat Stack Cloud Security Platform®.
Si vous souhaitez en savoir plus sur la plateforme de sécurité cloud Threat Stack, notamment sur ses fonctionnalités de sécurité des applications, n'hésitez pas à vous inscrire pour une démonstration. Nos experts en sécurité et conformité se feront un plaisir de discuter des besoins de votre organisation.
Threat Stack est désormais F5 Distributed Cloud App Infrastructure Protection (AIP). Commencez à utiliser Distributed Cloud AIP avec votre équipe dès aujourd'hui .