MS Message Security Flaw Explained 48
Geoff Shively writes "Canadian security researcher Oliver Lavery published a fantastic paper on Win32 Message Vulnerabilities. The paper touches on a the Shatter problem that received much attention almost 1 year ago regarding the fundamental flaws in the Win32 API. Oliver's research demonstrates that the Shatter vulnerability is still very much in existence and quite a threat. Vendors need to wake up and work towards fixing this problem in their applications."
Venders problem? (Score:3, Insightful)
Reminds me of a CS class I once had, the lecture (admittedly a unix advocate) was explaining a problem with software deadlines. ie release now (for market reasons) and fix problem later:
-MS build next version of Windows and Office at same time, so that they can release together.
-Office is tested on beta versions of windows, which obviously has bugs, the Office peeps work around the bugs.
-mean while the windows peeps fix the bugs
-near release office found not to work right because it is trying to work around bugs which aren't there. (Why they let an Office app play voodoo with the OS is up to you to decide)
-need to release on time, so put bugs back in windows problem sorted.
It will be difficult for MS to fix the message system w/o breaking old apps.
Re:Venders problem? (Score:2, Informative)
I agree absolutely. Letting any app call any function as described in the paper isn't a smart idea (I assume it predates multiple users in windows, but still...).
However Microsoft's advice is sound. Having setuid apps is always hairy - anyone remember Apple's moment of shame [securemac.com]? There's a little bit of guilt on the vendor side, too.
Re:Venders problem? (Score:4, Interesting)
Re:Venders problem? (Score:1)
Shatter (Score:2)
Anyone know if this has been successfully used in the "wild"? Is Microsoft even taking this seriously?
Enquiring mind wants to know.
SB
Flawed from the beginning (Score:2)
Re:Flawed from the beginning (Score:3, Insightful)
Re:Flawed from the beginning (Score:2)
Limiting scope of messaging? (Score:2)
Allowing "ad hoc" messaging between programs is one of the best methods for allowing users to customize interactions between seperate applications. This was applied with great success using ARexx on the Amiga, and some using OSA/Applescript on Mac OS.
So I do not believe it would be a good general solution to limit messaging to those paths pre-envisioned by the vendors themselves. Letting the reciever know what authority context the sender was operating in would be a better approach.
Re:Limiting scope of messaging? (Score:3, Insightful)
Since vendors don't place a high enough priority on security, it seems like someone is going to have to take care of it for them. If a program wants to accept messages other programs it should declare so explicitly.
Otherwise, what's to prevent a trojan from using QuickBooks to find out you
A trusted Apps (Score:2)
Re:Flawed from the beginning (Score:2)
The strength of open source
Here we go again (Score:1, Offtopic)
Leave it to Slashdot to try and wring every last drop of blood from anything that even remotely smells like a "vulnerability", right up there with JavaScript that changes my wallpaper at the behest of evil Romanian hackers - I've always wondered why all those Unix/Linux exploits I see in Bugtraq and SecurityFocus and RedHat advisories don't get so much publicity.
Re:Here we go again (Score:2)
Re:Here we go again (Score:1)
Interestingly, the .NET framework... (Score:1)
How will "old" style WIN32 message passing be affected by .NET managed code respective to this security hole?
question? (Score:2)
If anything, we should be pointing out flaws in FS/OSS software so that we can make that better.
Re:question? (Score:2)
Microsoft?
You don't understand. (Score:1)
You don't understand. Here on Slashdot we all understand those issues and we all know that we shouldn't use any software written by Microsoft. But that's not the point. Unfortunately Slashdot is not the whole world. There are people who use this software and they would have no idea about those flaws if we didn't talk about them. We cannot ignore people just because they are uneducated or incompetent, because they
or perhaps... (Score:3, Insightful)
However, pointing out flaws in MS software only helps MS. Very few people will change from MS to anything else, no matter how many flaws there are on it. It came with their computer, and they are of course too stupid (or so they think) to do anything else without borking their computer. So, by act of god, they're stuck with MS.
And, of course, MS can take any criticism of its software and use that t
You completely fail to understand it. (Score:1)
An "opponent"? Well, I don't actually know you, you are apparently a CEO of Apple, I don't know, if Microsoft is your "opponent." This, or you are one of those "leat" Linux cheerleaders I've been hearing so much about. No, Microsoft is not an "opponent" for free software movement. In fact, look at where Microsoft was bac
get real (Score:2)
But that's not -- ever -- going to happen. So, since MS will never release FS/OSS, they are the enemy, and always will be.
I'm glad to see other discussion of this. (Score:5, Informative)
I had a section on the shatter attack and the messaging vulnerabilities in my paper, Windows XP Shows the Direction Microsoft is Going [hevanet.com], but I got so much hostile feedback on message boards from people who said it did not exist, or it was not the fault of Windows, that I took the section out.
The shatter attack is a local attack only, that allows a logged-on user to elevate to administrator. Microsoft has recently (July 9, 2003) documented one messaging exploit: Flaw in Windows Message Handling through Utility Manager Could Enable Privilege Elevation (822679) [microsoft.com]. But what does Microsoft know, right?
Apparently only two or three exploits of Windows messaging have been published. However, it seems reasonable that there are others.
The whole question gets some people very upset. They say that it is the fault of whoever wrote a vulnerable application. But look at what's in Windows memory at any one time. There is a huge amount of stuff written by numerous people. It seems to me that it doesn't matter to the user how the vulnerability got there, a vulnerability is a vulnerability. If you use Windows, you are trusting numerous programmers to know how to pass messages because there is no authentication system.
Consider this post by Uller-RM [slashdot.org]. He says, "... he [the attacker] adjusts the size of a textbox using an outside program to 4GB. (Windows unfortunately allows this, since the message format doesn't include a "sender" field to check against the owner handle.)".
Yes, it is unfortunate. And fixing it requires a rewrite of Windows that breaks all present applications. Am I wrong about any of this?
I'm not saying I understand everything about this, but I don't have time to investigate it further. I have to go back to writing a letter to a customer.
Prevention (Score:1)
One possibility... (Score:2)
Re:Prevention (Score:2)
Maybe the real issue is that 'privileged apps' should not have a gui! Take a look at how Mac-OS X handles the same concepts. The gui can not run as root, it can only execute another specific program as root if the appropriate authentication is passed.
--jeff++
Re:I'm glad to see other discussion of this. (Score:1, Insightful)
Every application within a user's space has always been fully accessible to everything else in that space. This concept exists nearly everywhere in the common computing world. Think about it: what does a debugger do? Where can you use it?
The only security issue here is when application designers don't think ab
Re:I'm glad to see other discussion of this. (Score:1, Insightful)
Message space filtering. By default, configure messages such as edit box length settings to be private to the application, and filter them when sourced from external threads.
What do you think? (Score:2)
This seems very sensible. I was thinking in broader, and maybe not completely technically accurate, terms. I was thinking of message space filtering as a kind of automatic authentication. This would not break existing applications.
It has been claimed that it is possible to use the shatter attack against a clean install of Windows XP. It has been claimed that system processes are vulnerable to this attack. What do you think?
Re:What do you think? (Score:1, Interesting)
NT does have a very nice security model for nearly all kernel objects, and it extends to things like process handles (IDs, interfaces). I don't believe it currently extends to the messaging framework, but it probably could be without too much difficulty. That would allow processes to easil
Re:I'm glad to see other discussion of this. (Score:1)
IMHO, a GUI should only give a program a window. Why should a program be able to mess with other programs that are running, or to read my screen? It should have its window, and that's it. For example, if Windows required you to confirm that you allow a program to read your screen or get a process list, then things like BackOrifice would become considerably more difficult.
I would like some security inside the OS. (Score:2)
That seems right to me. However, in the real world can I expect all programmers to realize this and comply? If I could get it, I would like some security inside the OS.
How do Linux and BSD deal with this issue? Is there any way to achieve privilege escalation by interfering with other processes? I don't understand it well, but the answer seems to be no.
IPC should be opt-in rather than opt-out. (Score:2)
An additional point: I would like the cross-privilege interprocess communication system to be opt-in rather than op-out. There should be a special call for programs that expect to communicate across privilege levels. That would make it easy to write a report that would find all such programs. That way I could decide if I trusted those programs, and if they were corrupted by a hacker or not.
It seems sensible that the API for communicating across privilege levels would have special checking, and a system
Is it really that simple? (Score:3, Interesting)
Please, someone just shoot (Score:1, Flamebait)
M$ is such a broken peice of crap that there is no repairing it.
Everything M$ puts out is virusware.