A phone can be compromised by nothing more than opening a link, because the mobile browser engine is one of the largest pieces of attack surface on the device and it renders whatever a website sends it. MITRE ATT&CK for Mobile T1456 Drive-By Compromise (tactic TA0027 Initial Access) covers adversaries gaining access when a user visits a website in the normal course of browsing. ATT&CK v20 maps it to both Android and iOS. This guide explains how the technique reaches each platform, what the documented cases show, how to detect it with MDM, mobile threat defence (MTD) and network telemetry, and which OS and policy controls shrink the window. It is written for mobile security engineers, SOC analysts and endpoint owners. For the matrix as a whole, see the MITRE ATT&CK for Mobile Guide; this page stays on T1456.
Key takeaways
- The browser engine is the target. Every documented iOS case in ATT&CK for T1456 (Pegasus for iOS, LightSpy, INSOMNIA) exploited Safari or WebKit, so engine patch speed is the main control.
- Not every drive-by uses an exploit. ATT&CK notes that compromised sites are also used to steal application access tokens or to push lookalike app stores, as Stealth Mango did with a fake APKMonk site.
- Patch latency is measurable. Track the share of devices on the latest iOS release and the current Android security patch level, and gate access on both.
- High-risk users need more than patching. Apple Lockdown Mode and Android Advanced Protection remove complex web features that exploit chains depend on.
- Detection is mostly indirect. MDM state, MTD verdicts, web filtering and forensic tools such as MVT are how a drive-by is found, usually after the fact.
How T1456 works on a phone
ATT&CK describes three delivery routes: a legitimate website compromised with injected JavaScript, iframes or cross-site scripting; malicious advertisements served through legitimate ad networks; and user-controllable content such as forum posts or comments that execute script on the visiting client. When the compromised site is chosen because a specific community visits it, ATT&CK calls it a strategic web compromise or watering hole. The Watering Hole Attacks Guide covers that targeting model in general.
The typical sequence ATT&CK gives is: the user visits the site, scripts fingerprint the browser version, exploit code is served only if a vulnerable version is found, and successful exploitation gives code execution unless further protections stop it. Some chains only deliver the exploit on a second visit. On mobile the browser process is sandboxed, so a full compromise usually needs a second bug to escape the sandbox or reach the kernel. That is why public reporting on mobile drive-bys tends to describe chains rather than single vulnerabilities.
ATT&CK also lists a non-exploit use: a compromised site that collects an application access token. On a phone this matters for OAuth flows that open in the browser or in an in-app web view. See the Mobile Access Credentials guide for how those tokens are stored and scoped.
Android and iOS: where the attack surface differs
| Aspect | Android | iOS |
|---|---|---|
| Engine exposed by browsing | The installed browser (commonly Chrome) and Android System WebView inside apps | WebKit, used by Safari and by in-app web views |
| How engine fixes arrive | Browser and WebView updates through the app store, plus monthly Android Security Bulletin patches through the device maker | iOS and iPadOS releases, and Background Security Improvements listed with Apple security releases |
| Documented ATT&CK cases | Stealth Mango (watering hole mimicking the APKMonk store), StrongPity in campaign C0033 (compromised official Syrian e-government site) | Pegasus for iOS (Safari exploits), LightSpy (WebKit exploit via a site mimicking a Hong Kong newspaper), INSOMNIA (WebKit on iOS 12), YiSpecter (traffic hijacking popups) |
| Hardened mode for targeted users | Android Advanced Protection | Lockdown Mode (iOS 16 or later) |
| Post-exploit next step usually seen | Download of an APK or native binary, or a prompt to install from an unknown source | Download of a native payload; LightSpy fetched a Mach-O binary disguised with a .png extension |
The Android cases in ATT&CK lean on social engineering after the visit (a fake store, a lure to install). The iOS cases lean on exploit chains, because sideloading is constrained. Defences should follow that split: on Android, block installs from unknown sources as well as patching; on iOS, focus on update speed and Lockdown Mode for the people most likely to be targeted.
Documented cases and what they teach
- Pegasus for iOS (S0289): ATT&CK, citing Lookout, records that it was distributed through a website by exploiting Safari vulnerabilities. Lesson: a fully patched device closes known chains, and targeted users need Lockdown Mode for the unknown ones. See the Commercial Spyware Guide.
- LightSpy (S1185): ATT&CK, citing Kaspersky, records initial execution when a victim visits a compromised or adversary-controlled site, including one mimicking a Hong Kong newspaper, where a Safari WebKit exploit leads to a Mach-O download. Lesson: news and community sites are favoured lures for a defined audience.
- INSOMNIA (S0463): ATT&CK, citing Volexity, records malicious JavaScript and iframes exploiting WebKit on vulnerable iOS 12 devices. Lesson: old OS versions are what make the exploit viable, so retire devices that cannot run a supported release.
- Stealth Mango (S0328): delivered via a watering hole mimicking the third-party Android store APKMonk, with the URL in at least one case sent over Facebook Messenger. Lesson: blocking unknown-source installs defeats this route even without a browser bug.
- C0033 / PROMETHIUM (G0056): StrongPity was distributed through the compromised official Syrian e-government website. Lesson: trusted government download pages are not proof of a safe binary.
Detection
ATT&CK v20 gives one detection strategy, DET0614 Detection of Drive-By Compromise, with an analytic per platform. On Android it correlates a browser process writing an APK or binary to shared storage or /data/local/tmp/ shortly after a navigation, with web gateway or proxy metadata. On iOS it correlates Network Extension, per-app VPN or secure web gateway flow metadata with WebKit or WebContent process faults shortly after navigation to a flagged domain, while warning not to infer activity that management state cannot show. In practice, most organisations work from these sources:
| Source | What to look for | Platform |
|---|---|---|
| DNS or secure web gateway (on-device VPN or Network Extension filter) | Requests to domains on threat intelligence lists, newly registered domains, exploit-kit style redirects from ad networks | Both |
| MDM inventory | OS version and security patch level below baseline; browser or WebView app version behind the store release | Both |
| MTD app verdicts | Phishing or malicious URL detections, sideloaded app alerts, profile or certificate changes after a browsing session | Both |
| Android Enterprise state | Unknown-source install permission granted to a browser; new packages not in the managed list | Android |
| Forensic acquisition (MVT, sysdiagnose, crash logs) | WebKit process crashes clustered with visits to suspicious domains; known spyware indicators | Both |
For forensic triage use the Mobile Verification Toolkit, which Amnesty International's Security Lab released for consensual forensic analysis of Android and iOS devices; see the Mobile Verification Toolkit (MVT) guide. A clean MVT result does not prove a device is clean: it only means no known indicator matched.
Metrics that show it is working
- Patch latency: median days from an iOS release or Android security bulletin to 90 percent of managed devices being on it.
- Stale browser engines: percentage of Android devices whose browser or WebView is more than one release behind.
- Unknown-source exposure: count of Android devices where any app can install other apps.
- Hardened-mode coverage: share of designated high-risk users with Lockdown Mode or Advanced Protection on.
- Web filter coverage: share of managed devices with the DNS or web filtering profile active.
Prevention and hardening
ATT&CK lists one mitigation for T1456, M1001 Security Updates, noting that updates frequently patch known exploits. The practical programme around it:
- Set a supported OS baseline. In MDM, define the minimum iOS version and Android security patch level, and block corporate access below it through conditional access. Devices that can no longer receive updates should leave the fleet. Apple lists fixes on its security releases page; Google publishes the monthly Android Security Bulletins.
- Enforce update deadlines. Use Apple MDM software update enforcement and the Android Management API
systemUpdatepolicy to set windows, then measure against them. - Keep the browser engine current on Android. Manage Chrome and WebView updates through managed Google Play; they ship outside the monthly OS patch.
- Close the install route on Android. Set
advancedSecurityOverrides.untrustedAppsPolicyto disallow unknown sources on work devices and keepgooglePlayProtectVerifyAppsenforced. Google says Play Protect checks apps regardless of where they were downloaded. See the Android Enterprise Security Guide. - Filter the web on the device. Deploy DNS or secure web gateway filtering through a per-app or device-wide VPN profile so off-network browsing is covered.
- Harden high-risk users. Apple describes Lockdown Mode as an optional, extreme protection that blocks certain complex web technologies and requires the device to be unlocked before it connects to accessories; additional protections need iOS 17 or later. Websites can be excluded in Safari, which removes the WebKit restrictions for that site, so keep exclusions rare. See the Apple Lockdown Mode Guide and Android Advanced Protection.
Testing and rollback: pilot new OS baselines and Lockdown Mode with a small ring first, because both can break line-of-business web apps; keep a documented exception process with an expiry date rather than lowering the baseline for everyone.
Decision guidance
- Small organisations: an MDM OS baseline, automatic updates and blocked unknown sources cover most of the risk. A separate MTD product is optional.
- Large or regulated organisations: add MTD with web protection, conditional access tied to patch level and an incident route to forensic analysis. See the Mobile Threat Defense Buyer's Guide.
- Executives, journalists, diplomats and activists: treat drive-by spyware as a realistic threat; enable Lockdown Mode or Advanced Protection, reboot devices regularly and have a forensic contact ready.
Where identity fits
A drive-by that lands on a phone inherits every session the phone holds: SSO refresh tokens, OAuth grants for mail and collaboration apps, and any API keys an app has cached. Short token lifetimes, device-bound tokens and conditional access that re-checks device compliance limit how far a browser foothold reaches. Keep secrets out of app bundles entirely; see the Secrets in Mobile Apps Guide.
Common failure patterns
- Patching the OS but not the browser: on Android the browser and WebView update separately, so a current patch level can still hide a stale engine.
- Keeping unsupported devices: INSOMNIA targeted iOS 12; devices stuck on old releases keep known chains viable.
- Allowing unknown sources for convenience: lookalike store pages such as Stealth Mango's only work when sideloading is open.
- Web filtering only on the corporate network: phones browse on mobile data and home Wi-Fi, so network-edge controls miss most visits.
- Treating a clean scan as proof: indicator-based tools only find what is known; escalate high-risk users with symptoms anyway.
Framework mapping
| Framework | Reference | Relevance to T1456 |
|---|---|---|
| ATT&CK for Mobile | M1001 Security Updates | The listed mitigation |
| ATT&CK Enterprise | T1189 Drive-by Compromise | Desktop equivalent of the same behaviour |
| NIST SP 800-53 Rev 5 | SI-2 Flaw Remediation; SC-18 Mobile Code; AC-19 Access Control for Mobile Devices; SI-4 System Monitoring | Patching, script controls, device policy, monitoring |
| NIST CSF 2.0 | PR.PS-02; PR.PS-05; DE.CM-09 | Software maintained, unauthorised software prevented, devices monitored |
| ISO/IEC 27001:2022 Annex A | A.8.1 User end point devices; A.8.8 Management of technical vulnerabilities | Device policy and patch management |
Practitioner checklist
- Define a minimum iOS version and Android security patch level in MDM and tie corporate access to it.
- Track browser and Android System WebView versions separately from the OS patch level.
- Block unknown-source app installs and keep Play Protect verification enforced on Android work devices.
- Deploy DNS or web filtering that works off the corporate network.
- Identify high-risk users and enable Lockdown Mode or Android Advanced Protection for them.
- Retire devices that cannot run a supported OS release.
- Set up a forensic route (MVT, MTD vendor, specialist responder) before you need it.
- Report patch latency and hardened-mode coverage monthly.
Standards and references
- MITRE ATT&CK: T1456 Drive-By Compromise (Mobile)
- MITRE ATT&CK: S0289 Pegasus for iOS
- Apple: About Lockdown Mode
- Apple: Apple security releases
- Android Open Source Project: Android Security Bulletins
- Google: Google Play Protect
- Google: Android Management API policies reference
- Amnesty International Security Lab: Mobile Verification Toolkit documentation
Related NHI Mgmt Group resources: MITRE ATT&CK for Mobile Guide · Drive-by Downloads Guide · Mobile Spyware Infection Response Playbook · Mobile Device Management Security Guide · Mobile T1664 Exploitation for Initial Access · Mobile T1660 Phishing