PCIe 5.0 spec released

Only PCI-SIG members can view this document.

PCIe 5.0 Specification Highlights:

  • Delivers 32 GT/s raw bit rate and up to 128 GB/s via x16 configuration
  • Leverages and adds to the PCIe 4.0 specification and its support for higher speeds via extended tags and credits
  • Implements electrical changes to improve signal integrity and mechanical performance of connectors
  • Includes new backwards compatible CEM connector targeted for add-in cards
  • Maintains backwards compatibility with PCIe 4.0, 3.x, 2.x and 1.x

https://www.businesswire.com/news/home/20190529005766/en/PCI-SIG%C2%AE-Achieves-32GTs-New-PCI-Express%C2%AE-5.0

https://pcisig.com/specifications

Reverse-engineering Samsung S10 TEEGRIS TrustZone OS


[…]I’ve been working on reverse engineering and documenting the S-Boot bootloader and TrustZone OS from the Exynos version of Samsung Galaxy S10.
TLDR: I can now run S-Boot and TEEGRIS TrustZone TAs in QEMU but too lazy to find bugs.[…]

http://allsoftwaresucks.blogspot.com/2019/05/reverse-engineering-samsung-exynos-9820.html

SpecFuzz: tool that enables dynamic testing for speculative execution vulnerabilities (e.g., Spectre)

SpecFuzz is the first tool that enables dynamic testing for speculative execution vulnerabilities (e.g., Spectre). The key is the concept of speculation exposure: The program is instrumented to simulate speculative execution in software by forcefully executing the code paths that could be triggered due to mispredictions, thereby making the speculative memory accesses visible to integrity checkers. Combined with the conventional fuzzing techniques, speculation exposure enables more precise identification of potential vulnerabilities compared to the state-of-the-art static analyzers. Our prototype for detecting Spectre V1 vulnerabilities successfully identifies all known variations of Spectre V1, and dramatically reduces the overheads compared to the deployed Speculative Load Hardening mitigation across the evaluated applications, reducing the amount of necessary instrumentation by 99% in some of them.

https://arxiv.org/abs/1905.10311

.

Intel AMT security best practices

Instead of the ‘disable it and presume everything is fine’ approach, I’ve been looking around for something like an Intel AMT/ME Security Best Practices document, to help sysadmins (and end users) secure that processor as much as possible. A friend at Intel found this, closest-fit document, with AMT configuration information, that is interesting to read. First released in 2015, last updated Janurary 2019.

Deployment GUIDE
Intel® Setup and Configuration Software (Intel® SCS)

This deployment guide is an instructional document providing simple steps to enable the discovery, configuration and maintenance of Intel® Active Management Technology (Intel® AMT) platforms using Intel® Setup and Configuration Software (Intel® SCS). Intel® AMT operates independently of the CPU and the firmware is delivered in an un-configured state. Intel® SCS is provided by Intel to support the setup and configuration of the firmware for the target environment and enable remote, out-of-band access to Intel® AMT features. Guidance is provided to enable a baseline implementation of Intel® AMT and identifies common configuration settings to support an enterprise deployment that take advantage of the manageability and security features available on platforms that support Intel® AMT and Intel® Standard Manageability. After configuration, Intel® AMT systems can be remotely managed by products, toolsets and solutions including Microsoft System Center Configuration Manager, Microsoft PowerShell, and Intel® Manageability Commander.

Click to access Intel_SCS_Deployment_Guide.pdf

Pitchfork: detect Spectre vulnerabilities using symbolic execution, uses angr

Pitchfork is a static analysis tool, built on angr, which performs speculative symbolic execution. That is, it not only executes the “correct” or “sequential” paths of a program, but also the “mispredicted” or “speculative” paths, subject to some speculation window size. Pitchfork finds paths where secret data is used in either address calculations or branch conditions (and thus leaked), even speculatively – these paths represent Spectre vulnerabilities. Pitchfork covers Spectre v1, Spectre v1.1, and theoretically Spectre v4 (the code for v4 is here, but hasn’t been tested).

https://github.com/cdisselkoen/pitchfork

Kees Cook on Linux 5.0 security features

Kees has another blog post with security feature delta for the latest Linux kernel:

https://outflux.net/blog/archives/2019/05/27/security-things-in-linux-v5-1/

PSPTool: Display, extract and manipulate AMD PSP UEFI firmware

