This Sunday we’re having a class on using CHIPSEC and related firmware security tools:
http://www.blacklodgeresearch.org/archive/defending-uefi-tools-lab-july-19th-2015/
UEFI tools at Black Lodge Research’s July DC206 Meeting
One change of plans for the lab: I’ve been having problems getting LUV-live to boot on various machines, so don’t want to tie the lab to booting thumbdrives to use CHIPSEC.
So let’s use CHIPSEC installed natively on your laptop. So please bring a Intel UEFI-based laptop running Windows or Linux, where you can install CHIPSEC on it. (The CHIPSEC kernel driver is not a safe thing to keep loaded, see their warning.txt. Only load it when you are using CHIPSEC.) I’ll bring some scripts to make it easier to use CHIPSEC on Linux systems. Watch the Youtube video of DEFCON22 talk on CHIPSEC to see when/why to use some of it’s commands.
CHIPSEC v1.2.0 Released
https://github.com/chipsec/chipsec
Or, instead of running CHIPSEC from w/i your installed OS, make your own LUV-live thumbdrive and see if it works on your system: if so, use CHIPSEC there.
LUV 2.0-RC1 released
https://01.org/linux-uefi-validation/downloads/luv-live-image
http://firmware.intel.com/blog/luv-your-firmware-part-iii
https://01.org/linux-uefi-validation/documentation/flashing-your-usb-stick
Regardless, please don’t use your primary laptop, backup anything important, in case you brick the box.
The lab will be fairly free-form, people trying to use CHIPSEC on their system, hopefully to save a ROM and share with others, and to some analysis of the ROM using CHIPSEC, UEFITool, UEFI Firmware Parser. If you are willing to share some ROMs with the rest of the lab attendees, please try to bring a system with a CD-R/DVD-R burner. I’ll bring some blank discs. CHIPSEC and most of the below tools are Python-based, so install CPython 2.7x on your system. Install any of the below tools if you want to use these to examine ROMs:
UEFITool:
tool mini-review: UEFITool
https://github.com/LongSoft/UEFITool
UEFI Firmware Parser:
tool mini-review: UEFI Firmware Parser
https://github.com/theopolis/uefi-firmware-parser
Copernicus’ BIOS Diff:
Tool mini-review: bios_diff.py
https://www.blackhat.com/docs/us-13/US-13-Butterworth-BIOS-Security-Code.zip
Most of these tools are Python-based, but UEFITool is a C++-based Qt GUI app. You need to get Qt Creator installed, open Qt Creator, open the UEFI Tools’s .pro file, then Build it. UEFITool builds on most platforms pretty painlessly. If you don’t want to install Qt on your system, you can download pre-built binaries of UEFITool for Windows and Mac OSX. For Linux, no binaries provided, you must build from source.
http://www.qt.io/download-open-source/
https://github.com/LongSoft/UEFITool/releases
One potential direction for the lab is to look at Intel’s analysis of the Hacking Team’s UEFI malware, and how to use CHIPSEC and UEFITool, using the GUIDs and strings from the below analysis to see if you have Hacking Team bootkit.
http://www.intelsecurity.com/advanced-threat-research/blog.html
Unfortunately, it looks like the PNWFHW (Pacific NorthWest FirmWare Hackers) stickers likely won’t arrive in time, probably next week, so no stickers this time, sorry.