I think MAC (Mandatory Access Control) applied to a desktop environment, picking a better language than C and actually thinking about stuff is more than sufficient to get around the existing problems...
Virtualization is just another pile of complexity and performance problems to deal with. It's not a magic bullet. Consider the following as well:
http://www.c0t0d0s0.org/archives/3651-Theo-de-Raadt-about-vi...
I really don't want this solution.
I'm sick of the lack of control over my data I have on android (not to mention iOS).
Nice video here: http://www.youtube.com/watch?v=pzviQLCPCG4
An application can read the unique ID of the device (which is used for session persistence between service calls) but not access any other information unless allowed to.
Effectively there is no way for it to steal all the data in that list unless you physically tell it that it's ok to do it.
It's the mobile platform that scares the shit out of me the least. They did good here.