Nytro Posted September 27, 2013 Report Posted September 27, 2013 (edited) Forwarded from: Marjorie Simmons <lawyer (at) marjoriesimmonsesq.com>A Friday muse for the equinox:As everyone not living under a rock now knows, the NSA is an APT (advanced persistent threat): "[t]hrough covert partnerships with tech companies, the spy agencies have inserted secret vulnerabilities into encryption software."http://www.theguardian.com/world/2013/sep/05/nsa-gchq-encryption-codes-securityAccording to the materials The Guardian published online, in one of the briefings between the NSA and GCHQ to "celebrate their success at 'defeating network security and privacy'", the NSA's material states: "For the past decade, NSA has lead an aggressive, multi-pronged effort to break widely used Internet encryption technologies". The 'multi-pronged' language makes sense, since traditionally one doesn't simply rely on a single avenue of attack in an effort to undermine an enemy.So, in raping the sacred cow of crypto, what might one of the prongs be? What's least path of resistance? I had a recent reason to think about that, and decided on the BIOS. Awhile back I was close to someone who turned out to be a conspiracy-theorist, (and I had quite enough of that, thank you very much), but there are instances when the adage that "just because you're paranoid doesn't mean they're not out to get you" has a certain ring of truth to it. (I imagine all the conspiracy-theorists threw a "there is a god!"party when The Guardian published the recent news.)In the last few weeks I was offered a BIOS update for an x64 i7 notebook built in 2011 which runs Windows 7. The BIOS is set up to optionally use UEFI (Unified Extensible Firmware Interface) boot mode, which on this machine is disabled by default. It also has an option for enabling Intel's AMT (Active Management Technology), which is enabled by default and has an option to disable it, but no option to enable or disable the similar and dependant Computrace/LoJack anti-theft functions that are also burned into BIOS by the manufacturer. I knew this machine had the LoJack modifications to the BIOS chip because the hardware manufacturer's security software offers the use of LoJack within security setup once the user is already within the OS. Given the well-documented security threat that LoJack presents, one wants to disable it but cannot do so easily as one can with the precursor AMT, which is (or at least appears to be) more transparent. You never know though: Researchers can slip an undetectable trojan into Intel's Ivy Bridge CPUs, http://arstechnica.com/security/2013/09/researchers-can-slip-an-undetectable-trojan-into-intels-ivy-bridge-cpus/.For those unaware, the Computrace/LoJack product is anti-theft tracking software that periodically connects to Absolute Software's servers (the makers/licensors of LoJack) to announce its location and to check to see if the machine has been reported stolen. It can report such things, besides georeferencing, as installed software and encryption status, and perform file retrieval. (http://www3.absolute.com/Shared/Datasheets/CT-MX-E.sflb.ashx) The smart people who hacked it show how it can be reconfigured to further undesirable ends, see Deactivate the rootkit - Black Hat Vegas 2009 - Exploiting Stuff: http://web.archive.org/web/20120316214910/http://exploiting.wordpress.com/2009/09/11/138/, and The BIOS-Embedded Anti-Theft Persistent Agent that Couldn't: Handling the Ostrich Defense - Core Security Technologieshttp://web.archive.org/web/20120226125347/http://blog.coresecurity.com/2009/08/11/the-bios-embedded-anti-theft-persistant-agent-that-couldnt-response-handling-the-ostrich-defense/.LoJack (and some of its competitors products, of which there aren't many) comes preinstalled in the BIOS of Acer, Asus, Dell, Fujitsu, Gateway, HP, Lenovo, Panasonic, Samsung, and Toshiba machines, among others, (product partners with model numbers are listed at http://www.absolute.com/en/partners/bios-compatibility.aspx, Intel's anti-theft partners for consumer machines, including LoJack, are at http://www.intel.com/content/www/us/en/architecture-and-technology/anti-theft/anti-theft-service-providers.html andfor business ,including Computrace, are athttp://www.intel.com/content/www/us/en/architecture-and-technology/anti-theft/anti-theft-service-providers-enterprise.html; notebookmodels supported are listed inhttp://www.intel.com/content/dam/www/public/us/en/documents/datasheets/anti-theft-tested-platforms-support-datasheet.pdf).While it wouldn't make economic sense for Absolute to track a machine whose owner hasn't paid the licensing fee, any rootkit exploiting LoJack's weaknesses in the BIOS implementation would find it a neat way to own a machine while bypassing all OS-level protections, directing in-and-outbound traffic through servers of their choice. I'm confident the BIOS geeks at the NSA are tickled pink with it and are all up in its stuff, especially given the documented ownability of it -- because it makes codebreakingunnecessary.Fifteen years ago the Chernobyl virus targeted systems' BIOS causing an estimated $1 billion US dollars in commercial damages alone, as for Stuxnet, though eschewing the BIOS in favor of a badass PLC, who knows its ultimate costs? The damage that an effective rootkit using BIOS or targeting chipsets could do, now, is staggering, when you think about it. There's been plenty of time for the NSA to consider the possibilities, and plenty of incentive given the demographic of millions of Computrace/LoJack-affected machineslying in wait for the cloak and dagger crowd to work their magic.LoJack is enabled on notebooks by default, currently working through architecture like Intel's AMT, and stays 'dormant' until one purchases a license for it (I didn't), at which point Absolute's software will instruct the affected BIOS to copy an existing downloader from the BIOS flash ROM (usually named rpcnetp.exe) to %WINDIR%\System32; on some machines rpcnetp.exe is preinstalled with the OS on the unit's hard drive prior to shipment from the factory. When activated, rpcnetp.exe downloads the agent rpcnet.exe and installs it as a service. The enable/disable state of the persistence module is stored in a part of the BIOS that cannot be flashed to remove it, and in this way provides a no-touch method for it being a primary and persistent threat tool if it is compromised. (http://www.absolute.com/en/resources/faq/absolute-computrace-technology). Presumably, disabling AMT disables the vehicle which drives the LoJack functions, but since Intel's Ivy Bridge has already been compromised, LoJack could still jack a box with a compromised Ivy Bridge even if it or AMT is showing "disabled" in a BIOS.UEFI, a specification defining a software interface between an operating system and platform firmware, at the same time offers an architecture to build better security but also presents a common base for targeting attacks. (Analysis of the building blocks andattack vectors associated with the UEFI,https://www.sans.org/reading-room/whitepapers/services/analysis-building-blocks-attack-vectors-unified-extensible-firmware-34215?show=analysis-building-blocks-attack-vectors-unified-extensible-firmware-34215&cat=services.) UEFI has many detractors because it takes the control of machine out of the hands of its owner, for instance, Ronald Minnich (co-author of coreboot) and Cory Doctorow have continually criticized EFI as an attempt to remove the ability of a computer's owner to truly control it. (https://archive.fosdem.org/2007/interview/ronald+g+minnich) Of course, for Windows 8, Microsoft's certification requirements require that computers' firmware implement UEFI, and if they support 'Connected Standby' in Windows 8, then the firmware isn't allowed to contain a compatibility mode, so systems supporting connected standby are not capable of booting 'legacy' BIOS-typeoperating systems: "An OEM may not ship a 64-bit system which defaults to legacy BIOS or loads legacy option ROMs if that system ships with a UEFI-compatible OS",nor can they indicate connectivity in standby mode: "Systems that support Connected Standby must not include a light indicating the status of the radios in the system",(ostensibly in order to conserve energy); and a "LAN device on systems that support Connected Standby must deliver reliable connectivity in Connected Standby"because "[t]he intent of a system that supports connected standby is that it is always connected to the cloud, whether the system is fully powered or in connected standby".(http://web.archive.org/web/20120802023617/http://msdn.microsoft.com/en-us/library/windows/hardware/jj128256.aspx) I'm confident the UEFI programmers at the NSA are delighted about this, because if they can compromise a Windows 8 machine running Computrace/LoJack, they can perform I/O operations while the machine is in connected standby with no indication to the user or toOS-dependent anti-malware programs of their traffic.So I look at this machine and then at my Linux machines and think it really is past time to ditch Windows entirely, but I need to use it because clients use Windows software that I can't run under Wine, and I can't pry them off Windows, though I've tried. Linux though, is also vulnerable to pre-OS attacks in a similar way. This machine also has, like my Linux AMD boxes, a BIOS option of using ACPI (Advanced Configuration and Power Interface) for SATA. ACPI has its own high-level interpreted language that can readily be used to code a rootkit and store key attack functions in the BIOS. Six years ago John Heasman documented this in his presentationat LayerOne on BIOS rootkits. (Researchers: Rootkits headed for BIOS,http://web.archive.org/web/20080724122321/http://www.securityfocus.com/news/11372 and see his presentation .) Heasman also presented at BlackHat the same year, Hacking the Extensible Firmware Interface, http://web.archive.org/web/20091211100105/http://www.ngssoftware.com/research/papers/BH-VEGAS-07-Heasman.pdf. (See alsoPersistent BIOS infection at CanSecWest 2009http://exploiting.wordpress.com/2009/03/23/cansecwest-was-great-here-the-presentation-slides/ andhttp://www.theregister.co.uk/2009/03/24/persistent_bios_rootkits/.)Although ACPI is a platform-independent open technology standard, its implementation is most often closed source, and with the 'covert partnerships' the NSA has a history of making with vendors, I'm confident the NSA's ACPI programmers are seeing what they can make of ACPI's usefulness even in its basic features, including in Linux, such as elevating privileges and reading physical memory, using their own procedures that replace legitimate functions stored in flash memory, and other such treats. (See, Researcher creates proof-of-concept malware that infects BIOS, network cards,http://www.cso.com.au/article/432041/researcher_creates_proof-of-concept_malware_infects_bios_network_cards/,What You Need to Know About Linux Rootkits, http://www.linuxsecurity.com/content/view/154709/171/; and,Ultimate PC security requires UEFI -- and Windows 8 or Linux,http://www.infoworld.com/d/security/ultimate-pc-security-requires-uefi-and-windows-8-or-linux-215048.)Because through all the usual and some creative means I wasn't able to update the BIOS on this machine, the situation occasioned a call to the vendor's support line and ultimately they decided the machine needed a new motherboard. Though I told the (major market-player) vendor I wanted a board without the LoJack mods to the BIOS, they said they would try but couldn't guarantee I'd get a clean board. This was like reminding them the machine is still under warranty so they must provide a new board and not aremanufactured one, and they say, "We'll try ...".I sigh realizing that Linux or Windows or Mac, it doesn't matter. Without an easy and timely method to hash a BIOS for everyone to make sure it hasn't been modified with unwanted instructions, and without open source hardware industry standards that are implemented as a matter of course in a transparent manner, the NSA and its far flung equivalents will continue to be an advancedpersistent threat and all our BIOS is belong to them.###--Find the best InfoSec talent without breaking yourrecruiting budget! Post a Job, $99 for 31 days.Hot InfoSec Jobs - http://www.hotinfosecjobs.com/ Edited September 27, 2013 by Nytro Quote