Open source firmware is important for security
Nice article. A few comments:<p>“Rings 1 &amp; 2 - Device Drivers: drivers for devices, the name pretty much describes itself.”<p>STOP and GEMSOS did use four rings. The evaluators griped that UNIX’s didn’t. Microkernel proponents kept pushing mainstream OS’s to move drivers from kernel mode to another mode. Maybe my memory is off again but arent the drivers for Nix’s and most monolithic kernels in kernel mode (Ring 0)? Maybe Xen does something different with its use of protected mode. Then, some things in user-mode later on like FUSE.<p>“Each of these kernels have their own networking stacks and web servers. The code can also modify itself and persist across power cycles and re-installs. We have very little visibility into what the code in these rings is actually doing”<p>Which is why I put money down that the backdoors NSA paid for in direct money and&#x2F;or defense contracts would be in management systems. That we’d definitely find services with 0-days in there. Sure enough…<p>“Linux is already quite vetted and has a lot of eyes on it since it is used quite extensively.”<p>That’s total nonsense. Empirical evidence below that’s been consistent over long periods of time. If anything, using Linux is guaranteeing you vulnerabilities if they can call anything in the kernel. If a subset or just one function, maybe OK. Careful analysis case by case on that. We’d be better off with something clean-slate for this purpose that can reuse Linux drivers where necessary. Then, we’d check the drivers and the interfaces.<p><a href="https:&#x2F;&#x2F;events.linuxfoundation.org&#x2F;wp-content&#x2F;uploads&#x2F;2017&#x2F;11&#x2F;Syzbot-and-the-Tale-of-Thousand-Kernel-Bugs-Dmitry-Vyukov-Google.pdf" rel="nofollow">https:&#x2F;&#x2F;events.linuxfoundation.org&#x2F;wp-content&#x2F;uploads&#x2F;2017&#x2F;1...</a><p>It is true that it’s better than the closed-source stuff they’re using, has better tooling, folks understand it better, and so on. All true.<p>“We need open source firmware for the network interface controller (NIC), solid state drives (SSD), and base management controller (BMC).”<p>The problem with this and Intel&#x2F;AMD internals are that they’re secretive partly to avoid patent suits and new competition. You’re not getting this stuff opened. Not easily at least. Might be better to literally do a closed-source product for them vetted by multiple parties. Otherwise, get the actual specs under NDA to build the open-source code against in a way that doesn’t leak the specs a lot. Alternatively, gotta build your own hardware doing this yourself with whatever the I.P. vendors give you. I mean, good luck on the reverse engineering efforts but these are usually lagging behind.<p>“We need to have all open source firmware to have all the visibility into the stack but also to actually verify the state of software on a machine.”<p>You actually need open, secure hardware for that since attackers are now hitting hardware. I kept telling people this would happen. Just wait till they do analog and RF more. What she’s actually saying here is “verify the state of the machine if the hardware works and is honest and doesn’t do anything malicious between verifications.”<p>“ is the same code running on hardware for all the various places we have firmware. We could then verify that a machine was in a correct state without a doubt of it being vulnerable or with a backdoor.”<p>Case in point: I put a secret coprocessor on the machine for “diagnostic purposes,” it can read state of system, it can leak over RF or network, and we leak stuff out of that signed, crypto code. Good thing no major vendors are including hidden or undocumented coprocessors on their chips. ;)<p>“Chromebooks are a great example of this, as well as Purism computers. You can ask your providers what they are doing for open source firmware or ensuring hardware security with roots of trust.”<p>End with some good advice: buy stuff that’s more open and secure to get more of it. Market demand incentivizing suppliers. That could solve a lot of these problems if enough people do it.