Qu'est-ce que l'exécution de code à distance ?
Une attaque par exécution de code à distance (RCE) permet à un pirate d'exécuter un code malveillant sur les ordinateurs ou le réseau d'une organisation. La capacité d'exécuter un code contrôlé par un attaquant peut être utilisée à diverses fins, notamment pour déployer d'autres logiciels malveillants ou voler des données sensibles.
Comment fonctionnent les attaques par exécution de code à distance (RCE)
Les attaques par exécution de code à distance se produisent généralement par le biais de vulnérabilités dans les applications web et l'infrastructure réseau.
Les vulnérabilités liées à l'exécution de code à distance sont des failles dans les logiciels qui permettent à un attaquant d'exécuter un code malveillant sur un système cible. Plusieurs types de vulnérabilités peuvent être utilisés pour le RCE, notamment les exemples suivants :
- Vulnérabilités d'injection : Une vulnérabilité d'injection - telle que l'injection SQL ou l'injection de commandes - est rendue possible par une mauvaise vérification des entrées. Si un utilisateur fournit une entrée malveillante soigneusement élaborée, certaines de ses données seront interprétées comme des commandes à exécuter. Cela permet à l'attaquant de forcer le système vulnérable à exécuter un code fourni par l'attaquant.
- Désérialisation non sécurisée : La sérialisation simplifie la transmission d'ensembles de données en les emballant dans une seule chaîne de bits qui doit être décompactée par le système destinataire. Toutefois, si la structure des données sérialisées n'est pas bien définie, un pirate peut être en mesure de créer une entrée qui sera mal interprétée lorsqu'elle sera décompressée. Selon la manière dont les données sont stockées et traitées, cette interprétation erronée peut permettre à l'attaquant d'exécuter du code.
- Écriture hors limites : Un tampon est un morceau de mémoire de taille fixe alloué pour stocker des données. Des lectures ou écritures de données non sécurisées pourraient permettre à un attaquant de placer des données à un endroit où elles seraient interprétées comme du code ou comme des informations importantes sur le flux de contrôle de l'application.
- Gestion de fichiers : Certaines applications permettent aux utilisateurs de télécharger des fichiers sur un serveur. L'accès ainsi fourni peut permettre à un attaquant de télécharger un fichier contenant un code malveillant et d'inciter l'application à l'exécuter.
Un logiciel malveillant est un code fourni par un attaquant et conçu pour être exécuté sur un système cible. Une vulnérabilité RCE permet simplement à un attaquant de déployer des logiciels malveillants de différentes manières.
Par conséquent, les vulnérabilités RCE peuvent être utilisées pour atteindre un grand nombre des mêmes objectifs que les logiciels malveillants traditionnels. Le RCE peut être utilisé pour déployer des logiciels malveillants sur un système vulnérable, effectuer une attaque par déni de service (DoS) ou accéder à des informations sensibles stockées sur un système.
Comment les attaquants peuvent utiliser le RCE
L'exécution de code à distance est dangereuse car la possibilité d'exécuter un code malveillant offre à un attaquant un large éventail d'options. Voici quelques-unes des façons dont les vulnérabilités RCE peuvent être utilisées pour favoriser des attaques courantes :
- Accès à distance : Les vulnérabilités RCE sont généralement utilisées pour permettre à un pirate de prendre pied sur un réseau d'entreprise et de l'étendre par la suite. Par exemple, une vulnérabilité RCE pourrait permettre à un attaquant de voler les identifiants de connexion qui lui permettraient d'accéder au réseau via un VPN.
- Déploiement de logiciels malveillants : Bien que les vulnérabilités RCE permettent l'exécution de code, la portée de ce code peut être limitée. . Pour contourner cette limitation, les attaquants peuvent utiliser le RCE pour télécharger et exécuter d'autres logiciels malveillants plus destructeurs. Par exemple, le RCE peut être utilisé pour télécharger et exécuter un ransomware sur un système vulnérable.
- Vol de données : Les vulnérabilités RCE pourraient permettre à un attaquant d'exécuter des commandes dans une application vulnérable. Cela peut permettre d'accéder au système de fichiers, aux bases de données et à d'autres stocks de données sensibles de l'entreprise et des clients.
- Destruction de données : Les vulnérabilités RCE pourraient permettre à un attaquant d'exécuter des commandes DROP dans une base de données ou d'exécuter du code dans le terminal du système. Cet accès permet de supprimer des fichiers de la même manière qu'un utilisateur légitime l'aurait fait
- Attaques DoS : Des vulnérabilités d'écriture hors limites permettent à un attaquant d'écraser du code critique et de faire planter une application. D'autres vulnérabilités RCE pourraient permettre de mettre fin à des processus ou de supprimer des données vitales.
Comment empêcher l'exécution de codes à distance
Les attaques par exécution de code à distance sont rendues possibles par des vulnérabilités dans les applications web des entreprises. Voici quelques-unes des méthodes que les entreprises peuvent utiliser pour réduire leur exposition aux attaques RCE :
- Analyse des vulnérabilités : Une combinaison d'analyse statique du code - pour identifier les schémas de vulnérabilité bien connus - et d'analyse dynamique comme le fuzzing peut aider les développeurs à identifier et à corriger les vulnérabilités RCE avant qu'elles ne puissent être exploitées.
- Mise à jour et correctifs : Des vulnérabilités RCE peuvent être découvertes dans une application ou dans les bibliothèques tierces dont elle dépend. L'application rapide des mises à jour et des correctifs réduit la période pendant laquelle un code vulnérable peut être exploité.
- Validation des entrées : La plupart des vulnérabilités RCE impliquent une mauvaise validation des entrées, c'est-à-dire qu'une application émet des hypothèses sur les données fournies par l'utilisateur. Une validation robuste des entrées peut éliminer la menace de la plupart des vulnérabilités RCE.
- Surveillance du réseau : Les tentatives d'exploitation RCE peuvent être détectées et bloquées par une solution de protection des applications web et des API (WAAP). Le déploiement de solutions de sécurité réseau en amont des applications web peut réduire les risques potentiels liés aux vulnérabilités non corrigées.
Protégez-vous contre le RCE avec Cloudflare One
Les applications web étant de plus en plus souvent hébergées dans le cloud, il devient de plus en plus difficile de les protéger contre l'exploitation. Le Cloudflare Web Application Firewall utilise une vaste gamme de renseignements sur les menaces mondiales pour bloquer les tentatives d'exécution de code à distance.
En outre, Cloudflare One, la plate-forme Secure Access Service Edge (SASE) de Cloudflare, offre une sécurité et une surveillance solides pour les applications internes de l'entreprise.