Porte de derrière

Porte de derrière

Porte dérobée

Crystal Clear app virus detected.png
Cet article fait partie de la série
Programmes malveillants
Virus
Cabir - MyDoom.A
Tchernobyl - Yamanner
Ver
Bagle - Blaster
Code Red - I love you
Melissa - Morris
NetSky - Nimda
SQL Slammer - Santy
Sasser - Sobig
Cheval de Troie
Back Orifice - SubSeven
ByteVerify - XXXDial
Logiciel espion
CoolWebSearch - Cydoor
Gator - New.net
SaveNow
Composeur d’attaque
ToneLoc
Voir aussi
Logiciel malveillant
Sécurité informatique
Programmation

Dans un logiciel, une porte dérobée (de l'anglais backdoor, littéralement porte de derrière) est une fonctionnalité inconnue de l'utilisateur légitime, qui donne un accès secret au logiciel.

L'introduction d'une porte dérobée dans un logiciel à l'insu de son utilisateur transforme le logiciel en cheval de Troie.

Sommaire

Technique

Une porte dérobée peut être introduite soit par le développeur du logiciel, soit par un tiers, typiquement un pirate informatique. La personne connaissant la porte dérobée peut l'utiliser pour surveiller les activités du logiciel, voire en prendre le contrôle (par contournement de l'authentification). Enfin, selon l'étendue des droits que le système d'exploitation donne au logiciel contenant la porte dérobée, le contrôle peut s'étendre à l'ensemble des opérations de l'ordinateur.

La généralisation de la mise en réseau des ordinateurs rend les portes dérobées nettement plus utiles que du temps où un accès physique à l'ordinateur était la règle.

Parmi les motivations amenant les développeurs de logiciel à créer des portes dérobées, il y a :

  • l'intérêt pratique d'un accès facile et toujours ouvert au logiciel pour pouvoir mener efficacement les actions de maintenance ;
  • la possibilité de désactiver subrepticement le logiciel en cas de désaccord avec son client (non-paiement de licence).

Parmi les motivations amenant les pirates informatiques à installer une porte dérobée :

  • la possibilité de surveiller ce que fait l'utilisateur légitime et de copier ou détruire des données ayant une valeur (mots de passe, clé privée pour déchiffrer des messages privés, coordonnées bancaires, secrets commerciaux) ;
  • la possibilité de prendre le contrôle d'un ordinateur et de pouvoir l'utiliser pour mener des actions malfaisantes (envoi de pourriels notamment pour l'hameçonnage, de virus informatiques, déni de service) ;
  • le contrôle d'un vaste réseau d'ordinateurs (voir botnet), qui peut être utilisé pour du chantage au déni de service distribué (DDoS), ou revendu à des criminels.

Pour installer des portes dérobées en masse, les pirates informatiques utilisent des vers. Ceux-ci se répandent automatiquement et installent un serveur informatique sur chaque ordinateur infecté. Ensuite le pirate peut se connecter à travers Internet au serveur.

Une porte dérobée peut aussi être insérée par voie d'Easter egg, de compilateur (voir la section plus bas Le cas du compilateur C Unix: Trusting Trust), ou peut prendre la forme d'un programme, comme Back Orifice.

Le cas du compilateur C Unix : Trusting Trust

En 1984, l'informaticien américain Kenneth Thompson décrit, dans son article Reflections on Trusting Trust, comment il aurait été possible d'insérer une porte dérobée dans tous les programmes en C compilés sur Unix. De plus, vu que les versions mises à jour de ce compilateur, qui n'est rien d'autre qu'un autre programme compilé, sont compilées à partir du compilateur C préexistant, l'algorithme d'insertion de la porte dérobée se serait fait transmettre d'une mise à jour à une autre. Donc, si ce compilateur à porte dérobée avait été « lâché dans la nature » (en anglais : released in the wild) à l'origine, alors n'importe quel compilateur de C insérerait possiblement des portes dérobées de nos jours.

Il est à noter que la porte dérobée présente dans tous les programmes C compilés n'apparaîtrait jamais dans le code source en C.

L'appellation trust (pour confiance) vient du fait que le compilateur C d'origine est considéré par son utilisateur final comme une boîte noire digne de confiance.

Pour un programmeur qui ne comprend pas le fonctionnement d'un tel compilateur, mais lui fait confiance, il serait difficile de penser qu'un programme, qu'il a lui-même écrit puis compilé, contient une porte dérobée.

Source: Kenneth Thompson, Reflections on Trusting Trust, Communication of the ACM, Vol. 27, No. 8, August 1984, pp. 761-763. (en) [1]

Affaires notables

Interbase

Une porte dérobée a été découverte dans le Système de gestion de base de données Interbase le 10 janvier 2001 lors de l'ouverture du code source par son éditeur, Borland. Il suffisait d'entrer le nom d'utilisateur « politically » et le mot de passe « correct » pour se connecter en administrateur. La faille existait depuis 1994.

GNU/Linux

En novembre 2003, une porte dérobée a été trouvée dans GNU/Linux. Elle a été rapidement détectée, avant qu'une version de GNU/Linux soit mise en production. La porte dérobée a été greffée très synthétiquement : elle consiste en deux lignes de langage C, ajoutées à la fonction sys_wait4 du fichier « kernel/exit.c » :

 if ((options == (__WCLONE|__WALL)) && (current->uid = 0))
   retval = -EINVAL;

La condition (current->uid = 0) est censée être lue par un lecteur particulièrement naïf comme une comparaison « si le numéro d'utilisateur du processus est 0 (root) » mais signifie en réalité en langage C l'affectation « le numéro d'utilisateur du processus devient 0 (root) ». Le résultat est que si cette fonction sys_wait4() truquée était appelée avec les paramètres __WCLONE|__WALL, le processus prenait l'identité de root, le niveau d'utilisateur disposant des droits d'accès maximaux.

Cette modification visait à profiter de la confusion entre divers langages de programmation, où le symbole de la comparaison de deux valeurs est le signe = (Pascal, Ada, ML...) et d'autres où c'est la double égalité == qui joue ce rôle (C, C++, Java...), le signe = signifiant alors une affectation d'une valeur à une donnée. Cette modification avait peu de chance de passer inaperçue, car ce type d'erreur est peu compatible avec le niveau en informatique de programmeurs travaillant sur le noyau Linux. Le langage C étant le langage de programmation le plus utilisé sur les systèmes de la famille Unix, très peu d'utilisateurs non débutants se seraient laissés prendre.

De plus, le processus de développement collectif d'un logiciel (notamment celui d'un logiciel libre) impose que chaque modification soit validée; elle doit pour cela avoir une justification légitime. Ainsi, toute modification, aussi minime soit-elle, apparait dans les diff et soulève de légitimes interrogations si elle n'a pas une justification claire.

