Apple finally flips switch on HTTPS by default in App Store
Left mobile devices open to man-in-the-middle attacks for MONTHS
Apple has finally enabled secure App Store logins for mobile users, months after the issue was first reported to the consumer electronics giant.
Google researcher Elie Bursztein noticed that Apple's App Store protocols weren't secure back in July 2012, when he reported the issue to Cupertino. The App Store iOS app was running certain web resources and logins over plain http, leaving users vulnerable to eavesdropping or, worse, man-in-the-middle attacks, particularly if they accessed the site from Wi-Fi hotspots or similar insecure locations.
Late last month, Apple finally issued a fix and turned on HTTPS-by-default for the App Store as part of a raft of server-side security improvements and performance tweaks. Buried in the list of 50-odd improvements was a note regarding improved security at itunes.apple.com.
Active content is now served over HTTPS by default. We would like to acknowledge Bernhard 'Bruhns' Brehm of Recurity Labs, Elie Bursztein of Google, and Rahul Iyer of Bejoi LLC for reporting this issue.
In a blog post, Bursztein welcomed the move as a big help in blocking all manner of potential attacks including pushing fake updates, app substitution (forcing a user to install/buy the attacker’s app of choice instead of the one the user intended to install/buy), tricking a user into handing over passwords by pushing a fake prompt or snooping on the applications listed on a tablet or smartphone running iOS.
Bursztein posted video and code examples to underline his concern about the potential of attacks based on these scenarios, which Apple has belatedly thwarted by switching to HTTPS. He called on other developers to follow Apple's example, if they hadn't done so already.
"I decided to render those attacks public in the hope that it will lead more developers (in particular mobile ones) to enable HTTPS," Bursztein explains. "Enabling HTTPS and ensuring certificates validity is the most important thing you can do to secure your app communication," he adds.
HTTPS carries internet traffic inside a Secure Sockets Layer (SSL) or Transaction Layer Security (TLS) wrapper. Up until recently, many sites applied a hybrid model so that passwords, credit card numbers and other Personally Identifiable Information (PII) was pushed over a secure channel while everything else was run over plain old HTTP. This had advantages when it came to serving cached content, in particular.
But the release of the Firesheep Firefox plugin by security researcher Eric Butler - an extension that demonstrates HTTP session hijacking attacks - stirred things up because it meant even the technically unskilled could easily snatch a session cookie.
The token embedded into posted login requests that are run over HTTP tells Facebook, Twitter and others that you're an authorised user. Miscreants only need to intercept this session cookie to gain the ability to impersonate victims on Twitter or Facebook until users log out. Actual interception of logins (which were run over a secure link) isn't even necessary.
In response, Facebook, Twitter and others switched to HTTPS for everything, blocking Firesheep and similar attacks in the process. Google introduced web search over HTTPS for privacy reasons, in response to the same risk.
Apple didn't bother with HTTPS everywhere, even for its own App Store, until late February 2013. The security improvement covers active content and effectively deals with the problem without going the whole hog and applying HTTPS everywhere.
A good run-down of why HTTPS-for-everything is a good idea, even though it can mean managing extra crypto keys and related hassles, can be found in a blog post by Paul Ducklin, Sophos's head of technology for Asia Pacific. ®