Mobile, reverse & malware

Sécurité mobile : les bases Android et iOS 2025

Sécurité mobile Android et iOS : modèles sandbox, OWASP MASVS/MASTG, Mobile Top 10 2024, outils (Frida, MobSF), spyware, secure coding, patterns défensifs.

Naim Aouaichia
19 min de lecture
  • Sécurité mobile
  • Android
  • iOS
  • OWASP MASVS
  • MASTG
  • Frida
  • MobSF

La sécurité mobile en 2025 s'articule autour des deux plateformes dominantesAndroid (AOSP, Google, ~70 % marché mondial) et iOS (Apple, ~28 %) — avec des modèles de sécurité structurellement distincts malgré des objectifs similaires. Le référentiel de la discipline est OWASP MASVS v2.0 (Mobile Application Security Verification Standard, 2023) qui définit les exigences de sécurité en 8 catégories (STORAGE, CRYPTO, AUTH, NETWORK, PLATFORM, CODE, RESILIENCE, PRIVACY) avec 2 niveaux de profondeur (L1 basique, L2 renforcé), complété par OWASP MASTG (Mobile Application Security Testing Guide, mis à jour continu, ~500 pages de tests concrets Android + iOS). L'OWASP Mobile Top 10 2024 (publié fin 2024 après révision communautaire) remplace l'ancien Top 10 2016 : M1 Improper Credential Usage, M2 Inadequate Supply Chain Security, M3 Insecure Authentication/Authorization, M4 Insufficient Input/Output Validation, M5 Insecure Communication, M6 Inadequate Privacy Controls, M7 Insufficient Binary Protections, M8 Security Misconfiguration, M9 Insecure Data Storage, M10 Insufficient Cryptography. Le modèle Android repose sur SELinux Android, sandbox par UID Linux, permissions runtime (Android 6+), Verified Boot AVB, TEE Trusty/Widevine, Android Keystore hardware-backed. Le modèle iOS repose sur Secure Enclave (SEP), sandbox + entitlements, code signing obligatoire, ASLR + PAC (Pointer Authentication) sur ARMv8.3 A12+. Les menaces dominantes 2024-2025 sont les trojans bancaires (Cerberus, Anatsa, SharkBot, BRATA), spyware commerciaux (Pegasus NSO, Predator Cytrox, QuaDream, Paragon — ciblage journalistes et activistes documenté par Citizen Lab et Amnesty Security Lab), stalkerware (~150 familles tracked), ransomware mobile (émergent), supply chain SDK compromises (Joker family, BadPack 2023-2024). La stack offensive de référence est Frida + Objection + MobSF + Burp Proxy + jadx/apktool + Ghidra pour Android, Frida + Objection + class-dump + Ghidra/IDA pour iOS. La défense en profondeur combine SSL pinning, Keystore/Keychain, root/jailbreak detection (SafetyNet / Play Integrity API, DeviceCheck + App Attest), obfuscation (R8/ProGuard, symbol stripping), MDM/MTD en enterprise. Cet article détaille les modèles de sécurité Android et iOS, le référentiel OWASP MASVS + MASTG, le Mobile Top 10 2024 avec exemples, les catégories de menaces avec rapports publics, les outils offensifs et défensifs 2025, les 15 pratiques de secure coding mobile, le cadre réglementaire (RGPD, NIS 2, DMA sideloading UE 2024), et le pattern d'évaluation d'une app mobile. Pour le contexte reverse engineering et malware analysis, voir Analyse statique vs dynamique. Pour les principes secure coding universels, Principes de secure coding.

1. Surface d'attaque mobile 2025

1.1 Chiffres clés

Métrique 2024ValeurSource
Smartphones actifs monde~7 milliardsGSMA Intelligence 2024
Part Android marché71 %Statcounter 2024
Part iOS marché28 %Statcounter 2024
Apps Play Store~3,5 millionsAppBrain 2024
Apps App Store~1,9 millionSensor Tower 2024
Nouvelles familles malware mobile/mois~50-100Kaspersky Mobile Threats 2024
% Android malware ciblant France~2-3 %CERT-FR 2024
Devices infectés stalkerware (estim.)30 000-60 000 FRCoalition Against Stalkerware 2024

1.2 Vecteurs d'attaque dominants

Vecteurs d'attaque mobile 2024-2025
────────────────────────────────────
 
1. INSTALL MALICIOUS APP
   ├─ Play Store / App Store apps trojanisées (rare mais arrive)
   ├─ Sideloading APK tiers (Android)
   ├─ Phishing avec lien de "mise à jour"
   └─ TestFlight / Enterprise provisioning abusif iOS
 
2. SUPPLY CHAIN SDK
   ├─ SDK publicitaire compromis (Joker, BadPack)
   ├─ Library npm/Gradle avec malicious payload
   └─ Injection pre-compile
 
