Post-Domas Intel BIOS update

Intel has released some BIOS updates after Domas’ recent vulnerability:

Domas’ x86 vulnerability

Title: Local APIC Elevation of Privilege
Intel ID: INTEL-SA-00045
Impact of vulnerability: Elevation of Privilege
Severity rating:  Important
Original release:  Aug 04, 2015

Intel is releasing mitigations for a privilege escalation issue. This issue affects certain Intel processors based on older Intel micro-architectures. The issue identified is a method that enables malicious code to gain access to SMM. An issue was disclosed to Intel which leverages architectural differences in processors prior to 2nd Generation Intel Core Processors to gain access to SMM. Administrator or root level privileges are required to execute the attack.
 
Affected products: Intel Server Board S5500BC, Intel Server Board S5500HCV, Intel Server Board S5500HV, Intel Server Board S5500WB, Intel Server Board S5520HC, Intel Server Board S5520HCT, Intel Server Board S5520UR, Intel Workstation Board S5520SC
    
Intel highly recommends applying the mitigations.
 
Intel would like to acknowledge Christopher Domas of Battelle for working with us on this coordinated disclosure.

https://security-center.intel.com/advisory.aspx?intelid=INTEL-SA-00045&languageid=en-fr

Intel ATR research on hypervisor vulnerability

As mentioned earlier, one of the interesting firmware talks at DC/BHB was on hypervisor vulnerabilities. The slides from the talk are now available:

Attacking Hypervisors Using Firmware and Hardware
Yuriy Bulygin, Mikhail Gorobets, Alexander Matrosov, Oleksandr Bazhaniuk, Andrew Furtak

In this presentation, we explore the attack surface of modern hypervisors from the perspective of vulnerabilities in system firmware such as BIOS and in hardware emulation. We will demonstrate a number of new attacks on hypervisors based on system firmware vulnerabilities with impacts ranging from VMM DoS to hypervisor privilege escalation to SMM privilege escalation from within the virtual machines. We will also show how a firmware rootkit based on these vulnerabilities could expose secrets within virtual machines and explain how firmware issues can be used for analysis of hypervisor-protected content such as VMCS structures, EPT tables, host physical addresses (HPA) map, IOMMU page tables etc. To enable further hypervisor security testing, we will also be releasing new modules in the open source CHIPSEC framework to test issues in hypervisors when virtualizing hardware.

Click to access AttackingHypervisorsViaFirmware_bhusa15_dc23.pdf

http://www.intelsecurity.com/advanced-threat-research/index.html

DHS announces firmware security grant to Intelligent Automation

Yesterday the DHS announced a contract with Intelligent Automation (i-a-i.com) to work on methods to safeguard firmware, and other code in mobile devices. DHS press release excerpt:

The Department of Homeland Security (DHS) Science and Technology Directorate (S&T) today announced a $1.2 million cybersecurity Mobile Technology Security (MTS) research and development (R&D) award that will help secure mobile devices for the federal government. The Broad Agency Announcement HSHQDC-14-R-B0015, issued by the S&T Cyber Security Division, awarded the contract to Intelligent Automation, Inc. (IAI) of Rockville, Md. to work on mobile security research in device layer protection. “Ensuring that mobile devices used across the public and private sector are secure is a priority for S&T,” said DHS Under Secretary for Science and Technology Dr. Reginald Brothers. “This project will provide an innovative solution for protecting mobile devices from malicious activity.” The MTS award is a part of the Mobile Device Security (MDS) R&D project which aims to accelerate the adoption of secure mobility by government and private sector organizations. The MDS project is developing R&D technologies in mobile device instrumentation, transactional security methods, mobile security management tools and mobile device layer protection.   The mobile device layer protection project will evaluate innovative approaches to protect mobile-device layers – such as firmware, operating system, applications and identity – against infections by malicious applications. IAI will implement a software security solution called TRUsted Monitor and Protection for the multicore Advanced RISC Machines (ARM) platform in an effort to severely impact an attacker’s ability to operate in existing and future mobile devices.

http://www.dhs.gov/science-and-technology/news/2015/08/06/dhs-st-awards-12m-rockville-company
http://i-a-i.com/
http://scitech.dhs.gov/cyber-research

new firmware tool: angr

A new firmware security tool called ‘angr’ was announced at Black Hat Briefings this week:

