Scenario: release
Threat model for Dangerzone build and release process
26
Findings
13
Data Flows
14
Affected Components
Data Flow Diagram
Sequence Diagram
Show data flows
| ID | Name | Source | Sink | Type |
|---|---|---|---|---|
| 1 | Kick off release build | dev | Build machines | Request |
| 2 | Build and publish signed container image | Build machines | GitHub Container Registry | Request |
| 3 | Download embedded assets | Build machines | External github repositories | Request |
| 4 | Build DZ binaries | Build machines | Build machines | Request |
| 5 | Sign release binary for Linux | Build machines | Build machines | Request |
| 6 | Sign Windows binary | Build machines | Certum Card | Request |
| 7 | Windows signature result | Certum Card | Build machines | Request |
| 8 | Sign Apple binary | Build machines | YubiKey | Request |
| 9 | Apple signature result | YubiKey | Build machines | Request |
| 10 | Push signed builds to Linux repos | Build machines | DZ Linux package server | Request |
| 11 | Create GitHub release | Build machines | DZ GitHub repo | Request |
| 12 | Embed sandbox public key | Build machines | Build machines | Request |
| 13 | Update release reference | dev | dangerzone.rocks | Request |
Applicable threats
| Threat ID | Description | Target Component | Mitigations |
|---|---|---|---|
| DZ-1-DEPS | Build machines | verifies resources.deps | |
| CAPEC-145 | Checksum Spoofing | Build machines | uses strong crypto |
| CAPEC-439 | Manipulation During Distribution | External github repositories | is verifiable |
| CAPEC-439 | Manipulation During Distribution | dangerzone.rocks | is verifiable |
| CAPEC-440 | Hardware Integrity Attack | Build machines | is verifiable |
| CAPEC-440 | Hardware Integrity Attack | Certum Card | is verifiable |
| CAPEC-440 | Hardware Integrity Attack | YubiKey | is verifiable |
| CAPEC-473 | Signature Spoof | Build machines | uses strong crypto |
| CAPEC-582 | Route Disabling | Build machines | works offline |
| CAPEC-582 | Route Disabling | GitHub Container Registry | works offline |
| CAPEC-582 | Route Disabling | External github repositories | works offline |
| CAPEC-582 | Route Disabling | Certum Card | works offline |
| CAPEC-582 | Route Disabling | DZ Linux package server | works offline |
| CAPEC-582 | Route Disabling | DZ GitHub repo | works offline |
| CAPEC-582 | Route Disabling | dangerzone.rocks | works offline |
| CAPEC-639 | Probe System Files | GitHub Container Registry | is sandboxed |
| CAPEC-639 | Probe System Files | DZ container image | is sandboxed |
| CAPEC-639 | Probe System Files | External github repositories | is sandboxed |
| CAPEC-639 | Probe System Files | Embedded Sandbox | is sandboxed |
| CAPEC-639 | Probe System Files | DZ release binary | is sandboxed |
| CAPEC-639 | Probe System Files | Release Signature Data | is sandboxed |
| CAPEC-639 | Probe System Files | DZ Linux package server | is sandboxed |
| CAPEC-639 | Probe System Files | DZ GitHub repo | is sandboxed |
| CAPEC-639 | Probe System Files | Sandbox Public Key | is sandboxed |
| CAPEC-639 | Probe System Files | dangerzone.rocks | is sandboxed |
| CAPEC-639 | Probe System Files | Release reference | is sandboxed |