Sécurité par l'obscurité

Sécurité par l'obscurité

Le principe de la sécurité par l'obscurité (de l'anglais : « security through/by obscurity ») repose sur la non-divulgation d'information relative à la structure, au fonctionnement et à l'implémentation de l'objet ou du procédé considéré, pour en assurer la sécurité. Cela s'applique aux domaines sensibles de l'informatique, de la cryptologie, de l'armement, etc.

Sommaire

Cryptologie

En cryptologie, la sécurité par l'obscurité va à l'encontre du principe de Kerckhoffs qui veut que la sécurité de tout cryptosystème ne repose que sur le secret de la clé.

Un message chiffré par exemple avec ROT13 ne peut rester secret que si la méthode utilisée pour chiffrer reste inconnue de l'adversaire. Si l'attaquant « connaît le système » alors il sera capable de déchiffrer le message. Les cryptologues prônent la transparence en matière de processus et de conception de primitives cryptographiques. Une telle pratique permet de mieux évaluer la sécurité des algorithmes.

Protection contre la rétro-ingénierie

Pour éviter que quiconque puisse retrouver le code source d'un programme à partir de la version compilée (binaire), certaines sociétés utilisent des programmes pour rendre l'analyse plus ardue. Il existe différentes méthodes. On peut citer :

  • Obfuscation du code (voir plus bas) ;
  • Chiffrement du programme ;
  • Exécution de code distant : une partie du programme est téléchargée à chaque lancement ;
  • etc.

Obfuscation du code machine :

  • Ajout d'instructions valides inutiles et/ou d'arguments inutiles aux fonctions (pour rendre la lecture du code plus complexe) ;
  • Ajout d'instructions invalides et un saut au-dessus de ces instructions pour dérégler les désassembleurs ne supportant pas ce genre de "protection" ;
  • Ajout de protection anti-débogueur ;
  • etc.

Une société peut distribuer le code source de ses programmes en les obfuscant au préalable :

  • Identifants renommés avec des noms sémantiquement muets ;
  • Suppression de l'indentation, voire de tous les espaces non significatifs ;
  • Suppression des commentaires ;
  • Ajout d'instructions inutiles ;
  • Ajout d'arguments inutiles aux fonctions ;
  • etc.

Exemple sur les mainframe d'IBM

La société IBM développait ses principaux logiciels de mainframes dans un langage nommé PL/360[1], qui générait de l'assembleur. C'est ce code assembleur qui était fourni à ses clients réclamant les versions source des produits et non le code PL/360. Ni le compilateur du PL/360 ni la spécification du langage n'étaient fournis au public, bien que les instructions PL/360 apparussent en commentaires du listing assembleur fourni.

Les limites

Par le passé, plusieurs algorithmes ou modules logiciels contenant des détails internes gardés secrets ont été révélés au public. En outre, les vulnérabilités ont été découvertes et exploitées, même si les détails internes sont restés secrets. Les exemples suivants, mis bout-à-bout, montrent la difficulté, voire l'inefficacité de garder secrets les détails des systèmes et autres algorithmes.

Un procédé basé sur la sécurité par l'obscurité ment sur la réelle fiabilité de sa sécurité, au pire, ou du moins n'en affiche que les points forts, au mieux. C'est alors une simple relation de confiance établie entre les fournisseurs de l'objet, de la structure ou du procédé ainsi protégé et leurs utilisateurs qui fait référence dans la vision de la-dite sécurité. Qu'une faille sérieuse remette en cause le système devient une source de difficulté pour le fournisseur, car en plus des conséquences directes dues à la faiblesse exploitée, l'utilisateur peut se sentir abusé par le faux sentiment d'invulnérabilité dans lequel on l'a maintenu.

Exemples divers

Ouverture et sécurité

La qualité reconnue de nombreux logiciels libres en matière de sécurité (Apache, Mozilla Firefox, GnuPG) est une bonne illustration que l'ouverture ne nuit pas à la sécurité.

Citation du député français Bernard Carayon dans son rapport A armes égales[3], remis au Premier Ministre en octobre 2006 : Enfin, et parce que le code source est public et donc auditable, la sécurité des logiciels libres peut être mieux assurée.

Voir aussi

Articles connexes

Notes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Sécurité par l'obscurité de Wikipédia en français (auteurs)

Игры ⚽ Поможем написать реферат

Regardez d'autres dictionnaires:

  • Securite par l'obscurite — Sécurité par l obscurité Le principe de la sécurité par l obscurité repose sur la non divulgation d information relative à la structure, au fonctionnement et à l implémentation de l objet ou du procédé considéré, pour en assurer la sécurité. Cela …   Wikipédia en Français

  • Securite inconditionnelle — Sécurité inconditionnelle En cryptologie, la sécurité inconditionnelle est un critère de sécurité important dans le cadre des algorithmes de chiffrement. Cette sécurité est intimement liée à la théorie de l information et la notion d entropie,… …   Wikipédia en Français

  • Sécurité matérielle des cartes à puce — La sécurité matérielle des cartes à puce et des autres microcontrôleurs est l un des éléments clefs de la sécurité des informations sensibles qu ils manipulent. La littérature scientifique a produit un grand nombre de publications visant à… …   Wikipédia en Français

  • Sécurité logicielle des cartes à puce — La sécurité logicielle des cartes à puce fournit aux applications de ce domaine les moyens de se protéger des comportements dévoyés de logiciels malveillants. Les cartes à puce embarquent des systèmes d exploitation qui implémentent des… …   Wikipédia en Français

  • Sécurité inconditionnelle — En cryptologie, la sécurité inconditionnelle est un critère de sécurité important dans le cadre des algorithmes de chiffrement. Cette sécurité est intimement liée à la théorie de l information et la notion d entropie, elle a été définie dans le… …   Wikipédia en Français

  • Attaque par biais statistique — Cryptanalyse La cryptanalyse s oppose, en quelque sorte, à la cryptographie. En effet, si déchiffrer consiste à retrouver le clair au moyen d une clé, cryptanalyser c est tenter de se passer de cette dernière. Même si on décrit les cryptanalystes …   Wikipédia en Français

  • Attaque par rencontre au milieu — Cryptanalyse La cryptanalyse s oppose, en quelque sorte, à la cryptographie. En effet, si déchiffrer consiste à retrouver le clair au moyen d une clé, cryptanalyser c est tenter de se passer de cette dernière. Même si on décrit les cryptanalystes …   Wikipédia en Français

  • Faille de sécurité — Vulnérabilité (informatique)  Cet article concerne la vulnérabilité en informatique. Pour une utilisation plus large du terme, voir Vulnérabilité. Dans le domaine de la sécurité informatique, une vulnérabilité est une faiblesse dans un… …   Wikipédia en Français

  • Faille de sécurité informatique — Vulnérabilité (informatique)  Cet article concerne la vulnérabilité en informatique. Pour une utilisation plus large du terme, voir Vulnérabilité. Dans le domaine de la sécurité informatique, une vulnérabilité est une faiblesse dans un… …   Wikipédia en Français

  • Audit de sécurité — L audit de sécurité d un système d information (SI) est une vue à un instant T de tout ou partie du SI, permettant de comparer l état du SI à un référentiel. L audit répertorie les points forts, et surtout les points faibles (vulnérabilités) de… …   Wikipédia en Français

Share the article and excerpts

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