Piratage du chiffrement de la médiation AppLovin : l'empreinte numérique des appareils contourne l'ATT

✍️ OpenClawRadar📅 Publié: May 16, 2026🔗 Source
Piratage du chiffrement de la médiation AppLovin : l'empreinte numérique des appareils contourne l'ATT
Ad

Une analyse approfondie du protocole de médiation publicitaire d'AppLovin a mis en lumière un chiffrement personnalisé qui ne protège pas la vie privée des utilisateurs. Le chercheur a déchiffré plus de 5 000 véritables requêtes d'enchères capturées à partir d'utilisateurs consentants et a constaté que la charge utile chiffrée transmet suffisamment de données sur l'appareil pour identifier de manière unique un iPhone entre des applications de différents éditeurs — même lorsque l'utilisateur a refusé l'autorisation App Tracking Transparency (ATT).

Comment fonctionne le chiffrement

Chaque requête de médiation est un POST HTTPS vers ms4.applovin.com/1.0/mediate. À l'intérieur de la couche TLS, un second chiffrement encapsule la charge utile. Après décodage base64, le format filaire est composé de trois champs séparés par des deux-points + le texte chiffré :

2:8a2387b7dbed018e5e485792eac2b56833ce8a3a:T7NreIR729giTKR-thJPcKeT6JXevACogl57SIFzwKp-1BASwpBT6v:<binaire>

Champs :

  • Tag de version (2)
  • Identifiant de protocole de 40 caractères — sha1(salt).hex()
  • Suffixe de 54 caractères de la clé SDK AppLovin de l'éditeur (stockée en clair dans Info.plist ou AndroidManifest.xml)

Le chiffrement utilise deux ingrédients : un sel constant de 32 octets intégré dans chaque binaire SDK (21 octets significatifs + 11 octets nuls, identique sur plusieurs applications et plateformes) et la clé SDK par éditeur. La clé dérivée est SHA-256(salt || sdk_key[:32]). Le flux de clé est généré en utilisant SplitMix64, un PRNG non cryptographique. Le compteur est System.currentTimeMillis() XORé avec les 8 premiers octets de la clé dérivée — ce qui divulgue l'heure horloge murale sur le fil avant le déchiffrement. Aucun MAC ou authentification n'est appliqué, ce qui signifie qu'un attaquant peut altérer le texte chiffré.

Ad

Ce qui est transmis

Le texte clair déchiffré est du JSON compressé en gzip avec environ 30 clés de premier niveau. Les plus critiques :

  • device_info — la charge utile d'empreinte d'AppLovin avec environ 50 champs
  • signal_data[] — des jetons opaques de chaque SDK partenaire de demande

Un exemple d'une requête où ATT a été refusé (IDFA mis à zéro) :

Champ         Valeur               Description
revision      iPhone14,3           Modèle matériel (iPhone 13 Pro Max)
os            18.6.2               Version du système d'exploitation
tm            5918212096           RAM totale (5,51 Go)
ndx / ndy     1284 × 2778          Pixels d'écran natifs
kb            en-US,es-ES          Claviers installés
font          UICTContentSizeCategoryXXXL  Taille du texte d'accessibilité
tz_offset     -4                   Fuseau horaire
volume        40                   Volume audio système
mute_switch   1                    Interrupteur physique de sourdine
bt_ms_2       1770745989000        Heure de démarrage de l'appareil (ms epoch)
dnt / idfa    true / 00000…       ATT refusé
idfv          81E958C3-…-51DE7CE11819  Identifiant du fournisseur (stable entre applications)

Des champs supplémentaires incluent les marges de zone sécurisée, la mémoire libre, le code opérateur, le code pays, la locale, l'orientation, la hauteur de la barre d'état, l'horloge monotone, les indicateurs de batterie et l'état de la connexion sécurisée. Cela équivaut à pratiquement toutes les propriétés système accessibles par un code tiers.

Exposition en aval

Un éditeur typique inclut environ 18 SDK de demande (Meta, Google, Mintegral, Vungle, ironSource, Unity, InMobi, BidMachine, Fyber, Moloco, TikTok, Pangle, Chartboost, Verve, MobileFuse, Bigo, Yandex, plus celui d'AppLovin). À chaque chargement de bannière (environ 30 secondes), le SDK AppLovin transmet la charge utile déchiffrée de l'appareil à chacun de ces réseaux en aval, permettant le suivi inter-applications des utilisateurs sans consentement ATT.

Implications

L'hypothèse selon laquelle ATT seul empêche une identification déterministe est fausse. L'empreinte de l'appareil via les champs divulgués fonctionne tout aussi bien. L'absence d'authentification dans la couche de chiffrement soulève également des préoccupations d'intégrité.

📖 Lire la source complète : HN AI Agents

Ad

👀 See Also

Sunder : Un pare-feu de confidentialité locale pour LLM basé sur Rust
Security

Sunder : Un pare-feu de confidentialité locale pour LLM basé sur Rust

Sunder est une extension Chrome qui agit comme un pare-feu de confidentialité local pour les discussions d'IA, construite en Rust et WebAssembly, garantissant que les données sensibles ne quittent jamais votre navigateur.

OpenClawRadar
Vulnérabilités de sécurité exposées dans l'application EdTech présentée par Lovable
Security

Vulnérabilités de sécurité exposées dans l'application EdTech présentée par Lovable

Un chercheur en sécurité a découvert 16 vulnérabilités dans une application EdTech présentée sur Lovable, incluant des failles critiques de logique d'authentification qui ont exposé 18 697 enregistrements d'utilisateurs sans authentification. L'application avait plus de 100 000 vues sur la vitrine de Lovable et des utilisateurs réels de UC Berkeley, UC Davis et d'écoles du monde entier.

OpenClawRadar
AviationWeather.gov API Contient une Tentative d'Injection de Prompt 'Stop Claude'
Security

AviationWeather.gov API Contient une Tentative d'Injection de Prompt 'Stop Claude'

Un utilisateur signale que l'API AviationWeather.gov du gouvernement américain renvoie le texte 'Stop Claude' dans ses réponses lorsqu'il est consulté via Claude CoWork, déclenchant une alerte de sécurité concernant les attaques par injection de prompt.

OpenClawRadar
Vulnérabilité RCE critique dans la bibliothèque protobuf.js
Security

Vulnérabilité RCE critique dans la bibliothèque protobuf.js

Une vulnérabilité critique d'exécution de code à distance dans les versions 8.0.0/7.5.4 et inférieures de protobuf.js permet l'exécution de code JavaScript via des schémas malveillants. Des correctifs sont disponibles dans les versions 8.0.1 et 7.5.5.

OpenClawRadar