15/06/2026

RAMwavDroid – Et si on écoutait les malwares Android ?

Par admin

RAMwavDroid - Et si on écoutait les malwares Android ?

Si vous faites un peu de reverse engineering sous Android, vous savez que les malwares modernes font absolument tout ce qu’ils peuvent pour planquer leurs mauvaises intentions, un peu comme vos parents toxiques… Code obfusqué, chargement dynamique, packing…etc, etc.

Mais c’était sans compter sur une équipe de chercheurs italiens menée par Giorgio Giacinto ont carrément changé de stratégie avec RAMwavDroid qui au lieu de
désassembler le code
, permet de le transformer en son et ensuite, laissent une IA l’écouter. Et cela permet d’obtenir un niveau de 98% de détection des malwares.

J’vous explique la sorcellerie de ce truc…

En effet, d’habitude, pour analyser une appli Android, on décompile l’APK et on récupère le code, notamment des fichiers smali, un équivalent lisible par un humain du code bas niveau Dalvik.

Mais avec leur RAMwavDroid, vous prenez le fichier, et chaque octet, qui vaut une valeur entre 0 et 255, devient directement une amplitude sonore. Pas de normalisation, ni de désassemblage mais simplement une forme d’onde, stockée dans un vrai fichier WAV ou MP3 + des réseaux de neurones qui apprennent à reconnaître la texture sonore d’un malware.

Le transformer utilisé, c’est Wav2Vec2, qui était même à la base entraîné sur de la voix humaine.

Comment RAMwavDroid transforme les octets d’une appli en forme d’onde

Mais alors pourquoi passer par le son ?

Hé bien parce que les antivirus classiques s’appuient sur le "sens" du programme, ses permissions, ses appels API, la structure de son code…etc. Or c’est exactement ça que les vrais malwares un peu filous brouillent pour passer entre les mailles. Alors que la texture brute des octets, elle, reste la même, peu importe l’habillage que son concepteur a donné à son malware.

Et ça, une oreille artificielle finit par le repérer.

Mais le vrai coup de génie c’est que plutôt que d’analyser le fichier au repos, RAMwavDroid lance l’appli dans un émulateur et prend un instantané de sa mémoire vive juste après le démarrage. Ça permet de parcourir les fichiers chargés en mémoire, les processus, et surtout le code que le packing a déjà déchiffré pour pouvoir s’exécuter. Cette
analyse forensique
de la mémoire fait alors grimper la précision de près de 94% en statique à jusqu’à 98% en dynamique.

Le spectrogramme d’une appli malveillante, vu comme un son

Sur un extrait de dataset de malwares utilisé pour leurs tests, composé de 600 applis (moitié saines moitié vérolées), RAMwavDroid tape jusqu’à 98% de bonnes réponses, avec dans sa meilleure configuration quasiment aucun faux positif.

Un faux positif, c’est quand il n’y a pas de malware, mais que l’antivirus clignote quand même en rouge, donc ça montre bien l’efficacité de leur technologie. On est au même niveau que VirusTotal qui fait bosser des dizaines de moteurs de détection en parallèle.

Bien sûr, c’est un résultat de laboratoire sur un échantillon limité d’apps, et le code source n’est pas encore disponible publiquement, donc on ne peut que les croire sur parole. Surtout que leur système fonctionne uniquement dans un émulateur (pour accéder à la RAM) et ça c’est un truc typique que les malwares sont capables de détecter… Donc bon, à voir…

En plus ce système se fait avoir par les applis bourrées de gros SDK légitimes qui noient également le signal, et par les malwares minimalistes trop simples pour faire du bruit. Bref, la robustesse face à l’obfuscation avancée, ce sera pour plus tard mais j’ai trouvé cette façon de faire plutôt originale.

Peut-être qu’à terme, les créateurs de malware mixeront leur binaire avec un MP3 de Jul ou Gims pour tromper ces futurs détecteurs audio ^^.

Source

Source : korben.info