Live data from Hacker News

Drawbridge

research.microsoft.com

1–10 of 45 posts

Re: Drawbridge

#3
Seems like Microsoft's response to docker, although I have no idea if it actually is, in terms of precedence. But certainly aimed at the same idea.

Re: Drawbridge

#5
> it consists of a closed set of 45 downcalls with fixed semantics that provide a stateless interface.

If the features 800+ syscalls can be put into 45 syscalls, why not make an operating system that has only 45 syscalls?

Then make the kernel modular.... and we've made a full circle in the OS design :)

Re: Drawbridge

#6
The "picoprocess" here seems very similar to Linux's "seccomp" mechanism for restricting the kernel API surface. Current sandboxing mechanisms on Linux (such as Chrome's various sandboxes) use seccomp to restrict almost all syscalls, and their APIs come from IPC to more privileged processes.

Two notable differences:

On the one hand, seccomp provides much more flexibility about the subset of kernel API offered to the process, rather than just saying "here's 45 syscalls".

On the other hand, Drawbridge claims to run unmodified Windows applications; they may have an efficient mechanism for trapping NT "syscalls" and redirecting them to their "user-mode NT kernel" ntoskrnl.dll. However, this might just mean that they run unmodified applications making Win32 library calls, and the libraries have been modified, in which case programs making NT kernel syscalls would not run unmodified.

I'd really like to see a standard mechanism on Linux, similar to the "personality" mechanism, that augments seccomp with an efficient process for defining a new "syscall" layer. That would make sandboxing much simpler and more efficient.

Re: Drawbridge

#7
post #5

> it consists of a closed set of 45 downcalls with fixed semantics that provide a stateless interface. If the features 800+ syscalls can be put into 45 syscalls, why not make an operating system that has only 45 syscalls? Then make the kernel modular.... and we've made a full circle in the OS design :)

> "why not make an operating system that has only 45 syscalls?"

Because much of Microsoft's licensing revenue is contingent upon continuing to support the edge cases that are inevitably not part of the set of programs that can be dropped into such a sandbox without problems.

Re: Drawbridge

#8
This seems to map more to Chrome's Native Client/PPAPI than to anything like container virtualization: a reduced set of pretend syscalls that actually go to an interop library that talks to the host OS. It's just missing the "static analysis to ensure it only uses those syscalls" step.

Re: Drawbridge

#9
It is important to note how this will shake the current state of the application virtualization market.

There is no docker like solution for Windows. All the big players (VMware, Microsoft, Symantec, etc) do tricks to isolate the applications. The tricks are instrumenting API calls and adding filtering drivers. With these solutions only less than 70% can be virtualized and the process can be really difficult.

Post reply on HN