ATI Driver Flaw Exposes Vista Kernel to Attackers
Shack0ption writes "An unpatched flaw in an ATI driver was at the center of the mysterious Purple Pill proof-of-concept tool that exposed a way to maliciously tamper with the Windows Vista kernel. The utility, released by Alex Ionescu and yanked an hour later after the kernel developer realized that the ATI driver flaw was not yet patched, provided an easy way to load unsigned drivers onto Vista — effectively defeating the new anti-rootkit/anti-DRM mechanism built into Microsoft's newest operating system. Ionescu confirmed his tool was exploiting a vulnerability in an ATI driver — atidsmxx.sys, version 3.0.502.0 — to patch the kernel to turn off certain checks for signed drivers. This meant that a malicious rootkit author could essentially piggyback on ATI's legitimately signed driver to tamper with the Vista kernel."
How long before the usual MS bashing starts on a clearly ATi problem??
Hi everyone!
Ironic that ATI drivers are the first major downfall of Vista.
In Soviet Russia, Kernel tampers you!
...yeah
ilovegeorgebush
ok...
so windows vista trusts ATI.
ATI trusts themselves.
I don't trust no one, especially closed-source drivers from ATI.
shouldn't they simply replace their "fglrx" with "ati", in their xorg.conf?
Vista has an anti-DRM mechanism built-in? Wow, and I thought Linux stood for free sofware... way to go Redmond!
Where is that guy who'd die defending what I had to say when I need him?
yes yes
"... effectively defeating the new anti-rootkit/anti-DRM mechanism built into Microsoft's newest operating system." Increased security and anti-DRM? I guess Microsoft is finally listening to what consumers want!
Could this happen if ATI drivers were open source?
if each driver had its own separate space, this flaw wouldn't affect the rest of the system.
I wonder (obviously not a kernel developer here), would a micro kernel prevent these types of problems, where malicious code which normally wouldn't have permission to do things, attack a part of the kernel (video driver) which does and so gain permissions?
When hardware drivers are responsible for system integrity, all hope of safety is permanently lost. Introducing the new battleground for virus writers... fake patches:
YOUR VIDEO CARD NEEDS NEW DRIVERS: CLICK NEXT!!!!!
The dangers of knowledge trigger emotional distress in human beings.
FTFA, quoting a Symantec senior manager: "Basically, that ATI driver has functionality that allows you to read and write kernel memory. It's either a bug or a feature of the driver." I guess it's a feature to the bad guys. To everyone else, it's a bug.
The fact that people are actually going to the lengths of breaking into Windows by using a legitimate driver with kernel access to load in rootkits...the fact that it even requires explaining, means that Windows has reached some type of real security. I mean, with Windows 98, you would just hit enter on the login dialog box, and there you were!
Hopefully I didn't put any [] around my words.
Seems like the real concern is not that ATI's code opens a security hole. You know ATI will patch it. A more important question is, how many other securely-signed drivers, etc., have similar holes? How many drivers are there in a typical Windows Vista system, anyway?
At least Microsoft can say (with some truth) that it's not THEIR software which introduces the problem! (it actually is, of course, but not directly)
$nice = $webHosting + $domainNames + $sslCerts
n/t
A kernel-level driver can own a system? No shit!
(BTW, that's one of the reasons drivers need to be signed to run on Windows Vista x64.)
Ye shan't have your liberty, do what ye will
As long as salt water is formed in the deep
A foot on the necks of the croppy we'll keep
And drink, as in bumpers past troubles we drown,
A health to the lads that made croppies lie down
Down, down, croppies lie down.
For my part, I'm not going to play the blame game since I don't know better either way. I am, however, in some strange way comforted to see that Windows users are starting to have issues with ATI drivers, too.
All those years of trying to get fglrx to work, avenged!
So, is that what you call passive aggression?
weirdest thing I ever saw: scientology advertising on slashdot.
Actually I'm amazed it took almost a year. I would've betted my annual income that something like this would surface before May.
Let's take a look at the inner workings of the system. Yes, MS has full access to the source code, so their drivers will probably not leak. They also have no "real" competition on the OS market (yes, there's Linux, there's MacOS, but what company would switch?). They can take their time to proof and perfect their drivers until you can be certain that they don't leak.
Do third party vendors have the source? No. Do they have tight schedules and competition breathing down their neck? You bet. Will they prefer performance or security? Well, what of those two is tested on pages like THG?
Worse yet, what if such a driver actually allows a user to "crack open" his system and use it as he pleases? Could you see people buy a cheap ATI card just for the purpose of disabling the DRM? I mean, there have been really, really crappy games for some consoles that sold surprisingly well, because they contained a bug that allowed disabling certain security measures. Save-game exploits were quite popular for a while.
Could you see that this "security" bug could actually be a selling argument FOR the hardware rather than against it?
We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
So the reason ATI is not giving us Linux users free drivers, is because they care about the security of our systems. Talk about irony!
Res publica non dominetur
In Other News
The fglrx module expects the registers related to Thread Local Storage to be in a certain state. If you mess around with it, you can cause a kernel crash. Try running wincecfg from =0.9.31 includes a check for fglrx in TLS mode and aborts), it will crash the kernel with 100% repeatability. You can find details in ATI and wine bugzillas.
I always wondered if this could be turned into a more dangerous security exploit. And now I wonder how much code is shared between fglrx and the Windows driver, as it seems it has similar bugs.
And this is why I have used nVidia hardware since I upgraded from my Voodoo 3 3000. While ATI and nVidia may go back and forth in hardware performance, nVidia has much better driver support on Linux or Windows.
*Still rather upset That there is no linux acceleration driver for the ATI Rage Mobility in the original iBook, I would much rather run Linux on it than OS X or OS 9.
You say you want a revolution....
The whole problem with the internet is that our anti-malware strategy is defensive, and honestly, its just getting downright annoying and expensive. We need to go after people that actually create malware, and with some serious tools. It is increasingly reckless to let a few bad eggs hold the entire world hostage.
a) It's time to design the internet so that anonymous traffic is not possible. Make it possible to track the spread of this malware back from to the source. Make malware not just the crime of malware itself, but of identity theft as well.
a) Declare any writer of malware to be a Terrorist Enemy Combatant. If someone is writing an attack on an American computer system from offshore, we should have the CIA / FBI, etc, sending them to Gitmo as well. If foreign nations are not willing to enforce or do something about computer crime laws, then the United States has to enforce those laws for them. Send a few malicious geeks off to Guantinomo, I say. Cyberware IS terrorism.
Really, I'm way past hackers and security people being portrayed as some black and white struggle that we all must take part in. I'd much rather have my good guys in government going and killing all of the bad guys, without me having to even think about it.
This is my sig.
Oops, I guess not....
8 .html
Because WPF is largely written in managed code on the common language runtime, it never ran in kernel mode. There are elements of WPF (called the MIL) that are written in unmanaged code, but that code also largely runs (and always has run) in user mode. Insofar as WPF needs to touch kernel mode stuff (e.g., drivers), it interacts with them through the existing DirectX APIs. The user mode and kernel mode aspects of the WPF architecture haven't changed.
http://arstechnica.com/news.ars/post/20051216-578
So what did Microsoft gain with the Vista GDI changes?
Enjoy,
It's just the normal noises in here.
Every Vista install that uses the exploitable driver, you mean. Just as an exploitable driver for Linux would open every Linux install that uses that driver. For example, I have an NVidia card; as and when I upgrade to Vista, I won't be vulnerable to this particular exploit.
Errr... Are you sure? The bad guy can bring the ATI driver with him, and load it on your system. The key question is whether it will stay loaded long enough for the exploit to work even if the hardware is not present. At Blackhat this year, a bunch of similar exploits in Vista drivers were described, and at least some of them (possibly all) did not need their specialized hardware to load and stay loaded on the box.
Also, please note that getting your own signing key is not difficult or expensive ( $1000 ) and then you can sign any old chunk of malware that you like. Of course, you might want to make it do something useful as well so as to give yourself plausible deniability if it gets detected.
Intel has been supporting open source drivers for their video hardware for quite some time now. I suppose the hardware isn't nearly as sexy as that from nVidia or ATI, but it is an option.
Laws do not persuade just because they threaten. --Seneca
n/t
which needs more than "n/t" since apparently this needs to be more original as someone has used the same comment before.
I'm not going to blame Microsoft. I'm going to blame the various countries' legislators for not passing a law demanding that driver Source Code be published as a condition of approval of hardware for sale.
If there were such a law on the books, many vulnerabilities would be flushed out. The closedness is at the very root of the problems, and the only way to solve them for good is to enforce Source Code availability.
(I don't buy your "Let the Free Market Decide" bleatings. I can see where you're coming from, but you have to realise there is no free market in the computer hardware sector anymore, just a cartel of vendors who use various dirty tricks to prevent competition from outside. In this situation, only Government can make a difference.)
Je fume. Tu fumes. Nous fûmes!
News like this only reminds me why I've stopped buying ATI video cards ... their drivers have always sucked big dead bison balls.
Now, seriously, what's "purple pill"?
How long before a signing tool comes out?
This whole business of "signing" is ridiculous. It's no safer than the current model. Perhaps even less safe, as it gives both the OS programmers and the end-users a false sense of security. "You can trust a signed driver."
No, you can't.
The only way I can see to make a truly safe system is to run each driver in its own VM, and create a virtual network between the drivers and the core OS. Each user-end program would also run in its own VM, and IPC would occur via the system network, rather than direct system calls. Each IPC message would have to have a signature for types of input (data type, string length, etc) and a common, well-audited message dispatcher would have to validate each message for conformance.
This is microkernel architecture on steroids, meaning it's big and slow and dumb, but solid. Even then, a single security flaw in the VM system would compromise the entire system.
Microsoft is to software what Budweiser is to beer.
Why is MS allowing 3rd party drivers in the kernel in the first place?
...and just when you thought Vista was secure, somebody finds some way to break in...
"Seems like the real concern is not that ATI's code opens a security hole. You know ATI will patch it."
That's a really naive attitude. I think Bruce Schneier put it best: "Once you stop thinking about security backward, you immediately understand why the current software security paradigm of patching doesn't make us any more secure. If vulnerabilities are so common, finding a few doesn't materially reduce the quantity remaining. A system with 100 patched vulnerabilities isn't more secure than a system with 10, nor is it less secure. A patched buffer overflow doesn't mean that there's one less way attackers can get into your system; it means that your design process was so lousy that it permitted buffer overflows, and there are probably thousands more lurking in your code."
I say to ATI: your Kung Fu is lousy. This would also be why I haven't (on purpose) purchased an ATI card in years, and also why I continue to be disappointed with some of Apple's hardware choices. At least Apple manages the ATI drivers themselves, but if you wanted to use BootCamp (...). We know ATI does software as well as Microsoft does hardware (how many Xbox 360s are dead?); why do people continue to buy their snake-oil and bullshit?
--
Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
For the longest time I thought that all ATI drivers sucked equally on all platforms. But I guess they suck even more on Windows then they do on Linux.
A few months back (after over 12 years with Linux) I finally took the plunge and went Linux-only on my main home PC. I went with Ubuntu 7.04 simply for the basic completeness and fair stability. There are some of the same glaring issues that have plagued Linux since 12 years ago which is so damn frustrating I can't even begin to explain it, there are still some big unification/usability flaws, but the one thing I don't miss at all? Shit like this. A video driver opening a hole that I can't see or close that could cause my computer to be wrecked.
The iron is as hot as it has ever been for Linux, I just wish one distro would come out with something truly amazing and awe-inspiring in the next round of releases to capitalize on the current attitude towards Windows. From what I've seen the big players are just continuing on with incremental upgrades, little to no art or polish, and nothing really newsworthy... I'm just hoping someone has a big ace in their sleeve. Maybe Redhat, PCLOS is growing fast, and my personal darkhorse that I've been pulling for: PC-BSD and their PBI packages, amazing! If only Ubuntu or someone would get something similar.
http://teasphere.wordpress.com - A little spot of tea
A terrorist is someone who causes harm in order to achieve an end. Viruses do cause harm - economic harm. They subvert law enforcement because they hide in countries that sanction those attacks. Thus, stopping the terrorist requires some form of violent action, as that nation who hosts those attacks uses the implicit violence of its sovereignty to hide him.
Gitmo is not one of the "worst abuses in history" as you claim. I would suggest that you research topics from the Holocaust, before you make such an absurdly alarmist claim.
Doing it right, means not listening to a word that you say.
This is my sig.
This is a graphics driver. It can tell the graphics card to issue DMA bulk transfer requests. Bye-bye memory protection.
Considering the lousy reviews, it seems that Windows Vista is indeed "just a hack" on top of XP.
But it is no longer correct that it is a hack based on DOS. Parallel to Windows 9x, Microsoft introduced the Windows NT line. Windows 2000, XP and Vista are based on that.
In a direct comparison of Windows 2000 to Windows 98 (yes I've used both), Windows 2000 is a lot more stable, especially when confronted with bad applications. It is not perfect but definitely good enough for desktop use.
I'm using XP only occasionally, but it seems OK as well.
Vista - cough - no thanks. The reviews and personal accounts I've read are reason enough not to even try it. And the quality is only half of it, the EULA is even more inacceptable. Even if I strongly suspect it would be unenforceable in my country, I'd rather avoid getting anywhere near it.
C - the footgun of programming languages
Please correct me if I'm wrong, but if a driver's flaw opens a hole to the operating system's kernel, shouldn't we say the flaw is actually in the operating system?
Where we have strong emotions, we're liable to fool ourselves. -- Carl Sagan Sh!fty
So will Microsoft lobby Verisign to revoke ATI's certificate, and add the ATI driver to Windows Defender's malware list now that this hack to circumvent the DRM on HD video is out there in the wild?
Nvidia's drivers have turned to crap, especially for Vista. Their 8800 series is still full of bugs(alt-tab in and out of games much?) and they almost had a class action lawsuit because of their deceptive marketing. Talk about a botched launch... They've gone from having the best set of unified graphics drivers available to a company who many users feel can't be trusted to support the hardware they are selling. I've pimped Nvidia for years as the gpus to buy because of their former solid drivers, now ATI/AMD is many accounts a better choice for Vista users and stabiilty.
Both companies trade places for who has the best gpu or driver for any given time period and right now Nvidia is just not cutting it.
PS if you want to use Linux but your a gamer dual-boot or buy a console. Complaining about ATI's linux drivers is problem #4,239 for why Linux doesn't make a great desktop for most people, don't expect that to change anytime soon.
If you wanna get rich, you know that payback is a bitch
nexium
Alex Ionescu knows a thing or wro about the workings of windows. he was an active dev on the reactos team reverse engineering windows until he got a job offer he could't refuse. he was probably studying the inner workings of vista when he found this, i beleve he's not a security hacker.
;)
he has a bit of a problem being a team player though, there is more than one discussion that ended in a flamewar. althougt i think the reactos team hated to loose his skills few people miss his people skills...
on a personal note i hope everything goes well Alex Ionescu, this was not ment as a personal attack, keep breathing.
You can press F8 to select disable driver signing verification (or you can modify BCD's startup switches for Vista to enable that option all the time). Also, if you can attach a kernel debugger it turns off verification automatically.
In either case, once you have code in kernel mode all that remains is to suss out where the DRM system detects debug mode (to disable high-def playback) and override that protection. Essentially your kernel-mode code patches the kernel to erase its tracks.
I suspect this route would prove much easier than trying to exploit driver weaknesses; alternately just run Vista in a VM and do whatever you like. If they add VM detection code just patch it in memory to bypass the detection.
Natural != (nontoxic || beneficial)
whether windows vista graphics drivers run in kernel mode? I've heard both ways, and I'd like to hear for sure from someone who has actually written drivers for vista.
Except when you consider that you can just package the driver with your malware and issue a command to load it. In some cases, you can get a driver to load well enough even when the victim computer doesn't have that device.
"Screw Sun, cross-platform will never work. Let's move on and steal the Java language." - Visual J++ Product Manager
this ATI's flaw is locally exploitable only and it requires administrative privileges.
This ATI's flaws requires administrative privileges... In linux it's possible to replace the whole kernel with a single command line, because linux kernel hasn't a code protection mechanism. linux has a worst protection than Vista