Détail de l'annonce pour le poste de Stage R&D Sécurité: Obfuscation de code Python H/F en r-d chez Sogeti à Issy-Les-Moulineaux

Contexte

Python est aujourd'hui un des langages les plus utilisés pour la programmation et de nombreux outils sont développés avec celui-ci. Étant un langage interprété de haut-niveau la conversion du bytecode Python au langage en lui-même est faite très facilement. Lors du déploiement d'un outil écrit en Python il peut être important de complexifier l'accès au code original par différentes méthodes d'obfuscation.

Sujet

Vous devrez étudier les différentes techniques d’obfuscation applicables à tous les niveaux de python (sources, bytecode, interpréteur,…) et développer un outil capable d’appliquer ces techniques à un projet complet.

Le stage sera découpé en plusieurs étapes:

  • Etat de l’art des techniques d’obfuscation applicables a Python et CPython
  • Preuves de Concepts des techniques d’obfuscation intéressantes pour chaque niveau
  • Développement d’un outil d’obfuscation de projet
Compétences recherchées
  • Langages : Python2.7 / C
  • CPython internals
  • Notions d’obfuscation
Modalités
  • Durée du stage : 6 mois environ
  • Profil idéal : stage de fin d’étude
Références
  • https://docs.python.org/2/library/dis.html
  • https://github.com/Mysterie/uncompyle2
  • http://blog.quarkslab.com/building-an-obfuscated-python-interpreter-we-need-more-opcodes.html
Postuler