PSPTool is a Swiss Army knife for dealing with firmware of the AMD Secure Processor (formerly known as Platform Security Processor or PSP). It locates AMD firmware inside UEFI images as part of BIOS updates targeting AMD platforms. It is based on reverse-engineering efforts of AMD’s proprietary filesystem used to pack firmware blobs into UEFI Firmware Images. These are usually 16MB in size and can be conveniently parsed by UEFITool. However, all binary blobs by AMD are located in padding volumes unparsable by UEFITool. PSPTool favourably works with UEFI images as obtained through BIOS updates.

https://github.com/cwerling/psptool

VxHunter: firmware analysis tool for VxWorks-based embedded devices, supports Ghidra and IDA

VxHunter: A ToolSet for VxWorks Based Embedded Device Analyses. The firmware analyze tool is plugins written in Python, mainly used for analyze firmware loading address, fix function name with symbol table and etc.[…]

https://github.com/dark-lbp/vxhunter

PS: See also an ICS security tool by the same author, based on Routersploit:

https://github.com/dark-lbp/isf

TEE Exploitation on Samsung Exynos devices (I/IV) : Introduction



Part 1 of a series of posts on exploiting Trusted Applications on the Samsung Galaxy S9 TEE. Over the next couple of posts we are going to explain our research into exploitation of Trusted Applications on the Kinibi Trusted Execution Environment (TEE) used by Samsung on their Exynos devices up to the Galaxy S9. These same results have been presented at zer0con and Infiltrate 2019[…]

https://labs.bluefrostsecurity.de/blog/2019/05/27/tee-exploitation-on-samsung-exynos-devices-introduction/
https://labs.bluefrostsecurity.de/files/TEE.pdf

Verification of Authenticated Firmware Loaders

By: Sujit Kumar Muduli Pramod Subramanyan, Sayak Ray

An important primitive in ensuring security of modern systems-on-chip designs are protocols for authenticated firmware load. These loaders read a firmware binary image from an untrusted input device, authenticate the image using cryptography and load the image into memory for execution if authentication succeeds. While these protocols are an essential part of the hardware root of trust in almost all modern computing devices, verification techniques for reasoning about end-to-end security of these protocols do not exist. In this paper, we take a step toward addressing this gap by introducing a system model, adversary model and end-to-end security property that enable reasoning about the security of authenticated load protocols. We then present a decomposition of the security property into two simpler hyperproperties. This decomposition enables more scalable verification. Experiments on a protocol model demonstrate viability of the methodology.

Click to access 564.pdf

Microsoft Azure: UEFI-based boot VMs available

Good new, the long awaited UEFI-based boot support for Azure virtual machine is now available in preview. The UEFI-based boot support was added to on-premises Hyper-V since Windows Server 2012 R2, quite long time ago and since then we have been waiting for this on Azure. The new generation (aka generation 2) of Azure virtual machine introduces this support alongside of: […] and off course, support of SecureBoot and vTPM (virtual trusted platform module). Unfortunately, the support for VHDX is still not there. […] Complete list of support and limitations is available here https://docs.microsoft.com/en-us/azure/virtual-machines/windows/generation-2 (side note, it seems the documentation is not completely correct at the time of writing as SecureBoot and vTPM are still listed as unsupported).[…]

https://www.hametbenoit.com/2019/05/21/azure-uefi-based-boot-virtual-machine-now-available-in-preview/

https://docs.microsoft.com/en-us/azure/virtual-machines/windows/generation-2

Redfish Version 2019.1 released

DMTF has released v2019.1 of Redfish, which includes 19 schema updates, revisions to the Redfish specification, and additional developer resources:

Redfish Schema Bundle (updated)
Redfish Specification (updated)
Redfish 2019.1 Overview (updated)
Redfish Resource and Schema Guide (updated)
Redfish Release History (updated)
Redfish Property Guide (new document)

https://www.dmtf.org/content/redfish-version-20191-now-available

https://www.dmtf.org/standards/redfish

Intel releases Host-based Firmware Analyzer (HBFA)

https://software.intel.com/en-us/blogs/2019/02/25/using-host-based-analysis-to-improve-firmware-resiliency
https://github.com/tianocore/edk2-staging/tree/HBFA
https://firmware.intel.com/sites/default/files/Intel_UsingHBFAtoImprovePlatformResiliency.pdf

Exciting!

