News for hackers. Stuff that matters.
Re:Microsoft unveils sandbox boundaries for Windows 8/Metro ... by eslaught on Friday May 18, 2012 @07:57PM (#3994650)
"While it is possible to hide or obfuscate calls to APIs that are not included in the SDK, this is still a violation of customer expectations and Store policy."

Wait, does the platform not include a sandbox to make sure this doesn't happen? What "security" can you expect to get out of such a platform?

Re:Microsoft unveils sandbox boundaries for Windows 8/Metro ... by Someone on Saturday May 19, 2012 @01:02AM (#3995139)
The problem likely is that part of the public API is in DLLS that use a private API to talk to the system. For example, public class AddressBook extends AddressBookBase, with 'Base' having a couple of private fields that may come in handy.

Third parties could figure out that private API and call it themselves.

I do not think it is practical to defend the system against thos. Moving that base class into the kernel takes performance and includes its own security risks. Shipping multiple versions of the OS with different layouts or even implementations for such subclasses might help a bit, but also would open the system for bugs that show up on only 1/N of the machines.

Re:Microsoft unveils sandbox boundaries for Windows 8/Metro ... by contextfree on Saturday May 19, 2012 @02:31AM (#3995255)
The sandbox (AppContainer) and the SDK API restrictions are two separate things. Capabilities and isolation are enforced by the AppContainer, not the set of available APIs. AppContainer is actually a general system feature that can be used by desktop apps too to sandbox plugins and such (IE10 uses it in "Enhanced Protected Mode").
Re:Microsoft unveils sandbox boundaries for Windows 8/Metro ... by nemeth on Friday May 18, 2012 @08:41PM (#3994742)
Windows 8 Metro apps can be written in real C++. How could they sandbox a custom C++ app? There's no virtual machine to do it.

http://msdn.microsoft.com/en-us/library/windows/apps/hh46504...

Re:Microsoft unveils sandbox boundaries for Windows 8/Metro ... by barrkel on Friday May 18, 2012 @09:08PM (#3994799)
You don't need a virtual machine to sandbox C++; or rather, there's already a virtual machine in action, in the form of virtual memory and CPU privilege levels. The only way C++ (or any other native language) has to access to the outside its world is through calls to the kernel. Without direct file I/O APIs, options are even more limited (e.g. you can't easily write your own DLL loader).
Re:Microsoft unveils sandbox boundaries for Windows 8/Metro ... by msftguy on Friday May 18, 2012 @10:04PM (#3994890)
OS X/iOS use a 'sandbox' driver that utilizes TrustedBSD MAC infrastructure ( https://developer.apple.com/library/mac/#documentation/Darwi... ). Basically, most system calls can be verified against one or more policy modules, and blocked if non-compliant. Not really possible with Windows and its bajillion of syscalls (1000 in win32k alone afair)
Re:Microsoft unveils sandbox boundaries for Windows 8/Metro ... by krasin on Saturday May 19, 2012 @03:08AM (#3995318)
>How could they sandbox a custom C++ app? There's no virtual machine to do it.

They could use NaCl [1] or develop a similar SFI technology just for Windows.

[1] http://en.wikipedia.org/wiki/Google_Native_Client

Re:Microsoft unveils sandbox boundaries for Windows 8/Metro ... by bringking on Saturday May 19, 2012 @10:04AM (#3995941)
It may be C++ but it is managed C++ that runs on the above the WinRT layer just like C#, and Javascript for metro. It will have the same restrictions as the other languages. It is actually interesting, in fact when you start a metro project at least in beta, you get the WinRT libraries and that's it. A ton of the traditional .NET classes have been moved into the WinRT library or removed all together.
Re:Microsoft unveils sandbox boundaries for Windows 8/Metro ... by mkup on Saturday May 19, 2012 @04:27AM (#3995455)
Virtual machine is not required for sandboxing C++ apps in 21st century.

[1] http://code.google.com/p/nativeclient/

[2] http://www.cl.cam.ac.uk/research/security/capsicum/

Re:Microsoft unveils sandbox boundaries for Windows 8/Metro ... by drivebyacct2 on Friday May 18, 2012 @09:25PM (#3994827)
It's C++/CX. It's not just "real C++".
Re:Microsoft unveils sandbox boundaries for Windows 8/Metro ... by contextfree on Saturday May 19, 2012 @02:52AM (#3995287)
They can be written in ISO C++ (or if you're a masochist, in C) as well, just without some conveniences.
Re:Microsoft unveils sandbox boundaries for Windows 8/Metro ... by riffraff on Friday May 18, 2012 @08:12PM (#3994680)
isn't it the same that happens on iOS ?
Re:Microsoft unveils sandbox boundaries for Windows 8/Metro ... by dpark on Saturday May 19, 2012 @01:32AM (#3995170)
Yes, this is exactly the same (or at least awfully similar). iOS has some APIs that are technically available to 3rd parties, but disallowed by the terms of service. It was news in 2008 when Google Mobile violated the guidelines to access some useful features.

http://daringfireball.net/2008/11/google_mobile_uses_private...

(Disclaimer: I work for Microsoft, though not on Windows.)

Re:Microsoft unveils sandbox boundaries for Windows 8/Metro ... by rbanffy on Friday May 18, 2012 @08:31PM (#3994720)