A researcher has discovered that the OS X Gatekeeper setting to restrict app launching only to those cryptographically signed by Apple or to both Apple and third-party developers has a flaw: A signed app can access other software or components that have been replaced with malware without a separate verification stage.
“Gatekeeper only verifies that first application,” says Patrick Wardle, the director of research at enterprise research firm Synack. That means a malicious party can swap out a dynamic software library, a command-line executable (such as a script), or another app with a same-named version. In his testing, Wardle found that a signed Photoshop installer would load plug-ins from another directory that were changed out for malware without any further notification. He also tested with an Apple-distributed program that he declined to disclose at Apple’s request.
This modified Trojan Horse software still needs to be downloaded or copied, and then launched by the user. “This is merely a Gatekeeper bypass,” Wardle notes, although there are many ways in which less-sophisticated users are fooled into running software with uncertain origins. Many free and trial software can be found at download sites, and are repackaged with adware and other unreliable software.
But Wardell also notes that because this affects third-party signed apps, malware could be intercepted over unencrypted downloads by anyone who could insert themselves into a network connection. This could include criminals and governments.
He tested downloads from major OS X security software vendors earlier this year, and noted that none used secure SSL/TLS connections for the download, but are relying on Gatekeeper to warn users if a package were tampered with. “Users are downloading legitimate software, and I’d say a decent percent is still being distributed over HTTP,” Wardle says.
Wardle informed Apple more than 60 days ago, and an Apple spokesperson confirmed to Macworld that the company is working on a fix. Wardle will be presenting his research at a security conference in Prague on October 1. Apple notes that the XProtect malware signature database that it can push directly to Macs can be used in the interim if any modified packages are found in the wild.
Apple’s Gatekeeper feature can be found by going to System Preferences > Security & Privacy and clicking the General tab—but it isn’t labeled there as such. The option picked from Allow Apps Downloaded From enables different Gatekeeper modes. Choosing Mac App Store restricts new downloaded or copied apps from launching that aren’t signed by Apple’s digital certificate—picking Mac App Store and Identified Developers extends that to apps built by registered users of Apple’s developer program who have an active certificate used to sign an apps.
Wardle expresses concerns that such low-hanging fruit remained available, and is pushing Apple to make more comprehensive changes, as this is the second Gatekeeper bypass he’s discovered this year. “I’m just a random surfer dude who lives in Hawaii,” he says. “It worries me that Macs are not as hard a target as I’d like.”