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 upconcept to always use PV USB to avoid hardware contamination / Qubes installer itself using PV USB #2145
Comments
andrewdavidwong
added
enhancement
C: core
C: installer
P: major
labels
Jul 3, 2016
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
marmarek
Jul 3, 2016
Member
Generally good idea, but unfortunately impossible with the current hardware - namely lack of reliable trusted boot.
If you boot from USB, you don't have any place to verify boot code with. If your USB VM got compromised during installation, it can feed the installed with malicious packages. And you don't have any way to detect this, because public key used for verification come from the same source (that USB stick) and also can be replaced by compromised USB VM.
Implementation of this idea would require having some other way to reliably get verification key, without using the code from USB stick itself (or after some other verification of it).
In theory UEFI Secure Boot could be used, but in practice we don't consider it being trustworthy technology. For example: http://blog.cr4.sh/2016/06/exploring-and-exploiting-lenovo.html
|
Generally good idea, but unfortunately impossible with the current hardware - namely lack of reliable trusted boot. In theory UEFI Secure Boot could be used, but in practice we don't consider it being trustworthy technology. For example: http://blog.cr4.sh/2016/06/exploring-and-exploiting-lenovo.html |
marmarek
closed this
Jul 3, 2016
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
andrewdavidwong
Jul 4, 2016
Member
But there's still the matter of documenting this. For example, if it's feasible that USB controller firmware will become compromised while the USB controller is assigned to a USB qube (and persist across Qubes OS reinstallations), then we should (presumably) recommend against upgrading to new Qubes versions by reinstalling from an ISO on a USB drive. (Unfortunately, this probably leaves no reinstallation path available to laptops users who don't have non-USB optical drives.)
Similar guidance can (should?) be given regarding the use of live USB OSes on the same hardware as Qubes, as @adrelanos points out above.
|
But there's still the matter of documenting this. For example, if it's feasible that USB controller firmware will become compromised while the USB controller is assigned to a USB qube (and persist across Qubes OS reinstallations), then we should (presumably) recommend against upgrading to new Qubes versions by reinstalling from an ISO on a USB drive. (Unfortunately, this probably leaves no reinstallation path available to laptops users who don't have non-USB optical drives.) Similar guidance can (should?) be given regarding the use of live USB OSes on the same hardware as Qubes, as @adrelanos points out above. |
adrelanos commentedJul 2, 2016
The premise behind PVUSB is that one's USB stack could be or become compromised. In such situations, the main/rest of the system should not get in contact with the USB stack to prevention contamination, i.e. to prevent a compromised USB stack to compromise the full system. Therefore it is the goal to contain possible USB stack contamination by putting the USB stack into a specialized PV USB VM.
So far so good.
Given that premise it follows that the PV USB must consistently always be used.