Angr is a platform-agnostic concolic binary analysis platform developed by the Seclab at the University of California Santa Barbara and their associated CTF team, Shellphish. angr is a multi-architecture binary analysis platform, with the capability to perform dynamic symbolic execution (like Mayhem, KLEE, etc) and various static analyses on binaries. Several challenges must be overcome to do this, and angr has components that meet all of these challenges:
 * Loading a binary into the analysis program.
 * Translating a binary into an intermediate representation (IR).
 * Translating that IR into a semantic representation (i.e., what it does, not just what it is).
 * Performing the actual analysis. This could be:
     + A full-program static analysis (i.e., type inference, program slicing).
     + A symbolic exploration of the program’s state space (i.e., “Can we execute it until we find an overflow?”).
     + Some combination of the above (i.e., “Let’s execute only program slices that lead to a memory write, to find an overflow.”)

The talk:

Using Static Binary Analysis To Find Vulnerabilities And Backdoors in Firmware
Chris Kruegel, Chief Scientist, Lastline
Over the last few years, as the world has moved closer to realizing the idea of the Internet of Things, an increasing number of the analog things with which we used to interact every day have been replaced with connected devices. The increasingly-complex systems that drive these devices have one thing in common ­– they must all communicate to carry out their intended functionality. Such communication is handled by firmware embedded in the device. And firmware, like any piece of software, is susceptible to a wide range of errors and vulnerabilities.

http://angr.io/
https://github.com/angr/angr
http://www.fiercemobileit.com/story/backdoors-firmware-can-leave-iot-devices-open-hackers-researchers-warn/2015-08-07
http://landing.lastline.com/blackhat2015

New HardenedBSD release

A new release of HardenedBSD is available: v28 version of 10-STABLE as well as 11-CURRENT.

HardenedBSD is a security-enhanced fork of FreeBSD, created in 2014 by Oliver Pinter and Shawn Webb. HardenedBSD aims to implement innovative exploit mitigation and security solutions for FreeBSD. The project works with upstream FreeBSD and any other FreeBSD-based project to include any security improvements. NanoBSD is the embedded subset of FreeBSD. FreeBSD — at least the last time I checked — was the only BSD distro that supports UEFI. Recently, HardenedBSD 11-CURRENT was released:
https://hardenedbsd.org/article/oliver-pinter/2015-07-24/hardenedbsd-11-current-amd64-x86-64-installers
https://github.com/HardenedBSD/hardenedBSD

The AArch64 port of FreeBSD has been progressing well. I’ve not built HardenedBSD for AArch64 myself yet, but it appears that someone can, there’s a VM version at least:
https://twitter.com/lattera/status/628701851286962177

AMD releases clSPARSE library

Earlier this week, Kent Knox of AMD announced the beta release of a new library on their blog.

The clSPARSE library, created by AMD in partnership with Vratis Ltd., is an open source sparse linear algebra library that uses OpenCL(TM) to accelerate performance with GPU Compute. clSPARSE expands upon exiting the clMathLibraries offerings: dense clBLAS (Basic Linear Algebra Subprograms), clFFT (Fast Fourier Transform) and clRNG (random number generator), and adds new sparse operations:

* Sparse matrix – dense vector multiply (SpM-dV)
* Sparse matrix – dense matrix multiply
* Iterative conjugate gradient (CG) solver
* Iterative biconjugate gradient stabilized (BiCGStab) solver
* Dense to Compressed Sparse Row (CSR) conversions (and converse)
* Coordinate list (COO) to CSR conversions (and converse)
* Functions to read matrix market files

clSPARSE contains optimized kernels that compute on matrices represented in CSR (Compressed Sparse Row) format. The library provides conversion routines to and from the CSR compressed matrix format, and is the required sparse matrix format to use the SpM-dV multiply, CG or the BiCGStab solvers. clSPARSE exports a C interface which allows developers to build wrappers around clSPARSE in any language they need. This means users do not have to write sparse OpenCL kernels to gain the performance benefits of sparse GPU acceleration. OpenCL fluency is still required. The implementation is abstracted, allowing you to focus on memory placement and transport.

This new AMD open source library uses the ASFv2 (Apache Software Foundation) license, and uses the CMake build tool.

More Information:

http://developer.amd.com/community/blog/2015/08/05/clsparse-beta-released/

