Software Deobfuscation Techniques


Instructeur:  Tim Blazytko
Dates:  15 au 18 juin 2026
Capacité:  20


L'obfuscation de code est devenue un outil vital pour protéger, par exemple, la propriété intellectuelle contre les concurrents. En général, elle tente d'entraver la compréhension du programme en rendant le programme à protéger plus complexe. En conséquence, un analyste humain raisonnant sur le code obfusqué doit surmonter cette barrière en le transformant en une représentation plus facile à comprendre.

Dans cette formation, nous apprenons à connaître les techniques d'obfuscation de code de pointe et examinons comment celles-ci compliquent la rétro-ingénierie. Ensuite, nous nous familiarisons progressivement avec différentes techniques de désobfuscation et les utilisons pour briser les schémas d'obfuscation dans des sessions pratiques. Ainsi, les participants approfondissent leurs connaissances en analyse de programmes et apprennent quand et comment (ne pas) utiliser différentes techniques.

D'abord, nous examinons les techniques importantes d'obfuscation de code et discutons comment les attaquer. Ensuite, nous analysons un schéma d'obfuscation basé sur machine virtuelle (VM-based), apprenons les techniques de renforcement de VM et comment les aborder.

Dans la deuxième partie, nous couvrons l'analyse de programme basée sur SMT. En détail, les étudiants apprennent à résoudre des problèmes d'analyse de programme avec des solveurs SMT, comment prouver les caractéristiques du code, comment désobfusquer le Boolean-Arithmetic mixte et comment briser la cryptographie faible.

Avant d'utiliser l'exécution symbolique pour automatiser de grandes parties de la désobfuscation de code, nous introduisons d'abord les langages intermédiaires et les optimisations de compilateur pour simplifier les schémas d'obfuscation de qualité industrielle. Ensuite, nous utilisons l'exécution symbolique pour automatiser l'analyse de programme basée sur SMT et briser les prédicats opaques. Enfin, nous apprenons à écrire des désassembleurs pour les obfuscateurs basés sur virtualisation et comment reconstruire le code original.

La dernière partie couvre la synthèse de programme, une approche pour simplifier le code basée sur son comportement sémantique. Après avoir collecté des paires entrée-sortie du code binaire, nous apprenons non seulement à simplifier de grands arbres d'expressions, mais aussi comment vérifier la correction des simplifications. Ensuite, nous utilisons la synthèse de programme pour désobfusquer le Boolean-Arithmetic mixte et apprendre la sémantique des gestionnaires d'instructions VM.


Enseignement


Notez que la formation se concentre sur les sessions pratiques. Bien que certaines parties de cours fournissent une compréhension de quand utiliser quelle méthode, diverses sessions pratiques enseignent comment les utiliser pour construire des outils personnalisés pour des problèmes ponctuels. Le formateur soutient activement les étudiants pour résoudre avec succès les tâches données. Après qu'une tâche est terminée, nous discutons différentes solutions en classe. De plus, les étudiants reçoivent des solutions de référence détaillées qui peuvent être utilisées pendant et après le cours.

Bien que les sessions pratiques utilisent l'assemblage x86, tous les outils et techniques peuvent également être appliqués à d'autres architectures telles que MIPS, PPC ou ARM.


Objectifs d'apprentissage



Plan du cours


La formation s'oriente selon le plan suivant:



Exigences


Matériel/Logiciel:


Prérequis:



BIO


Tim Blazytko Tim Blazytko est un chercheur en sécurité binaire bien connu et co-fondateur d'emproof. Après avoir travaillé sur des méthodes novatrices pour la désobfuscation de code, le fuzzing et l'analyse de cause racine pendant son doctorat, Tim construit maintenant des schémas d'obfuscation de code adaptés aux appareils embarqués. De plus, il donne des formations sur la rétro-ingénierie et la désobfuscation de code, analyse les logiciels malveillants et effectue des audits de sécurité.



Pour s'inscrire

Cliquez ici pour vous inscrire.


Hex-Rays Magnet Forensics Trail of Bits