Au cinéma

Le scénario du film américain WarGames repose sur une porte dérobée. Le concepteur d'un système informatique militaire y insère une porte dérobée sous la forme d'un mot de passe non-documenté qui y donne accès. Ce mot de passe donne aussi accès à des fonctionnalités non-documentées du programme, qui donne au système de contrôle d'armement l'apparence d'un jeu vidéo de simulation de guerre.

Voir aussi

Liens externes

  • Portail de la sécurité informatique Portail de la sécurité informatique
Ce document provient de « Porte d%C3%A9rob%C3%A9e ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Porte de derrière de Wikipédia en français (auteurs)

Игры ⚽ Нужно решить контрольную?

Regardez d'autres dictionnaires:

  • derrière — DERRIÈRE. Préposition locale opposée à la préposition Devant, et qui marque ce qui est après une chose ou une personne. Derrière la maison. Derrière le jardin. Derrière la porte. Derrière le coffre. Derrière la tapisserie. Il étoit assis derrière …   Dictionnaire de l'Académie Française 1798

  • derriere — DERRIERE. Prepos. de lieu, marquant l endroit qui est aprés les parties posterieures d un espace, d une personne. Derriere la maison. derriere le jardin. derriere la porte, le coffre, la tapisserie. il estoit assis derriere vous. ils fuyoient à… …   Dictionnaire de l'Académie française

  • porte — 1. (por t ) s. f. 1°   Ouverture pratiquée dans les murs d une ville, pour y entrer et en sortir (ce qui est le sens propre du latin porta). •   Thèbes le pouvait disputer aux plus belles villes de l univers ; ses cent portes chantées par Homère… …   Dictionnaire de la Langue Française d'Émile Littré

  • Porte de Strasbourg a Bitche — Porte de Strasbourg à Bitche La Porte de Strasbourg, vue de la ville …   Wikipédia en Français

  • Porte de strasbourg à bitche — La Porte de Strasbourg, vue de la ville …   Wikipédia en Français

  • Porte derobee — Porte dérobée Cet article fait partie de la série Programmes malveillants Virus Cabir MyDoom.A Tchernobyl …   Wikipédia en Français

  • porte — 1. porte [ pɔrt ] n. f. • 1080; porta 980; lat. porta I ♦ 1 ♦ Autrefois, Ouverture spécialement aménagée dans l enceinte d une ville pour permettre le passage. « Les portes de la ville sont monumentales et surmontées de trophées dans le goût du… …   Encyclopédie Universelle

  • derrière — 1. derrière [ dɛrjɛr ] prép. et adv. • deriere 1080; bas lat. de retro, de retro « en arrière »; derrière, sous l infl. de derrain → dernier ♦ Du côté opposé au visage, à la face, au côté visible. I ♦ Prép. 1 ♦ En arrière, au dos de (cf. Rétro ) …   Encyclopédie Universelle

  • derrière — (dè riê r ) prép. 1°   En arrière de, au dos de, au revers de. Avoir les mains liées derrière le dos. •   Il s est retiré derrière un retranchement, D ABLANCOURT Arrien, liv. I, dans RICHELET. •   Il se lève, et soudain pour signal, Achillas… …   Dictionnaire de la Langue Française d'Émile Littré

  • DERRIÈRE — Préposition de lieu opposée à la préposition Devant, et qui marque Ce qui est après une chose ou une personne. Derrière la maison. Derrière le jardin. Derrière la porte. Derrière l armoire. Derrière la tapisserie. Il était assis derrière vous. Se …   Dictionnaire de l'Academie Francaise, 7eme edition (1835)

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”