Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Heads/Coreboot specific work # #605

Closed
7 tasks
zaolin opened this issue Aug 21, 2019 · 13 comments
Closed
7 tasks

Heads/Coreboot specific work # #605

zaolin opened this issue Aug 21, 2019 · 13 comments

Comments

@zaolin
Copy link
Contributor

zaolin commented Aug 21, 2019

Heads/Coreboot specific work

@zaolin

Originally posted by @tlaurion in #540 (comment)

@zaolin
Copy link
Contributor Author

zaolin commented Aug 21, 2019

We will scope that out. Let me come back to you. Regarding Intel TXT @marmarek any input?

@zaolin zaolin changed the title # Heads/Coreboot specific work # Heads/Coreboot specific work # Aug 21, 2019
@zaolin
Copy link
Contributor Author

zaolin commented Aug 21, 2019

We need to discuss the security model with flash chip.

@tlaurion
Copy link
Collaborator

@zaolin I'm ready!
Some links to share?

@marmarek
Copy link
Contributor

AEM in its current form is about boot integrity (xen.gz, vmlinuz, initramfs) only. It is doing that through TXT/DTRM. Heads provide very similar assurance with SRTM + a more convenient verification method (NitroKey with green/red LED or dynamic TOTP). We don't have other usage for TXT in Qubes right now. There are some wild ideas about doing re-attestation after S3, but I think it isn't even properly designed yet.

@tlaurion
Copy link
Collaborator

@merge
Copy link
Contributor

merge commented Aug 28, 2019

We need to discuss the security model with flash chip.

Not sure if that's what you mean, but in case it is, this is my view: vboot "RO" and heads will lock the flash (even if we don't yet do that now. should be an easy addition).

@zaolin
Copy link
Contributor Author

zaolin commented Aug 29, 2019

@merge Yes but updates rely then on heads

@merge
Copy link
Contributor

merge commented Aug 30, 2019

@merge Yes but updates rely then on heads

sure. just as they do already I guess.

@tlaurion
Copy link
Collaborator

tlaurion commented Aug 30, 2019

@zaolin @merge

Yes. The updates should come from Heads reproducible builds anyway and are updatable from whiptail menus already.

The user puts a reproducible rom on a usb disk, go to Heads settings menu, selects the flash rom update, and decides if he wants to wipe the currently added cbfs files in its current rom or not.

Keeping current configuration (user modified /etc/config overrides and public gpg key) are exported from cbfs regions prior to be reinjected in rom and then flashed back into spi with flashrom.

Reflashing modifies measurements and requires the user to seal those in the TPM/Librem Key and reseal a new disk unlock key depending of current board configurations.

@tlaurion
Copy link
Collaborator

@zaolin the lockdown part, in heads, would be #326

@tlaurion
Copy link
Collaborator

tlaurion commented Oct 14, 2019

The general goal here is to broader the range of FSP free, neutralized+deactivated Intel ME (and PSP absent) boards supported under Heads umbrella, while taking advantage of coreboot's measured boot support available through VBOOT work merged under coreboot 4.9+. Heads currently uses an in-house measured boot support based on coreboot (4.8.1).

Upon completion, it is expected that the following boards will be supported under Heads with latest coreboot.

First importance:

  • X230
  • T530
  • T430

Second importance:

General

  • Heads needs to upstream coreboot to its latest version
    • As per past debates, Heads reproducible builds needs to use coreboot "stable" and tested revision, used across all supported boards. It cannot use coreboot's master moving HEAD under Heads.
      • Consequently, a precise, tested commit ID or coreboot release is preferred.
        • On which patches applied to coreboot can be applied under Heads until next coreboot release.
  • Under coreboot 4.8.1, coreboot was patched to have measured boot working without VBOOT
  • Note that all other patches were upstreamed to coreboot and are not needed in earlier coreboot versions.
  • Heads toolstack (common for TPMTOTP and HOTP) will need to be modified to take newer PCR into consideration
  • FMAP will need to be rewritten/reconsidered
    • Most of the actual boards have Intel ME that can be neutralized (using only 90Kb) which leaved a lot of SPI space to be used for Heads.
      • On a sidenote, if there is any idea coming within the scope of this work to attack space constraints that we have for other smaller SPI chips boards (X200 non-vPro 4Mb, G505s 4Mb and others), please advise.

coreboot 4.8.1 specifics

Tickets needing to be updated/closed with the work being done here:
#41 (comment) #500 #287 #562 #541 #150 #15 #307

@tlaurion
Copy link
Collaborator

"Also, keep in mind assembly is a lot more work for the t530, you have to solder a wire to the opposite chip your flashing every single time and so on to bypass flash protection (cs to vcc)"

@tlaurion tlaurion mentioned this issue Jul 6, 2020
@tlaurion
Copy link
Collaborator

tlaurion commented Jul 6, 2020

Work continuing under #709 (9elements) #721 (community)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants