Apple's App Store can be stocked with malware-infected apps by exploiting a bug in iOS, a noted security researcher said Monday.
Charlie Miller, a principal research consultant for Denver-based security consultant Accuvant - and the only four-time winner at the annual Pwn2Own hacking contest - used an unknown flaw in Apple's mobile operating system to create an app that "phoned home" to his own server.
Miller built a fake stock ticker app, dubbed "Instastock," as a proof-of-concept, then submitted it to Apple, who approved and placed it in the App Store in September.
Instastock exploited the bug Miller discovered to ping a server at his home and request to download another file. While Miller did not stock his server with such a file - except briefly for demonstration and testing purposes - it proved the app could secretly download rogue code. Such "malware" could conceivably issue commands to an iPhone or iPad, stealing contacts and photos, turning on the device's camera or microphone, or sending text messages.
"The bug I found lets programs signed by Apple download more code," said Miller in an interview Monday.
Until now, it was assumed that Apple's code signing protected users from dangerous apps being distributed through the App Store.
Tricking iOS into thinking an app was Safari
Essentially, Miller tricked iOS into thinking that his app was Safari, and thus exempt from the code-signing restriction.
"They left out one little thing," said Miller of the end-around he discovered. "A cleverly-written app can pretend it's mobile Safari."
All versions of iOS since 4.3, including the new iOS 5, contain the bug, said Miller.
Miller's find puts iOS - at least until Apple patches the bug - in the same boat as Google's Android, which has been plagued by malware-infected apps this year, including some snuck into the official Android Market.
Last year, Jon Oberheide, co-founder and CTO of Duo Security, a developer of two-factor authentication software, built a bogus app that could control Android devices, then added it to Google's download center. Since then, Oberheide has discovered other vulnerabilities that let him force Android phones to download and install malicious software.
"This vulnerability makes iOS just like Android is by default," said Miller of the Apple flaw and App Store security.
Apple wasn't amused.
Shortly after his interview with Computerworld, Miller received an email from Apple tossing him out of the developer program.
Chucked out of the app developer program
"OMG, Apple just kicked me out of the iOS Developer program," Miller said late Monday on Twitter. "That's so rude!"
Later, Miller added that Apple banned him from its iOS developer program for a full year.
Miller, who said he notified Apple of the bug three weeks, ago, but not that he had planted an app in the App Store, defended his research. "For the record, without a real app in the App Store, people would say Apple wouldn't approve an app that took advantage of this flaw," he said yesterday.
Apple yanked Instastock from the App Store Monday after Miller disclosed his findings.
Ironically, Miller was one of a handful of security researchers who were offered an early look at Mac OS X 10.7, aka Lion, by Apple earlier this year. At the time, Apple asked those researchers for security-related feedback on the under-construction operating system.
Miller will unveil details of his research at the Syscan security conference in Taipei, Taiwan next week, and repeat the performance at the Miami Beach, Florida-based Infiltrate conference in mid-January 2012.
Although Apple regularly declines to comment on when it plans to patch a specific vulnerability, Miller expects the company will fix the flaw before the 17 November kick-off of Syscan.
"I'll be talking even if they haven't fixed it by then," said Miller, "but presumably they will have it fixed. Usually, they fix [vulnerabilities I report] before I present, or immediately after when they realize it's as serious as I said it was."