Définition Obfuscation

Retour aux définitions ↵

Genre : ♀️

Thème(s) :
Programmation

🇫🇷 brouillage, obscurcissement

Difficulté : 🟧

Obfuscation 🟥 Coding

Ensemble de méthodes permettant dans rendre un code volontairement illisible tout en conservant sa capacité à s’exécuter normalement. Cela peut être réalisé par différents langages de programmation comme le Javascript, Java, Python, etc…

Cette technique est utilisée à différentes fins :

  • Protéger le droit d’auteur pour des applications ou sites Web. Les développeurs compliquent la tâche à l’analyse de concurrents pour « voler » une technologie, savoir-faire contenus dans le code.
  • Compliquer un piratage. Bien que possible, ça rend la phase de reconnaissance et d’armement (cf kill chain) plus compliquées pour un possible attaquant
  • Compliquer la détection de cyberattaques. Inversement à précédemment, le cybercriminel peut renforcer la capacité de dissimulation d’un malware.

Toutefois, elle comporte des inconvénients (comme toute chose) :

  • Complexifie le maintien du code à long terme
  • Limite les performances de l’application ou du site Web
  • La protection n’est que temporaire. Elle ne rend pas le code illisible sur le long terme mais rend seulement l’analyse difficile.

Le terme français reconnu est brouillage (JORF n°0001 du 1 janvier 2013)