Native Client: Google's craziest idea yet
weblog.infoworld.com
weblog.infoworld.com
In summary, it is an unreliable article written by someone without a clue.
PS: When you think about it VMware is one of the few operating systems that has real working security, but I wonder how much else an OS can do while still providing that level of safety and efficiency.
For example, suppose you want an application that deletes any files on your hard ending with tmp. I offer it for download, you get it, run it, like it. Now (just because I can) I change the application (without telling you) to delete all files ending with doc. You've been compromised.
People have been researching other security models for decades now. I'm afraid I have to say: they're way ahead of you!
That doesn't necessarily mean the author of the utility programs has to be able to send updates without your approval, or that they need to be able to receive communications from their utility program, or that you can't delegate your approval of application updates to a third party who vets the code, or that the utilities can't be small and clear enough that you don't have any doubt about what they're doing, or that all programs need to have full access to your files, or that you can't store your files somewhere where you can roll back undesired deletions.
The only reason you'd want to run such a utility would be to clean out the .tmp files within a particular sandbox. In that case, you'd give permission for it to operate on the whole of that particular sandbox's contents. Worst case, it trashes that sandbox, then you roll back to your previous backup.
They were supposed to have a sandboxing scheme along these lines in the OLPC.
If your files belong to your applications instead of to you, or if your sandboxes don't nest, then your sandboxing scheme is pretty lame.
Most of the time there are worse cases than just deleting your documents: the utility could send all of your documents to its owner over the internet. You can prevent this with sandboxing policies too; KeyKOS solved an analogous problem in the context of a multiuser non-networked mainframe. More difficult is to keep it from inserting backdoors into your programs or subtly corrupting your files.
I don't see how the solution "then you roll back to your previous backup" is dependent upon only the utility only having access to a single sandbox. It seems like it works just as well if you give it access to everything except your basic UI (and the TCB it depends on, e.g. the kernel, the bootloader) and your backups.
I just didn't want to explain capabilities for the nth time, so I thought I'd throw the OLPC at him. Even a sandboxing scheme like the OLPC's addresses his objections. Not sure if it was supposed to nest.
I was arguing that the other guy was right that sandboxing in itself is not sufficient; you still do need to have a way to deal with code that you give the full run of your system, even if you keep the amount of that code to a minimum.
I don't mind a program flagging them as unimportant but if I have enough space to restore any file deleted in the last month what's the problem? Toss in a wizard to restore things to before I installed that program and it becomes harder to damage the system. Heck, add a pop up if the OS wants to destroy a file that was marked as unimportant in the last month and it's going to become hard to damage the system like that. You can even treat updates like deletes where the OS protects the old state for a week / month / year.
(1) VMWare has had plenty of security problems, ranging from guest-hopping attacks to remote code execution.
(2) If VMWare is more resilient than Win2k3 or Linux, it's because VMWare does less and has less of an attack surface.
(3) In any realistic compute environment, VMWare adds security concerns; it doesn't subtract them. That's because you still care about the security of your guest OS, even when it's running underneath VMWare, because that's where your actual data lives.
PS: Most OS already try and split USER data from installation data just limit updates to installation files to installers which are carefully managed. Changing the windows uninstaller from independent applications to a branching tree would not be hard for most people to understand.
It shares some of the features of other versioned filesystems, but with other nice additions. I know I'm planning on trying Opensolaris or Nexenta sometime soon.
Users don't give a shit. I've seen tons of support emails confirming this. They will continue to download and launch viruses just because their friend who sent them an infectious link thought that sheep jumping from under your windows look funny. And they will disable any software jail that stands between them and the sheep or the singing cat photos.
Most security-minded consumer software only makes everything else work worse, slower and annoy the hell out of people. It saddens me enormously that everything but port #80 on the Internet is blocked, everything except HTTP is banned and most users of my application will be threatened and screamed at by their own computer simply for trying out what I'd built.
This security hysteria not only doesn't work, but it chokes the innovation, restricting us to sit forever in this little crippled world of Mozilla/IE/WebKit runtime with 90% of what a computer can do unavailable to us.
JVM has been around for nearly 15 years, being many times more powerful than Mozilla and WebKit's wildest dreams, yet it has failed outside of data centers because it never allowed OSX programmers to write true OSX programs or Windows programmers to write true Windows programs, and I see no reason why browser-based "boxes" will be different. And you need true OSX programs if you want the consumer market. For the enterprise - yes, they eat anything, users of enterprise software get paid to use that shit, but if you want software markets to strive, if you want people to open up their wallets, you'd have to do a lot better than that. Otherwise we'll be locked forever in this eyeball market of free crap supported by canadian pharmacy advertising.
Users want the systems that "just work", so adding something as simple as an OS level uninstall that always worked would be a major boon that people would notice. Is it really that hard to build an OS that protects it's self from unintended harm? Plenty of people buy Ant Virus software for a wide range of reasons but it helps is enough to make the developer a lot of (Edit: Money).
PS: I am suggesting that VMware, Java and all the others don't own the market at this point. It's much like search before Google where it almost works, but nobody seems to be focusing on the real problems.
Most security software is not packaged and marketed in a way that is really attractive and useful for end users. From what I've seen, it's usually good for the nerds, but a bit of an obscure PITA for the average Jane/Joe. Contrast this to OS X's incidental low virus rate through obscurity. Now that was packaged and marketed very well to end users, and I'd wager that quite a few users paid a pretty penny for it. Technologically, there was hardly any substance there.
The technology is already out there. Whoever manages to package it for end-users is going to cash in big time. (Witness Dropbox. The ability to diff a directory and create a recoverable log of the changes has been around forever. They're just succeeding at marketing it to end users.)
http://kerneltrap.org/OpenBSD/Virtualization_Security
On a side note, Google has tried to hire Theo de Raadt. Perhaps they wanted him to work on this project.
They do sell a "bare-metal" VMWare, based on Red Hat Linux for what I know.
Sorry for the self-promotion, but I'd love to talk more with any of you about how our product is hitting or missing on these points. I'm at pat -at- baseshield.com if you want to email.
Thanks!
There's some more information on the security system here: http://wiki.laptop.org/go/Bitfrost
Maybe it's just that quake is a bad example use of this technology.
A similar Web site, using Native Client, could roll out higher quality games (like Quake) and charge higher prices for access.
...as opposed to... magic?
(and yes, I understand what he means, I just found it amusing)
haha
Or are you referring to only the last 3 words? Intel's ARM chips?