AMD/ATI Video Drivers: Unsafe At Any Speed
An anonymous reader writes "CERT/CC has called out AMD for having insecure video drivers. AMD/ATI video drivers are incompatible with system-wide ASLR. 'Always On' DEP combined with 'Always On' ASLR are effective exploit mitigations. However, most people don't know about 'Always On' ASLR since Microsoft had to hide it from EMET with an 'EnableUnsafeSettings' registry key — because AMD/ATI video drivers will cause a BSOD on boot if 'Always On' ASLR is enabled."
This isn't very surprising AMD/ATI have always had crappy drivers. I wish their fan base would stop apologising for them and demand AMD put more effort into their products.
Acronym Overload Detected. A summary is supposed to summarize but I couldn't tell what this story is about unless I already know.
Live today, because you never know what tomorrow brings
...because it crashes before any malware can do any damage.
The CERT article mentions it, and it mentions it in that you cannot use the DEP/ASLR protections (in the kernel) because ATI/AMD make an incompatible driver. And since graphics drivers are kernel things, loading them means the kernel must disable DEP/ASLR, making your machine just that much less secure because of it.
Proving the existence of unprovable statements within logically consistent systems doesn't prevent there from being provable ones... If you are very lucky indeed, the ones that are provable and the ones that you care about might even overlap...
Preventing yesterday's attacks, tomorrow.
"Flyin' in just a sweet place,
Never been known to fail..."
No, it isn't. It's a proof that there are unprovable statements. It's not a proof that there are no provable statements, which would be self-contradictory.
Microsoft is constantly telling people that they won't sign their drivers unless they pass strict quality and certification standards. MS should just deny that to drivers as buggy as these are reported to be.
Oh wait... that would mean MS Is actually committed to quality as opposed to just needing an excuse to deny the little guy who wants to write some driver-level code.
... you failed to mention that. Oh, right. Your goal was to be sensational. Carry on.
What's wrong is this isn't a discussion about AMD vs nVidia, it is a discussion about how AMD should fix their shit. To then try and deflect and say "No they shouldn't because nVidia isn't perfect," is stupid.
A discussion (a real discussion, not fanboy screaming) about the merits of the two cards is useful if someone is looking at which they might want to buy. However responding to a problem in AMD drivers with "But, but one time nVidia produced a bad driver that caused overheating!" is not productive. Trying to act like AMD should juet get a pass because The Other Guy(tm) isn't perfect is dumb.
Because of this deficiency in AMD driver, windows kernel cannot use ASLR. So pretty every virus/malware that depends on Address Location could have been prevented. And lot of virus and malware do.
TFA basically gives AMD a downmod (consider it a +1 Sucks) because they do not care about supporting simple security features (which some of other posters extrapolate, along with their personal experiences to, they suck worse than Nvidia). Making code compatible with ASLR is not complicated or time consuming at all (I have been involved in linux driver programming), it is just that they have not bothered with it. The result is a simple and effective shield that ASLR and DEP provide is broken.
My mistake. ALSR enabled by default on VS2008, and was able to be selected on VS2005...and the WDK for Vista and above, also by default.
The summary claims that "AlwaysOn" ALSR isn't enabled by default "because of AMD". The summary also claims that AMD drivers are unsafe and insecure. TFA claims that it isn't enabled because of "some software, including AMD". The fact is Microsoft declares the forced ALSR unsafe -for a reason-. Forcing it on at that level has no benefit for the things that already support it, and can have consequences for any software or drivers that don't support address randomization clobbering them.
AMD drivers apparently didn't or doesn't support randomizing the base address. There are several reasons why they may not, including for performance. It could also be that there's simply legacy code, or legacy OS support to worry about, since AMD's fglrx supports kernel ALSR on Linux.
If AMD supported this, would Microsoft change the default by Windows 9? 10? Or would there still be other vendors of non-video applications and drivers, some of which may be legacy, that one vendor wouldn't make much of a difference?
AMD's lack of support for a hidden and "marked as unsafe" boot mode has essentially no end-user impact, security, stability, or otherwise. IF the boot mode is required to have randomized driver base addresses, Nvidia would be no more secure by default, or by any reasonable means available to a power user or security professional. If Microsoft changes it to the default (and maybe they have in Windows 8, but I'm certainly not keen on testing recovery mode), I'm sure the driver-signing and WHQL requirements will be changed accordingly, as they have in the past.
Yes, it is sensationalist to suggest specifically and only AMD (rather than Microsoft) has anything to do with a real problem. The summary and article are worded in such a way to suggest blame and danger, which gets people in a furor...over nothing. Anyone with half a brain knows that this is ultimately a Microsoft policy decision, one which the vendors are effectively bound to comply with. Microsoft makes lots of things optional, (in this case, optional, unsupported, and strongly discouraged) so if you think "forced ALSR" is something worth having, you could always write a news story about how "Microsoft makes security optional!!" instead. Just as sensationalist, just somewhat more on-target. Articles like this, including the one on CERT, are getting well into the FUD range.
I'd be surprised if anyone reading this has had "forced ALSR" as described in the article, enabled since WIndows 7 came out. There's not much point in crying over what you never had, and can't really have, at least not yet, according to Microsoft. I don't really care if the few open source, mingw-compiled, programs I'm using use ALSR or not.
Just since people can't seem to keep things straight... The last AMD vulnerability that I can find confirmed was in 2007, a local driver signing workaround, after which they had major overhauls (including on performance). Nvidia had two last year, one of which was a remote denial of service.
By the way, are you the same "anonymous coward" that submitted the article? :p
"A Goddess rarely smiles for she is forced by others to be an island unto herself." - Zephiris