Shattering Windows: is a disaster lurking?
One of the scarier things I've read about in security circles is what are called "shatter attacks." These are software-based attacks that take advantage of a basic architectural flaw in Windows. They utilize flaws in the basic window communications in Windows either for buffer overflows or for privilege escalation.
At a very basic level, GUI events in Windows happen when windows on the screen send messages to each other.(Capital "Windows" means the operating system, small "windows" refers to a window in Windows or any other operating system.) For the most part, windows aren't normally programmed any more by application developers. Windows also sends messages to these windows, for instance telling them to redraw themselves when they have been moved around on the screen.
All windows running in the Windows GUI are peers, which means that at the level of window management they are all equal in Windows' view, and that they can send messages to each other. There's no authentication behind these messages, so there's no way to control who can send messages to whom.
[ Read more ]
- Article: Shatter attacks - more techniques, more detail, more juicy goodness. (29 August 2002)
- Article: Exploiting design flaws in the Win32 API for privilege escalation - Shatter Attacks - How to break Windows (8 August 2002)