[coreboot-gerrit] Patch merged into coreboot/master: util: Add me_cleaner

gerrit at coreboot.org gerrit at coreboot.org
Wed Jan 25 18:19:59 CET 2017


the following patch was just integrated into master:
commit 9bcc002f1e7958c7b4234ea804b5b2b4f675ea3a
Author: Nicola Corna <nicola at corna.info>
Date:   Mon Jan 23 15:28:24 2017 +0100

    util: Add me_cleaner
    
    me_cleaner is a tool to strip down Intel ME/TXE images by removing all
    the non-fundamental code, while keeping the ME/TXE image valid and
    suitable for booting the system. The remaining code (ROMP and BUP
    modules) is the one responsible for the very basic initialization of
    the ME/TXE subsystem and can't be removed.
    
    This tool exploits the fact that:
     * Each ME/TXE partition is signed individually and it is possible to
        remove both the partition and the signature.
     * The ME/TXE modules are not signed directly, instead they are hashed
        and the list of their hashes is hashed again and signed: this
        means that modifying a module doesn't invalidate the signature,
        but only the hash of that single module.
     * The modules hashes are checked only when the corresponding module
        needs to be executed.
     * The system can boot after the execution of the first module (BUP,
        inside the FTPR partition), even if the subsequent stages fail.
    
    Currently me_cleaner works on every Intel platform with Intel ME or
    Intel TXE with the following limitations:
     * Doesn't work when Intel Boot Guard is set in Verified Boot mode.
     * Doesn't fully work on Nehalem yet.
     * On Skylake and later generations, since the partitions' internal
        structure has changed, me_cleaner leaves intact the FTPR
        partition, removing all the the other partitions.
    
    This tool has been tested on multiple platforms and architectures by
    different users, and seems to be stable. The reports are available
    here:
    https://github.com/corna/me_cleaner/issues/3
    
    A more in-depth description of me_cleaner is available here:
    https://github.com/corna/me_cleaner/wiki/How-does-it-work%3F
    
    Change-Id: I9013799e9adea0dea0775b9afe718de5fc4ca748
    Signed-off-by: Nicola Corna <nicola at corna.info>
    Reviewed-on: https://review.coreboot.org/18203
    Tested-by: build bot (Jenkins)
    Reviewed-by: Philipp Deppenwiese <zaolin.daisuki at gmail.com>
    Reviewed-by: Stefan Reinauer <stefan.reinauer at coreboot.org>


See https://review.coreboot.org/18203 for details.

-gerrit



More information about the coreboot-gerrit mailing list