3. ZERO-CLICK EXPLOIT (spyware d'État)
   ├─ iMessage (BLASTPASS 2023, FORCEDENTRY 2021)
   ├─ WhatsApp (CVE-2019-3568)
   ├─ iOS Mail / Safari RCE chain
   └─ Android Mediaserver / Stagefright historique
 
4. PHYSICAL ACCESS / EVIL MAID
   ├─ DFU mode iOS avec 0-day checkm8
   ├─ Android rooting physique
   └─ USB forensic tools (Cellebrite, GrayKey)
 
5. NETWORK / MITM
   ├─ Rogue Wi-Fi avec captive portal
   ├─ SSL stripping si pas de pinning
   └─ Rogue cellular base station (IMSI catcher)
 
6. SOCIAL ENGINEERING
   ├─ SMS phishing (smishing) avec lien
   ├─ Faux tech support scam
   └─ Romance scam avec app installation request

2. Modèle de sécurité Android

2.1 Couches de défense Android

Modèle de sécurité Android — couches superposées
─────────────────────────────────────────────────
 
Application Layer
  ├─ Sandbox Android (UID Linux unique par app)
  ├─ Permissions runtime (Android 6+) + Scoped Storage (Android 10+)
  └─ Code signing (APK signature v1/v2/v3/v4)
 
Framework Layer
  ├─ SELinux Android (mode enforcing)
  ├─ Intents avec filtres (exported='false' par défaut Android 12+)
  └─ Google Play Protect (scan en arrière-plan)
 
Native Layer
  ├─ ASLR, NX bit, stack canaries
  └─ Hardened malloc (Scudo, Android 10+)
 
Kernel Layer
  ├─ Linux kernel hardened (KASLR, CFI, BPF LSM)
  ├─ seccomp-BPF filtering syscalls
  └─ Trusty TEE ou Widevine TEE (TrustZone ARM)
 
Hardware Layer
  ├─ Verified Boot AVB (Android Verified Boot 2.0)
  ├─ StrongBox (Titan M / Titan M2 Pixel, dedicated HSM)
  └─ Android Keystore hardware-backed (Tamper-resistant)

2.2 Fragmentation — le problème Android

Contrairement à iOS où Apple contrôle 100 % des mises à jour, Android subit une fragmentation majeure :

  • Pixel (Google) : patches mensuels, support 5-7 ans (Pixel 8+), sécurité référence.
  • Samsung : patches généralement rapides sur flagships, plus lents sur mid-range.
  • Xiaomi, Oppo, Vivo, Realme : patches irréguliers, dépend du modèle et du marché.
  • Low-end / bas de gamme : certains restent sur Android 11-12 en 2025, patches absents 6+ mois.

Impact sécurité : en 2025, ~40-50 % des devices Android actifs tournent sur une version avec patches > 90 jours de retard (CVE de l'année en cours non patchées). C'est une surface exploitable pour les attaquants qui chain des 1-day publiés.

2.3 Android Keystore — le bon pattern

// Génération d'une clé AES-256-GCM dans le Keystore, hardware-backed
import android.security.keystore.KeyGenParameterSpec
import android.security.keystore.KeyProperties
import javax.crypto.KeyGenerator
 
fun generateKey(alias: String) {
    val keyGenerator = KeyGenerator.getInstance(
        KeyProperties.KEY_ALGORITHM_AES,
        "AndroidKeyStore"
    )
    val spec = KeyGenParameterSpec.Builder(
        alias,
        KeyProperties.PURPOSE_ENCRYPT or KeyProperties.PURPOSE_DECRYPT
    )
        .setBlockModes(KeyProperties.BLOCK_MODE_GCM)
        .setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_NONE)
        .setKeySize(256)
        .setIsStrongBoxBacked(true)  // Hardware StrongBox si device le supporte (Pixel, Samsung)
        .setUserAuthenticationRequired(true)  // Biométrie pour unlock la clé
        .setUserAuthenticationValidityDurationSeconds(300)
        .build()
 
    keyGenerator.init(spec)
    keyGenerator.generateKey()
}

3. Modèle de sécurité iOS

3.1 Couches de défense iOS

Modèle de sécurité iOS — pile verrouillée
──────────────────────────────────────────
 
Application Layer
  ├─ Sandbox (container isolé par app)
  ├─ Entitlements (permissions fines par capability)
  └─ Code signing obligatoire (App Store + Developer ID)
 
System Layer
  ├─ AMFI (Apple Mobile File Integrity) — valide signatures runtime
  ├─ Kernel Integrity Protection (KIP)
  └─ Pointer Authentication (PAC) — ARMv8.3+ A12+
 
Hardware Layer
  ├─ Secure Enclave (SEP) — coprocesseur sécurisé isolé
  ├─ Secure Boot chain (BootROM → iBoot → kernel)
  ├─ Activation Lock (iCloud)
  └─ Touch ID / Face ID intégrés SEP
 
Monitoring
  ├─ Lockdown Mode (iOS 16+, 2022) — réduit la surface pour profils à risque
  ├─ Advanced Data Protection (ADP, iOS 16.2+) — E2E pour plus de cloud data
  └─ Privacy Report, App Tracking Transparency (ATT)

3.2 Secure Enclave (SEP)

Le Secure Enclave Processor est un coprocesseur dédié avec son propre OS (SEPOS), isolé du CPU principal, avec sa propre mémoire sécurisée. Il gère :

  • Clés cryptographiques persistantes (Keychain hardware-backed).
  • Face ID / Touch ID matching sans exposer les templates biométriques.
  • Random number generation hardware (TRNG).
  • Apple Pay tokenization.

Attaques publiées 2019-2024 : checkm8 (A7-A11, 2019, bootrom, physique seulement), blackbird (A10+, SEP research), mais aucune attaque practical remote sur SEP A12+ en 2025.

3.3 Lockdown Mode — la réponse Pegasus

Introduit iOS 16 (septembre 2022) en réponse aux campagnes zero-click Pegasus/Predator. Désactive ou durcit :

  • iMessage : attachments filtrés, link previews désactivés.
  • WebKit : JIT désactivé, complex features filtrées.
  • FaceTime : appels de contacts existants uniquement.
  • USB : accessoires filaires bloqués si device verrouillé.
  • Wi-Fi : connexions non-sécurisées restreintes.
  • MDM : installation config profiles bloquée.

Recommandé pour : journalistes, activistes, avocats défense, dissidents politiques, personnalités publiques exposées.

4. OWASP MASVS + MASTG — référentiels 2025

4.1 MASVS v2.0 — 8 catégories

OWASP MASVS v2.0 (2023) — structure des exigences
──────────────────────────────────────────────────
 
MASVS-STORAGE    Stockage sécurisé des données sensibles
                 (pas de SharedPreferences cleartext, Keystore/Keychain)
 
MASVS-CRYPTO     Usage correct des primitives crypto
                 (pas d'AES-ECB, pas de MD5 pour auth, KDFs)
 
MASVS-AUTH       Authentification et autorisation
                 (JWT vérifiés côté serveur, session mgmt)
 
MASVS-NETWORK    Communications réseau sécurisées
                 (TLS 1.2+, SSL pinning, pas de cleartext)
 
MASVS-PLATFORM   Usage sécurisé des APIs plateforme
                 (WebView config, Intent safe, URL schemes)
 
MASVS-CODE       Qualité du code et sécurité build
                 (deps à jour, pas de debug en prod)
 
MASVS-RESILIENCE Résistance aux attaques clients
                 (obfuscation, anti-tampering, root detection)
 
MASVS-PRIVACY    Protection des données personnelles
                 (RGPD, collecte minimale, transparence)
 
Niveaux : L1 (baseline toutes apps) + L2 (apps manipulant données sensibles)

4.2 MASTG — tests concrets

Le MASTG documente ~300 tests organisés par MASVS category + plateforme (Android / iOS). Chaque test a :

  • Description de l'exigence (lien MASVS).
  • Procédure statique (jadx/apktool/Ghidra pour Android, class-dump/Ghidra pour iOS).
  • Procédure dynamique (Frida hook, Burp interception).
  • Commandes concrètes.
  • Références bibliographiques.

Exemple de structure d'un test MASTG :

MASTG-TEST-0204 — Testing Memory for Sensitive Data
───────────────────────────────────────────────────
 
Overview: Verify that sensitive data is not leaked via memory dumps.
 
Static Analysis:
  Look for usage of String in Java/Kotlin (immutable, persist in heap).
  Prefer char[] or byte[] wiped after use.
 
Dynamic Analysis (Android):
  1. Dump process memory via Frida:
     Memory.scan(base, size, pattern, callback)
  2. Search for known secrets (API keys, passwords, tokens).
  3. Verify secrets zeroed after use.
 
Remediation:
  Use char[] for passwords (swipe-able via java.util.Arrays.fill).
  Use Android Keystore for long-term crypto keys.

5. OWASP Mobile Top 10 2024 — détaillé

RangRisqueExemple concret
M1Improper Credential UsageAPI key hardcodée dans APK, partagée entre tous les users
M2Inadequate Supply Chain SecuritySDK publicitaire trojan (Joker, BadPack 2023-2024)
M3Insecure Authentication/AuthorizationJWT signé client-side, validation server manquante
M4Insufficient Input/Output ValidationSQL injection sur DB locale, Intent injection
M5Insecure CommunicationAbsence SSL pinning, HTTP cleartext
M6Inadequate Privacy ControlsTracking IDFA/AAID sans consent, collecte excessive RGPD
M7Insufficient Binary ProtectionsSymboles debug stripés, anti-tampering absent
M8Security Misconfigurationandroid:debuggable='true' en prod, exported='true'
M9Insecure Data StorageSharedPreferences cleartext, NSUserDefaults sensible
M10Insufficient CryptographyAES-ECB (voir Pourquoi ECB est mauvais), MD5 pour auth, clé hardcodée

5.1 Mapping MITRE ATT&CK Mobile Matrix

Depuis 2017, MITRE maintient une Mobile ATT&CK Matrix dédiée avec des tactiques et techniques spécifiques : T1418 Input Injection, T1398 Boot or Logon Initialization Scripts, T1409 Stored Application Data, T1453 Abuse Accessibility Features, T1636 Protected User Data. L'intégration au workflow CTI / SOC est standard 2025.

6. Catégories de menaces dominantes

6.1 Trojans bancaires

Applications malicieuses qui siphonnent credentials bancaires via overlay attacks, SMS interception, accessibility abuse.

FamillePlateformePériode activitéCaractéristiques
Anatsa (TeaBot)Android2021+Banker EU, distribution via Play Store droppers
SharkBotAndroid2021+Targeting banks UK/IT, automatisation transfers
CerberusAndroid2019+MaaS classique, fork continu
HydraAndroid2019+Banker DE/PL puis EU
BRATAAndroid2019+RAT + banker, persistent FR/IT/ES
GodfatherAndroid2022+400+ banking apps targeted
Iranian Gonebot / MaMiiOS (rare)2019+Mac + iOS targeting cryptocurrency

Source : Cleafy, Zimperium, ThreatFabric reports 2024.

6.2 Spyware commerciaux (mercenary spyware)

ActeurOrigineTechnique phareCibles documentées
NSO Group (Pegasus)IsraëlZero-click iMessageJournalistes, activistes 40+ pays
Cytrox / Intellexa (Predator)GrèceZero-click iOSPoliticians EU, journalistes
QuaDream (KingsPawn)Israël (fermé 2023)Zero-clickSimilaire Pegasus
Paragon Solutions (Graphite)IsraëlZero-clickÉmergent 2023+
NoviSpySerbie (Citizen Lab 2024)AndroidActivistes, opposition

Défense pratique :

  • iOS : Lockdown Mode activé pour profils à risque, MAJ immédiates.
  • Android : Pixel avec GrapheneOS pour haute sécurité, MAJ mensuelles.
  • MVT (Mobile Verification Toolkit) Amnesty : outil forensic pour détection post-infection.
  • OpSec générale : device dédié pour communications sensibles, ne pas cliquer sur liens suspects, éviter installations sideload.

6.3 Stalkerware

Applications de surveillance installées sans consentement de la cible. Cas d'usage abusifs : violences conjugales, contrôle parental excessif, espionnage d'employés.

Famille stalkerwarePlateformeDétection
mSpyAndroid + iOSAV mobile, inspection apps
FlexiSpyAndroid + iOS jailbreakéForensic physique
HoverwatchAndroidIcon caché, processus background
SpyFone / SpyBubbleAndroid + iOSInstallation requires physical access

Coalition Against Stalkerware (Kaspersky, EFF, Operation Safe Escape, Weisser Ring) maintient une liste de signatures détectables par AV mobile. Recommandations victimes : sauvegarde device → factory reset → changement passwords → MAJ OS → procédure juridique.

6.4 Supply chain SDK

Injection de code malicieux via SDK tiers (publicitaires, analytics, SSO). Exemples :

  • Joker family (Android) : abonnements SMS premium cachés, détecté 1700+ apps 2020-2024.
  • BadPack (2024, Google TAG) : Android APK packers abusés pour malware.
  • iOS SDK SourMint (2020) : click fraud détecté dans 1200+ apps.
  • SimBad adware (2019) : Google Play 210 apps infectées.

Mitigation 2025 : analyse statique MobSF systématique avant publication, monitoring CVEs SDKs utilisés, revue annuelle dépendances.

7. Outils offensifs 2025

7.1 Stack complet

Stack offensive mobile 2025
────────────────────────────
 
ANDROID STATIQUE
  ├─ apktool                  Extraction + recompilation APK
  ├─ jadx                     Décompilation smali → pseudo-Java
  ├─ JEB / Ghidra Android      Pro tools (JEB commercial, Ghidra OSS)
  └─ MobSF                    All-in-one analyse statique + dynamique
 
ANDROID DYNAMIQUE
  ├─ Frida + Objection         Hooking runtime (standard 2025)
  ├─ Burp Suite Pro            Proxy HTTPS (SSL pinning bypass)
  ├─ Drozer (FSEcureLabs)      Fuzzing IPC et Intents
  └─ Xposed / LSPosed          Framework hooking (Magisk-based)
 
iOS STATIQUE
  ├─ class-dump                Extraction headers Objective-C
  ├─ Ghidra / IDA Pro          Disassembly Mach-O
  ├─ Hopper Disassembler       Alternative macOS
  └─ MobSF                    All-in-one
 
iOS DYNAMIQUE
  ├─ Frida + Objection         Standard 2025
  ├─ Cycript (legacy)          Historique, moins maintenu
  ├─ iproxy / ssh over USB     Connexion shell
  └─ Corellium                 Émulateur iOS commercial (~500+ $/mois)
 
CROSS-PLATFORM
  ├─ Burp Suite Pro             Proxy HTTPS / API testing
  ├─ mitmproxy                  Alternative Python OSS
  ├─ Wireshark                 Capture traffic
  └─ Network Security Config    Android config testing

7.2 Frida — le couteau suisse 2025

Frida (Ole André Vadla Ravnås, OSS 2013+) permet l'injection d'un agent JavaScript dans une app en cours d'exécution (requires rooted Android ou jailbroken iOS) :

// Frida script — bypass SSL pinning OkHttp standard
// Usage : frida -U -l ssl_pinning_bypass.js -f com.example.app --no-pause
 
Java.perform(function() {
    console.log("[+] SSL Pinning bypass start");
 
    // Hook OkHttp3 CertificatePinner
    var CertificatePinner = Java.use("okhttp3.CertificatePinner");
    CertificatePinner.check.overload("java.lang.String", "java.util.List").implementation = function(hostname, peerCertificates) {
        console.log("[Bypass] OkHttp3 CertificatePinner.check() called for: " + hostname);
        return;
    };
 
    // Hook TrustManager par défaut
    var X509TrustManager = Java.use("javax.net.ssl.X509TrustManager");
    var TrustManager = Java.registerClass({
        name: "com.custom.TrustManager",
        implements: [X509TrustManager],
        methods: {
            checkClientTrusted: function(chain, authType) {},
            checkServerTrusted: function(chain, authType) {},
            getAcceptedIssuers: function() { return []; }
        }
    });
 
    console.log("[+] SSL Pinning bypass complete");
});

7.3 MobSF — all-in-one

MobSF (Mobile Security Framework, Ajin Abraham, OSS 2015+) intègre en une plateforme web :

  • Analyse statique APK / IPA (permissions, strings, secrets, insecure patterns).
  • Analyse dynamique avec agent Android / émulateur iOS.
  • Rapport MASVS / MASTG compatible.
  • API REST pour intégration CI/CD.

Déploiement Docker :

# MobSF v3.9.x en 2025
docker pull opensecurity/mobile-security-framework-mobsf:latest
docker run -it --rm -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest
 
# Interface web : http://localhost:8000
# Upload APK / IPA → scan automatique → rapport PDF / JSON

8. Outils défensifs côté opérationnel

8.1 MDM / MTD / App Attest

SolutionTypeUsage
Microsoft IntuneMDMDéploiement enterprise, policies
Jamf ProMDMRéférence Apple enterprise
VMware Workspace ONEUEMUnified endpoint management
Lookout / ZimperiumMTDMobile Threat Defense, app scanning runtime
Check Point Harmony MobileMTDAnti-phishing, anti-malware
Google Play Integrity APIApp attestRemplace SafetyNet en 2024
Apple DeviceCheck + App AttestApp attestIntégrité device + app identity

8.2 Defense in depth développeur

Checklist secure coding mobile 2025 (extrait OWASP MASVS L2) :

Checklist secure coding mobile 2025
────────────────────────────────────
 
Authentication / Storage
  [ ] Secrets dans Keystore/Keychain, JAMAIS SharedPreferences cleartext
  [ ] Biométrie via BiometricPrompt (Android) / LAContext (iOS)
  [ ] Session tokens rotationnés, serveur invalide at logout
  [ ] Pas de credentials hardcodés, extraction strings MobSF clean
 
Communication
  [ ] TLS 1.2+ minimum, TLS 1.3 préférable
  [ ] SSL / Certificate pinning (Network Security Config Android, ATS iOS)
  [ ] Pas de cleartext traffic (usesCleartextTraffic=false Android 9+)
  [ ] HSTS respecté si HTTPS web content in-app
 
Platform / Code
  [ ] android:debuggable="false" en build release
  [ ] android:allowBackup="false" si données sensibles
  [ ] Intent exported="false" par défaut Android 12+
  [ ] WebView : setJavaScriptEnabled(false) sauf nécessaire
  [ ] WebView : @JavascriptInterface exposer minimum
  [ ] iOS : AppTransportSecurity strict, pas d'exception domain
 
Resilience
  [ ] Root/jailbreak detection (SafetyNet/Play Integrity, DeviceCheck)
  [ ] Obfuscation R8/ProGuard Android, symbol stripping iOS
  [ ] Anti-tampering (APK signature v3/v4 enforcement)
  [ ] Anti-debug (ptrace detection, anti-Frida basique)
  [ ] Certificate transparency check
 
Crypto
  [ ] AES-GCM ou ChaCha20-Poly1305 (jamais ECB, jamais CBC nu)
  [ ] KDF bcrypt/scrypt/Argon2id pour passwords
  [ ] JAMAIS MD5, SHA-1 pour intégrité ou auth
  [ ] Random via SecureRandom (Java) / CryptoKit (iOS)

9. Cadre réglementaire 2025

9.1 Textes applicables mobile

TexteApplication mobile
RGPD (UE 2016/679)Consent tracking, minimisation données, droits utilisateur
DMA (Digital Markets Act, UE 2024)Sideloading iOS obligatoire en UE depuis mars 2024
NIS 2 (UE oct 2024)Applicable aux apps des services essentiels
Cyber Resilience Act (UE 2027)Produits connectés incluant apps critiques
ANSSI RGS v2.0Apps gouvernementales, ministères
ePrivacy Directive (UE)Cookies + tracking mobile
HIPAA (US)Apps santé
COPPA (US)Apps ciblant enfants < 13 ans
CNIL référentiel smartphones (2024)Guidance française

9.2 Impact DMA sideloading iOS UE

Digital Markets Act applicable mars 2024 impose à Apple d'autoriser en UE :

  • Alternative App Stores (AltStore PAL lancé avril 2024, Epic Games Store iOS).
  • Sideloading d'APK via signature developer (controverse).
  • Moteurs de navigateur alternatifs (pas seulement WebKit).

Impact sécurité : réduction de l'avantage sécurité historique iOS, multiplication des vecteurs, exigences de notarization Apple pour apps alternatives (contournements possibles). À surveiller 2025-2026.

10. Pattern d'évaluation sécurité app mobile

10.1 Processus complet

Évaluation sécurité app mobile — 6 phases
──────────────────────────────────────────
 
Phase 1 — CADRAGE (1-2 jours)
  ├─ Scope : Android, iOS, backend APIs
  ├─ Version cible (prod ou staging)
  ├─ Accès fournis (APK, IPA, credentials test)
  └─ Exclusions (ex: SDK tiers non scopés)
 
Phase 2 — ANALYSE STATIQUE AUTOMATIQUE (1 jour)
  ├─ MobSF APK + IPA → rapport MASVS
  ├─ Semgrep / SonarQube sur source si accès
  ├─ YARA rules malware detection
  └─ Binary Ninja / Ghidra pour natives libs
 
Phase 3 — ANALYSE DYNAMIQUE (2-4 jours)
  ├─ Setup lab : émulateur rooté/jailbreaké ou device dédié
  ├─ Frida + Objection setup
  ├─ Burp Proxy intercept traffic
  ├─ Tests MASTG par catégorie
  └─ Exploitation identifiée
 
Phase 4 — TESTS MANUELS CIBLÉS (2-3 jours)
  ├─ Logic flaws business
  ├─ IDOR / broken access via API mobile
  ├─ JWT manipulation
  ├─ Deep links abuse
  └─ WebView exploitation
 
Phase 5 — API BACKEND (2-3 jours en parallèle)
  ├─ OWASP API Security Top 10 2023
  ├─ BOLA / BFLA testing
  ├─ Rate limiting check
  └─ Auth flows complets
 
Phase 6 — RAPPORT + RESTITUTION (1-2 jours)
  ├─ Findings CVSS + MASVS mapped
  ├─ IoCs et preuves reproductibles
  ├─ Recommandations priorisées
  └─ Restitution orale client
 
Total typique : 2-4 semaines pour une app mid-size
Budget PASSI : 20-50 k€ HT selon scope et PASSI vs non-PASSI

Pour la méthodologie pentest web correspondante (APIs mobile), voir OWASP Testing Guide expliqué.

11. Points clés à retenir

  • Sécurité mobile 2025 = 2 plateformes (Android 71 %, iOS 28 % marché) avec modèles structurellement distincts.
  • OWASP MASVS v2.0 (2023) : 8 catégories d'exigences (STORAGE, CRYPTO, AUTH, NETWORK, PLATFORM, CODE, RESILIENCE, PRIVACY), 2 niveaux L1/L2. OWASP MASTG : ~300 tests concrets.
  • OWASP Mobile Top 10 2024 : M1 Credentials, M2 Supply Chain, M3 AuthN/Z, M4 Input, M5 Communication, M6 Privacy, M7 Binary Protections, M8 Misconfig, M9 Storage, M10 Crypto.
  • Android sécurité : SELinux, sandbox UID, permissions runtime, Verified Boot AVB, Keystore hardware-backed. Problème majeur : fragmentation (40-50 % devices avec patches > 90j retard).
  • iOS sécurité : Secure Enclave SEP coprocesseur, sandbox + entitlements, code signing strict, ASLR + PAC. Lockdown Mode (iOS 16+, 2022) pour profils à risque.
  • Menaces dominantes : trojans bancaires (Anatsa, SharkBot, BRATA, Godfather), spyware commerciaux (Pegasus, Predator, QuaDream, Paragon), stalkerware, ransomware mobile émergent, supply chain SDK (Joker, BadPack).
  • Stack offensif 2025 : Frida + Objection + MobSF + Burp Pro + Ghidra/IDA/jadx/apktool. Frida 16+ est l'outil central dynamic 2025.
  • Défense dev : 15 pratiques MASVS L2 — Keystore/Keychain, SSL pinning, root/jailbreak detection (SafetyNet/Play Integrity, DeviceCheck/App Attest), obfuscation R8 ProGuard, anti-debug, crypto AEAD, pas de secrets hardcodés.
  • Cadre réglementaire : RGPD + DMA (sideloading iOS UE 2024) + NIS 2 + Cyber Resilience Act 2027. Impact DMA : réduction avantage sécurité iOS historique.
  • MobSF scan pré-release obligatoire en CI/CD 2025, 5-15 min/build, détection systématique secrets + misconfig.
  • Évaluation app mobile : 6 phases 2-4 semaines, budget PASSI 20-50 k€ HT.

Pour l'analyse offensive des binaires en profondeur, voir Analyse statique vs dynamique. Pour les principes secure coding universels applicables, Principes de secure coding. Pour le référentiel offensif web (APIs mobile), OWASP Testing Guide expliqué. Pour la désérialisation comme vecteur (apps Android Kotlin/Java), Désérialisation insecure. Pour la gestion secrets côté backend mobile, Secrets management dans le cloud. Pour le hardware sécurisé sous-jacent aux Secure Enclaves / Keystores, Carte à puce, JavaCard, APDU.

Questions fréquentes

  • Quelles sont les différences structurelles entre sécurité Android et iOS ?
    Deux modèles radicalement distincts malgré objectifs similaires. Android (AOSP, Google) : open-source, fragmentation OEM majeure, plusieurs OEM retardent les patches Google, écosystème applicatif plus ouvert (sideloading, APK hors store). Sécurité repose sur SELinux Android, sandbox par UID Linux, permissions runtime Android 6+, Verified Boot AVB, Trusty TEE ou Widevine TEE, Android Keystore (hardware-backed sur devices récents). iOS (Apple, closed-source) : écosystème verrouillé, mises à jour uniformes 95%+ devices à J+30, App Store unique (hors Enterprise et sideloading EU DMA 2024), sideloading très restreint. Sécurité repose sur Secure Enclave (SEP), sandbox + entitlements, code signing obligatoire, DFU mode verrouillé, ASLR + PAC (Pointer Authentication) ARMv8.3 A12+. Dans les faits 2025 : iOS légèrement plus sûr par design et uniformité, Android plus variable (meilleur sur Pixel stock, dégradé sur OEM chinois ou low-end). Les deux sont visés massivement par spyware commerciaux (Pegasus NSO, Predator Cytrox, QuaDream).
  • Qu'est-ce qu'OWASP MASVS et MASTG concrètement ?
    Deux référentiels OWASP complémentaires pour la sécurité mobile. MASVS (Mobile Application Security Verification Standard, v2.0 2023) est le standard des exigences de sécurité mobile, organisé en 8 catégories (MASVS-STORAGE, MASVS-CRYPTO, MASVS-AUTH, MASVS-NETWORK, MASVS-PLATFORM, MASVS-CODE, MASVS-RESILIENCE, MASVS-PRIVACY) avec 2 niveaux de profondeur (L1 basique, L2 renforcé). C'est le pendant mobile de ASVS (OWASP Application Security Verification Standard web). MASTG (Mobile Application Security Testing Guide, mis à jour continu) est le manuel pratique de ~500 pages avec tests concrets Android + iOS, commandes, outils, exemples code. Pour un audit mobile 2025 : MASVS = cible exigences, MASTG = comment tester. Les deux projets open-source OWASP maintenus activement par équipe internationale (Sven Schleier, Carlos Holguera, Bernhard Mueller, Jeroen Willemsen).
  • OWASP Mobile Top 10 2024 : les 10 risques ?
    Publié officiellement 2024 après révision communautaire, remplace l'ancien Top 10 2016. M1 Improper Credential Usage : credentials hardcoded, partage incorrect entre users. M2 Inadequate Supply Chain Security : dépendances compromises, SDK malicious (ex: Joker family). M3 Insecure Authentication/Authorization : auth client-side seule, JWT mal vérifiés. M4 Insufficient Input/Output Validation : SQL injection mobile, intent injection. M5 Insecure Communication : absence SSL pinning, TLS faible. M6 Inadequate Privacy Controls : violation RGPD collecte excessive, tracking. M7 Insufficient Binary Protections : absence obfuscation, symboles debug laissés. M8 Security Misconfiguration : debuggable=true en prod, backup autorisé. M9 Insecure Data Storage : SharedPreferences cleartext, NSUserDefaults sensible. M10 Insufficient Cryptography : AES-ECB, MD5, clés hardcodées. Mapping MITRE ATT&CK Mobile Matrix disponible pour chaque risque.
  • Frida en sécurité mobile : à quoi ça sert exactement ?
    Frida (Ole André Vadla Ravnås, open-source 2013+) est l'outil dynamique central de l'analyse et du pentest mobile 2025. Il injecte un agent JavaScript dans une application en cours d'exécution (Android ou iOS rooté/jailbreaké, ou émulateur) permettant de : hook n'importe quelle méthode native (C/C++/Objective-C/Swift) ou managed (Java/Kotlin), inspecter et modifier arguments et return values en live, contourner contrôles de sécurité (root detection, jailbreak detection, SSL pinning, debug detection), extraire clés crypto en mémoire, instrumenter WebView pour JS analysis. Usage typique : bypass SSL pinning pour intercepter traffic HTTPS avec Burp Proxy, dump crypto keys AES/RSA en mémoire, contournement anti-tampering, reverse d'obfuscation runtime. Frida 16+ (2025) supporte iOS 18, Android 14, instrumentation stealth pour bypass anti-Frida detection (Magisk Zygisk, LSPosed). Combiné à Objection (Sensepost) pour une UX simplifiée, pyramidal stack 2025 pour pentest mobile.
  • Pegasus, Predator, spyware commerciaux : c'est une menace réelle en 2025 ?
    Oui, menace majeure documentée par Citizen Lab (Toronto) et Amnesty Security Lab depuis 2018. Pegasus (NSO Group, Israël) : spyware vendu aux gouvernements, exploitation zero-click via iMessage (BLASTPASS 2023 CVE-2023-41064 + CVE-2023-41061, patched iOS 16.6.1), accès complet contenu + micro + caméra + géoloc. Predator (Cytrox / Intellexa) : alternative concurrente, zero-click similaire. QuaDream (Israël, fermé 2023) : KingsPawn zero-click. Paragon Solutions : émergent 2023+. Impact documenté : journalistes, activistes, dissidents, opposition politique dans plus de 40 pays (Citizen Lab, Amnesty 2024). Victimes notables : Jamal Khashoggi, Roula Khalaf (FT), Pierre Omidyar. Défense pratique : Lockdown Mode iOS (iOS 16+, 2022), mises à jour immédiates, Mobile Verification Toolkit (MVT) Amnesty pour detection post-infection, éviter liens suspects. Pour un profil à risque (journaliste investigation, activiste, avocat défense), device dédié + Lockdown Mode + pratiques OpSec sont non-négociables.
  • Comment sécuriser une application mobile en production 2025 ?
    Quinze pratiques essentielles alignées OWASP MASVS L2 + Mobile Top 10 2024. 1) SSL pinning (Android Network Security Config + iOS NSAppTransportSecurity). 2) Secrets via Android Keystore / iOS Keychain, jamais SharedPreferences/NSUserDefaults. 3) Root / jailbreak detection avec SafetyNet/Play Integrity API (Android), DeviceCheck + App Attest (iOS). 4) Obfuscation code (R8/ProGuard Android, symbol stripping iOS). 5) Certificate pinning strict, pas d'override. 6) Pas de debug logs en production (BuildConfig.DEBUG Android, #if DEBUG iOS). 7) Pas de backup automatique de données sensibles (android:allowBackup='false'). 8) Intent filters restrictive (exported='false' par défaut Android). 9) WebView JavaScript désactivé sauf nécessaire, pas de file://, @JavascriptInterface cloisonné. 10) Crypto via libsodium ou APIs système, jamais custom. 11) JWT vérifiés côté serveur, jamais déchiffré client seul. 12) Minimum API level récent (Android 10+ en 2025, iOS 15+). 13) Tests MobSF automated + Frida hooking manuel dans CI/CD. 14) Pentest annuel aligné OWASP MASTG. 15) MDM/MTD si enterprise. Voir aussi Principes de secure coding pour les patterns universels.

Écrit par

Naim Aouaichia

Expert cybersécurité et fondateur de Zeroday Cyber Academy

Expert cybersécurité avec un master spécialisé et un parcours hybride : développement, DevOps, DevSecOps, SOC, GRC. Fondateur de Hash24Security et Zeroday Cyber Academy. Formateur et créateur de contenu technique sur la cybersécurité appliquée, la sécurité des LLM et le DevSecOps.