Plongée en profondeur : La vulnérabilité zero-day de MOVEit à la loupe
Les cyberattaques contre la chaîne d'approvisionnement des logiciels sont de plus en plus fréquentes, suscitant une vague de changements législatifs au niveau du gouvernement américain, tandis que les entreprises s'efforcent d'atténuer leur profil de risque étendu et d'améliorer rapidement la qualité de leurs logiciels. Rien que cette année, trois vulnérabilités de type "zero-day" ont été liées à des services de partage de fichiers, la plus importante et la plus destructrice étant l'exploit de masse MOVEit.
Mené par le groupe de ransomware CL0P, l'incident MOVEit domine l'actualité de la cybersécurité depuis un certain temps, avec plus de 1 000 organisations touchées. Ce nombre devrait continuer à augmenter, ce qui en fait l'une des attaques les plus puissantes contre la chaîne d'approvisionnement en logiciels depuis Solarwinds en 2021.
Le catalyseur de cette violation généralisée a été un groupe de vulnérabilités d'injection SQL, qui ont reçu un score de gravité de 9,8 sur 10 de la part de MITRE. L'injection SQL est la bête noire des professionnels de la sécurité depuis la fin des années 90 et, bien qu'elle soit assez simple à corriger, elle continue à se frayer un chemin dans les logiciels modernes et à offrir aux acteurs de la menace un tapis rouge vers les données sensibles.
Le scénario MOVEit est un peu différent de ce que de nombreux développeurs et professionnels de l'AppSec ont pu connaître auparavant, et vous pouvez tester vos compétences de tueur de SQLi dans une simulation en direct ici :
>>> PLAY THE MOVEit MISSION (Jouez la mission MOVEit)
La vulnérabilité : Injection SQL
Comment l'injection SQL a-t-elle été utilisée pour exploiter l'application de transfert de fichiers MOVEit de Progress Software ?
Le groupe de ransomware CL0P a réussi à exploiter la vulnérabilité CVE-2023-34362 d'injection SQL, ce qui lui a permis d'accéder sans restriction et sans autorisation à la base de données de MOVEit. À partir de là, ils ont pu installer LEMURLOOT, un shell web qui leur a permis d'exécuter plusieurs processus critiques à haut risque, tels que la récupération des paramètres du système, l'énumération de la base de données SQL, la récupération de fichiers à partir du système de transfert MOVEit et la création d'un nouveau compte avec des privilèges d'administration complets.
Il va sans dire que ce vecteur d'attaque peut être le résultat d'une erreur relativement simple - que l'on pourrait mettre sur le compte de l'utilisation perpétuelle de mauvais modèles de codage - mais son potentiel à causer des problèmes continus au niveau de l'entreprise est immense.
Comparable à l'exploit MOVEit, jetons un coup d'œil à cet explicatif SQLi, qui simule la méthode d'injection et d'exécution d'un code SQL malveillant :
Chaîne de requête et variable :
string emailAddress ="contact@scw.com";
var query = $"SELECT u.UserName From Users as u WHERE u.Email = '{emailAddress}'";
aboutira à la requête suivante :
var query = $"SELECT u.UserName From Users as u WHERE u.Email = 'contact@scw.com'" ;
... et avec une entrée malveillante :
string emailAddress = "contact@scw.com' ; DELETE FROM Invoices WHERE Id = 2;--" ;
var query = $"SELECT u.UserName From Users as u WHERE u.Email = '{emailAddress}'";
il deviendra :
var query = $"SELECT u.UserName From Users as u WHERE u.Email = 'contact@scw.com' ; DELETE FROM Invoices WHERE Id = 2;--'" ;
Comment cela se présente-t-il en vol ?
Notez qu'en raison de la concaténation de chaînes, l'entrée est interprétée comme une syntaxe SQL. Tout d'abord, un guillemet simple est ajouté pour s'assurer que l'instruction SELECT est une syntaxe SQL valide. Ensuite, un point-virgule est ajouté pour terminer la première instruction.
Une fois que cela est en place, une instruction DELETE valide est ajoutée, suivie de deux traits d'union pour commenter les caractères de fin (le guillemet simple). Une instruction UPDATE pourrait tout aussi bien être ajoutée, par exemple, si le code SQL malveillant consistait à mettre à jour les rôles ou les mots de passe des utilisateurs.
Essayez-le vous-même dans cette mission jouable :
Bien que relativement simple, SQLi reste un vecteur d'attaque puissant et bien trop courant. Dans le cas de MOVEit, cet exploit a permis l'installation d'une porte dérobée préjudiciable et d'un groupe d'autres attaques de gravité similaire.
Comment réduire le risque d'injection SQL ?
Les entreprises qui utilisent MOVEit dans le cadre de leurs activités doivent impérativement suivre les conseils de Progress Software en matière de remédiation. Cela inclut, sans s'y limiter, l'application des correctifs de sécurité en tant que priorité de niveau d'urgence.
Pour l'injection SQL en général, consultez notre guide complet.
Vous voulez en savoir plus sur la façon d'écrire du code sécurisé et de réduire les risques ? Essayez gratuitement notre défi d'injection SQL.
Si vous souhaitez obtenir d'autres conseils de codage gratuits, consultez Secure Code Coach pour vous aider à rester au fait des meilleures pratiques en matière de codage sécurisé.
Le scénario MOVEit est un peu différent de ce que de nombreux développeurs et professionnels de l'AppSec ont pu connaître auparavant, et vous pouvez tester vos compétences de tueur de SQLi dans une simulation en direct ici même.
Secure Code Warrior est là pour vous aider à sécuriser le code tout au long du cycle de vie du développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.
Réservez une démonstrationLaura Verheyde est développeuse de logiciels à l'adresse Secure Code Warrior . Elle se consacre à la recherche de vulnérabilités et à la création de contenu pour Missions et Coding labs.
Les cyberattaques contre la chaîne d'approvisionnement des logiciels sont de plus en plus fréquentes, suscitant une vague de changements législatifs au niveau du gouvernement américain, tandis que les entreprises s'efforcent d'atténuer leur profil de risque étendu et d'améliorer rapidement la qualité de leurs logiciels. Rien que cette année, trois vulnérabilités de type "zero-day" ont été liées à des services de partage de fichiers, la plus importante et la plus destructrice étant l'exploit de masse MOVEit.
Mené par le groupe de ransomware CL0P, l'incident MOVEit domine l'actualité de la cybersécurité depuis un certain temps, avec plus de 1 000 organisations touchées. Ce nombre devrait continuer à augmenter, ce qui en fait l'une des attaques les plus puissantes contre la chaîne d'approvisionnement en logiciels depuis Solarwinds en 2021.
Le catalyseur de cette violation généralisée a été un groupe de vulnérabilités d'injection SQL, qui ont reçu un score de gravité de 9,8 sur 10 de la part de MITRE. L'injection SQL est la bête noire des professionnels de la sécurité depuis la fin des années 90 et, bien qu'elle soit assez simple à corriger, elle continue à se frayer un chemin dans les logiciels modernes et à offrir aux acteurs de la menace un tapis rouge vers les données sensibles.
Le scénario MOVEit est un peu différent de ce que de nombreux développeurs et professionnels de l'AppSec ont pu connaître auparavant, et vous pouvez tester vos compétences de tueur de SQLi dans une simulation en direct ici :
>>> PLAY THE MOVEit MISSION (Jouez la mission MOVEit)
La vulnérabilité : Injection SQL
Comment l'injection SQL a-t-elle été utilisée pour exploiter l'application de transfert de fichiers MOVEit de Progress Software ?
Le groupe de ransomware CL0P a réussi à exploiter la vulnérabilité CVE-2023-34362 d'injection SQL, ce qui lui a permis d'accéder sans restriction et sans autorisation à la base de données de MOVEit. À partir de là, ils ont pu installer LEMURLOOT, un shell web qui leur a permis d'exécuter plusieurs processus critiques à haut risque, tels que la récupération des paramètres du système, l'énumération de la base de données SQL, la récupération de fichiers à partir du système de transfert MOVEit et la création d'un nouveau compte avec des privilèges d'administration complets.
Il va sans dire que ce vecteur d'attaque peut être le résultat d'une erreur relativement simple - que l'on pourrait mettre sur le compte de l'utilisation perpétuelle de mauvais modèles de codage - mais son potentiel à causer des problèmes continus au niveau de l'entreprise est immense.
Comparable à l'exploit MOVEit, jetons un coup d'œil à cet explicatif SQLi, qui simule la méthode d'injection et d'exécution d'un code SQL malveillant :
Chaîne de requête et variable :
string emailAddress ="contact@scw.com";
var query = $"SELECT u.UserName From Users as u WHERE u.Email = '{emailAddress}'";
aboutira à la requête suivante :
var query = $"SELECT u.UserName From Users as u WHERE u.Email = 'contact@scw.com'" ;
... et avec une entrée malveillante :
string emailAddress = "contact@scw.com' ; DELETE FROM Invoices WHERE Id = 2;--" ;
var query = $"SELECT u.UserName From Users as u WHERE u.Email = '{emailAddress}'";
il deviendra :
var query = $"SELECT u.UserName From Users as u WHERE u.Email = 'contact@scw.com' ; DELETE FROM Invoices WHERE Id = 2;--'" ;
Comment cela se présente-t-il en vol ?
Notez qu'en raison de la concaténation de chaînes, l'entrée est interprétée comme une syntaxe SQL. Tout d'abord, un guillemet simple est ajouté pour s'assurer que l'instruction SELECT est une syntaxe SQL valide. Ensuite, un point-virgule est ajouté pour terminer la première instruction.
Une fois que cela est en place, une instruction DELETE valide est ajoutée, suivie de deux traits d'union pour commenter les caractères de fin (le guillemet simple). Une instruction UPDATE pourrait tout aussi bien être ajoutée, par exemple, si le code SQL malveillant consistait à mettre à jour les rôles ou les mots de passe des utilisateurs.
Essayez-le vous-même dans cette mission jouable :
Bien que relativement simple, SQLi reste un vecteur d'attaque puissant et bien trop courant. Dans le cas de MOVEit, cet exploit a permis l'installation d'une porte dérobée préjudiciable et d'un groupe d'autres attaques de gravité similaire.
Comment réduire le risque d'injection SQL ?
Les entreprises qui utilisent MOVEit dans le cadre de leurs activités doivent impérativement suivre les conseils de Progress Software en matière de remédiation. Cela inclut, sans s'y limiter, l'application des correctifs de sécurité en tant que priorité de niveau d'urgence.
Pour l'injection SQL en général, consultez notre guide complet.
Vous voulez en savoir plus sur la façon d'écrire du code sécurisé et de réduire les risques ? Essayez gratuitement notre défi d'injection SQL.
Si vous souhaitez obtenir d'autres conseils de codage gratuits, consultez Secure Code Coach pour vous aider à rester au fait des meilleures pratiques en matière de codage sécurisé.
Les cyberattaques contre la chaîne d'approvisionnement des logiciels sont de plus en plus fréquentes, suscitant une vague de changements législatifs au niveau du gouvernement américain, tandis que les entreprises s'efforcent d'atténuer leur profil de risque étendu et d'améliorer rapidement la qualité de leurs logiciels. Rien que cette année, trois vulnérabilités de type "zero-day" ont été liées à des services de partage de fichiers, la plus importante et la plus destructrice étant l'exploit de masse MOVEit.
Mené par le groupe de ransomware CL0P, l'incident MOVEit domine l'actualité de la cybersécurité depuis un certain temps, avec plus de 1 000 organisations touchées. Ce nombre devrait continuer à augmenter, ce qui en fait l'une des attaques les plus puissantes contre la chaîne d'approvisionnement en logiciels depuis Solarwinds en 2021.
Le catalyseur de cette violation généralisée a été un groupe de vulnérabilités d'injection SQL, qui ont reçu un score de gravité de 9,8 sur 10 de la part de MITRE. L'injection SQL est la bête noire des professionnels de la sécurité depuis la fin des années 90 et, bien qu'elle soit assez simple à corriger, elle continue à se frayer un chemin dans les logiciels modernes et à offrir aux acteurs de la menace un tapis rouge vers les données sensibles.
Le scénario MOVEit est un peu différent de ce que de nombreux développeurs et professionnels de l'AppSec ont pu connaître auparavant, et vous pouvez tester vos compétences de tueur de SQLi dans une simulation en direct ici :
>>> PLAY THE MOVEit MISSION (Jouez la mission MOVEit)
La vulnérabilité : Injection SQL
Comment l'injection SQL a-t-elle été utilisée pour exploiter l'application de transfert de fichiers MOVEit de Progress Software ?
Le groupe de ransomware CL0P a réussi à exploiter la vulnérabilité CVE-2023-34362 d'injection SQL, ce qui lui a permis d'accéder sans restriction et sans autorisation à la base de données de MOVEit. À partir de là, ils ont pu installer LEMURLOOT, un shell web qui leur a permis d'exécuter plusieurs processus critiques à haut risque, tels que la récupération des paramètres du système, l'énumération de la base de données SQL, la récupération de fichiers à partir du système de transfert MOVEit et la création d'un nouveau compte avec des privilèges d'administration complets.
Il va sans dire que ce vecteur d'attaque peut être le résultat d'une erreur relativement simple - que l'on pourrait mettre sur le compte de l'utilisation perpétuelle de mauvais modèles de codage - mais son potentiel à causer des problèmes continus au niveau de l'entreprise est immense.
Comparable à l'exploit MOVEit, jetons un coup d'œil à cet explicatif SQLi, qui simule la méthode d'injection et d'exécution d'un code SQL malveillant :
Chaîne de requête et variable :
string emailAddress ="contact@scw.com";
var query = $"SELECT u.UserName From Users as u WHERE u.Email = '{emailAddress}'";
aboutira à la requête suivante :
var query = $"SELECT u.UserName From Users as u WHERE u.Email = 'contact@scw.com'" ;
... et avec une entrée malveillante :
string emailAddress = "contact@scw.com' ; DELETE FROM Invoices WHERE Id = 2;--" ;
var query = $"SELECT u.UserName From Users as u WHERE u.Email = '{emailAddress}'";
il deviendra :
var query = $"SELECT u.UserName From Users as u WHERE u.Email = 'contact@scw.com' ; DELETE FROM Invoices WHERE Id = 2;--'" ;
Comment cela se présente-t-il en vol ?
Notez qu'en raison de la concaténation de chaînes, l'entrée est interprétée comme une syntaxe SQL. Tout d'abord, un guillemet simple est ajouté pour s'assurer que l'instruction SELECT est une syntaxe SQL valide. Ensuite, un point-virgule est ajouté pour terminer la première instruction.
Une fois que cela est en place, une instruction DELETE valide est ajoutée, suivie de deux traits d'union pour commenter les caractères de fin (le guillemet simple). Une instruction UPDATE pourrait tout aussi bien être ajoutée, par exemple, si le code SQL malveillant consistait à mettre à jour les rôles ou les mots de passe des utilisateurs.
Essayez-le vous-même dans cette mission jouable :
Bien que relativement simple, SQLi reste un vecteur d'attaque puissant et bien trop courant. Dans le cas de MOVEit, cet exploit a permis l'installation d'une porte dérobée préjudiciable et d'un groupe d'autres attaques de gravité similaire.
Comment réduire le risque d'injection SQL ?
Les entreprises qui utilisent MOVEit dans le cadre de leurs activités doivent impérativement suivre les conseils de Progress Software en matière de remédiation. Cela inclut, sans s'y limiter, l'application des correctifs de sécurité en tant que priorité de niveau d'urgence.
Pour l'injection SQL en général, consultez notre guide complet.
Vous voulez en savoir plus sur la façon d'écrire du code sécurisé et de réduire les risques ? Essayez gratuitement notre défi d'injection SQL.
Si vous souhaitez obtenir d'autres conseils de codage gratuits, consultez Secure Code Coach pour vous aider à rester au fait des meilleures pratiques en matière de codage sécurisé.
Cliquez sur le lien ci-dessous et téléchargez le PDF de cette ressource.
Secure Code Warrior est là pour vous aider à sécuriser le code tout au long du cycle de vie du développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.
Voir le rapportRéservez une démonstrationLaura Verheyde est développeuse de logiciels à l'adresse Secure Code Warrior . Elle se consacre à la recherche de vulnérabilités et à la création de contenu pour Missions et Coding labs.
Les cyberattaques contre la chaîne d'approvisionnement des logiciels sont de plus en plus fréquentes, suscitant une vague de changements législatifs au niveau du gouvernement américain, tandis que les entreprises s'efforcent d'atténuer leur profil de risque étendu et d'améliorer rapidement la qualité de leurs logiciels. Rien que cette année, trois vulnérabilités de type "zero-day" ont été liées à des services de partage de fichiers, la plus importante et la plus destructrice étant l'exploit de masse MOVEit.
Mené par le groupe de ransomware CL0P, l'incident MOVEit domine l'actualité de la cybersécurité depuis un certain temps, avec plus de 1 000 organisations touchées. Ce nombre devrait continuer à augmenter, ce qui en fait l'une des attaques les plus puissantes contre la chaîne d'approvisionnement en logiciels depuis Solarwinds en 2021.
Le catalyseur de cette violation généralisée a été un groupe de vulnérabilités d'injection SQL, qui ont reçu un score de gravité de 9,8 sur 10 de la part de MITRE. L'injection SQL est la bête noire des professionnels de la sécurité depuis la fin des années 90 et, bien qu'elle soit assez simple à corriger, elle continue à se frayer un chemin dans les logiciels modernes et à offrir aux acteurs de la menace un tapis rouge vers les données sensibles.
Le scénario MOVEit est un peu différent de ce que de nombreux développeurs et professionnels de l'AppSec ont pu connaître auparavant, et vous pouvez tester vos compétences de tueur de SQLi dans une simulation en direct ici :
>>> PLAY THE MOVEit MISSION (Jouez la mission MOVEit)
La vulnérabilité : Injection SQL
Comment l'injection SQL a-t-elle été utilisée pour exploiter l'application de transfert de fichiers MOVEit de Progress Software ?
Le groupe de ransomware CL0P a réussi à exploiter la vulnérabilité CVE-2023-34362 d'injection SQL, ce qui lui a permis d'accéder sans restriction et sans autorisation à la base de données de MOVEit. À partir de là, ils ont pu installer LEMURLOOT, un shell web qui leur a permis d'exécuter plusieurs processus critiques à haut risque, tels que la récupération des paramètres du système, l'énumération de la base de données SQL, la récupération de fichiers à partir du système de transfert MOVEit et la création d'un nouveau compte avec des privilèges d'administration complets.
Il va sans dire que ce vecteur d'attaque peut être le résultat d'une erreur relativement simple - que l'on pourrait mettre sur le compte de l'utilisation perpétuelle de mauvais modèles de codage - mais son potentiel à causer des problèmes continus au niveau de l'entreprise est immense.
Comparable à l'exploit MOVEit, jetons un coup d'œil à cet explicatif SQLi, qui simule la méthode d'injection et d'exécution d'un code SQL malveillant :
Chaîne de requête et variable :
string emailAddress ="contact@scw.com";
var query = $"SELECT u.UserName From Users as u WHERE u.Email = '{emailAddress}'";
aboutira à la requête suivante :
var query = $"SELECT u.UserName From Users as u WHERE u.Email = 'contact@scw.com'" ;
... et avec une entrée malveillante :
string emailAddress = "contact@scw.com' ; DELETE FROM Invoices WHERE Id = 2;--" ;
var query = $"SELECT u.UserName From Users as u WHERE u.Email = '{emailAddress}'";
il deviendra :
var query = $"SELECT u.UserName From Users as u WHERE u.Email = 'contact@scw.com' ; DELETE FROM Invoices WHERE Id = 2;--'" ;
Comment cela se présente-t-il en vol ?
Notez qu'en raison de la concaténation de chaînes, l'entrée est interprétée comme une syntaxe SQL. Tout d'abord, un guillemet simple est ajouté pour s'assurer que l'instruction SELECT est une syntaxe SQL valide. Ensuite, un point-virgule est ajouté pour terminer la première instruction.
Une fois que cela est en place, une instruction DELETE valide est ajoutée, suivie de deux traits d'union pour commenter les caractères de fin (le guillemet simple). Une instruction UPDATE pourrait tout aussi bien être ajoutée, par exemple, si le code SQL malveillant consistait à mettre à jour les rôles ou les mots de passe des utilisateurs.
Essayez-le vous-même dans cette mission jouable :
Bien que relativement simple, SQLi reste un vecteur d'attaque puissant et bien trop courant. Dans le cas de MOVEit, cet exploit a permis l'installation d'une porte dérobée préjudiciable et d'un groupe d'autres attaques de gravité similaire.
Comment réduire le risque d'injection SQL ?
Les entreprises qui utilisent MOVEit dans le cadre de leurs activités doivent impérativement suivre les conseils de Progress Software en matière de remédiation. Cela inclut, sans s'y limiter, l'application des correctifs de sécurité en tant que priorité de niveau d'urgence.
Pour l'injection SQL en général, consultez notre guide complet.
Vous voulez en savoir plus sur la façon d'écrire du code sécurisé et de réduire les risques ? Essayez gratuitement notre défi d'injection SQL.
Si vous souhaitez obtenir d'autres conseils de codage gratuits, consultez Secure Code Coach pour vous aider à rester au fait des meilleures pratiques en matière de codage sécurisé.
Table des matières
Secure Code Warrior est là pour vous aider à sécuriser le code tout au long du cycle de vie du développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.
Réservez une démonstrationTéléchargerRessources pour vous aider à démarrer
La puissance d'OpenText Fortify + Secure Code Warrior
OpenText Fortify et Secure Code Warrior unissent leurs forces pour aider les entreprises à réduire les risques, à transformer les développeurs en champions de la sécurité et à renforcer la confiance des clients. Pour en savoir plus, cliquez ici.
Évaluation comparative des compétences en matière de sécurité : Rationalisation de la conception sécurisée dans l'entreprise
Le mouvement "Secure-by-Design" (conception sécurisée) est l'avenir du développement de logiciels sécurisés. Découvrez les éléments clés que les entreprises doivent garder à l'esprit lorsqu'elles envisagent une initiative de conception sécurisée.
Ressources pour vous aider à démarrer
10 prédictions clés : Secure Code Warrior sur l'influence de l'IA et de la conception sécurisée en 2025
Les organisations sont confrontées à des décisions difficiles sur l'utilisation de l'IA pour soutenir la productivité à long terme, la durabilité et le retour sur investissement de la sécurité. Au cours des dernières années, il nous est apparu clairement que l'IA ne remplacera jamais complètement le rôle du développeur. Des partenariats IA + développeurs aux pressions croissantes (et à la confusion) autour des attentes en matière de conception sécurisée, examinons de plus près ce à quoi nous pouvons nous attendre au cours de l'année prochaine.
OWASP Top 10 pour les applications LLM : Ce qui est nouveau, ce qui a changé et comment rester en sécurité
Gardez une longueur d'avance dans la sécurisation des applications LLM avec les dernières mises à jour du Top 10 de l'OWASP. Découvrez ce qui est nouveau, ce qui a changé et comment Secure Code Warrior vous fournit des ressources d'apprentissage actualisées pour atténuer les risques dans l'IA générative.
La note de confiance révèle la valeur des initiatives d'amélioration de la sécurité par la conception
Nos recherches ont montré que la formation au code sécurisé fonctionne. Le Trust Score, qui utilise un algorithme s'appuyant sur plus de 20 millions de points de données d'apprentissage issus du travail de plus de 250 000 apprenants dans plus de 600 organisations, révèle son efficacité à réduire les vulnérabilités et la manière de rendre l'initiative encore plus efficace.
Sécurité réactive contre sécurité préventive : La prévention est un meilleur remède
L'idée d'apporter une sécurité préventive aux codes et systèmes existants en même temps qu'aux applications plus récentes peut sembler décourageante, mais une approche "Secure-by-Design", mise en œuvre en améliorant les compétences des développeurs, permet d'appliquer les meilleures pratiques de sécurité à ces systèmes. C'est la meilleure chance qu'ont de nombreuses organisations d'améliorer leur sécurité.