This version includes the following new or updated modules:
- `tools.uefi.whitelist` - The module can generate a list of EFI executables from (U)EFI firmware file or extracted from flash ROM, and then later check firmware image in flash ROM or file against this list of [expected/whitelisted] executables
- `tools.uefi.blacklist` - Improved search of blacklisted EFI binaries, added exclusion rules, enhanced `blacklist.json` config file
- `tools.smm.rogue_mmio_bar` - Experimental module that may help checking SMM firmware for MMIO BAR hijacking vulnerabilities described in "BARing the System: New vulnerabilities in Coreboot & UEFI based systems" (http://www.intelsecurity.com/advanced-threat-research/content/data/REConBrussels2017_BARing_the_system.pdf) by Intel Advanced Threat Research team at RECon Brussels 2017
- `tools.uefi.uefivar_fuzz` - The module is fuzzing UEFI Variable interface. The module is using UEFI SetVariable interface to write new UEFI variables to SPI flash NVRAM with randomized name/attributes/GUID/data/size.
This version includes the following new or updated functionality:
- Debian packaging support
- Compiling in setup.py and automated loading of chipsec.kext kernel module on macOS
- Internal Graphics Device support including software DMA via Graphics Aperture
- Improved parsing andsearch within UEFI images including update capsules
- Export of extracted EFI firmware tree in JSON format
- Export of CHIPSEC results in JSON format via --json command-line argument
- EFI (de-)compression ported from uefi-firmware-parser project
- Decompression to macOS helper to parse Mac EFI firmware images
- Support of command-line arguments in chipsec_util.py
- SMI count command
- Improved platform dependent Flash descriptor parsing
- ReadWriteEverything helper to work with RWE driver
- map_io_space to improve SPI read performance on Linux
- Native (OS based) access PCI, port I/O and CPU MSR to Linux helper
- Improved chipsec_util.py unit testing
This version includes the following fixes:
- better support of macOS (still functionality missing)
- bug fixes when running in UEFI shell environment
- fixed `tools.vmm.pci_fuzz` and `tools.vmm.pcie_overlap_fuzz` modues
- updated all HAL components to inherit HALBase