STAGE Packer across multiple stages of the compilation pipeline

Date de mise à jour de l’offre

QUARKSLAB :

Sécurité Informatique

Description de la mission

Écrire un packer qui interagit correctement avec d'autres obfuscations est loin d'être facile. Où l'emballage doit-il être fait? Dans la représentation intermédiaire du compilateur? Avant les obfuscations? Ensuite? Si c'est fait trop tôt, le code compressé ne bénéficiera pas d'autres obfuscations. Si c'est fait trop tard, le code peut être trop obscur pour identifier un seul morceau de code pour l'emballage. Dans le premier scénario, il suffit à l'attaquant de collecter des traces du code lors de l'exécution pour récupérer le code non obscurci, tandis que dans le dernier, l'application entière doit être compressée en une seule pièce, ce qui entraîne un gros impact sur les performances.

Une meilleure approche consiste à étendre la stratégie d'emballage sur plusieurs niveaux, en effectuant une partie du travail dans la représentation intermédiaire et une autre partie dans le code binaire. Cela permet d'injecter le code de décompression suffisamment tôt, afin qu'il puisse être obscurci avec le code de l'utilisateur, et d'injecter des espaces réservés qui seront ensuite remplis par une transformation ultérieure directement sur le code binaire.

L'objectif de ce stage est de faire une première mise en œuvre de cette stratégie, et d'explorer quelques améliorations à cette protection.

Profil recherché

Programmation C ++
Intérêt de bas niveau et des systèmes
La connaissance des composants internes de LLVM est un plus!

Niveau de qualification requis

Bac + 3
  • Employeur
    QUARKSLAB
  • Secteur d’activité de la structure
    Emploi - Economie - Innovation - Numérique
  • Effectif de la structure
    De 51 à 250 salariés
  • Site internet de la structure
    https://quarkslab.com
  • Type de stage ou contrat
    Stage pour lycéens et étudiants en formation initiale
  • Date prévisionnelle de démarrage
  • Durée du stage ou contrat
    Plus de 4 mois et jusqu'à 6 mois
  • Le stage est-il rémunéré ?
    Oui
  • Niveau de qualification requis

    Bac + 3
  • Lieu du stage
    13 Rue Saint-ambroise
    75011 PARIS 11E ARRONDISSEMENT
  • Accès et transports
    Metro 9 & 11