Intel Firmware Engine SDK 1.0 for Windows released

Yesterday Intel released the 1.0 SDK for their Firmware Engine.

The Intel(R) Firmware Engine simplifies and accelerates the creation of platform firmware images, allowing developers to quickly deploy platforms based on Intel reference designs. Customers can configure firmware features using a catalog of compatible firmware components, without the need to modify source code. It enables simple changes of the binary image of the firmware from reference platform to derivative product, allowing developers to configure firmware features based on their product customizations. This development process accelerates adding and removing firmware features not found in reference platform, adding third-party components not provided with reference platform, and integrating custom boot payloads. Developers can also extend functionality using the Intel(R) Firmware Engine Software Development Kit (SDK). Existing Intel(R) UDK2014 code can be extended to work with Intel Firmware Engine, allowing silicon component vendors and firmware developers to rapidly extend the Intel Firmware Engine ecosystem.”

http://firmware.intel.com/learn/intel-firmware-engine/downloads
http://firmware.intel.com/sites/default/files/Intel%C2%AE%20Firmware%20Engine%20SDK%20Release%201.0.zip

The Firmware Engine and it’s SDK only work with Microsoft(R) Windows. If you don’t use Windows, you’ll find this SDK useless. I prefer the approach taken with the UEFI Driver Wizard, which was created with a cross-platform GUI (wxWidgets), and source code was released. Focusing on Windows-only developers alienates Mac and Linux (and FreeBSD) OS vendors and developers, all of which have UEFI firmware and may benefit from this engine and it’s SDK.  I wish Intel would target cross-platform developer tools. I wish the sources were available, so the non-Windows community could help Intel to port their code to other OSes.

Thunderstrike 2 research available

The slides from the Black Hat Briefings’ talk on Thunderstrike2 are now online:

This talk won a Pwnie!

Thunderstrike 2: Sith Strike

Click to access ts2-blackhat.pdf

http://legbacore.com/Research_files/ts2-blackhat.pptx
http://legbacore.com/Research_files/ts2-blackhat.key

http://legbacore.com/Research.html
https://trmm.net/Thunderstrike_2

Open Hardware Summit program announced

The Open Hardware Summit is the annual conference of The Open Source Harware Association (OSHWA), the world’s first comprehensive conference on the Open Source Hardware movement. This year’s summit will be on September 19, 2015 in Philadelphia, PA. The speakers and program have just been announced:

Keynote:
* AnnMarie Thomas, Associate Professor in the School of Engineering, the Schulze School of Entrepreneurship, and the Opus College of Business at University of St. Thomas

Science and Education:
* Ben Leduc-Mills. Open Hardware, Open Minds: The Rise of Open Hardware in Academia and K-12 Education
* Nancy Ouyang. The Rise and Fall of an Open Source Hardware Company
* Peter Marchetto. Open Hardware in Community/Citizen Science
* Ryan Fobel, Christian Fobel, Michael Dryden and Aaron Wheeler. DropBot: an Open-Source Platform for Lab Automation
* Joshua Pearce. Making Open Hardware the New Standard in Science
* Hugo Boyer. Open Source Robotics Foundation and the Robotics Fast Track

Workflow: From Chip to Product:
* Eric Wilhelm. Overview
* Sanket Gupta and Sam Wurzel. Common Parts Library
* Andreas Olofsson. Open Source Chip Design: The Final Frontier
* Hannah Stewart and James Tooze. Circularity and Community Factories – Logic and Geographies of Redistributed Manufacture and Makespaces
* J. Eric Townsend (aka jet). Foundation for a Common Object Description Language
* J. Simmons. Demonstration of Open Source Engineering Analysis and Parametric CAD Modeling for OSHW
* Kipp Bradford. Successfully Manufacturing your Open Source Hardware

Case Studies: Projects and Processes:
* Catarina Mota. History of Open Source
* Joshua Lifton. A Tale of Two Laptops: Case Studies in Open Consumer Electronics
* James Parr. ULTRASCOPE: Automated Robotic Observatory (ARO)
* Myles Cooper, Grace Ahn, Elizabeth Doyle and Michael Searing. Investigating Normal – Hacking Prosthetics
* Bevan Weissman and Dan Beyer. Dynamic Infrastructure for Social Innovation

