Qu’est-ce qu’une porte dérobée ?

Topics DevSecOps Attaque par porte dérobée

Définition

Une attaque par porte dérobée (en anglais, backdoor attack) est une technique utilisée par des acteurs malveillants pour créer un point d’entrée furtif dans une application ou un environnement, généralement en installant un logiciel malveillant. Grâce à cette méthode, les attaquants peuvent obtenir un accès à distance permanent à un système, qu’ils peuvent ensuite utiliser pour intensifier l’attaque, exfiltrer des données ou réaliser d’autres activités malveillantes.

Aperçu des attaques par porte dérobée

Toutes les atteintes à la cybersécurité sont néfastes pour les organisations qui les subissent. Mais elles sont particulièrement nuisibles lorsque les attaquants pénètrent dans vos systèmes à votre insu.

C’est précisément ce qui se produit lors d’une attaque par porte dérobée. Grâce à cette technique, les acteurs malveillants utilisent un point d’accès caché (créé généralement par leurs soins en introduisant des logiciels malveillants dans une application ou un serveur) qu’ils peuvent utiliser pour pénétrer dans un système de manière continue. À partir de là, ils peuvent mener d’autres attaques, souvent en échappant à la détection de l’entreprise victime de la violation.

Comme les attaques par porte dérobée peuvent conduire à des brèches permanentes difficiles à identifier, il est essentiel de s’en prémunir. Dans cet article, nous vous expliquons comment fonctionnent les attaques par porte dérobée et comment les éviter et les détecter si elles se produisent.

L’objectif des attaques par porte dérobée en cybersécurité

Du point de vue de l’acteur malveillant, les attaques par porte dérobée présentent deux avantages majeurs. Tout d’abord, elles permettent un accès sans que les attaquants aient à trouver une méthode pour accéder ou contrôler un système en contournant ses contrôles d’accès habituels. Sur les applications robustes qui utilisent des techniques telles que l’authentification multifactorielle (MFA) pour bloquer les accès non autorisés, il peut être difficile de contourner ces contrôles. Une attaque par porte dérobée offre un autre moyen d’accéder à un système qui ignore totalement son cadre d’authentification standard.

Deuxièmement, les attaques par porte dérobée peuvent être difficiles à détecter parce qu’elles n’impliquent pas l’utilisation de contrôles d’accès standard. Souvent, les systèmes logiciels enregistrent les événements d’authentification standard, ce qui permet de déterminer qui s’est connecté, à partir de quel endroit et à quel moment. En utilisant ces informations, les ingénieurs peuvent être en mesure de détecter des schémas d’accès inhabituels qui reflètent une attaque. Mais dans le cas d’une attaque par porte dérobée, ce type de données d’authentification n’est généralement pas disponible car les attaquants accèdent au système par une porte dérobée, où il n’y a pas d’enregistrement d’authentification en place pour suivre leur activité.

Risques d’attaque par porte dérobée

À ce jour, l’attaque par porte dérobée la plus grave est sans doute l’attaque de la chaîne d’approvisionnement logicielle de SolarWinds. Lors de cet incident, les attaquants ont introduit un code malveillant à l’intérieur d’un outil de surveillance de logiciels très répandu. Le code a créé une porte dérobée qui a permis aux attaquants d’accéder aux systèmes de nombreuses organisations utilisant le logiciel. Aussi, l’attaque n’a pas seulement porté préjudice à SolarWinds, mais aussi à des milliers de ses clients. Les retombées financières de l’attaque ont atteint au moins 18 millions de dollars, et ce, uniquement pour SolarWinds. Ce chiffre ne tient pas compte des répercussions financières pour les clients de SolarWinds.

L’attaque de SolarWinds, qui a débuté en 2019, a attiré l’attention sur l’importance de sécuriser la chaîne d’approvisionnement logicielle, mais les attaques par porte dérobée restent une menace courante. Plus récemment, une importante attaque par porte dérobée a été menée contre XZ utils, un logiciel open source populaire installé par défaut sur de nombreux systèmes Linux. Dans ce cas également, une seule porte dérobée a permis aux attaquants d’entrer dans les systèmes d’un grand nombre d’organisations.

