Apple's new iOS 8 openness brings new security threats

More openness in Apple's mobile operating system is great for developers — and an enticement for hackers. Is Apple ready to face its new security challenge?
Written by Stilgherrian , Contributor

Apple's biggest announcement today was, without a doubt, iOS 8's new openness. As the company's press release says, it's their biggest developer release ever, with more than 4000 new application programming interface (API) calls.

"iOS 8 allows developers to further customise the user experience with major extensibility features like Notification Center widgets and third-party keyboards; and introduces robust frameworks such as HealthKit [for health and fitness apps to communicate with each other] and HomeKit [for home automation]," Apple writes.

"Developers can now add their own widgets into Notification Center," which might then be viewed or even dismissed on the lock screen. And with HomeKit, for example, "you can tell Siri you are 'going to bed' and it could dim the lights, lock your doors, close the garage door and set the thermostat."

This will certainly open up new opportunities for app developers, especially for developers working on the Internet of Things (IoT).

CNET: WWDC 2014 full coverage

"In many ways, this is the API we've been waiting for. Google should have gotten to this first [in Android]. But perhaps that won't matter," tweeted Mark Pesce, founder of MooresCloud and developer of the award-winning Holiday intelligent party lights.


By opening up inter-app communications in iOS, including communication with apps that control external network devices, and by providing more ways for the user to interact on the lock screen — that is, when the iDevice is still meant to be locked — Apple is massively increasing what information security practitioners call the attack surface.

There's more potential pathways for an attacker to get into where they shouldn't be, in other words, and that means more testing to make sure that the bigger attack surface is being properly defended.

Apple's challenge will be compounded by two further factors. One: the inevitable evolutionary explosion as suddenly-inspired app developers rush to take advantage of the new iOS features. Not all of them will be good at programming securely. Two: the increase in personal data that will be captured by new home and medical devices will make iOS devices an ever more attractive target.

Apple's analytical capacity will be hit with a load spike at exactly the same time as there's more volume and more complexity to analyse.

Now one mitigating factor to all this is Apple's new programming language Swift, also announced today. "Apple has designed Swift to do away with entire classes of unsafe code. Variables are always initialised before use, arrays and integers are checked for overflow, and memory is managed automatically," Adrian Kingsley-Hughes reported.

Swift is an excellent move, assuming it works as advertised, but it's not compulsory. There will be plenty of less-secure Objective-C code running on iDevices well into the future, at least until Apple decides to kill off that language. Don't hold your breath.

No, in the shorter term we'll see this newer, more open iOS become the target of more attacks.

So the question then becomes one of whether Apple has rid itself of the problems that led to its hilarious little "goto fail" security oopsie earlier this year.

"Apple's goto fail is a clear sign that the magic garden needs weeding — or even a good dose of Agent Orange, rather than endless Kool-Aid," I wrote in February, suggesting that Apple needed a massive culture change when it came to security. I was not alone.

Far from it.

"But the first step in fixing a problem is admitting that it exists, and Apple has yet to do that," I wrote.

Has Apple changed since then? I hope so. Because if not, the company's state-of-denial "We don't discuss security" policy will result in piles of steaming oopsies spattered all over their pretty walled garden. And that won't be pretty.

Editorial standards