The problem is in the X Window System architecture. X is the GUI terminal architecture for just about all UNIX and UNIX-like systems, including Linux. If you want some background on what it is and how it works, see the excellent Wikipedia article on it.

Rutkowska notes that X was designed a long time ago (Wikipedia says that "X originated at MIT in 1984") "...by some happy hippies who just thought all the people apps are good and non-malicious." Accordingly, and by design, it allows any GUI app to control any other GUI app. The "hippie" crack is perhaps unnecessary, but it's true that it was designed in a totally different era to solve a different set of problems than we have today. Thus the problem is less in the original design than in the failure of the *NIX community to adapt it over the years to new threat models.

Why is Rutkowska picking on Linux? It's partly because she's got an alternative that she and her company, Invisible Things Lab, are developing to address this and other security problems: Qubes OS. Qubes (to quote) is "...an open source operating system designed to provide strong security for desktop computing. Qubes is based on Xen, X Window System, and Linux, and can run most Linux applications and utilize most of the Linux drivers. In the future it might also run Windows apps"

Qubes uses hardware-assisted virtualization to isolate sessions. With respect to X, each user/session (apparently an "AppVM" in Qubes) has its own isolated dummy X server. The real X server, the one that handles the display, is isolated in yet another AppVM.

And hey, what do you know! Qubes Beta 1 was just released a couple weeks ago.