The Wayland Compositor will be available to Ubuntu users via PPA. Though it’s not ready for stable release users will be able to install and test it out and track the progress.

Moving from X to Wayland yields various benefits and pitfalls and they’re not really within the scope of this blogs focus. Essentially they work with Compiz and have to do with your Graphic User Interface.

What’s more interesting about the move to Wayland is the separation of global hotkeys.

X Keylogging is pretty simple. It’s easy to demonstrate too. In the terminal (no root required):

xinput list

Now find the ID for your keyboard (11 for me).

xinput test 11

Now begin typing. You’ll quickly see your keys are appearing in the terminal. No matter where you type (sudo, gksudo, for some scary examples) your input will be logged. And without root.

This is because hotkeys for a single X service are global – any application can register hotkeys. An exploited process can both send and intercept all input if it’s running within the same X service.

Wayland separates hotkeys. They aren’t globally registered so one programs hotkeys should be isolated from the next. That’s how I’ve understood it at least but I haven’t read much – I can’t really find a ton out there. If anyone has more information on this leave it in a comment – thanks.

This vulnerability in X is fairly major and it’s been known and demonstrated for ages. Yet there’s no fix or any plans to fix this. It’s a bit ridiculous. With a compromised Pidgin process (for example) I can read any input to any other windows. If a user opens up truecrypt I get the input for their root password to GKsudo. I also get their Truecrypt password.

If they open up a terminal I can sniff their root password. From that point I can actually send the terminal my own input, from Pidgin, allowing me to do just about anything.

This issue doesn’t get enough attention.



blog comments powered by Disqus

Published

21 September 2012

Categories

Tags