Popular iOS SDK Caught Spying On Billions Of Users And Committing Ad Fraud
A popular Chinese mobile advertising SDK has been found to contain malicious code capable of spying on iOS users and siphoning off ad revenue, a new report claims. According to security firm Snyk, Mintegral SDK is used across 1,200 different iOS apps, with over 300 million collective downloads per month – and therefore billions of total installs. The malicious iOS SDK has been named “SourMint” by Snyk researchers.
Whenever a user clicks on an ad that is not served by the Mintegral network, the SDK inserts itself into the referral process, hoodwinking iOS into thinking the user had clicked on a different ad entirely.
Mintegral iOS SDK
On top of the accusations relating to advertisement attribution fraud, the Snyk report also claims the Mintegral iOS SDK is built to stealthily collect information about the user.
The SDK reportedly records details of all URL-based requests made via the compromised applications, before sending the information on to a remote logging server. The data types collected are listed as follows:
- The URL that was requested, which could potentially include identifiers and other sensitive information
- Headers of the request that was made, which could include authentication tokens
- Where in the application’s code the request originated, which could help identify user patterns
- The device’s Identifier for Advertisers (IDFA) and unique hardware identifier
“The attempts to conceal the nature of the data being captured, both through anti-tampering controls and a custom proprietary encoding technique, are reminiscent of similar functionality reported by researchers that analyzed the TikTok app,” explained Alyssa Miller, Application Security Advocate at Synk.
Most of the big apps are games, and there’s unlikely to be a lot of private data in games. But one, Topface, is a dating and chat app. That could have very private data. Another, Lust Puzzle, allegedly helps you “find the girlfriend of your dreams.” Meet24 is another dating app that was impacted.
According to Snyk, data collected and logged includes:
- OS Version
- IP Address
- charging state
- Mintegral SDK Version
- network type
- package name
- request headers
- method name
- class Name
- backtrace data
Interestingly, even bad guys have bugs in their code.
Hijack User Ad Clicks
Stating that the SDK contains several anti-debug protection intending to hide the actual behavior of the application, Snyk uncovered evidence that Mintegral SDK not only intercepts all the ad clicks within an app but also use this information to fraudulently attribute the click to its ad network even in cases where a competing ad network has served the ad.
It’s worth noting that apps that feature in-app ads include SDKs from multiple ad networks with ad mediators’ help.
“When the attribution provider attempts to match the install event to registered click notifications, it finds two that match,” the analysis found. “Using a last-touch attribution model, the Mintegral click notification is given the attribution and the click notification from the other ad network is rejected.”
In other words, Mintegral has been stealing ad revenues from other advertising networks by claiming the ads from a different ad network as its own, in addition to robbing developers off their revenues even when the platform isn’t being used to serve ads.
“In our investigation, we discovered that once the Mintegral SDK is integrated into an application, it intercepts the clicks even if Mintegral isn’t enabled to serve ads,” Miller said. “In this case, ad revenue that should have come back to the developer or publisher via a competing ad network will never be paid to the developer.”
Collecting More Data Than Necessary for Ad Click Attribution
Even more concerningly, the SDK contains functions that are designed to snoop on all communication from the impacted apps, with the scope of data being collected far more than what’s required for legitimate click attribution.
The information logged includes OS Version, IP Address, charging state, Mintegral SDK version, network type, model, package name, advertising identifier (IDFA or Identifier for Advertisers), and more.
“The attempts by Mintegral to conceal the nature of the data being captured, both through anti-tampering controls and a custom proprietary encoding technique, are reminiscent of similar functionality reported by researchers that analyzed the TikTok app,” Miller noted.
While there’s no way to know for users to know if they’re using an app that embeds the Mintegral SDK, it’s imperative that third-party developers review their apps and remove the SDK to plug the data leak.