The Role of Open Hardware Going Forward:
* Benedetta Piantella. Humanitarian Open Source Tech Projects
* Bruce Boyes. What the Wright brothers Can Teach us about Open Source vs Closed Source
* Tega Brain and Surya Mattu. Unfit Bits: Free your Fitness Data from Yourself
* Pedro Oliveira and Xuedi Chen. Open Source Riots – Appropriating Technologies for Protests of the Future
* Tom Igoe. Speaking In Tongues and Catching Flies: OSH and Connected Devices

Program

Domas’ x86 vulnerability

UDPATE:

https://github.com/xoreaxeaxeax/sinkhole

Lucian Constantin has two articles (one in Computer World, one in PC World), on Christopher Domas’ Black Hat Briefings presentation.

Design flaw in Intel chips opens door to rootkits
http://www.computerworld.com/article/2962325/computer-processors/design-flaw-in-intel-chips-opens-door-to-rootkits.html
http://www.pcworld.com/article/2965872/components-processors/design-flaw-in-intel-processors-opens-door-to-rootkits-researcher-says.html

The Memory Sinkhole – Unleashing an x86 Design Flaw Allowing Universal Privilege Escalation
Christopher Domas
https://www.blackhat.com/us-15/briefings.html#the-memory-sinkhole-unleashing-an-x86-design-flaw-allowing-universal-privilege-escalation
“In x86, beyond ring 0 lie the more privileged realms of execution, where our code is invisible to AV, we have unfettered access to hardware, and can trivially preempt and modify the OS. The architecture has heaped layers upon layers of protections on these negative rings, but 40 years of x86 evolution have left a labyrinth of forgotten backdoors into the ultra-privileged modes. Lost in this byzantine maze of decades-old architecture improvements and patches, there lies a design flaw that’s gone unnoticed for 20 years. In one of the most bizarre and complex vulnerabilities we’ve ever seen, we’ll release proof-of-concept code exploiting the vast, unexplored wasteland of forgotten x86 features, to demonstrate how to jump malicious code from the paltry ring 0 into the deepest, darkest realms of the processor. Best of all, we’ll do it with an architectural 0-day built into the silicon itself, directed against a uniquely vulnerable string of code running on every single system.

Christopher’s slides and paper are now available:

Click to access us-15-Domas-The-Memory-Sinkhole-Unleashing-An-x86-Design-Flaw-Allowing-Universal-Privilege-Escalation-wp.pdf

Click to access us-15-Domas-The-Memory-Sinkhole-Unleashing-An-x86-Design-Flaw-Allowing-Universal-Privilege-Escalation.pdf

Genode OS v15.05

Found on Joanna’s Twitter feed:
https://twitter.com/rootkovska/status/629256162706329601

Genode is new to me. Genode Labs makes the “Genode OS Framework”. Genode is a new OS, not a new Linux distribution. It is “a GPLv2-licensed construction kit for building specialized operating systems out of small building blocks including different kernels, device drivers, protocol stacks, and applications”. This current release is a major release for Genode. The new documentation is a large 472 page PDF. The current release adds “rudimentary GPT” support. GPT aside, I don’t see any other UEFI-related technology support, only “BIOS” references to firmware.

Version 15.05 represents the most substantial release in the history of Genode. It is packed with profound architectural improvements, new device drivers, the extension of the supported base platforms, and a brand new documentation.

We understand the complexity of code and policy as the most fundamental security problem shared by modern general-purpose operating systems. Because of high functional demands and dynamic workloads, however, this complexity cannot be avoided. But it can be organized. Genode is a novel OS architecture that is able to master complexity by applying a strict organizational structure to all software components including device drivers, system services, and applications.”

“The current implementation can be compiled for 8 different kernels: Linux, L4ka::Pistachio, L4/Fiasco, OKL4, NOVA, Fiasco.OC, Codezero, and a custom kernel for running Genode directly on ARM-based hardware. Whereas the Linux version serves us as development vehicle and enables us to rapidly develop the generic parts of the system, the actual target platforms of the framework are microkernels. There is no ‘perfect’ microkernel – and neither should there be one. If a microkernel pretended to be fit for all use cases, it wouldn’t be ‘micro’. Hence, all microkernels differ in terms of their respective features, complexity, and supported hardware architectures.

