Mobile security researchers at FireEye say they have discovered an iOS security hole that allows attackers to replace your real apps with malware.
The vulnerability was discovered in July 2014. FireEye found that when installing an app using enterprise/ad-hock provisioning, it could replace a genuine app if it had the same bundle identifier. The app could display any title it wanted during installation, ie. “New Flappy Bird”, but once installed it can replace any app except Apple’s default preinstalled ones. This means that it could replace your banking apps or your email app, stealing personal information.
FireEye researchers say they’ve verified the vulnerability on iOS 7.1.1, 7.1.2, 8.0, 8.1 and 8.1.1 beta, for both jailbroken and non-jailbroken devices. The attack works via either wireless networks or USB and has been named “Masque Attack.”
FireEye says it notified Apple of the vulnerability on July 26th. In the meantime, the recently discovered “WireLurker” malware has used a limited for of the Masque Attack to infect iOS devices via USB.
The video below demonstrates how the malicious code can be installed on a user’s iPhone.
An attacker can lure a victim to install an app with a deceiving name crafted by the attacker (like “New Angry Bird”), and the iOS system will use it to replace a legitimate app with the same bundle identifier. While Masque Attack can’t replace Apple’s own built-in apps such as Safari, it can replace apps installed from app store.
Masque Attack has severe security consequences:
iOS users can protect themselves from Masque Attacks by following three steps:
To check whether there are apps already installed through Masque Attacks, FireEye says iOS 7 users can check the enterprise provisioning profiles installed on their iOS devices, which indicate the signing identities of possible malware delivered by Masque Attacks, by checking “Settings” -> “General” -> “Profiles” for “PROVISIONING PROFILES”.
iOS 7 users can report suspicious provisioning profiles to their security department. Deleting a provisioning profile will prevent enterprise signed apps which rely on that specific profile from running. However, iOS 8 devices don’t show provisioning profiles already installed on the devices and FireEye suggests taking extra caution when installing apps.
Apple has yet to address the FireEye report, we’ll keep you posted on developments.