Définition Obfuscation
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)
