7 ms·
The scope matters. You can get a machine to run reasonably well without relying on closed source graphics drivers. If your GPU firmware is evil in some way, it
by Tharkun 9y ago
The scope matters.
You can get a machine to run reasonably well without relying on closed source graphics drivers. If your GPU firmware is evil in some way, it's on your GPU and you can be pretty confident it won't compromise the rest of your machine or your network. If a driver is compromised, there will be signs of abnormal behaviour (you can inspect what software on your machine is doing at runtime).
With AMD's PSP or Intel's ME, there are no such limitations in how bad things can get. These things could take all the data you have in memory, connect to some shady network location and dump all the data. All the while there is no trace of that activity in your OS, because of none of this nonsense lives in your OS.
- simias 9y agoI guess my point is that as long as the hardware itself is closed source you have to trust the vendor anyway. Suppose the PSP source code was open sourced, how can you be sure it's actually what's being run by the CPU? How can you know certain instructions aren't backdoored somehow? It makes it a bit more difficult to implement such backdoors of course, but it's still perfectly doable. Again, I'm happy that people value their privacy and campaign for more open source but it seems a bit myopic to put all our attention on this tiny part of the problem. The risk is that if tomorrow AMD decides to actually open source the PSP many people will think that we won and the battle is over when we've just removed one of thousands of possible attack vectors.
- zanny 9y agoAnalysts working on the Intel ME can test if its active by testing line voltages around he mainboard. Someone did manage to hard disable it, and it could be proven in how voltages dropped at various points on the motherboard. If all else fails it is still a physical piece of hardware.
- simias 9y agoThat's good, but then shouldn't we petition to have a way to physically disable these modules instead of begging for a source code that won't get us anywhere closer to a trusted computing environment? It's a lot easier to validate that something is not running than it is to validate that it's running correctly.
- zanny 9y agoDisabling the ME / PSP usually breaks booting. It would require stripped down open source PSP / ME firmware anyway to bypass it during boot.
- admax88q 9y ago> as long as the hardware itself is closed source you have to trust the vendor anyway Because it's an ongoing effort. Years ago people were running GNU software on proprietary kernels/operating systems. You can't get to fully free and open hardware in one step. Firmware is the next battlefield, and its an area that hardware manufacturers have been winning. The firmware on a modern machine is orders of magnitude larger than it was 10 years ago, while provided essentially the same features. More and more closed source code is running on your machine. If we don't push back sooner or later your linux install will only be running in a virtualized environment provided by the proprietary OS running in "firmware"
- Karliss 9y agoIntentional hardware backdoors are hopefully small and made by somewhat competent people. Hardware vendors already can't be trusted with writing code that does something useful there is no need to have any additional attack surface in code that provides almost no valuable functionality.
- eropple 9y ago> If your GPU firmware is evil in some way, it's on your GPU and you can be pretty confident it won't compromise the rest of your machine or your network. How can you be confident of this when your GPU can DMA into anything?
- em3rgent0rdr 9y agoof course if your GPU can DMA anything, then all bets are off. But provided you are in control of all pathways connecting to your GPU, and can bitsniff the traffic, then you can verify that it isn't doing anything that your open-source driver doesn't want it to.
- eropple 9y agoSure, if you do do that on every piece of hardware. Which means your drivers are all either sandboxed or formally verified, as are the parts of the kernel that touch them, and the parts that touch them... ...which is obviously not the world we live in.
- nhaehnle 9y agoYou can enable the IOMMU to prevent a PCI device from doing arbitrary DMA.
- wolfgke 9y agoIf you look at > https://en.wikipedia.org/w/index.php?title=List_of_IOMMU-supporting_hardware&oldid=790636784 https://en.wikipedia.org/w/index.php?title=List_of_IOMMU-sup... at least for Intel processors only the more expensive ones support IOMMU (Intel VT-d). On the other hand for modern AMD processors this feature seems to be commonly supported.