chipsec.modules.tools.uefi.uefivar_fuzz module¶
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.
- Usage:
chipsec_main -m tools.uefi.uefivar_fuzz [-a <options>]
Options:
[-a <test>,<iterations>,<seed>,<test_case>]
test
: UEFI variable interface to fuzz (all, name, guid, attrib, data, size)
iterations
: Number of tests to perform (default = 1000)
seed
: RNG seed to use
test_case
: Test case # to skip to (combined with seed, can be used to skip to failing test)All module arguments are optional
- Examples::
>>> chipsec_main.py -m tools.uefi.uefivar_fuzz >>> chipsec_main.py -m tools.uefi.uefivar_fuzz -a all,100000 >>> chipsec_main.py -m tools.uefi.uefivar_fuzz -a data,1000,123456789 >>> chipsec_main.py -m tools.uefi.uefivar_fuzz -a name,1,123456789,94
Note
This module returns a WARNING by default to indicate that a manual review is needed.
Writes may generate ‘ERROR’s, this can be expected behavior if the environment rejects them.
Warning
This module modifies contents of non-volatile SPI flash memory (UEFI Variable NVRAM).
This may render system UNBOOTABLE if firmware doesn’t properly handle variable update/delete operations.
Important
Evaluate the platform for expected behavior to determine PASS/FAIL.
Behavior can include platform stability and retaining protections.