En bref : Malgré la prise de conscience généralisée de la menace que représentent les attaques par porte dérobée, celles-ci restent une menace sérieuse et peuvent affecter les organisations non seulement dans les cas où les attaquants introduisent directement des codes malveillants dans les bases de code de l’entreprise, mais aussi en raison de problèmes de sécurité dans la chaîne d’approvisionnement logicielle qui peuvent devenir un vecteur de distribution de portes dérobées dans les parcs informatiques des organisations qui utilisent des logiciels créés par des tiers.

Comment fonctionnent les attaques par porte dérobée ?

Les cyberattaques de type porte dérobée se déroulent typiquement selon les étapes suivantes :

  1. Mise en place d’une porte dérobée : Tout d’abord, les attaquants créent ou découvrent une porte dérobée dans un système logiciel. Généralement, cela se produit parce que les attaquants injectent délibérément un code malveillant dans un système, bien que dans certains cas, ils trouvent simplement une porte dérobée préexistante et en tirent parti, par exemple un point d’entrée à distance qu’un fournisseur a créé à des fins de maintenance et qu’il avait l’intention de garder secret.
  2. Obtention de l’accès : En utilisant la porte dérobée, les attaquants accèdent au système sans que leurs activités soient suivies par le cadre d’authentification standard du système.
  3. Élargissement de l’attaque : Une fois à l’intérieur du système, les attaquants peuvent voler ou détruire des données sensibles, ou déployer des logiciels malveillants supplémentaires qui leur permettent d’élargir la brèche (en attaquant, par exemple, d’autres applications sur le même serveur ou réseau).

Types d’attaques par porte dérobée

D’une manière générale, les attaques par porte dérobée peuvent être divisées en trois catégories principales.

#1. Chevaux de Troie à porte dérobée

Le type le plus courant d’attaque par porte dérobée implique l’utilisation de chevaux de Troie (Trojans), c’est-à-dire de logiciels malveillants conçus pour paraître légitimes. Si, par exemple, des failles de sécurité dans le cycle de vie du développement logiciel (SDLC) exposent le code source à un accès non autorisé, les acteurs malveillants pourraient introduire un cheval de Troie dans une application, puis utiliser ce cheval de Troie pour se connecter à distance à l’application une fois qu’elle est en cours d’exécution.

#2. Rootkits

Les rootkits sont similaires aux chevaux de Troie en ce sens qu’ils sont des logiciels malveillants qui peuvent être injectés dans un système légitime. Cependant, alors que les chevaux de Troie s’exécutent comme des applications standard de l’espace utilisateur, les rootkits sont généralement intégrés dans le système d’exploitation d’un appareil (ou plus précisément dans son noyau). Cela signifie qu’au lieu de créer une porte dérobée par le biais d’une application ou d’un service spécifique, les rootkits permettent aux attaquants d’ériger une porte dérobée au niveau du système d’exploitation.

Les rootkits étant intégrés au système d’exploitation et devenant généralement actifs dès le démarrage du système, ils peuvent être particulièrement difficiles à détecter.

#3. Portes dérobées matérielles

Outre la création d’une porte dérobée à l’aide d’un logiciel, les attaquants peuvent potentiellement créer ou découvrir une porte dérobée matérielle, c’est-à-dire un point d’entrée à distance disponible grâce à un code intégré dans un dispositif matériel, tel qu’un serveur ou un routeur de réseau.

Certaines portes dérobées matérielles apparaissent parce que des attaquants parviennent à s’infiltrer dans le processus de fabrication du matériel et à y injecter un code malveillant avant sa livraison. Cependant, ils peuvent également créer ce type de porte dérobée en modifiant le micrologiciel d’un appareil. Il se peut aussi que le fournisseur de matériel crée délibérément une porte dérobée qu’il compte utiliser à des fins d’assistance ou de maintenance, mais que les acteurs malveillants découvrent et utilisent à mauvais escient.

Comment détecter les attaques par porte dérobée