Genode allows the use of each of the kernels listed above with a rich set of device drivers, protocol stacks, libraries, and applications in a uniform way. For developers, the framework provides an easy way to target multiple different kernels instead of tying the development to a particular kernel technology. For kernel developers, Genode contributes advanced workloads, stress-testing their kernel, and enabling a variety of application use cases that would not be possible otherwise. For users and system integrators, it enables the choice of the kernel that fits best with the requirements at hand for the particular usage scenario.

Inverse Path’s USB Armoury supports Genode as of 15.02:  “The Genode OS Framework supports the USB armory since version 15.02 implementing a TrustZone Secure virtual-machine monitor (VMM) supervising Linux running in the Normal world. Support is in the very early stages. The Linux kernel requires minimal patching to be executed in the Normal world, at the moment Martin Stein from Genode Labs provides a repository with a patched kernel.

http://genode.org/documentation/release-notes/15.05
https://github.com/genodelabs/genode
http://sourceforge.net/projects/genode/files/

No Starch Press: Rootkits and Bootkits

[Wow!]

Rootkits and Bootkits: Reversing Modern Malware and Next Generation Threats
by Alex Matrosov, Eugene Rodionov, and Sergey Bratus

Spring 2016, 304 pp.
ISBN: 978-1-59327-716-1
$39.95 EARLY ACCESS Ebook
$49.95 Print Book and EARLY ACCESS Ebook

Get 30% off with the coupon code EARLYBIRD

Modern malware is always evolving because malware authors are constantly finding new ways to bypass security and avoid detection. Defending against (and even discovering) the latest malicious software requires cunning and extensive expertise because attackers have become much more sophisticated.

One particularly fascinating and threatening area of malware development is that of rootkits and bootkits. We’re talking hard stuff – attacks buried deep in a machine’s boot process or firmware. These are the kind of attacks that keep malware analysts up late at night. But help is on the way.

In Rootkits and Bootkits, authors Alex Matrosov, Eugene Rodionov, and Sergey Bratus share the knowledge and expertise they’ve gained during years of professional research. You’ll learn how to expose hidden files systems that can make rootkits so hard to identify and remove. You’ll explore how malware has evolved from rootkits like TDL3 to the present; how this stealthy software can take hold of a system; and how to counter anti-debugging, anti-disassembly, and anti-virtual machine measures. You’ll also learn how bootkits work, and how Windows boots so that you can better prevent infections in the first place.

Cybercrime syndicates and malicious actors keep pushing the envelope, writing ever more persistent and covert attacks. But the game is not lost. In this low-level tour through the wilds of malware, you’ll learn how to reverse next generation threats. Explore the cutting edge of malware analysis with Rootkits and Bootkits.
About the Author

Alex Matrosov has more than 10 years experience with malware analysis, reverse engineering and advanced exploitation techniques. He is a senior security researcher in the Advanced Threat Research team at Intel Security Group and prior to this role, he spent four years focused on advanced malware research at ESET. Matrosov is co-author of numerous research papers including Stuxnet Under the Microscope, and is frequently invited to speak at major security conferences such as REcon, ZeroNights, Black Hat and Virus Bulletin.

Eugene Rodionov, PhD, graduated with honors from the Information Security faculty of the Moscow Engineer-Physics Institute. He currently works at ESET, where he is involved with internal research projects and performs in-depth analysis of complex threats. His interests include kernel-mode programming, anti-rootkit technologies and reverse engineering. Rodionov has spoken at security conferences such as REcon, Virus Bulletin, ZeroNights, CARO and AVAR, and has co-authored numerous research papers.

Sergey Bratus is a Research Associate Professor in the Computer Science Department at Dartmouth College. He has previously worked at BBN Technologies on Natural Language Processing research. Bratus is interested in all aspects of Unix security, in particular in Linux kernel security, and detection and reverse engineering of Linux malware.

