Most people think of the National Security Agency as the home of operational intelligence gathering. But many people are unaware of the research that it has done and released to the public. The Security Enhanced Linux module is one older but still quite viable example. Ghidra is a malware reverse-engineering open source tool, that was released as open source by the NSA at this year's RSA conference.
Now, NSA is looking at firmware. Firmware has become an attractive target for attackers since it can slip around most defensive measures. ESET found a UEFI rootkit in the wild for the first time last year.
Also, firmware has to run in an extremely privileged mode to do its functions, which means it may have access to everything in the computer.
Ghidra is being used by the Coreboot open source project as one of its central elements in securing firmware. Ghidra modules will allow loading PCI option ROMs into Ghidra along with firmware images and scripts to aide in the UEFI binary reverse engineering.
Eugene Myers, who works in the National Security Agency's Laboratory for Advanced Cybersecurity, is developing firmware hardening that will show up In the Coreboot project. He will be heading up the SMI Transfer Monitor with protected execution (STM-PE) project that will work with x86 processors that run Coreboot.
The STM is a hypervisor, so it can isolate physical hardware from a computer's operating system.
The STM takes the operating code and puts it in a "box" so it can only access the device system that it needs. It lives inside the System Management Mode, which is a "ring -2" isolated environment offering protected execution against tampering of low-level services. The low-level services might include power management, security functions, calls to the Trusted Platform Module and the like.
This particular approach has been under development for the last seven years. Myers wrote a paper in 2018 describing the work that had been done on the Intel x86. Intel released the STM specification and documentation of the SMT firmware security feature as open source in 2015.
The idea of using the open source mechanism should serve as a way for anyone to verify that there is no backdoor in there put in by the NSA. That is, if the examiner is qualified and competent to do so. The NSA has previously snuck in computation methods (like doctored ECC curves) inside some released work which contained backdoors that were known to it. Therefore, they would be at an advantage dealing with any adversary that used their released work for everyday use.
Myers may have dealt with that objection by finding a way for anyone to build out their own STM and not use the NSA version, even Linux users. That Linux version is now up on GitHub.
— Larry Loeb has written for many of the last century's major "dead tree" computer magazines, having been, among other things, a consulting editor for BYTE magazine and senior editor for the launch of WebWeek.