Commit Graph

289 Commits

Author SHA1 Message Date
c7zero 0ad817d479 Fix --no_driver option on macOS (#181) 2017-03-17 01:04:25 -07:00
Erik Bjorge 504c2515c5 Fixed exception when running tools.smm.smm_ptr in UEFI Shell. (#182)
Exception was caused by efi.allocphysmem returning a tuple but the
helper code was expecting a numeric value.  Updated UEFI helper code to
select the correct value in the tuple.

Signed-off-by: Erik Bjorge <erik.c.bjorge@intel.com>
2017-03-16 11:42:16 -07:00
andrew-furtak 8e29097fad Igd fix (#180)
* 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

* Fixed typo

* Fixed read/write across page boundaries

* Fixed read/write across page boundaries. Offset refactoring
2017-03-16 04:00:39 -07:00
johnloucaides 70abd3ad54 add decompress functionality to osx environment (#179) 2017-03-15 17:18:18 -07:00
johnloucaides 17f9c0cf53 handle mmio writes of size != 4 (#178) 2017-03-15 13:50:13 -07:00
andrew-furtak 17a306677c Merge pull request #177 from andrew-furtak/typo
Typo fixed
2017-03-14 12:32:06 -07:00
Andrew Furtak 3d82def442 Typo fixed 2017-03-14 12:14:11 -07:00
Thiébaud Weksteen eac5b46cf6 Disable forced signature when building MacOS driver (#175) 2017-03-14 00:38:32 -07:00
c7zero f3832b45b0 New tools.smm.rogue_mmio_bar module (#168)
Experimental module to help finding vulnerabilities described in "BARing
the System: New vulnerabilities in Coreboot & UEFI based systems" talk
at RECon Brussels 2017

(http://www.intelsecurity.com/advanced-threat-research/content/data/REConBrussels2017_BARing_the_system.pdf)
2017-03-12 22:48:37 -07:00
citypw 4070fcd6af Added Xeon E3-1230 v5 processor device ID (#165)
* Added Xeon E3-1230 v5 processor device ID

Signed-off-by: citypw <citypw@gmail.com>

* Update the longname: Xeon Processor E3 v5 (Skylake CPU / Sunrise Point PCH)
2017-03-12 22:48:09 -07:00
c7zero ca6c741d0d Fixed unimplemented map_io_space in OSX helper (#167) 2017-03-11 14:33:11 -08:00
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