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-security
According 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
Technologies
http://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
and
for business ,including Computrace, are at
http://www.intel.com/content/www/us/en/architecture-and-technology/anti-theft/anti-theft-service-providers-enterprise.html;
notebook
models supported are listed in
http://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 codebreaking
unnecessary.
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 machines
lying 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 and
attack vectors associated with the UEFI,
https://www.sans.org/reading-room/whitepapers/services/analysis-building-blocks-attack-vectors-unified-extensible-firmware-34215?sho
w=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-type
operating 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 to
OS-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 presentation
at 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
http://www.youtube.com/watch?v=G26oZtzluAQ.) 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 also
Persistent BIOS infection at CanSecWest 2009
http://exploiting.wordpress.com/2009/03/23/cansecwest-was-great-here-the-presentation-slides/
and
http://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 a
remanufactured 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 advanced
persistent threat and all our BIOS is belong to them.
###
--
Find the best InfoSec talent without breaking your
recruiting budget! Post a Job, $99 for 31 days.
Hot InfoSec Jobs - http://www.hotinfosecjobs.com/