Table of Contents
Introduction
Part 1: ROOTKITS
Chapter 1: What’s in a Rootkit: The TDL3 Case Study (NOW AVAILABLE)
Chapter 2: Festi Rootkit: The Most Advanced Spam Bot
Chapter 3: Observing Rootkit Infections
Chapter 4: Rootkit Static Analysis: IDA Pro
Chapter 5: Rootkit Dynamic Analysis: WinDbg
Part 2: BOOTKITS
Chapter 6: Bootkit Background and History (NOW AVAILABLE)
Chapter 7: The Windows Boot Process: Bringing Up a System in a Trustworthy State (NOW AVAILABLE)
Chapter 8: From Rootkits (TDL3) to Bootkits (TDL4): Bypassing Microsoft Kernel-Mode Code Signing Policy (NOW AVAILABLE)
Chapter 9: Operating System Boot Process Essentials (NOW AVAILABLE)
Chapter 10: Static Analysis of a Bootkit Using IDA Pro (NOW AVAILABLE)
Chapter 11: Bootkit Dynamic Analysis: Emulators and Virtual Machines
Chapter 12: Evolving from MBR to VBR Bootkits: Mebromi & Olmasco
Chapter 13: VBR Bootkits: Rovnix & Carberp
Chapter 14: Gapz: Advanced VBR Infection
Chapter 15: UEFI Boot vs. MBR/VBR
Chapter 16: Contemporary UEFI Bootkits
Part 3: DEFENSE AND FORENSIC TECHNIQUES
Chapter 17: How Secure Boot Works
Chapter 18: HiddenFsReader: Bootkits Forensic Approaches
Chapter 19: CHIPsec: BIOS/UEFI Forensics
Part 4: ADVANCED REVERSE ENGINEERING
Chapter 20: Breaking Malware Cryptography
Chapter 21: Modern C++ Malware Reversing
Chapter 22: HexRaysCodeXplorer: Practical C++ Code Reconstruction

https://www.nostarch.com/rootkits

tool mini-review: xpwntool-lite

There’s a new firmware tool out. Stefan Esser (‏@i0n1c) recently released xpwntool-lite. It is GPLv3-licensed, and written in C, for a Unix/GCC build environment. This fork is based on the PlanetBeing xpwn tool.

Xpwntool-light is a lightweight version of xpwntool just for decrypting IMG3 firmware files. This is a stripped down version of xpwntool from xwpn. We ripped out a lot of stuff that is not required for simple xpwntool usage in order to decrypt IMG3 files that ship with iOS firmwares.

usage: xpwntool-light <infile> <outfile> [-t <template> [-c <certificate>]] [-k <key>] [-iv <key>] [-decrypt]

https://github.com/sektioneins/xpwntool-lite
http://github.com/planetbeing/xpwn

FWTS 15.08.00 released

Today Canonical has released version 15.08.00 of FWTS (FirmWare Test Suite), a set of firmware-related tests for Linux-based systems. The tests can be run via command line, or via a curses front-end, the latter of which is used by the FWS-live distribution. FWTS is also included in Intel’s LUV-live (Linux UEFI Validation) distribution, but it’ll take LUV a bit of time to update to new FWTS release. FWTS is also available as packages on Ubuntu-based distributions.

It appears that most new features are ACPI-related. New ACPI TPM2 and IORT tests, new tables for: FPDT, MCHI, STAO, ASF!, WDAT, and a few other things. There were a lot of bugfixes as well. For more information, see the full announcement, the changelog, and sources:

http://fwts.ubuntu.com/release/fwts-V15.08.00.tar.gz
https://launchpad.net/ubuntu/+source/fwts
https://launchpad.net/~firmware-testing-team/+archive/ubuntu/ppa-fwts-stable
https://wiki.ubuntu.com/FirmwareTestSuite/ReleaseNotes/15.08.00

I wish ALL Linux/FreeBSD distributions would ship FWTS, not just Ubuntu-based ones: FTWS is very useful to detect if system has anomalies which’ll make it difficult to install/use the OS. Granted, those distro uses can just use FWTS-live, but they have to reboot into FWTS-live to use FWTS, with no native packaging.

October coreboot conference in Germany

There’s a coreboot conference being planned for this October in Bonn, Germany.  Carl-Daniel Hailfinger posted an entry on this in the coreboot blog yesterday. The audience is not only developers, but manufacturers of processors, chipsets, mainboards and servers/laptops/tablets/desktops with an interest in coreboot and the possibilities it offers.

“The preliminary plans are to coordinate the exact date of the conference to be before or after Embedded Linux Conference Europe, scheduled for October 5-7 in Dublin, Ireland. Planned duration is 3-4 days. This means we can either use the time window from Thursday Oct 1 to Sunday Oct 4, or from Thursday Oct 8 to Monday Oct 12.”

