Live data from Hacker News

Attacking the Windows Nvidia Driver

googleprojectzero.blogspot.com

41–50 of 77 posts

Re: Attacking the Windows Nvidia Driver

#42

What I'd like to see is a "slimmed down" version of the graphics drivers. Right now my graphics driver carries a boatload of "utilities" of questionable utility - especially "hand written artisanal shaders" to improve quality in AAA titles, where NV or ATI optimize the game's original shaders. NVIDIA ships stuff for 3D glasses. How about that the driver packages only load these when asked to do so, e.g. when a game t…

Hear hear. Can they also please be less than 100megs in size? I think nVidia's clock in at 300 right now. I just want the driver and recording/streaming software. Maybe you could open up the required api to write a third party Shadow Play...

Re: Attacking the Windows Nvidia Driver

#43
post #39
post #37

Earlier quoted context omitted.

If you're talking about GPU pass-through, they're just trying to make it hard, but they're not making it impossible. If you're talking about virtual GPUs, where one card is split across multiple VMs, however, unfortunately that's Tesla only. That said, I worked (as the maintainer of KVM) with the nVidia driver people working on vGPU, and I was very impressed. They were very knowledgeable and professional, and they ma…

I think they want to limit it to Quadros to be more precise.

Yes, exactly. But they don't try _that_ hard.

Re: Attacking the Windows Nvidia Driver

#44
post #20

Earlier quoted context omitted.

They were right that it was dangerous, but it became pretty clear that IE was using them to provide cover for not implementing a feature when they changed their mind later. Whereas Chrome implemented a WebGL compiler that reduced the amount of attack surface WebGL could reach and audited a bunch of popular drivers to fix the exposed bits. I think the fact that this blog shows that these vulnerabilities are not reacha…

I think there's probably still a fair bit of attack surface behind glReadPixels() and the like. All it takes in a single backbuffer/texture/surface/etc to not be memzero'd properly and you can start looking at parts of the system's memory. GPUs are both really complex and highly secretive about their implementations. The incentive for GPU vendors is to write fast drivers. Security is pretty far down on the list, esp…

Hence this case where someone's porn was exposed from a previously-closed incognito mode session:

https://www.extremetech.com/computing/221208-nvidia-blames-a...

Re: Attacking the Windows Nvidia Driver

#45
post #29

Getting these issues fixed in the drivers is great, no doubt. But it's moot if nobody actually updates to those fixed versions. How hard are nVidia/Microsoft trying to actually push these out over Windows Update so that end users will actually benefit from all of this work?

Anyone who's into gaming probably has GeForce Experience installed, which manages drivers and gives notifications. I want to say Microsoft will push them out a little later, but I can't be entirely sure since I've always used the nVidia path. EDIT: Unfortunately the GeForce Experience is getting, as is typical, super invasive. Access to even basic settings requires an account (nVidia or Facebook account, etc).

Recently removed GeForce Experience. Graphics drivers should not require an account.

Considering that computer configuration is unique enough to enable fingerprinting across different browsers, I can't even see why it's required.

At least Experience tells you it's being creepy so you can remove it.

Re: Attacking the Windows Nvidia Driver

#46
post #12
post #9

Earlier quoted context omitted.

Plus you paid for the computer, graphic card and OS. Why in hell would you spend hours of work on your free time for this ? Do people try to find defects in their car then send a report to Ferrari ?

> Do people try to find defects in their car then send a report to Ferrari ? Yes. -- Ferruccio Lamborghini.

The problem is not with the car but with the driver!

-- Enzo Ferrari

[Closed. Will not fix.]

Re: Attacking the Windows Nvidia Driver

#47
post #42

What I'd like to see is a "slimmed down" version of the graphics drivers. Right now my graphics driver carries a boatload of "utilities" of questionable utility - especially "hand written artisanal shaders" to improve quality in AAA titles, where NV or ATI optimize the game's original shaders. NVIDIA ships stuff for 3D glasses. How about that the driver packages only load these when asked to do so, e.g. when a game t…

Hear hear. Can they also please be less than 100megs in size? I think nVidia's clock in at 300 right now. I just want the driver and recording/streaming software. Maybe you could open up the required api to write a third party Shadow Play...

Yeah, the NV mobile driver clocks in at 292 MB (W7 x64) right now.

One thing that certainly blows up the size is that the NV driver installer bundles support for everything from the old NV 8600M - which IIRC was released in 2007.

If there's one thing I certainly can't whine about in times where phones carry less than 2 years updateability, then it is that NVidia still provides up-to-date drivers for a GPU chipset nearing a decade of life time.

Re: Attacking the Windows Nvidia Driver

#48
post #9
post #6

Earlier quoted context omitted.

Yeah - that sounds like fun - recreating a driver install issue after you finally have it working on your system. Heck, even if you set up a system -just- to recreate this problem, it would still be one of those "nightmare inducing" trials of will. I'm not saying it shouldn't be done, I just can't imagine doing it (especially on my personal workstation).

Plus you paid for the computer, graphic card and OS. Why in hell would you spend hours of work on your free time for this ? Do people try to find defects in their car then send a report to Ferrari ?

that's the Next Big Thing in software engineering. lay off your QA department and shovel the burden on the users, who work for less than minimum wage. Actually, they pay you to find your bugs.

Re: Attacking the Windows Nvidia Driver

#49

I cant prove this but my computer blue screened after a Nvidia driver update. It took my several hours to get everything working again because it wouldnt even launch in safe mode. Very frustrating. I wish they had a little more quality control on their drivers.

So, yeah, that sucks for sure and I'm with you, but imagine you're a driver dev and every mistake you make can now potentially blue screen the OS. Life in user land is very different.

Re: Attacking the Windows Nvidia Driver

#50
post #41

Can someone give me a layman's definition of an "escape" and why they would be legitimately needed? Are they needed so callbacks can "escape" and be exposed to other classes? (does that make any sense?)

As the article indicates, they're similar to ioctl, which is a system call that, roughly speaking, allows arbitrary opaque blobs of data to be passed back and forth between a user-mode -process and a kernel-mode driver. This is intended as a generic mechanism allowing drivers to expose arbitrary functionality to user-space. This enables the implementation of functionality that would not otherwise be possible because it was not foreseen and enabled by the design of the operating system.

Bear in mind that the system call ABI changes slowly and with much difficulty: once a version of a kernel is in production, it can stay in use for a long time; it can take a long time for new functionality to be broadly available, and breaking back-compat with applications compiled against older ABIs is Not Done. Dynamically loadable kernel modules and ioctl-like system calls make it much easier to bring new functionality to all the various kernels running around in the real world.

Given the complexity and rate of change in graphics tech, it makes perfect sense for there to be a general-purpose arbitrary functional-call mechanism for interaction between user-mode and kernel-mode graphics driver components. Microsoft (or the linux graphics subsystem maintainers, etc) just doesn't know enough about Nvidia/AMD's current and future requirements to nail down a more rigorously defined API.

Post reply on HN