iofuzz moduleΒΆ

Simple port I/O VMM emulation fuzzer

Usage:

chipsec_main.py -i -m tools.vmm.iofuzz [-a <mode>,<count>,<iterations>]

  • <mode>SMI handlers testing mode
    • exhaustive : Fuzz all I/O ports exhaustively (default)

    • random : Fuzz randomly chosen I/O ports

  • <count> : Number of times to write to each port (default = 1000)

  • <iterations> : Number of I/O ports to fuzz (default = 1000000 in random mode)

Where:
  • []: optional line

Examples:
>>> chipsec_main.py -i -m tools.vmm.iofuzz
>>> chipsec_main.py -i -m tools.vmm.iofuzz -a random,9000,4000000
Additional options set within the module:
  • MAX_PORTS : Maximum ports

  • MAX_PORT_VALUE : Maximum port value to use

  • DEFAULT_PORT_WRITE_COUNT : Default port write count if not specified with switches

  • DEFAULT_RANDOM_ITERATIONS : Default port write iterations if not specified with switches

  • _FLUSH_LOG_EACH_ITER : Flush log after each iteration

  • _FUZZ_SPECIAL_VALUES : Specify to use 1-2-4 byte values

  • _EXCLUDE_PORTS : Ports to exclude (list)

Note

  • Returns a Warning by default

  • System may be in an unknown state, further evaluation may be needed

Important

  • This module is designed to run in a VM environment

  • Behavior on physical HW is undefined