Slashdot Mirror


Moblin Will Run X Server As Logged-In User, Not Root

nerdyH writes "An architect of the Moblin Project has announced that Moblin 2.0 for netbooks and nettops is the first Linux distribution to run the X server as the logged-in user, rather than SUID'd to root. The fix to this decades-old security liability comes thanks to 'NRX' (No-root X) technology reportedly developed by Intel, Red Hat, and others in the X community, and the Moblin-sponsored 'Secure X' project. Besides making Linux netbooks a lot more snoop-proof, it seems like this could lead to an X-hosting renaissance of sorts, since you wouldn't be risking the whole system just to open up a specific user's account to remote X servers."

17 of 205 comments (clear)

  1. Confused article. by Timothy+Brownawell · · Score: 5, Insightful

    Linux's SUID X server problem has been kind of a "dirty little secret" for many years. Most modern distributions include a few crude workarounds, such as dimming the display and then freezing X whenever the user is asked to type in a root password. Getting rid of the SUID bit altogether ought to make netbooks powered by Moblin technology much more difficult to snoop on over the network.

    This does not make sense. Graphical sudo wrappers have nothing to do with X being suid, and neither does anything to do with network traffic.

    It seems likely that with NRX technology, you could run X apps over a network with much less risk to the app server (the system that runs the "X client" component, in the backwards terminology of X).

    This is actually backwards, the only place there's less risk is for the system that the X server is running on.

  2. X Hosting? by Microlith · · Score: 4, Informative

    I'm not sure I grasp the concept of X Hosting, and how this non-SUID server would help that.

    X is not required to be running on the remote system for X11 forwarding over SSH. Even running an Xvnc server doesn't require it to be SUID. This seems to be entirely a local security gain for users who will be interacting with local graphics hardware.

  3. Re:One of the shortcommings in security by Freetardo+Jones · · Score: 5, Informative

    I don't know how they've done it, but I know this is a good thing.

    They've done it by removing the responsibility of X talking directly to the graphics hardware by implementing Kernel Mode Switching for graphics drivers (among other much needed overhauls to the Linux graphics stack). Thus X can now access what it needs at the logged-in users' level and doesn't need root.

  4. Poor understanding of X by Anonymous Coward · · Score: 5, Informative

    The article repeats the common misunderstanding: "in the backwards terminology of X"

    What exactly is backwards about this? X is the server, and the apps are clients.

    Think about it: The client initiates the conversation with the server. The client tells the server what to do.

    How is this backwards?

    1. Re:Poor understanding of X by Nutria · · Score: 4, Informative

      How is this backwards?

      It's only backwards in human thought, because people have the ingrained presupposition that the server is the Big Machine In Another Room, and the client is the Little Machine On Your Desk.

      --
      "I don't know, therefore Aliens" Wafflebox1
  5. Re:One of the shortcommings in security by Timothy+Brownawell · · Score: 4, Informative

    Just got fixed by this. To be honest, I don't know how they've done it, but I know this is a good thing. This will make X and linux more secure and I can only applaud that.

    I think what is basically boils down to, is that instead of X talking to the hardware directly it now talks to a file under /dev/ just like everything else.

  6. Re:frost nixon by msuarezalvarez · · Score: 4, Insightful

    It doesn't?

  7. Re:IMHO by jmorris42 · · Score: 5, Informative

    > Can someone spare me reading the article and let me know if DRI is still possible without root?

    Yup, this whole thing rests on the new kernel modesetting. That was the last thing that required root to be able to directly frob bits on the video card. DRI also goes into the kernel as it should. The kernel is supposed to own all of the hardware and expose safe APIs for user apps to access it. For historical reasons video has been the exception to that rule. No longer.

    --
    Democrat delenda est
  8. Graphics drivers by Chemisor · · Score: 5, Insightful

    If graphics drivers were implemented in the kernel instead of the X server, this problem wouldn't have existed in the first place.

    1. Re:Graphics drivers by TheRaven64 · · Score: 4, Insightful

      KGI was a massively-complicated API which failed to actually expose the useful features of the hardware, while KMS allows the same userspace device drivers (with a small amount of kernel-mode validation, for example of DMA requests) that X11 already uses but removes the need for X11 to be run as root and makes virtual terminals and power saving play nicely with X11.

      --
      I am TheRaven on Soylent News
  9. Re:Correct me if im wrong by metamatic · · Score: 4, Informative

    The X server is the program on the local machine that displays the pixels.

    The program you run on some other system via the net is the client, even if the thing it's running on is called a server.

    The X server traditionally runs as root. You are likely unaware of this because it's started automatically as part of the init process.

    The X server running as root is independent of whether the X client is running as root.

    --
    GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
  10. Is this right ? by bytesex · · Score: 4, Interesting

    I am not sure that this is the right solution. Not running it as root is good, but running it as me - I don't know. I'd rather that the user that runneth the X server is some sort of 'xserver' user - to whose process I connect. That 'xserver' user then has the right to push my screen into VGA mode and all that. Also, this doesn't fix all those other services (that gnome has, for example) that allow my X programs to mount stuff etc. Which is, again, a security risk by itself.

    --
    Religion is what happens when nature strikes and groupthink goes wrong.
  11. Have you used Moblin? by SlickSlacker · · Score: 5, Informative

    I just loaded it on my Eee PC and it turns the machine into a kiosk. Very unappealing for anyone who actually wants to use their netbook. Its very flashy and friendly if all you do is check your email and browse the web though.

    --
    Mr. Green
    1. Re:Have you used Moblin? by Freetardo+Jones · · Score: 4, Insightful

      Its very flashy and friendly if all you do is check your email and browse the web though.

      Almost like that was the entire point of the distro in the first place!

  12. Re:IMHO by jmorris42 · · Score: 4, Informative

    > Sounds like Windows NT 3.5, wonder if it will get moved back into kernel
    > space for performance reasons just like NT4 moved video back into kernel space.

    Not the same thing. The video hardware belongs in the kernel in exactly the same way as sound, mass storage and the keyboard/mouse do. *NIX and Windows are now alike in that and it is good.

    What Windows did was bring most of the next layer up the chain into kernel space. This would be more like putting the whole X server and bits of GTK and/or Qt into the kernel, not just running it as root. Yes it improved performance some, but the security implications are horrific.

    --
    Democrat delenda est
  13. Re:frost nixon by Zero__Kelvin · · Score: 4, Insightful

    No, it doesn't. It runs most everything as the "Administrator" user, which is a lot like a root account, but without even the level of security that logging into Linux/Unix as root provides ;-)

    --
    Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
  14. Re:Remote X servers? by TerranFury · · Score: 4, Insightful

    The problem is that we use the words "client" and "server" to refer both to the programs and to the machines they run on. Usually server machines run server programs, but not always (and consider true P2P stuff where programs are both clients and servers). Maybe we need to throw out all the words and replace them with alternatives like "listener" and "caller" for the programs and... "big machine" and "little machine" for the computers? :-)