Slashdot Log In
User Mode Linux
Posted by
michael
on Mon Oct 09, 2000 02:52 AM
from the real-or-memorex dept.
from the real-or-memorex dept.
langed writes: "It appears that Jeff Dike has supplied a new implementation of the Linux kernel, whereby it is possible to boot a Linux kernel from the command line. This allows you to test a kernel before installing it, or completely partition users off from the main system. Networking appears to be through a slip connection, AFAIK, but this thing shows serious potential for increasing security and for kernel hacking, among many other nifty uses."
This discussion has been archived.
No new comments can be posted.
User Mode Linux
|
Log In/Create an Account
| Top
| 66 comments
(Spill at 50!) | Index Only
| Search Discussion
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.

Re:Similar to FreeBSD jail() (Score:4)
Re:Some idle thoughts (Score:3)
It enhances a lot of the capabilities you mention, but it's not a panacea. If you ran a batch of them on one machine, they'd be in contention over a number of system resources and would have to block and wait for one another in a way that kernels in the wild do not. I'll bet tests could be developed to detect such a honeypot. Large-scale distributed systems (which would consume some large-scale memory on the single host :) might not behave the same way. For example, the resource locking and blocking might inadvertently clean up race conditions and whatnot.
I'm not saying it wouldn't be a big help in getting closer to solutions of the problems that you suggest, just that it isn't perfect and will present its own set of problems.
this has been around for quite a while... (Score:3)
Re:Get your mainframe!! Mainframes here!! (Score:4)
The ultimate win/lin compatibility already exists! (Score:3)
You can already run Linux on Windows, using VMWare [vmware.com]. I'm running Linux on WinNT4 right now. You can download an eval [vmware.com]. They have a $99 hobbyist price, too.
Also, Cygwin [cygwin.com] provides a good implementation of the GNU tools on Windows, which lets you run GCC and compile and run lots of open source stuff.
Get your mainframe!! Mainframes here!! (Score:3)
Isn't this sort of thing that the S390s do? So couldn't we now start running mad-crazy numbers of VMs on straight up PC hardware? So if I were an ISP, I could give each of my clients their own host, yes?
Fun stuff!
The ultimate win/lin compatibility (Score:3)
Think on it.
Think on it and tremble. . .
Uses (Score:3)
--
Re:this has been around for quite a while... (Score:3)
Actually people have thought about it. No one has coughed up any actual code, though.
Jeff
Some idle thoughts (Score:5)
cygwin port (Score:3)
-josh
Re:Some idle thoughts (Score:3)
Then we release it as a virus.
--
Re:Old news (Score:4)
Security and GPL Considerations Of User Mode Linux (Score:5)
It's actually pretty cool code, and it has some pretty interesting implications as time goes on.
Among other things, it's actually a surprisingly good hack for making IPSec on Linux rather more usable. It's pretty obvious that IPSec code belongs in the kernel(after all, it's built off of IP, which *is* kernel code), but the difficulty and potential instablitity of IPSec, when it's not exactly a critical application for many users, precludes the deployment of the code. User mode Linux, with a stripped down FreeSWAN distribution, could give a much less risky and far simpler method for users and administrators to test and perhaps even deploy simple IPSec endpoints.
IPSec may become only marginally more awkward to experiment with than SSH.
Of course, this would require raw access to the network interface--not something generally given user level processes. That illustrates the #1 caveat of User Mode Linux--if the environment runs as root under the parent kernel, the child kernel doesn't particularly lose those root permissions. Granted, control over the operating environment can be much, much finer grained per virtual OS instantiation. But if that environment is broken, the attacker gains all capabilities of the user parent. When the user parent is root...sure, there's a layer of obfuscation, but that's about it.
Of course, if I was attacking a machine, I wouldn't particularly expect that the machine I had taken over was just a temporarily instantiated OS image.
A more troubling question is how much of "User Mode Linux" can be run entirely independent of root. Even creating a new SLIP device for the virtualized OS requires non-user priviledges, so the best case scenario remains that an attacker, knowing they're behind a false root, attempts to corrupt or attack the parent kernel by feeding bad bytes down the network interface. Luckily, that's generally a pretty untrusted interface--and even better, there's absolutely nothing that says you have to give the client a direct network link(slirp, once again, comes in incredibly useful.)
Interestingly enough, User Mode Linux (as noted on the page) will probably eventually be used to port Linux apps en masse to alternate platforms that implement the Linux System Call APIs. lxrun *does* this on Solaris to some degree; this does mean that sometime down the line, Linux IPSec code may function on a non-free OS.
This really shouldn't be a big deal, with everything GPL and open--but RMS and Becker have made some pretty loud noises about kernel functionality being intrinsically separated from the intent of the GPL. User Mode Linux reduces the entire kernel to Just Another Application, no different than anything else. This is, in a technical sense, a beautiful, fascinating example of encapsulation--one that could never have come about without the openness that the GPL grants.
I'd keep an eye on User Mode Linux if I were you. This is among the most interesting work being done with the OS, period.
Yours Truly,
Dan Kaminsky
DoxPara Research
http://www.doxpara.com