La CISA et le FBI lancent une alerte sur les vulnérabilités liées à l'injection de commandes dans le système d'exploitation
La CISA et le FBI ont publié un avis critique le 10 juillet 2024, exhortant les éditeurs de logiciels à revoir leurs produits et à éliminer à la source les vulnérabilités liées à l'injection de commandes dans le système d'exploitation. Cet appel urgent fait suite à de récentes attaques qui ont exploité plusieurs failles d'injection de commandes du système d'exploitation (CVE-2024-20399, CVE-2024-3400 et CVE-2024-21887) pour compromettre des dispositifs de réseau de fournisseurs réputés, tels que Cisco, Palo Alto et Ivanti.
Qu'est-ce que l'injection de commandes dans le système d'exploitation ?
L'injection de commandes du système d'exploitation est un type de vulnérabilité qui permet aux attaquants d'exécuter des commandes arbitraires du système d'exploitation sur le système hôte par le biais d'une application vulnérable. Ces vulnérabilités surviennent lorsque le logiciel ne valide pas et n'assainit pas correctement les données utilisateur utilisées pour construire les commandes à exécuter sur le système d'exploitation sous-jacent. Cette omission peut permettre à des attaquants d'exécuter des commandes arbitraires et potentiellement dangereuses, ce qui présente des risques importants pour les utilisateurs et les organisations.
Comme l'indique l'avis conjoint, "la conception et le développement de logiciels qui font confiance aux entrées des utilisateurs sans validation ou assainissement appropriés peuvent permettre aux acteurs de la menace d'exécuter des commandes malveillantes, mettant ainsi les clients en danger".
Prévention et bonnes pratiques
La CISA met l'accent sur plusieurs mesures clés pour prévenir les vulnérabilités liées à l'injection de commandes dans le système d'exploitation :
Utiliser les fonctions de la bibliothèque intégrée : Dans la mesure du possible, les développeurs doivent utiliser les fonctions de la bibliothèque intégrée qui séparent les commandes de leurs arguments, plutôt que de construire des chaînes brutes introduites dans les commandes générales du système.
Paramétrage des entrées : Cette technique consiste à séparer les données des commandes et à s'assurer que toutes les entrées fournies par l'utilisateur sont soigneusement validées et assainies.
Limiter la construction des commandes : Restreindre les parties des commandes construites à partir des données de l'utilisateur à ce qui est nécessaire, afin de minimiser le risque d'exécution de données malveillantes.
Rôle des leaders technologiques
Les responsables techniques jouent un rôle crucial dans la sécurité des logiciels. Ils devraient participer activement au processus de développement, en préconisant l'utilisation de fonctions qui génèrent des commandes en toute sécurité tout en conservant la syntaxe et les arguments prévus. En outre, ils doivent
Réviser les modèles de menace : Analyser et mettre à jour en permanence les modèles de menace pour tenir compte des nouvelles menaces et vulnérabilités.
Utiliser des bibliothèques de composants modernes : Adoptez et maintenez à jour des bibliothèques de composants conçues dans un souci de sécurité.
Réaliser des examens de code : Mettre en œuvre des processus rigoureux d'examen du code afin d'identifier et de corriger les faiblesses en matière de sécurité dès le début du cycle de développement.
Mettre en œuvre des tests rigoureux : Veiller à ce que le produit soit soumis à des essais approfondis afin de valider la sécurité et la qualité du code.
Réflexions finales
Bien qu'il s'agisse d'un problème bien connu et évitable, les vulnérabilités liées à l'injection de commandes dans le système d'exploitation continuent d'être répandues, se classant au cinquième rang des 25 faiblesses logicielles les plus dangereuses selon MITRE. La nature persistante de ces vulnérabilités souligne l'importance de l'adoption des principes "Secure by Design" et de mesures préventives robustes. Au cours des derniers mois, la CISA a publié plusieurs alertes "Secure by Design", exhortant les cadres et les développeurs à éliminer les vulnérabilités de traversée de chemin et d'injection SQL (SQLi).
Les sources de cet article comprennent un article de BleepingComputer.