I just read this post on the Windows 8 blog about improvements being made to security and reliability in Windows 8 apps. The most interesting part of the article urges developers to ‘stick to the API’ referenced here.
From Steven’s description, it looks like apps that are purchased from the Windows store will use contracts to verify their authenticity and interact with the operating system, much like WCF clients use contracts to interact with their endpoints. Apps will also have to request user permissions to use certain aspects of the user’s device such as location based services, removable storage and media libraries.
Although I see this as a positive step from the user’s perspective, I can’t help feeling that since this is only a plea to developers, the inquisitive bunch will find ways around this security restriction, therefore undermining the integrity of Windows 8. How can Microsoft make sure that no hidden API calls exist within applications or that apps aren’t doing things they aren’t meant to be? In other words, I wonder how effective is the ecosystem actually is when implemented outwith the Windows Store?
I guess this is where the multiple edition strategy kicks in. Windows RT edition (designed for tablets) will be completely locked down to prevent third party apps being installed, similar to Apple’s App Store ecosystem which serves up apps to iOS devices. The X86 version will not.
In short, I can see this being more of a risk to the x86 version of Windows 8 since it’s going to be virtually impossible to scan all apps for every possible security issue.