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
É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.
DigitalOcean réduit sa dette de sécurité avec Secure Code Warrior
L'utilisation par DigitalOcean de la formation Secure Code Warrior a considérablement réduit la dette de sécurité, permettant aux équipes de se concentrer davantage sur l'innovation et la productivité. L'amélioration de la sécurité a renforcé la qualité des produits et l'avantage concurrentiel de l'entreprise. À l'avenir, le score de confiance SCW les aidera à améliorer leurs pratiques de sécurité et à continuer à stimuler l'innovation.
Ressources pour vous aider à démarrer
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é.
Les avantages de l'évaluation des compétences des développeurs en matière de sécurité
L'importance croissante accordée au code sécurisé et aux principes de conception sécurisée exige que les développeurs soient formés à la cybersécurité dès le début du cycle de développement durable, et que des outils tels que le Trust Score de Secure Code Warriorles aident à mesurer et à améliorer leurs progrès.
Assurer le succès des initiatives de conception sécurisée de l'entreprise
Notre dernier document de recherche, Benchmarking Security Skills : Streamlining Secure-by-Design in the Enterprise est le résultat d'une analyse approfondie d'initiatives réelles de conception sécurisée au niveau de l'entreprise, et de l'élaboration d'approches de meilleures pratiques basées sur des conclusions fondées sur des données.