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 story is about DEP and ASLR effectiveness at blocking exploits. IT has nothing to do with the title or the ATI/AMD aspect.
Have a nice day!
Nothing is secure. Man can make it, man can break it. This is yet another proof of that concept.
That is patently WRONG.
Software is in the realm of mathematics - you know, area where things can be *proven* to be correct and that can be *proven* to never fail.
Software can be made 100% secure assuming it is the only attack vector.
As a long time AMD/ATI user of CPU/GPUs, this sounds ominous.
If true, either AMD/ATI has to kill it, or we will have to kill AMD/ATI.
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.
DRM is logically insecure. Still waiting for you to disprove him.
Software can NEVER be 100% secure. Why? Because there's always hardware flaws, and HUMAN FLAWS.
And since humans make both hardware and software, it can't be infallible. Hence why we have branch prediction, error correction, and more. And even then, stuff still screws up.
Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
DER and ASLR don't make a system secure though. But they do make holes much harder to exploit.
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...
Software can be made 100% secure assuming it is the only attack vector.
1. That's assuming too much and ignores reality (humans) so this is automatically bunk. But I'll take this as "credible" to discuss the next point.
2. People, like you, have claimed that you should be able to write a mathematical proof for your code, and if you can, it's secure (because supposedly it's only going to do what you tell it without error).
This totally ignores the concept of Complexity - complex (and even unexpected) behaviours arise from simple rules. People don't write proofs for code because the complexity grows exponentially as the lines of code get more numerous. Mapping it simply becomes impossible. Sure, you can write a proof for a 10 line algorithm. What do you do when you have a code base like the size of Windows 8? Or how about something much smaller? Let's take Conway's Game of Life. You have simple rules. You go ahead and map the output for every single set of values. Before the heat death of the Universe, please.
How much do you really want to pay for your software? What features are you willing to give up because it was too expensive to write the proofs? Do we *really* need *all* software to be subject to the same scrutiny as the software that runs a CAT scanner or a medical cyclotron?
It is said that the making of laws and sausages is similar, and you really don't want to watch it happening in real time. I believe we can add "writing software" to this. That's just reality, man. Deal with it.
--
BMO
Branch prediction isn't about fallibility or security.
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.
Quantum physics makes 100% never a reality for anything. The point is that given enough brain power, one could prove something is secure. Whether or not it's a good idea to assume something is 100% secure is a whole other issue.
"Branch prediction isn't about fallibility or security."
How wrong you are. Ever hear of a Simple Branch Prediction Analysis attack? We covered that back in 2006, if not earlier.
Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
DEP and ASLR are like an ogre, I mean onion... uhggg... They add to security for a cheap price.
When a problem with their chosen product is pointed out, they try to deflect it with criticism of the product offered by someone else. Happens all the time with videocards. The two camps have some really rabid fans who cannot accept any criticism of their chosen card and if it happens they instantly start screaming about the other vendor.
As the MS blog in the second link stated, DEP + ASLR is already being exploited and that blog post is two years old at this point.
Still wish AMD/ATI would improve their drivers.
Don't know something? Look it up. Still don't know? Then ask.
I haven't really kept up with the using two video cards in combination issues since I have not had a system that uses more than one video card yet so I have a question.
Is Nvidia's SLI set up better, and if so in which ways, and how much better?
Don't know something? Look it up. Still don't know? Then ask.
I am using an old laptop with Windows 8 to type this with an ati chipset. I noticed Windows 8 kept freezing and having issues until ATI came out with an experimental driver.
I used Regedit and found nothing with EMIT and UnsafeSettings in the registry as Windows 8 enables this by default. Now I know why it had so many issues before.
I do hope this issue is resolved as I always correct XP loyalists trolls on Slashdot saying how secure Win 7 is for these reasons. ASLR and DEP cut malware in half in any enterprise that migrates ... well except if they have ATI chipsets or cards. THis really blows for me as I refuse to run Metro garbage on my main work desktop and will not void my warranty by ditching my ATI card.
http://saveie6.com/
The two camps have some really rabid fans who cannot accept any criticism of their chosen card and if it happens they instantly start screaming about the other vendor.
What's wrong with "Sure, my card has problems, but your card also has problems, and here's how your card's problems are more noticeable in practice"? If bad isn't allowed to complain about worse, that's the perfect solution fallacy.
You don't have to prove every value, merely every edge case
Then you haven't even written a proof, have you? You've pretended to.
Why don't you want to pay for perfect software?
Because Man, in his thousands of years on this spinning rock, has never /ever/ created anything perfect.
Perfect software doesn't exist and neither will it ever. If someone claims they can, make sure you know where your wallet is. It's like the koan, "If you meet the Buddha, kill him."
--
BMO - I like ice cream koans.
Yes it does.
ATI's drivers to me are lower quality but there hardware is higher quality and it is a tradeoff as I have had NVidia cards fail before going all ATI at home. It is part of the product whether you like it or not.
I am an AMD fan too, but I am glad it is brought up as I am irritated at this and need to know this to make sure work pcs do not come with ati products that can raise TCO and increase malware. DEP and ASLR is the main and pretty much only reason why I can justify a Windows 7 migration over XP. If the desktops have this disabled then what is the point?
AMD's latest driver for Windows 8 does not have the issues as I just checked the registry. Maybe the driver can be backported to Windows 7 ... hopefully.
I am not trying to be a troll here but to me this is serious. I am sick and tired of malware and this erases years of progress at Microsoft.
http://saveie6.com/
It's not a proof that there are no provable statements, which would be self-contradictory.
Yes, that would be self-contradictory, but a statement that "most interesting statements are unprovable" would not be self-contradictory. Most statements about computer programs, for example, are undecidable as a consequence of the halting problem's undecidability.
The reason AMD's drivers suck is that they only have to be as good as nVidia's, which these days is a very low bar to meet. It used to be nVidia made good drivers and that was the main reason to purchase a nVidia card, but sadly that doesn't seem to be true any longer. Instead of forcing AMD to come up to nVidia's level, nVidia chose to sink to AMD's level.
suddenly all these anti AMD stories get run, funny that ain't it.
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.
Insecure means not confident, not safe is unsecure.
Not according to the dictionary. One word can have more than one meaning :)
Need to type accents and special characters in Windows? Use FrKeys
"Branch prediction isn't about fallibility or security."
How wrong you are. Ever hear of a Simple Branch Prediction Analysis attack? We covered that back in 2006, if not earlier.
Your original comment said:
And since humans make both hardware and software, it can't be infallible. Hence why we have branch prediction, error correction, and more.
... which implies that you consider branch prediction to be a form of mitigation against errors, similar to error correction — i.e. that the reason branch prediction exists is to improve security.
A Branch Prediction Analysis attack makes use of branch prediction to break security, but that's irrelevant — it doesn't change the reasons why branch prediction existed in the first place, and it certainly doesn't turn branch prediction into a security feature.
Need to type accents and special characters in Windows? Use FrKeys
While that is correct, Slashdot just got a bunch of money from nVidia, so the opportunity to create that appearance just couldn't go unutilized.
When I bought my laptop with ATI Radeon 4 years ago I thought I would have a continuous development of the open source driver, and I was happy to get rid of the nVidia dependence. nVidia stops to develop the driver after some point and you have to live with the open source, which is not supported by the nVidia team anyways and does not have accelaration. You have to either keep an old kernel, move to the open source or trash your ~3 years old hardware. AMD/ATI pretend to have open source drivers at the same time they keep their closed source drivers. The open source drivers will always compile and run in the latest kernel, which is great. This is the spirit of GNU/Linux. But the closed source ones don't. They stop to develop the closed source driver like nVidia does. From that point your driver may or may not run against the latest kernels. It would be great if they open the source code of their drivers, instead they start to develop a new crappy open source with lots of features missing, mainly 3D accelaration, which really sucks. Thanks AMD/ATI for your double standard. I will be moving on to Intel in the future.
... you failed to mention that. Oh, right. Your goal was to be sensational. Carry on.
Perfect software doesn't exist and neither will it ever. If someone claims they can, make sure you know where your wallet is. It's like the koan, "If you meet the Buddha, kill him."
Exactly. One of the best examples that comes to mind is the guidance software written for the first space shuttle computer, and even that had bugs. It was also 20x more expensive than the normal going rate at the time, and technically speaking it contained only about one two hundredth less bugs by number of lines of code.
Damn impressive for sure, but far from a zero. It also cost half a billion 1960's dollars!
An interesting read: http://history.nasa.gov/sts1/pages/computer.html
After owning half a dozen ATI cards over the years (currently using an AMD 7970 in my main rig), I had no idea how crappy AMD drivers were. Just because I've had more trouble with nVidia drivers on the 3 GTX275s and 2 GTX570s I currently use for GPU computing doesn't mean a thing, because that's just anecdotal evidence...right?
Luckily I came across this thread with all the hard data on AMD vs nVidia driver quality before it was too late. Thanks Slashdot!
ps - would it be possible for one of you fine Slashxperts to link to documentation on how many times this blatant deficiency in AMD driver quality has been exploited? (shouldn't be too difficult, since it's been 5+ years since ASLR was implemented in MS operating systems)
Heh. my thoughts exactly. This is the second such article in like a week. Something fishy about it all. Im not saying that AMDs drivers are perfect but i cant say ive had any problems with them in the last 10 years. The last time i remember them crashing was like 7 years ago while using the old radeon 8500. Crashed during counterstrike. It wasnt even a BSOD just a driver restart. Miraculously once the picture was back i was still alive. :)
The drivers used to be bad but that was during the rage3d era. Im sure half of slashdot users are too young to even remember that those cards existed.
I dont know why Nvidia is regarded so highly. During the vista era the majority of BSODs were because of their drivers. Thats pretty bad considering the amount of drivers running on a computer.
Cant say ive had much trouble personally with nvidia as well. My old 6600gt worked okayish. BSOD once a month. Annoying but bearable. My Nvidia ION based HTPC also works most of the time. A lot of problems with their HDMI audio drivers. I have to reinstall the damn driver once a month because it just stops working. Since ive figured it out that i should just run the install again and it works then its not much of a problem anymore.
I don't believe you can justify that statement unless you are looking for drivers for something extremely old. The driver support site has been very user friendly for several years now. The quality of the drivers may not have been so great however.
If I had a DeLorean... I would probably only drive it from time to time.
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.
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.
I understand/agree with your point, but when I see a headline like the one made in the OP, I think someone's trying to convince someone else that the sky is falling.
I guess what I was trying to get at was: is there data that supports the claim made in the headline? In particular, has it been shown that AMD equipped systems have higher rates of becoming compromised than non-AMD systems? If such a premise was demonstrably proven, I think AMD might move ASLR compatibility up their priority list.
And frankly, I'm sick of people claiming one manufacturer's drivers suck and the other's don't based on their own personal experience. Amazing that so many don't realize how stupid they sound.
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.
Funny, I have the opposite experience.
Which is exactly the point I was trying to make. Your experience or my experience or the sum of /. experience doesn't mean squat. In the end, it's all anecdotal.
ps - would it be possible for one of you fine Slashxperts to link to documentation on how many times this blatant deficiency in AMD driver quality has been exploited?
Constantly. ASLR was designed to disable existing malware and buffer overflow shellcodes, requiring that new, smarter malware be written from scratch. Effectively, disabling ASLR ensures that the legacy of simple Win95-compatible hacks will continue to function correctly on Windows 7.
If you can point me to data showing AMD-equipped systems have higher rates of becoming compromised than non-AMD systems, please do so.
While I would agree that AMD system are more vulnerable to attack because of ASLR incompatibility, I'm certainly not convinced AMD systems are more "unsafe" than others.
Couldn't agree more. To be clear, I'm not defending AMD on this. They've owned ATI for long enough to have addressed the issue. But IMO, the claim made in the headline doesn't pass my sniff test. Smells like FUD to me.
EMET is a tool Microsoft releases to enable specific settings, then they hide stuff like the "AlwaysOn" behind a registry setting they term unsafe.
Nowhere does it on any of the linked Microsoft pages say that this "unsafe" is hidden because of AMD, unlike what the article boldly suggests. Microsoft would be unlikely to grant WHQL status to drivers violating something it actually wants on by default.
Nobody gets the EMET settings "by default". You have to download and run it, many options you have to enable per-program, and many programs don't work with it.
The article they link to says Skype, Microsoft's own Silverlight, and World of Warcraft all don't work with the EAF option (everything is enabled by default for a program you select).
Nobody is getting, or would get, any of these protections "by default". So saying that AMD drivers "are making your computer less secure" is ridiculous, given that even if it's still an issue (the only linked mention hasn't been updated in over a year), it's limiting the maximum POSSIBLE security, which you would have to enable and run yourself...turn on settings that Microsoft deems unsafe, and knowingly risk making your machine unbootable. All for having ALSR "potentially" work for binaries that don't deem themselves compatible? Great...
Microsoft's own documentation says that all binaries can opt-in to ALSR (same as they have to opt in to DEP by default), but it has nothing to do with system drivers. Out of all of the processes running on my system, only two (an IM client, and a mouse hook service) don't have ALSR. These days, on VS2010, binaries are compiled with the ALSR and DEP flags set by default. You have to specifically opt out.
EMET's own user manual says that it uses a different, conflicting ALSR implementation than what the system natively does...might explain why fewer things are compatible with it.
TLDR: There is no evidence whatsoever that AMD drivers would make your system "actually less secure". There's one note that it "could" make your system less secure, if Microsoft were pushing a security option that it doesn't support.
People should focus on actual issues, instead of inventing imaginary ones just to try to make themselves more relevant and "in the news". I'm disgusted by CERT's behavior. I would've thought they'd at least stick to the actual facts of the case, instead of acting like the dime-a-dozen "don't need no fact checking" bloggers.
Disclaimer: I currently have an AMD card, have used both Nvidia and AMD cards since the late 90s with varying success.
"A Goddess rarely smiles for she is forced by others to be an island unto herself." - Zephiris
what exactly does this mean for me and my radeon hd?
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
No one gives a fuck about your bitcoin mining problems. You must be a special kind of retard to have problems with nvidia drivers, nothing could be simpler. Don't buy shit motherboards perhaps? I don't know....except that I do. Zero problems here, ever, going all the way back to the original TNT. The same can not be said about ATI/AMD. You want to talk about heat/power problems? Fine, explain the Thunderbird to us all.
"... which implies that you consider branch prediction to be a form of mitigation against errors, similar to error correction — i.e. that the reason branch prediction exists is to improve security"
You very clearly fail to understand my consistently paradoxical (and laced with hidden humor) statements. Well, I guess I can't help that. Old timers like yourself just don't understand this younger generation.
Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
No one gives a fuck about your bitcoin mining problems. You must be a special kind of retard to have problems with nvidia drivers, nothing could be simpler. Don't buy shit motherboards perhaps? I don't know....except that I do. Zero problems here, ever, going all the way back to the original TNT. The same can not be said about ATI/AMD.
I don't mine bitcoins. If I did, I certainly wouldn't use nVidia GPUs. nVidia's architecture just isn't well suited for that type of workload. I participate in GPUGRID (CUDA) and World Community Grid (CPU/OpenCL). Please consider volunteering some of your excess CPU/GPU capacity to these worthy BOINC based projects.
As far as motherboards go, I'm currently running 6...all of which have been crunching DC projects 24/7 for about the last 2 years. Doesn't that indicate my motherboards aren't shitty? Or am I still being retarded?
You want to talk about heat/power problems? Fine, explain the Thunderbird to us all.
Uh, no...no I don't want to talk about heat/power problems. But you seem to, and I'd love to read your musings on the topic. I would only read, because I would never presume to engage in a debate with someone of your intellectual capacity. In any case, thanks for taking the time to grace me with your wisdom and experience. I truly feel smarter after reading your post. You must be part of Slashdot's special retard enlightenment task force.
Right now, you have two choices in AMD/ATI drivers on Linux:
-Catalyst (closed source, fast, but has the aforementioned problems with the changing kernel interfaces and a general reputation for crappiness)
-and the open source driver (much less complaints from users, but much weaker performace).
I'm following the Linux graphics driver development via Phoronix.com, where Michael Larabel frequently publishes benchmarks of the latest open source driver versions. And progress is definitely there, but so far it is mostly in the "correctness" department:
Up to maybe a year ago, many benchmark results were incomplete because the open source driver would crash on some games. Or significant parts of the graphics were missing. Today, such gaps in the results are rare. But progress on the performance front is slow and when a new optimization comes in, it is usually like "great, instead of 25% of Catalyst performance we have now 30%"
C - the footgun of programming languages