Scenario: Workstation: boot, provisioning and updates

Defined in model.py:734

The workstation boots, is provisioned by an administrator, and keeps its VMs updated.

12 open threats, highest risk 9 high · 39 threats in all · 10 data flows · 8 affected components

Data Flow Diagram

Sequence Diagram

Show data flows
ID Name Source Sink Type
1 Power on Journalist Workstation hardware Request
2 Start firmware Workstation hardware Workstation firmware Request
3 Load bootloader Workstation firmware Workstation bootloader Request
4 Boot Qubes Workstation bootloader Qubes OS and Xen Request
5 Start dom0 Qubes OS and Xen dom0 Request
6 Install and configure Administrator Workstation provisioning code Request
7 Apply salt states Workstation provisioning code dom0 Request
8 Provide secret keys dom0 sd-gpg Request
9 Fetch updates dom0 FPF apt repository Request
10 Signed packages FPF apt repository dom0 Response to Fetch updates

Applicable threats

Threat Component Status Risk After mitigations Mitigations
Attacker has temporary physical access to workstation laptop and can disassemble it THREATQW60 Workstation hardware partially mitigated 9 high 9 high Use safeboot or qubes anti-evil-maid for measured boot (https://github.com/freedomofpress/securedrop-workstation/issues/602); Use coreboot on workstation
Known vulnerability in any VM template THREATQW22 sd-gpg mitigated 12 high 6 medium Autoupdate all VMs; grsecurity in all Debian templates
Intel Firmware (incl. management engine vulnerability) THREATQW25 Workstation hardware transferred 6 medium 6 medium
Supply chain attack on workstation hardware THREATQW26 Workstation hardware accepted 6 medium 6 medium
Vulnerability in the QubesOS management layer THREATQW27 Qubes OS and Xen transferred 6 medium 6 medium
Malicious VM template THREATQW28 sd-gpg mitigated 6 medium 6 medium
Side-channel analysis or exfiltration of GPG keys or other sensitive data THREATQW29 sd-gpg partially mitigated 6 medium 6 medium Use non-networked disposible VMs for opening all decrypted files.
Workstation laptop is seized/stolen THREATQW30 Workstation hardware partially mitigated 6 medium 6 medium
Admin error in provisioning of the workstation THREATQW31 sd-gpg inform 6 medium 6 medium
Vulnerability introduced to AppVMs via Template dependency THREATQW58 sd-gpg partially mitigated 6 medium 6 medium grsecurity in all Debian templates; create individual templates for each role in workstation to minimize unnecessary package installs
Attacker has temporary physical access to workstation laptop THREATQW59 Workstation bootloader unmanaged 6 medium 6 medium Use safeboot or qubes anti-evil-maid for measured boot (https://github.com/freedomofpress/securedrop-workstation/issues/602); Use coreboot on workstation
Malicious or coerced administrator THREATQW61 Workstation provisioning code accepted 6 medium 6 medium
Evil maid attack on the operating system THREATQW32 Qubes OS and Xen partially mitigated 3 low 6 medium Qubes - full disk encryption
Attacker obtains code execution in any VM THREATQW36 sd-gpg partially mitigated 6 medium 4 medium Default Qubes-RPC deny policy; grsecurity in all Debian templates
Qubes RPC policy misconfiguration THREATQW55 dom0 mitigated 6 medium 4 medium Default Qubes-RPC deny policy
Information disclosure (Xen vulnerability) THREATQW21 sd-gpg accepted 4 medium 4 medium
Vulnerability introduced in provisioning code THREATQW15 Workstation provisioning code partially mitigated 9 high 3 low
User error while operating the workstation THREATQW19 sd-gpg partially mitigated 9 high 3 low
APT server man-in-the-middle and replaying old packages THREAT53 FPF apt repository partially mitigated 6 medium 3 low Valid-Until for apt packages
SecureDrop APT servers are compromised or APT server man-in-the middle attack with malicious packages. THREAT54 FPF apt repository mitigated 6 medium 3 low All SecureDrop and tor releases (Release file and tag) signed with airgapped key; tag verified before building debian packages
Unknown vulnerability in a VM template THREATQW10 sd-gpg mitigated 6 medium 3 low grsecurity in all Debian templates
Privilege escalation (Xen vulnerability) THREATQW11 sd-gpg accepted 6 medium 3 low grsecurity in all Debian templates
Tor (now FPF) apt repo compromised THREAT44 FPF apt repository mitigated 3 low 3 low All SecureDrop and tor releases (Release file and tag) signed with airgapped key
CPU-based attacks THREATQW12 Workstation hardware accepted 3 low 3 low Disabling hyperthreading (done by Qubes)
Evil maid attack on bootloader THREATQW13 Workstation bootloader accepted 3 low 3 low
Evil maid attack on firmware THREATQW14 Workstation firmware accepted 3 low 3 low
Vulnerability in Qubes RPC implementation THREATQW44 Qubes OS and Xen accepted 3 low 3 low
qrexec vulnerability THREATQW51 Qubes OS and Xen accepted 3 low 3 low
open-in-dvm vulnerability THREATQW52 Qubes OS and Xen accepted 3 low 3 low
split-gpg vulnerability in upstream Qubes THREATQW50 Qubes OS and Xen accepted 2 low 3 low
Attacker obtains code execution in the GPG VM THREATQW6 sd-gpg partially mitigated 6 medium 2 low
GPG VM (sd-gpg) performs attacker file decryption THREATQW7 sd-gpg mitigated 6 medium 2 low
Hyperthreading THREATQW54 Workstation hardware mitigated 6 medium 2 low Disabling hyperthreading (done by Qubes); Don't use intel CPUs
Attacker obtains code execution on sd-gpg VM THREATQW5 sd-gpg partially mitigated 4 medium 2 low
Vulnerability introduced in code dependency of provisioning code THREATQW2 Workstation provisioning code avoided 3 low 2 low
DoS (Xen vulnerability) THREATQW3 sd-gpg accepted 2 low 2 low
Compromised VM spoofs log origin THREATQW56 sd-gpg accepted 2 low 2 low
Qubes is backdoored THREATQW43 Qubes OS and Xen accepted Unknown Unknown
Inter-vm covert channels (e.g. CPU cache) used for exfiltration THREATQW48 sd-gpg accepted Unknown Unknown

Back to Summary