Protection des applications mobiles : l’obfuscation
Le développement d’applications sur téléphone mobile est aujourd’hui confronté à la problématique suivante : comment protéger un code s’exécutant dans un environnement qui n’est pas de confiance. Il s’agit essentiellement d’empêcher un attaquant (souvent un utilisateur légitime) de faire du reverse de code avec vol de propriété intellectuelle ou de données sensibles (clés, numéro carte bancaire, logins ..etc ..).
Rappel sur la société Quarkslab
Obfuscation
Transformation du code pour le rendre plus résistant à du reverse engineering. Le code transformé doit avoir la même sémantique de traitement que le code initial mais fait appel à des opérations / fonctions plus complexes.
White-boxing
Mécanismes permettant de protéger des clés cryptographiques dans du code ou des données et de modifier l’implémentation d’algorithmes standards (e.g. AES) pour leur permettre d’utiliser ces clés protégées.
Ces traitements sont réalisés lors de l’étape de compilation à l’aide d’outils appropriés (e.g. Epona de Quarkslab).
Avantages / inconvénients :
La présentation de Juan Manuel Martinez de la société Quarkslab, durant la conférence du 22 octobre 2019 est ici.