Not everyone has a Librem 5, and fewer still have the privilege of having 2 Purism devices, or a librebooted or corebooted machine to use for flashing/maintenance of the L5.
I have gotten into a bit of a situation where I may have to flash my L5. Originally I really did not want to plug anything, not even a USB drive into my L5.
I have heard horror stories about how simply inserting a USB stick into a laptop/smartphone can infest it with persistent malware or rootkits.
These days even simple usb drives or sd cards have CPUâs, and many modern computers/phones have coprocessors in them with code that is very difficult to replace/audit/inspect/disable.
So the question is, if you have a device (lets say in for Device 1 without such a co processor or Device 2 with such a co processor) and you
A: Plugging it in and interact with the L5 via USB (A.a and giving it access to internal storage A.b not giving access to internal storage) from the device (either before or after boot)
B: Flashing the L5 from USB from the device
C: Writing to an SD card (with a processor on it) from such a device and booting the L5 from it
D: Simply using an SD card (which has a processor on it) with the L5
What are some risks (possibly specific and measured), protections the L5 might have, or possible risk mitigation strategies
Some possible points of considiration:
- What are potential targets (firmware, OS, bootloader, what else?)
- The L5 has a novel secure boot implementation (not used by many other devices, as I am not aware of any that use an pgp card instead of tpm), is there a way to circumvent this with a malicious image or corrupted firmware?
- DMA Attacks
- Circumventing encryption (as I sortof implied in the first one)
- Security after a first boot after flashing (malicious image or malware firmware makes changes that are then âsignedâ on shut down and can be secure booted) or Time-of-check to time-of-use attacks
- IOMMU support? Or bugs thereof (see also 1, 2, 3, 4)
- Stumbled on this post when making this
Basically what I want to know is Can the L5 after such an operation be trusted to the same degree as it was fresh from Purism?
And if not what are significant risks and how can they be mitigated
Also is there any way to audit any of this when it comes to A: firmware B: the OS?
Also can the Librem 5 detect if an image has been signed by purism (does is it have a preinstalled key)?
Thanks!