Commit Graph

278 Commits

Author SHA1 Message Date
c7zero 2fbb7a4eeb Simple EFI firmware white-listing module (#164)
tools.uefi.whitelist is a simple module for EFI firmware that allows modifications done to the firmware executables

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
2017-03-08 21:03:41 -08:00
CHIPSEC 21dc4bbd81 Merge pull request #155 from andrew-furtak/rwe
ReadWrite Everything helper added.
2017-03-08 18:24:49 -08:00
CHIPSEC 16d6f09e15 Merge pull request #163 from ErikBjorge/no_cmd_exception
Fixed exception in chipsec_util with no command.
2017-03-07 17:15:07 -08:00
CHIPSEC ad50429b44 Fixed logger bug 2017-03-07 16:40:11 -08:00
Erik Bjorge 61b262814a Fixed exception in chipsec_util with no command.
If no command is present when running chipsec_util the help command is
assumed to be present. This will list all available commands.
2017-03-03 17:30:07 -08:00
c7zero d024dc6169 Added command-line options support to chipsec_util (#158)
* Added command-line options support to chipsec_util

* Fixed util test
2017-03-02 02:10:14 -08:00
c7zero 2aa81afde8 SPI flash descriptor parsing improved (#157)
* Improved parsing of Flash Descriptor

Descriptor format is platform dependent so need to use XML to parse it

* cleanup

* Fixed spi info
2017-03-02 02:09:58 -08:00
johnloucaides 9a3c5a6053 add native functions to access port io & msr on linux (#160)
* add native functions to access port io and msr

* remove debug prints and try modprobe msr when not available

* fixed bug in native_read_io_port

* add attempt to load msr kernel module if not present and update error string
2017-03-02 02:06:12 -08:00
c7zero b3bf192d51 Added SMI count util command (#159)
chipsec_util smi count command returs SMI event count on all logical
processors
2017-03-02 02:05:46 -08:00
abazhaniuk 107de65ce3 fix issues in decompression functionality (#161) 2017-03-02 02:05:21 -08:00
CHIPSEC 0e0cf11ae4 Updated AUTHORS 2017-02-27 14:49:27 -08:00
CHIPSEC e5cd522467 Added tools.uefi.uefivar_fuzz to test UEFI Variable firmware interface 2017-02-27 14:28:28 -08:00
c7zero a0943e297a Fixed tools.vmm.pcie_overlap_fuzz 2017-02-25 01:33:53 -08:00
andrew-furtak e1835bb7c9 IGD hal component added. igddma utility command added. (#156)
* IGD hal component added. igddma utility command added.

* Documentation added. Fixed file io for igd

* Deffered graphics device identification. Added check to igd cmd module for enabled device.

* Device 2 device id register renamed. Device id read with pci replaced with read_register
2017-02-24 18:04:08 -08:00
CHIPSEC aebf790ea7 Fixed SPIBAR definition
Was incorrectly truncating SPI base address
2017-02-24 13:10:02 -08:00
CHIPSEC 8edca3af6a Fixed import 2017-02-24 02:05:35 -08:00
CHIPSEC bce48a4f4a Added read_MMIO_BAR to mmio HAL 2017-02-24 02:05:35 -08:00
Andrew Furtak 14904f35e6 RWE helper added. SMRR support check added where required. HyperV workaround for SMRR msrs. 2017-02-22 13:07:36 -08:00
abazhaniuk f12b035458 Ported efi_compressor from uefi-firmware-parser to chipsec_tools (#152)
* Ported efi_compressor from uefi-firmware-parser to chipsec_tools

* moved compression_source_files
2017-02-11 00:05:30 -08:00
Erik Bjorge bb9632fa43 Added missing map_io_space method in UEFI helper code. (#153)
Added the missing map_io_space method to resolve common.bios_wp
failures when executing under the UEFI Shell.
2017-02-10 13:51:38 -08:00
Erik Bjorge a240886c53 Added missing Atom C2000 Processor Family Device IDs (#144) 2017-02-05 16:51:23 -08:00
Thiébaud Weksteen 1e9898f11d Do not catch exception in chipset initialization (#145) 2017-02-05 13:08:03 -08:00
Thiébaud Weksteen 9fd0ee4729 Call parent Helper __init__ for OSX helper (#146) 2017-02-05 13:04:46 -08:00
Thiébaud Weksteen cd3961d00b Fix building of Linux x86 driver (#139) (#141) 2017-01-20 15:32:46 -08:00
c7zero 4af6dab314 Fixed tools.vmm.pcie_fuzzer (#138)
1. Fixed tools.vmm.pcie_fuzzer
2. get_device_bars calculates actual size of MMIO BARs (IO BAR size is
still hardcoded)
2017-01-20 15:32:10 -08:00
abazhaniuk c377a72e28 Deb package (#135)
* merge

* Add Debian packaging

* cleanup

* Removed incorrect info into Copyright.

* One more: removed incorrect info in Copyright.
2017-01-06 12:57:13 -08:00
c7zero 6a85779673 Cosmetic changes (#137)
* Cosmetic changes

- Cosmetic changes in JSON results nad logging of regexp match
- Also fixed returning ModuleResult.PASSED/FAILED instead of True/False
in remap module

* Fix import
2016-12-30 17:16:39 -08:00
andrew-furtak b540df569e Fixed UEFI decode issues (#136) 2016-12-30 12:39:05 -08:00
c7zero 3979328534 UEFI firmware parsing improved (#134)
* UEFI firmware parsing improved

1. Creating EFI modules object tree when parsing UEFI firmware images
2. Added exporting parsed EFI object tree to JSON
3. EFI module seach uses callbacks
4. Added --json command-line option to export chipsec results to JSON
5. Fixed version

* updating ui_string in all sibling leaf sections
2016-12-14 12:09:50 -08:00
c7zero baa6f49eb1 Fixed map_io_space call on Windows 2016-12-06 02:00:53 -08:00
abazhaniuk f2dd9ad515 add DKMS support (#132)
* add DKMS support

* remove unnecessary functions

* moved get_version to defines

* raise an exception
2016-12-06 00:46:12 -08:00
c7zero 9847ed9357 Fixed ctypes 2016-12-05 17:37:26 -08:00
Thiébaud Weksteen 1edfb70c2a Add MemoryMapping and map_io_space to Linux helper (#120) 2016-12-05 15:49:41 -08:00
c7zero 8155afb2f4 Improved EFI binaries search and updated blacklist config (#131)
* Changes in calculating hashes of EFI binaries

Calculating hashes of actual .efi executable files (PE32/TE sections of
EFI binaries) rather than of entire EFI binaries.

There's still an option (WRITE_ALL_HASHES) to calculate hashes of entire
EFI binaries.

* Improved UEFI search and updated blacklist config

1. Updated EFI binaries search - searching only leaf nodes (PE/TE
executable sections)
2. Added exclusion criteria and improved JSON format
3. Changed tools.uefi.blacklist module to return a warning
4. Updated ThinkPwn rules in blacklist.json
- Updated config to match by GUID AND regexp of SmmRuntime protcol GUID
within the binary to skip binaries consuming SmmRuntime protcol
- Added exclusion rules for UEFI update images with patched
SystemSmmRuntimeRt.efi. Config excludes patched binaries from Lenovo and
HP. Tested on Intel, Lenovo, HP and Gigabyte images.
2016-12-05 15:11:51 -08:00
abazhaniuk f9738aeac0 Fix bug when calls compression tools on linux (#130) 2016-12-05 09:30:36 +11:00
Thiébaud Weksteen d670746532 Add native_write_pci_reg to Linux helper (#129)
Also includes two aliases pack1 and unpack1 to easily convert values
in the helpers.
2016-12-01 22:42:06 -08:00
Thiébaud Weksteen a91d28b2e5 Add loading and building for OSX driver (#128) 2016-11-25 19:44:54 -08:00
Thiébaud Weksteen b13f85b16f Add unittest.main() to each tests (#127) 2016-11-22 18:09:59 -08:00
CHIPSEC 0393d0a7bd Fixed global variables use in uefi and spi_descriptor 2016-11-22 13:44:09 -08:00
c7zero 7a5e8277df Changed to using self.cs.cpu 2016-11-17 23:47:45 -08:00
c7zero 06fcb285ca Fix global functions from uefi_platform 2016-11-17 23:39:26 -08:00
Thiébaud Weksteen 1a284132f8 Use HALBase for all HAL modules (#124) 2016-11-17 23:21:26 -08:00
Thiébaud Weksteen ead6e96222 Split util tests into multiple source files (#122) 2016-11-17 22:34:37 -08:00
CHIPSEC e9ff7c0b55 Merge pull request #123 from abazhaniuk/clean
remove print_cpu_set_t
2016-11-16 14:24:58 -08:00
O Bazhaniuk 7fd8b99d9e remove print_cpu_set_t 2016-11-16 16:51:56 -05:00
c7zero 7e3bd57562 added github user v1.2.5 2016-11-10 18:04:54 -08:00
Thiébaud Weksteen 9765775224 Use test_suite to run the tests (#119) 2016-11-07 17:56:24 -08:00
c7zero 8ee894b880 More generic handling of chipsec tools (#118)
* More generic handling of chipsec_tools

* file extension fix

* Installing chipsec-manual.pdf
2016-11-04 14:38:06 -07:00
c7zero f87207a0fc Updated Linux installation instructions in chipsec-manual.pdf 2016-11-04 14:13:35 -07:00
c7zero 911701c69d Revert "Updated Linux install instructions in chipsec-manual.pdf"
This reverts commit f7722edf76.
2016-11-04 14:09:54 -07:00