Blog

L'évolution des directives de développement sécurisé

September 15, 2017
Pieter De Cremer
Carte du monde illustrant des hacktivistes d'Italie, des États-Unis et du Brésil attaquant l'application Code Snippets en Europe.

La semaine dernière, j'ai étudié les vulnérabilités de Java Spring afin de mettre à jour nos directives de développement sécurisé. En passant en revue les défis existants sur notre plateforme, j'en ai remarqué quelques-uns concernant les failles XSS liées à l'affichage de paramètres d'URL dans des pages JSP. L'exemple de code incorrect ressemblerait à ceci :

   <input type="text" name="username" value="${param.username}">

La solution correcte consistait à supprimer complètement le paramètre d'URL, et la description précise qu'échapper correctement ce paramètre est également une méthode sûre.

Mon travail consiste désormais à formuler cette directive de manière claire pour les développeurs, en les limitant le moins possible tout en garantissant la sécurité du code. Dans ce cas, je préfère leur permettre de conserver la fonctionnalité souhaitée en leur recommandant de sécuriser le paramètre d'URL par échappement. Ainsi, le code n'est plus vulnérable aux failles XSS. L'exemple ci-dessus peut être sécurisé comme suit :

   <input type="text" name="username" value="${fn:escapeXml(param.username)}">

C'était notre directive de sécurité pendant quelques jours, jusqu'à ce que je tombe sur une page de l'OWASP concernant l'injection par langage d'expression. Cette page décrit comment le Spring Expression Language (SpEL) peut être détourné pour des injections aux conséquences graves, notamment l'exécution de code à distance. Il m'appartenait de déterminer si du code respectant nos directives pouvait encore être vulnérable. J'ai donc créé une application de test rapide pour évaluer les expressions SpEL, avec et sans échappement XML, afin d'identifier des scénarios non détectés. J'en ai trouvé : il existe des expressions malveillantes ne contenant aucun caractère filtré par XmlEscape. J'ai publié la démonstration sur notre GitHub, disponible ici.

J'ai évidemment mis à jour notre directive de sécurité, qui stipule désormais : « Ne pas afficher ni évaluer les paramètres d'URL à l'aide du Spring Expression Language (SpEL). »

L'impact global de cette vulnérabilité est élevé pour les raisons suivantes : - Un attaquant pourrait modifier et invoquer des fonctionnalités sur le serveur d'application. - Accès non autorisé aux données et fonctionnalités, détournement de compte et exécution de code à distance. - Risques pour la confidentialité et l'intégrité.

https://www.owasp.org/index.php/Expression_Language_Injection

Slogan

Gouvernez le développement assisté par IA avant la mise en production

Évaluez les risques liés à l'IA, appliquez des politiques de codage sécurisé dès le commit et accélérez la livraison sécurisée tout au long de votre cycle de développement.

Réserver une démo
Bibliothèque de ressources

Explorer plus d'articles

Accédez à du contenu expert sur le codage sécurisé, la gouvernance de l'IA et la gestion des risques logiciels.

tout parcourir
Étude de cas
Libellé du filtre
Ceci est un texte à l'intérieur d'un bloc div.

Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

En savoir plus
Étude de cas
Libellé du filtre
Ceci est un texte à l'intérieur d'un bloc div.

Security as culture: How Blue Prism cultivates world-class secure developers

Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

En savoir plus
Étude de cas
Libellé du filtre
Ceci est un texte à l'intérieur d'un bloc div.

Une culture de la sécurité : comment Sage a bâti son programme de champions

Découvrez comment Sage a renforcé sa sécurité grâce à une approche flexible axée sur les relations humaines, formant plus de 200 champions de la sécurité et obtenant une réduction mesurable des risques.

En savoir plus
Blog
Libellé du filtre
Ceci est un texte à l'intérieur d'un bloc div.

Mois de la sensibilisation à la cybersécurité 2026 : comprendre la sécurité de l'IA est essentiel à la défense de l'entreprise

Nous avons atteint un point où la plupart des grandes entreprises d'IA ont publiquement appelé à un ralentissement mondial du développement de l'IA afin de permettre aux garde-fous de sécurité de rattraper leur retard. Pourtant, la réalité est que de graves problèmes de sécurité se sont déjà concrétisés. Cela place d'innombrables responsables de la sécurité et équipes de direction dans une situation d'urgence, alors que les coûts financiers et les risques liés à la mise en œuvre de l'IA ne cessent de s'accumuler.

En savoir plus
Blog
Libellé du filtre
Ceci est un texte à l'intérieur d'un bloc div.

Levier 8 : Valoriser votre programme

Un programme de codage sécurisé a besoin de plus qu'un contenu de qualité pour réussir. Le levier 8 montre comment l'image de marque transforme la participation en une expérience convoitée, axée sur le statut.

En savoir plus
Blog
Libellé du filtre
Ceci est un texte à l'intérieur d'un bloc div.

Chaque employé est désormais en première ligne de la cybersécurité IA

Le paysage technologique des entreprises évolue à une vitesse que peu avaient anticipée avant qu'il ne soit trop tard. Nous avons officiellement franchi le cap du code écrit par l'humain et de l'assistance basique par copilote pour entrer dans l'ère du cycle de vie de développement agentique (ADLC). Si les agents IA autonomes promettent une efficacité sans précédent dans de multiples fonctions, ils apportent également une toute nouvelle catégorie de risques en matière de sécurité et de réglementation.

En savoir plus

Sécurisez le développement piloté par l'IA avant le déploiement

Identifiez les risques de développement, appliquez vos politiques et prévenez les vulnérabilités tout au long du cycle de vie de vos logiciels.

Réserver une démo
trust score
Aucun élément trouvé.