Protecting Network Equipment Guy C Fedorkow, Juniper Networks May 3, 2017 ESC Minneapolis
Agenda What is the Trusted Computing Group? What’s the threat? The importance of locking down firmware Networking applications for TCG Technology References
Who is the Trusted Computing Group? You know TCG for our technical specs & guidance such as: Trusted Platform Module (TPM 2.0) Self Encrypting Drive (SED) Trusted Network Connect (TNC) The Trusted Computing Group (TCG) is an international industry standards group focused on Trusted Computing since its founding in 2003. ISO/ IEC
TCG = Open Standards for Trusted Computing TCG is the only group focused on trusted computing standards TPM specification implemented in more than a billion devices Chips integrated into PCs, servers, printers, kiosks, industrial systems, and many embedded systems
The Threat Networked Equipment has become critical infrastructure Threats include Unauthorized devices that can gain access to networked data Unauthorized code that can interfere with safe operation Firmware implants that can render attacks invisible and unremovable E.g: Ukraine Power System Attack Coordinated attacks on controllers, embedded gear and even the call center Some networking equipment permanently disabled https://www.wired.com/2016/03/inside-cunning-unprecedented-hack-ukraines-power- grid/ http://www.nerc.com/pa/CI/ESISAC/Documents/E- ISAC_SANS_Ukraine_DUC_18Mar2016.pdf E.g. Dyn DNS Attack Hundreds of thousands of IoT devices pirated to attack Dyn’s DNS servers https://en.wikipedia.org/wiki/2016_Dyn_cyberattack
Securing Infrastructure Today’s Scope: Embedded systems like routers, firewalls, switches, industrial controllers It’s important to consider security at all levels But particularly Firmware and Identity Part One – securing firmware Part Two – Using the TPM
Secure Boot Defined Secure Boot(*) is a process that ensures that the device boots an unmodified, authorized image. Secure Boot is achieved by providing an unbroken “chain of trust” from the first instruction executed after Reset through to the OS prompt. BIOS checks Loader Signature before handoff Loader checks Kernel Signatures before handoff Start BIOS Initialize hardware Check Loader Signature Run Loader Locate OS Image Check Kernel Signatures Kernel Start OS (eg Linux) Check and run Daemons *aka Verified Boot Core Root of Trust
Firmware Attacks Why so much focus on firmware attacks? It’s the first link in the chain of trust If you skip a link in the chain, that invalidates the rest Firmware Hacks are usually persistent Firmware is not usually updated or examined Good for stealthy attacks Hacks can be un-removable* The BIOS updates the BIOS So if it doesn’t want to, it won’t *Without a hardware programmer
Securing Firmware Two Simple Steps: Make sure that the OS cannot modify firmware This usually needs some kind of hardware help to lock boot flash memory Make sure that the BIOS (or uBoot or whatever) won’t update itself without checking a signature on the new image.
Trusted Platform Module: The Standard Hardware Root of Trust Trusted Platform Module (TPM) Self-contained security processor Inexpensive & small (~1 watt, ~$1) Connects to inexpensive processor buses TPM Provides: Secure storage of boot state (i.e. hashes of objects) Secure storage of cryptographic secrets (e.g. private keys) Cryptographic-quality Random Number Generator Includes resistance to physical attack, i.e., reverse- engineering, to keep private keys private Specified by Trusted Computing Group industry consortium
TCG Network Equipment Guidance TCG Guidance for Securing Network Equipment Document under development by TCG members including those involved in Networking Juniper, Cisco, Huawei, HP and others Intended to help equipment vendors use TCG technology to secure network infrastructure
Applications for TPM in Networked Gear Cryptographic Random Number Generator Sealing Secrets Cryptographic Device Identification Software Attestation / Health-Check … And many others
Random Number Generator - Essential for Secure Protocols Protocols like IPsec, SSH, SSL and TLS use cryptographic keys Keys are often generated within the embedded device itself Keys are like passwords: if you can guess the key, you can break the protocol Cryptographic keys are typically generated from random numbers Without hardware help, computer algorithms can only generate Pseudo-Random sequences, not truly random numbers. Most TPMs contain a physical source of randomness (aka entropy) which can be used to generate reliable keys.
Sealing Secrets - Ensure that secrets remain secret! The TPM can be used to protect secrets like: VPN shared-secret keys Disk Encryption keys Program the TPM so it will only decrypt the secrets for use when the platform is in a specified state, e.g. Known, unmodified OS And/or specific platform configuration And/or user password
IEEE802.1AR Device Identity - Proves Which Device is Which Many embedded devices are ‘remote’ and difficult to protect or even identify reliably. The TPM can be programmed with a unique cryptographic identifier based on device serial number Based on IEEE spec 802.1AR Public Key Cryptography allows the TPM to assert its identity And then prove possession of a difficult-to-steal private key stored inside the TPM
How Would a DevID be Used? Inventory – Ensure the devices you put in place are still there VPN login – Use DevID for remote login, so only authorized devices are allowed on your network Zero-Touch Configuration – Ensure that only authorized devices can call in to obtain configuration Software licensing and feature activation – ensure that only authorized devices can run value-add features
Attestation and Measured Boot - Proves What Software was Launched on your Device Secure Boot works well for deterministic early stages of boot But multi-core processors tend to be less predictable once the OS layer starts up The TPM can be used to record “measurements” of each executable run The TPM can then return those measurements to a management station later, signed by a key that only the TPM can know “Attestation” provides cryptographic assurance of which executables actually were run.
What Can You Do? Lock down your firmware Use a cryptographic Random Number Generator Use DevID to identify embedded devices See NetEq Synopsis for more on securing network equipment http://www.trustedcomputinggroup.org/wp- content/uploads/NetEq-Synopsis_1_0r3.pdf Join TCG to go deep into the topic Contribute to the work!
More Info TCG: www.trustedcomputinggroup.org NetEQ docs: http://trustedcomputinggroup.org/work-groups/embedded- systems/ TPM docs: http://trustedcomputinggroup.org/work-groups/trusted-platform- module/ http://forums.juniper.net/t5/Security-Now/What-is-a-Trusted-Platform-Module- TPM/ba-p/281128 http://forums.juniper.net/t5/Security-Now/What-s-the-Difference-between- Secure-Boot-and-Measured-Boot/ba-p/281251 TPM & secure boot: https://technet.microsoft.com/en-us/itpro/windows/keep-secure/tpm-recommendations https://msdn.microsoft.com/en- us/windows/hardware/commercialize/manufacture/desktop/secure-boot-overview
Thank You! Questions? @ESC_Conf ESC Minneapolis
Contacting Trusted Computing Group www.trustedcomputinggroup.org admin@trustedcomputinggroup.org LinkedIn Trusted Computing Group: https://www.linkedin.com/groups/4555624 Twitter: @TrustedComputin YouTube channel: https://www.youtube.com/user/TCGadmin BrightTalk webcasts (free): www.brighttalk.com, search “trusted computing” for library of demonstrations and presentations