Symposium sur la sécurité des technologies de l'information et des communications

Conférence francophone sur le thème de la sécurité de l'information.
Elle a eu lieu à Rennes du 4 au 6 juin 2014.

Obfuscation de code Python : amélioration des techniques existantesNinon Eyrolles, Serge Guelton


Date : 06 June 2014 à 10:15 — 30 min.

Le langage Python a connu un essor certain ces dix dernières années. Pour faciliter le déploiement ou rendre plus difficile l'accès au code source, des «~packeurs~» d'application ont vu le jour. Ces outils ne se contentent pas d'archiver le code source de l'application accompagné d'un interpréteur Python dans un unique fichier, ils appliquent aussi plusieurs transformation du code ou de l'interpréteur pour rendre plus difficile le travail de rétro-ingénierie.

Cet article étudie les mesures d'obfuscation existantes dans le contexte du langage Python et les contre-mesures qui ont été adoptées. Il propose également plusieurs techniques d'obfuscation reposant sur la modification conjointe du code Python et de l'interpréteur, rendant les stratégies de décompilation pure Python inutilisables.