Qui a dit qu’une fois compilée, une application ne pouvait pas être modifiée ? Cela est rendu possible grâce à l’instrumentation de code qui permet de modifier/ajouter/supprimer du code assez facilement. Par exemple, un analyste peut décider d’ajouter des instructions de journalisation directement dans le code d’une application pour extraire des informations de couverture de code durant l’exécution. Ces informations peuvent être les noms des classes instanciées, les méthodes exécutées, etc. Dans cet article, nous verrons pourquoi l’instrumentation de code des applications est facile et comment elle peut être utilisée par des analystes légitimes et des attaquants pour propager du code malveillant.
1. Introduction
Les technologies mobiles sont en constante évolution, en témoigne notamment l’arrivée de l’intelligence artificielle dans les prochaines générations de téléphones. Android domine le marché avec une part considérable, ce qui rend ses applications une cible de choix pour les analystes de sécurité et les attaquants. Dans cet article, nous nous focaliserons sur l’instrumentation statique de code, un procédé technique permettant de modifier ou d'injecter du code avant son packaging. Cette technique peut être utilisée pour, par exemple, ajouter des logs, modifier des comportements ou intercepter des données très facilement, offrant ainsi un pouvoir considérable sur le fonctionnement interne des applications.
L'objectif de cet article est d'explorer en profondeur comment l'instrumentation de code peut être appliquée dans divers contextes, qu'ils soient légitimes ou malveillants. Nous examinerons les implications de cette technique dans le...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première