The conference needs to know if you’re going to attend, so they can plan the event. Look at the blog post for how to contact them.

Update: coreboot conference in Europe, October 2015


http://doodle.com/bw52xs4fc7pxte6d

Debian calls for UEFI packaging help

Steve McIntyre of Debian posted a blog the other day, they’re doing more to help with UEFI in Debian. If you can help, this is the most upstream distribution…

http://blog.einval.com/2015/08/02#tracking_broken_UEFI_implementations

http://linux.softpedia.com/blog/debian-needs-your-help-to-improve-uefi-support-in-the-distribution-488512.shtml

I’m not good at packaging, but am currently learning. If you want to help with Debian packaging for CHIPSEC, please let me know, or join the thread on the CHIPSEC mailing list.

https://lists.01.org/pipermail/chipsec/2015-July/000001.html

EBC

EBC, The EFI Byte Code, is a UEFI feature that supports Intel (Itanium, x86, and x64) instructions in a single bytecode. The Intel C Compiler can target EBC, and UEFI drivers can use EBC instead of native drivers, to save space (1 binary, instead of 3).

The other week I gave a firmware security tools talk at BlackLodgeResearch.org, and Vincent Zimmer of Intel showed up. I had a slide complaining that EBC is only supported by Intel C Compiler, a commercial-only product, and that the UEFI Forum should fund a ‘summer-of-code’-style effort to get EBC into GCC or LLVM CLang. After the talk, Vincent mentioned that ICC had to do a bit of unexpected work to generate EBC, and would blog about it. Well, he did blog about it, a few days ago, just catching up to it, and describe the problem.
http://vzimmer.blogspot.com/2015/08/efi-byte-code.html

If you know of someone on the LLVM CLang or GCC project, please try to add a request for EBC support.

Not only would it be nice to have LLVM CLang work with EBC to have an alternative to ICC, and for LLBVM’s Klee fuzzer (to fuzz UEFI via OVMF), but ALSO because the Capstone Framework RE tool uses LLVM’s intermediate form and would then get EBC support!!
http://www.capstone-engine.org/

Today, radare2, another RE tool, already has EBC support.

tool mini-review: radare2

If technically possible, it might be nice if ARM added AArch32 and AArch64 support, and EBC support in their compiler, so that EBC could actually target all UEFI platforms with a single blob. ARM/Linaro already has something that appears to overlap in some ways:
http://people.linaro.org/~christoffer.dall/arm-vm-spec-v1.0.txt

Also, there’s a C#/IL to EBC translation project on Github. If you get it to work, let me know!
https://github.com/nnliaohua/CIL2EBC-ToolChain

DMTF Redfish 1.0 released

Redfish, an IPMI replacement, has shipped the first release of their spec. Quoting the press release:

DMTF Helps Enable Multi-Vendor Data Center Management with New Redfish 1.0 Standard

DMTF has announced the release of  Redfish 1.0, a standard for data center and systems management that delivers improved performance, functionality, scalability and security. Designed to meet the expectations of end users for simple and interoperable management of modern scalable platform hardware, Redfish takes advantage of widely-used technologies to speed implementation and help system administrators be more effective. Redfish is developed by the DMTF’s Scalable Platforms Management Forum (SPMF), which is led by Broadcom, Dell, Emerson, HP, Intel, Lenovo, Microsoft, Supermicro and VMware with additional support from AMI, Oracle, Fujitsu, Huawei, Mellanox and Seagate. The release of the Redfish 1.0 standard by the DMTF demonstrates the broad industry support of the full organization.

http://dmtf.org/standards/redfish
http://dmtf.org/join/spmf

Don’t forget to grab the Redfish “Mockup” as well as the specs and schema.

UEFI 2.5 has a JSON API to enable accessing Redfish. HP was first vendor with systems that supported UEFI 2.5’s new HTTP Boot, a PXE replacement.  Intel checked in HTTP Boot support into TianoCore, so it’s just a matter of time until other vendors have similar products. JSON-based Redfish and HTTP-based booting makes UEFI much more of a “web app”, w/r/t security research, and the need for system administrators to more closely examine how firmware is updated on their systems, to best protect them.
https://firmwaresecurity.com/tag/uefi-http-boot/