39 Commits

Author SHA1 Message Date
BrentHoltsclaw b38d1e02f0 Fix import error and cleanup imports for tools.secureboot.te
Signed-off-by: BrentHoltsclaw <brent.holtsclaw@intel.com>
2019-09-24 12:23:01 -07:00
BrentHoltsclaw b1bfb491a7 Satisfy unittest errors
Signed-off-by: BrentHoltsclaw <brent.holtsclaw@intel.com>
2019-09-24 12:22:28 -07:00
BrentHoltsclaw e7f23c76b6 Fixup lgtm module errors
Signed-off-by: BrentHoltsclaw <brent.holtsclaw@intel.com>
2019-09-24 12:22:28 -07:00
BrentHoltsclaw eb7d40e23c Remove dumpstr from tools.secureboot.te
Function is unused and causing build/install errors within py2

Signed-off-by: BrentHoltsclaw <brent.holtsclaw@intel.com>
2019-09-17 15:26:30 -07:00
BrentHoltsclaw 877ecb1ad8 Fixes to make uefivar_fuzz python3 compatible
Signed-off-by: BrentHoltsclaw <brent.holtsclaw@intel.com>
2019-09-03 10:06:46 -07:00
BrentHoltsclaw 4ce1127743 Add cs_input to fix compatability issues with input/raw_input
Signed-off-by: BrentHoltsclaw <brent.holtsclaw@intel.com>
2019-09-03 10:06:46 -07:00
BrentHoltsclaw 3827ec6b7e Fix setup.py install errors
Signed-off-by: BrentHoltsclaw <brent.holtsclaw@intel.com>
2019-09-03 10:06:46 -07:00
BrentHoltsclaw 73485556d7 Cleanup bugs - Division compliant with python3
Signed-off-by: BrentHoltsclaw <brent.holtsclaw@intel.com>
2019-08-16 14:19:02 -07:00
BrentHoltsclaw 18827a8574 Cleanup use is for None type compare
Signed-off-by: BrentHoltsclaw <brent.holtsclaw@intel.com>
2019-08-16 14:18:47 -07:00
BrentHoltsclaw 2efeda4345 Merge python3-rc2 branch into master (#656) 2019-08-15 14:11:20 -07:00
nha 95b9d51273 using primitives for variable Name,Attribute,Data fields 2019-05-31 12:40:21 -07:00
Erik Bjorge 989db9f8b8 Updated messages in sinkhole tool
Some additional information was requested to make the failure/success cases more clear.

Signed-off-by: Erik Bjorge <erik.c.bjorge@intel.com>
2019-05-23 14:47:01 -07:00
BrentHoltsclaw 789314a142 Normalizing logging for various sections of chipsec:
HAL now only use logger().HAL
helpers now only use logger.DEBUG
modules now only use logger.VERBOSE
2019-04-25 14:19:08 -07:00
Nathaniel Mitchell 221e524c51 Added check to see if S3 Boot script was found
If the S3 boot script was not found, it will tell the user that instead of giving a false error.

Signed-off-by: Nathaniel Mitchell <nathaniel.p.mitchell@intel.com>
2019-04-18 08:32:49 -07:00
Erik Bjorge 5d3541c005 Additional documentation fixes
- Remove warnings when processing doc strings
- Fix some formatting issues

Signed-off-by: Erik Bjorge <erik.c.bjorge@intel.com>
2019-03-05 17:25:06 -08:00
Erik Bjorge ed5e424d28 Cleaned up some of the module documenation.
Signed-off-by: Erik Bjorge <erik.c.bjorge@intel.com>
2019-03-05 17:25:06 -08:00
Erik Bjorge 525a3fe7b3 Updated link to HackingTeam UEFI Rootkit
Signed-off-by: Erik Bjorge <erik.c.bjorge@intel.com>
2018-10-29 13:30:31 -07:00
Erik Bjorge 1ea5ea3c04 Adding LoJax to UEFI module blacklist
More information about LoJax can be found at this link.
https://www.welivesecurity.com/2018/09/27/lojax-first-uefi-rootkit-found-wild-courtesy-sednit-group/

Signed-off-by: Erik Bjorge <erik.c.bjorge@intel.com>
2018-10-03 11:30:25 -07:00
Erik Bjorge 2a39c4bf43 Removed trailing white space 2018-07-26 14:35:01 -07:00
Michaelm396IN 5f4212f941 Remove white space 2018-07-26 14:35:01 -07:00
Michaelm396IN 405992e54c Removed unecessary codr 'print' 2018-07-26 14:35:01 -07:00
Michaelm396IN f23a4c1175 Created additonal bounds for _SIZE object. Removed additional white space 2018-07-26 14:35:01 -07:00
Michaelm396IN 6e504056fc update xrange to range for python3 support 2018-07-26 14:35:01 -07:00
Michaelm396IN 6fd2dbbb57 Remove bound method for singular BOUND object for string or integer value 2018-07-26 14:35:01 -07:00
Michaelm396IN 7b26638f54 Created a bounds to limit the amount of data being genereated by any given function. Fixes error handling with uefi_fuzzer (Additional Comments) 2018-07-26 14:35:01 -07:00
Michaelm396IN f3575ebfa2 Created a bounds to limit the amount of data being genereated by any given function. Fixes error handling with uefi_fuzzer 2018-07-26 14:35:01 -07:00
Michaelm396IN 872ea14545 Implement Bounds for _DATA variable 2018-07-26 14:35:01 -07:00
c7zero ab710a052a Removed Ntfs detection by ui_string
Removed Ntfs.efi detection by name (ui_string) to eliminate false
positives on firmware which has Ntfs.efi DXE driver.

Also, rkloader's and ntfs's GUIDs were swapped. Fixed.
2017-03-23 15:44:34 -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
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 ad50429b44 Fixed logger bug 2017-03-07 16:40:11 -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
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
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 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
c7zero 7a5e8277df Changed to using self.cs.cpu 2016-11-17 23:47:45 -08:00
Thiébaud Weksteen 1a284132f8 Use HALBase for all HAL modules (#124) 2016-11-17 23:21:26 -08:00
abazhaniuk 94fe7f02f1 change setup.py build driver by default. change root directory of chipsec. move WARNING.txt to chipsec. remove PKG-INFO (#107) 2016-10-18 18:19:42 -07:00