[…]Computer platform firmware is a critical element in the root-of-trust. Firmware developers need a robust tool set to analyze and test firmware components, enabling detection of security issues prior to platform integration and helping to reduce validation costs. HBFA allows developers to run open source advanced tools, such as fuzz testing, symbolic execution, and address sanitizers in a system environment. Supported Features:
* GUI and command-line interfaces
* Execute common fuzzing frameworks (AFL, libFuzzer, Peach)
* Supports symbolic execution (KLEE/STP)
* Incorporates Address Sanitizer
* Unit test execution via Cunit/Cmocka/Host directly
* Generate code coverage report (GCOV/LCOV in Linux, DynamoRIO in Windows)
* Instrumentation methods for fault injection and trace
* Database of unit test cases
* Test reports with extended stack trace information
* Windows support

WooKey project: building trusted USB devices and IoTs


The WooKey project aims at prototyping a secure and trusted USB mass storage device featuring user data encryption and strong user authentication, with fully open source and open hardware foundations. The Wookey is a custom STM32 based USB thumb drive with mass storage capabilities designed for user data encryption and protection, with a full-fledged set of in-depth security defenses[…].

https://github.com/wookey-project

https://wookey-project.github.io/

Improving security of the FreeBSD boot process

Found the paper online, but have not found the video online (from either AsiaBSDCon or BSDCan) yet…

The talk describes recent security additions in the FreeBSD boot process. It will describe describe UEFI Secure Boot support in the FreeBSD loader and kernel. The loader is now able to parse UEFI databases of keys and certificates which are used to verify a signed FreeBSD kernel binary, using BearSSL as the cryptographic backend. FreeBSD veriexec capability is employed to verify various userland binaries and conguration files – it was extended with the ability to use UEFI trust anchors as a base for veriexec manifest verification Additionally, TPM 2.0 devices are now supported in FreeBSD. They are most often referred to in the context of a measured boot, i.e. secure measurements and attestation of all images in the boot chain. The basic features of TPM will be described, as well as some caveats and shortcomings which may have contributed to its limited adoption. The presentation will include practical TPM use case, such as hardening Strongswan IPSec tunnels by performing IKE-related cryptographic operations within the TPM, using private keys which never leave the device.

https://papers.freebsd.org/2019/asiabsdcon/wojtas-improving_security_of_the_freebsd_boot_process/

https://www.bsdcan.org/2019/schedule/events/1070.en.html

Cisco Secure Boot Hardware Tampering Vulnerability (CVE-2019-1649, cisco-sa-20190513-secureboot)

First Published: 2019 May 13 17:30 GMT
Last Updated: 2019 May 16 20:00 GMT
Workarounds: No workarounds available

A vulnerability in the logic that handles access control to one of the hardware components in Cisco’s proprietary Secure Boot implementation could allow an authenticated, local attacker to write a modified firmware image to the component. This vulnerability affects multiple Cisco products that support hardware-based Secure Boot functionality. The vulnerability is due to an improper check on the area of code that manages on-premise updates to a Field Programmable Gate Array (FPGA) part of the Secure Boot hardware implementation. An attacker with elevated privileges and access to the underlying operating system that is running on the affected device could exploit this vulnerability by writing a modified firmware image to the FPGA. A successful exploit could either cause the device to become unusable (and require a hardware replacement) or allow tampering with the Secure Boot verification process, which under some circumstances may allow the attacker to install and boot a malicious software image. This advisory will be updated as additional information becomes available. Cisco will release software updates that address this vulnerability. There are no workarounds that address this vulnerability.

https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20190513-secureboot

A bit more on MDS

https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/mds.html

https://software.intel.com/security-software-guidance/insights/deep-dive-intel-analysis-microarchitectural-data-sampling

https://software.intel.com/security-software-guidance/software-guidance/microarchitectural-data-sampling

https://portal.msrc.microsoft.com/en-us/security-guidance/advisory/adv190013/adv190013

https://access.redhat.com/security/vulnerabilities/mds

https://blog.ubuntu.com/2019/05/14/ubuntu-updates-to-mitigate-new-microarchitectural-data-sampling-mds-vulnerabilities

https://support.apple.com/en-us/HT210107

https://blogs.oracle.com/security/intelmds

https://docs.cloud.oracle.com/iaas/Content/Security/Reference/MDS_response.htm

https://en.wikipedia.org/wiki/Microarchitectural_Data_Sampling

MDS Tool: find out if you are vulnerable to Microarchitectural Data Sampling Attacks (MDS)