Les attaques par porte dérobée pouvant se produire de multiples façons, il n’existe pas de méthode unique permettant de détecter efficacement toutes les attaques par porte dérobée. La meilleure façon d’identifier une attaque par porte dérobée est d’utiliser une série de techniques, notamment :

  • Suivi des schémas de consommation des ressources : Des pics inhabituels de consommation de CPU ou de mémoire par les applications ou l’infrastructure peuvent être le signe qu’un pirate s’est introduit dans votre système par une porte dérobée.
  • Détection de la création de processus inhabituels : Il peut s’agir de la porte dérobée elle-même ou d’une indication des efforts déployés par les attaquants pour déployer d’autres logiciels malveillants après avoir obtenu l’accès par la porte dérobée.
  • Surveillance de l’activité du réseau : Les connexions anormales, telles que le flux continu de données entre un terminal inconnu et une application, peuvent indiquer l’existence d’une porte dérobée.

Meilleures pratiques pour prévenir et atténuer les attaques par porte dérobée

Les techniques que nous venons de décrire sont utiles pour détecter les attaques par porte dérobée. Mais mieux encore que la détection, il est possible d’empêcher ces attaques de se produire grâce à des pratiques telles que les suivantes :

  • Surveillance applicative : Au cours du cycle de vie du développement logiciel, les équipes doivent surveiller les applications et les dépôts de code pour détecter les changements inattendus qui pourraient refléter les efforts déployés par les attaquants pour injecter un code source malveillant dans une application.
  • Analyses SCA : L’analyse de composition logicielle, ou Software Composition Analysis (SCA) peut vous permettre de valider les origines des logiciels tiers au sein d’une application. Cela aide également à garantir que le code que vous déployez ne comporte aucun logiciel malveillant.
  • Gestion des artefacts logiciels : Gérer soigneusement les packages de logiciels et les artefacts (par exemple, en utilisant des sommes de contrôle pour effectuer un suivi des fichiers binaires) permet d’empêcher les acteurs malveillants de substituer à vos applications légitimes des fichiers binaires malveillants contenant des portes dérobées.
  • Surveillance du matériel : La validation de l’origine des dispositifs matériels et la garantie de la sécurité physique des dispositifs contribuent à empêcher l’installation de micrologiciels malveillants comme moyen de lancer une attaque par porte dérobée matérielle.
  • Désactivation des ports et services réseau inutilisés : Dans certains cas, les attaques par porte dérobée peuvent dépendre de l’ouverture de certains ports ou services, de sorte que leur blocage offre une protection supplémentaire.
  • Durcissement du noyau : Les frameworks de durcissement du noyau, comme SELinux, offrent également une certaine protection contre les risques d’attaque par porte dérobée. Bien que le durcissement du noyau n’empêche pas complètement les attaques par porte dérobée, il peut atténuer les dommages qu’elles causent en limitant les actions et les ressources dont disposent les utilisateurs malveillants une fois qu’ils se trouvent à l’intérieur d’un système.

Atténuer les attaques par porte dérobée avec JFrog

La plateforme de chaîne d’approvisionnement logicielle Jfrog offre la visibilité dont les entreprises ont besoin pour anticiper les attaques par porte dérobée. En gérant en toute sécurité les packages de logiciels et les artefacts à toutes les étapes du SDLC à l’aide d’Artifactory et en scannant les applications avec Xray, vous pouvez vous assurer que votre code est bien celui qu’il est censé être, et qu’il n’a pas été altéré par des pirates cherchant à installer une porte dérobée.

Combiné à d’autres techniques de défense contre les portes dérobées, comme la surveillance de l’exécution, JFrog vous offre la tranquillité d’esprit que procure la certitude que vos systèmes logiciels sont exempts de portes dérobées involontaires.

En savoir plus sur lesDevSecOps

JFrog Xray

Une solution universelle de scan de la composition des logiciels (SCA) qui offre un moyen efficace d’identifier les vulnérabilités de manière proactive.

Explorez JFrog Xray

JFrog Curation

Protégez l’intégrité de votre chaîne d’approvisionnement logicielle en empêchant les menaces liées aux logiciels open source de pénétrer dans votre entreprise.

Explorez JFrog Curation

JFrog Advanced Security

Analyse contextuelle des vulnérabilités, analyse du code source (SAST) et analyse de l’exposition à la sécurité (IaC, détection des secrets, erreurs de configuration des applications et des services) pour le code source et les fichiers binaires.

Explorez JFrog Advanced Security

Release Fast Or Die