Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.
Sign upAEM - sudo anti-evil-maid-seal sanity test failing on functional TPM #3297
Comments
adrelanos
referenced this issue
Nov 9, 2017
Open
AEM - sudo anti-evil-maid-seal failing from dom0 console because setting LABEL is failing #3296
andrewdavidwong
added
bug
C: other
labels
Nov 9, 2017
andrewdavidwong
added this to the Release 3.2 updates milestone
Nov 9, 2017
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
phagara
Nov 9, 2017
+ grep -E '^PCR-(13|17|18|19):( 00| FF){20}' /sys/devices/pnp0/00:06/pcrs
PCR-17: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
PCR-18: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
PCR-19: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
This means that the bootloader failed to perform a measured boot (FFs are default values for untouched PCRs). Most likely due to incorrect or no SINIT module loaded. By removing the sanity check and sealing your AEM secret against these uninitialized PCR values, you're defeating the whole point of AEM -- the unseal operation will always succeed even if kernel/Xen binaries get modified by an attacker (as long as your config remains broken).
The sanity check was added to prevent this false sense of security in #2569.
phagara
commented
Nov 9, 2017
•
This means that the bootloader failed to perform a measured boot ( The sanity check was added to prevent this false sense of security in #2569. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
rustybird
Nov 9, 2017
To expand on @phagara's reply: It is intentional that the PCR sanity check is tripped if you manually run anti-evil-maid-seal right after setting up AEM on a new system. (The PCRs are empty because the SINIT module is not active until the first reboot.) The intended workflow is to simply reboot after you've run -install and created your secret(s), and let AEM automatically take care of sealing.
It is only necessary to invoke anti-evil-maid-seal manually if you want to force an immediate reseal after changing an existing, previously sealed secret.
rustybird
commented
Nov 9, 2017
|
To expand on @phagara's reply: It is intentional that the PCR sanity check is tripped if you manually run It is only necessary to invoke |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
adrelanos
Nov 9, 2017
Member
Alright, thank you! So it's a TPM issue on my side, not an AEM issue. Therefore, closing as invalid, not a bug.
|
Alright, thank you! So it's a TPM issue on my side, not an AEM issue. Therefore, closing as invalid, not a bug. |
adrelanos commentedNov 9, 2017
Qubes OS version:
R3.2
Affected TemplateVMs:
dom0
Steps to reproduce the behavior:
Add SINIT module.
Expected behavior:
No such error.
Actual behavior:
Error.
General notes:
https://github.com/QubesOS/qubes-antievilmaid/blob/8d8a941f5647b0082a20b4245859986d3ca45c12/anti-evil-maid/sbin/anti-evil-maid-seal#L31
Does not work for me.
Commented out the
exit 1.Now it's working.
Working meaning, after adding this hack, and another hack #3296
sudo anti-evil-maid-sealshowed no more error and I could view my secret at the next reboot. I don't know if this hack was sane or if that hack together with #3296 actually invalidated the protections by AEM."sanity test failing on functional TPM" is just my guess. The
tpm_sealdatalater on inanti-evil-maid-sealasks my password, and if the correct one is entered, does not show any error.