Backlog

Proposed mitigations, ranked by the highest risk after mitigations among the threats they would help with, then by how many of those threats are open. See how to read this model for what the scores mean.

Mitigation Highest risk it would reduce Open threats Threats
Instruct admins not to modify config by hand MITIG62 9 high 6 of 7 Configuration vulnerability in Source interface THREAT5; Monitor server configuration error THREAT65; OSSEC rules configuration error on application server THREAT167 and 4 more
Journalist guide has detailed information about removing metadata and handling the malware threat MITIG88 9 high 3 of 5 Failure to sanitize documents THREAT87 Legacy (Tails/SVS); Source submits identifying information THREAT88; Malware on transfer device breaks SVS airgap THREAT139 Legacy (Tails/SVS) and 2 more
SecureDrop has default (but potentially customizable) text on source interface with post-Tor OPSEC information MITIG85 9 high 2 of 4 DNS requests to news organization's subdomain for SecureDrop landing page, freedom.press, torproject.org Tor activity, SD submissions may be correlated THREAT73; Source reveals that they are using securedrop/leaking documents THREAT76; Source activity is compromised via physical surveillance (e.g.: camera) THREAT131 and 1 more
Alerts sent to admins and FPF when onion URLs change on landing pages (from monitoring via multiple Tor circuits and physical locations) MITIG104 9 high 2 of 5 Source goes to wrong source interface onion URL THREAT89; Landing page source control is compromised THREAT57; Landing page host is compromised THREAT58 and 2 more
Use coreboot on workstation MITIGQW9 9 high 2 of 4 Attacker has temporary physical access to workstation laptop and can disassemble it THREATQW60; Attacker has temporary physical access to workstation laptop THREATQW59; Evil maid attack on bootloader THREATQW13 and 1 more
Use safeboot or qubes anti-evil-maid for measured boot (https://github.com/freedomofpress/securedrop-workstation/issues/602) MITIGQW50 9 high 2 of 2 Attacker has temporary physical access to workstation laptop and can disassemble it THREATQW60; Attacker has temporary physical access to workstation laptop THREATQW59
DNS over TLS MITIG90 9 high 1 of 1 DNS THREAT85
Apt traffic over Tor MITIG91 9 high 1 of 3 DNS THREAT85; SecureDrop server identification THREAT93; Malicious apt package installed at install-time or during updates THREAT36
Diff and changelog review performed on Python dependencies when they are updated. MITIG95 9 high 1 of 1 Vulnerabilities maliciously introduced in python libraries THREAT86
Use authenticated version of NTP to harden against e.g. DNS attacks - tlsdate? research needed here MITIG97 9 high 1 of 3 DNS THREAT85; NTP THREAT105; Hardware Firewall Supply chain attack THREAT150
Improve MAT in Tails MITIG99 Legacy (Tails/SVS) 9 high 1 of 1 Failure to sanitize documents THREAT87 Legacy (Tails/SVS)
Chrome does not send DNS requests for onion addresses - is this still not the case? We should push this MITIG101 9 high 1 of 1 DNS request to .onion address THREAT90
Brave does not send DNS requests for onion addresses - not the case yet but they're working on it MITIG102 9 high 1 of 1 DNS request to .onion address THREAT90
Landing pages instruct users to compare onion URLs MITIG106 9 high 1 of 3 Source goes to wrong source interface onion URL THREAT89; Landing page host is compromised THREAT58; QUANTUM-like attacks for Landing page THREAT123
FPF staff try to seek out and add SecureDrops found in the wild to the directory MITIG107 9 high 1 of 1 Source goes to wrong source interface onion URL THREAT89
Prevent admins from undoing each other's site-specific changes MITIG241 9 high 1 of 2 Configuration vulnerability in Source interface THREAT5; Configuration vulnerability in Journalist interface THREAT9
Improve UX for admins / configuration management MITIG242 9 high 1 of 2 Configuration vulnerability in Source interface THREAT5; Configuration vulnerability in Journalist interface THREAT9
Scan / static analysis against Python dependency source code MITIG243 9 high 1 of 1 Vulnerabilities maliciously introduced in python libraries THREAT86
Landing pages also describe in detail the safest ways to get Tor MITIG89 9 high 0 of 2 DNS requests to news organization's subdomain for SecureDrop landing page, freedom.press, torproject.org Tor activity, SD submissions may be correlated THREAT73; Source visits torproject.org THREAT91
Source guide explains what a source should do if they have malware (e.g. get a new computer or use Tails) - is source guide the best place for this? MITIG155 9 high 0 of 2 DNS requests to news organization's subdomain for SecureDrop landing page, freedom.press, torproject.org Tor activity, SD submissions may be correlated THREAT73; Source is already compromised by malware THREAT135
securedrop.org moved to freedom.press/securedrop MITIG109 8 high 1 of 1 Source visits securedrop.org, freedom.press THREAT92
Move docs.securedrop.org to something like https://readthedocs.org/securedrop MITIG110 8 high 1 of 1 Source visits securedrop.org, freedom.press THREAT92
CAPTCHA for SecureDrop submissions MITIG137 8 high 1 of 2 Application-server DDoS THREAT148; Application server full of submissions THREAT108
Host latest TB binary on landing pages so no traffic goes to torproject.org MITIG108 8 high 0 of 1 Source visits torproject.org THREAT91
Encourage adoption of Tor within the news organization MITIG111 8 high 0 of 1 SecureDrop server identification THREAT93
Honeypot/dummy SD servers MITIG112 8 high 0 of 1 SecureDrop server identification THREAT93
Use a VPN before connecting to the Tor network MITIG113 8 high 0 of 1 SecureDrop server identification THREAT93
Benchmark / load test SecureDrop application - through Tor and without MITIG192 8 high 0 of 1 Application-server DDoS THREAT148
securedrop-admin script to audit config of running servers MITIG65 6 medium 5 of 5 Monitor server configuration error THREAT65; OSSEC rules configuration error on application server THREAT167; SSH configuration error on application server THREAT168 and 2 more
Admin guide should speak clearly to physical security considerations MITIG115 6 medium 3 of 6 Admin laptop tampered THREAT95 Legacy (Tails/SVS); Admin Tails USB stick tampered THREAT97 Legacy (Tails/SVS); App server (physical) tampering THREAT107 and 3 more
FDE on app/mon servers MITIG134 6 medium 3 of 4 App server (physical) tampering THREAT107; Failure to encrypt submissions as they are written to disk THREAT21; App server seized THREAT147 and 1 more
e2e encryption MITIG140 6 medium 2 of 4 Unknown vulnerabilities in Tor (incl. Onion Service cryptography, authentication) THREAT37; App server processes submission in plaintext THREAT109; Data protection vulnerability in Source interface THREAT12 and 1 more
Journalists/admins encouraged not to reuse credentials MITIG146 Legacy (Tails/SVS) 6 medium 2 of 2 Failure to segregate Securedrop environment from corporate environment or personal environment THREAT120 Legacy (Tails/SVS); Compromise admin's corporate (or personal) devices or accounts THREAT145 Legacy (Tails/SVS)
Use hardware token to store submission key MITIGQW8 6 medium 2 of 3 Workstation laptop is seized/stolen THREATQW30; Attacker obtains code execution in the GPG VM THREATQW6; GPG VM (sd-gpg) performs attacker file decryption THREATQW7
sd-proxy has server hardcoded MITIGQW36 6 medium 2 of 2 Plaintext submissions exfiltrated THREATQW40; Attacker obtains code execution in sd-viewer VM THREATQW1
Sign replies with submission key, verify signature server-side MITIGQW41 6 medium 2 of 3 Plaintext submissions exfiltrated THREATQW40; Journalist Interface credentials exfiltrated (passphrase, single code, username), and API token THREATQW38; Attacker tampers with replies in sd-proxy THREATQW42
Tamper-evident stickers/bags MITIG116 Legacy (Tails/SVS) 6 medium 1 of 4 Admin laptop tampered THREAT95 Legacy (Tails/SVS); Admin Tails USB stick tampered THREAT97 Legacy (Tails/SVS); Airgapped SVS Tails key tampered THREAT153 Legacy (Tails/SVS) and 1 more
Chassis intrusion detection MITIG117 Legacy (Tails/SVS) 6 medium 1 of 1 Admin laptop tampered THREAT95 Legacy (Tails/SVS)
2FA for source accounts MITIG123 6 medium 1 of 2 Source codename compromised THREAT74; Authentication vulnerability in Source interface THREAT10
2FA access for SecureDrop servers MITIG127 Legacy (Tails/SVS) 6 medium 1 of 2 Admin Tails Persistent Volume passphrase compromised THREAT101 Legacy (Tails/SVS); Admin activity compromised physical surveillance (e.g.: video camera) THREAT103 Legacy (Tails/SVS)
Free software BIOS e.g. coreboot MITIG128 6 medium 1 of 3 Admin Tails workstation firmware compromised THREAT102 Legacy (Tails/SVS); Firmware exploits/ME exploits for application server THREAT110; Journalist Tails workstation firmware compromised THREAT117 Legacy (Tails/SVS)
Validate integrity of BIOS MITIG129 Legacy (Tails/SVS) 6 medium 1 of 2 Admin Tails workstation firmware compromised THREAT102 Legacy (Tails/SVS); Journalist Tails workstation firmware compromised THREAT117 Legacy (Tails/SVS)
SOP for transferring admin keys and credentials MITIG133 Legacy (Tails/SVS) 6 medium 1 of 1 Admin key sent by (smail) mail and intercepted THREAT106 Legacy (Tails/SVS)
Physical monitoring, e.g. Haven MITIG135 6 medium 1 of 1 App server (physical) tampering THREAT107
Admin guide explains incident response when admin tails key is tampered with / compromised MITIG141 Legacy (Tails/SVS) 6 medium 1 of 2 Admin Tails USB stick tampered THREAT97 Legacy (Tails/SVS); Admin Tails USB stick lost/seized THREAT144 Legacy (Tails/SVS)
Do not write down passphrases MITIG142 Legacy (Tails/SVS) 6 medium 1 of 2 Journalist Tails workstation seized THREAT112 Legacy (Tails/SVS); Journalist workstation Tails Persistent Volume passphrase compromised THREAT121 Legacy (Tails/SVS)
Admin guide explains incident response when passphrase to online journalist workstation is compromised MITIG147 Legacy (Tails/SVS) 6 medium 1 of 2 Journalist workstation Tails Persistent Volume passphrase compromised THREAT121 Legacy (Tails/SVS); Journalist workstation Tails Key seized THREAT151 Legacy (Tails/SVS)
Store SVS key on Yubikey MITIG150 Legacy (Tails/SVS) 6 medium 1 of 2 Submission key is moved to a non-airgapped machine - journalist/admin workstation THREAT126 Legacy (Tails/SVS); Exfiltration of SVS data through malicious documents THREAT128 Legacy (Tails/SVS)
Admin guide explains incident response when submission key moved out of airgap or compromised MITIG151 Legacy (Tails/SVS) 6 medium 1 of 4 Submission key is moved to a non-airgapped machine - journalist/admin workstation THREAT126 Legacy (Tails/SVS); Airgapped SVS Tails key seized THREAT133 Legacy (Tails/SVS); Airgapped SVS Tails Persistent Volume passphrase compromised THREAT134 Legacy (Tails/SVS) and 1 more
Sources instructed to use a non-monitored network (e.g. coffee shop) for Tor activity MITIG156 6 medium 1 of 3 Source network being monitored THREAT136; Source uses employer/corporate device THREAT78; Source resides in geographical location with very low Tor usage THREAT155
Use VMs to sandbox documents as they are opened. MITIG158 6 medium 1 of 2 Airgapped SVS malware THREAT72 Legacy (Tails/SVS); File and resource vulnerability in Journalist interface THREAT18
Run source and journalist interface in separate VMs or containers MITIG169 6 medium 1 of 2 Segmentation between Journalist and Source interfaces THREAT6; Access control vulnerability in Source interface THREAT11
Force hard system shutdown instead of suspend/hibernate (https://github.com/freedomofpress/securedrop-workstation/issues/178) MITIGQW32 6 medium 1 of 1 Workstation laptop is seized/stolen THREATQW30
Use WAF MITIG78 6 medium 0 of 2 Malicious input vulnerability in Journalist interface THREAT8; Malicious input vulnerability in Source interface THREAT20
Verify all attributes are quoted as per http://flask.pocoo.org/docs/0.12/security/ MITIG80 6 medium 0 of 2 Malicious input vulnerability in Journalist interface THREAT8; Malicious input vulnerability in Source interface THREAT20
Buy retail hardware where possible MITIG118 6 medium 0 of 6 Admin laptop supply chain attack THREAT96 Legacy (Tails/SVS); App server supply chain attack THREAT99; Journalist Tails workstation supply chain attack THREAT115 Legacy (Tails/SVS) and 3 more
Inspect physical hardware for implants (not really possible in many cases) MITIG119 6 medium 0 of 5 Admin laptop supply chain attack THREAT96 Legacy (Tails/SVS); Journalist Tails workstation supply chain attack THREAT115 Legacy (Tails/SVS); Monitor server supply chain attack THREAT125 and 2 more
Admin guide and trainings explain the risk of violating SD compartmentalization MITIG120 6 medium 0 of 2 News Organization network is compromised THREAT68; Admin violates compartmentalisation procedure THREAT98 Legacy (Tails/SVS)
Source guide explains Tor2Web issues MITIG125 6 medium 0 of 1 Source uses tor2web THREAT75
Dedicated admin workstation (laptop) stored in secure location MITIG130 Legacy (Tails/SVS) 6 medium 0 of 1 Admin Tails workstation firmware compromised THREAT102 Legacy (Tails/SVS)
Strongly discourage admins from modifying application code MITIG132 6 medium 0 of 1 Admin modifies Source interface Application code THREAT104
Admin guide explains incident response when journalist tails key is tampered with / compromised MITIG143 Legacy (Tails/SVS) 6 medium 0 of 1 Journalist workstation Tails key tampered THREAT116 Legacy (Tails/SVS)
Transfer devices should be regularly sanitized - e.g. after each use. MITIG154 Legacy (Tails/SVS) 6 medium 0 of 3 USB transfer device malware compromises SVS THREAT129 Legacy (Tails/SVS); Transfer device seized/stolen/lost THREAT81 Legacy (Tails/SVS); Transfer device tampered THREAT46 Legacy (Tails/SVS)
Website fingerprinting countermeasures MITIG157 6 medium 0 of 1 Website fingerprinting of source interface THREAT137
Re-image SVS regularly. MITIG159 Legacy (Tails/SVS) 6 medium 0 of 1 Airgapped SVS malware THREAT72 Legacy (Tails/SVS)
Landing page scanner detects subdomains, warnings shown on directory MITIG161 6 medium 0 of 1 Landing page DNS leaks from Securedrop/leaks-related subdomain THREAT59
Reproducible builds MITIG162 6 medium 0 of 1 Compromise package build servers THREAT51
Dedicated secure build machine MITIG163 6 medium 0 of 1 Compromise package build servers THREAT51
HTTPS on journalist interface MITIG166 6 medium 0 of 2 Known vulnerabilities in Tor (incl. Onion Service cryptography, authentication) THREAT35; Communications vulnerability in Journalist interface THREAT17
Server-side session management: session IDs invalidated upon logout MITIG173 6 medium 0 of 2 Session management vulnerability in Journalist interface THREAT7; Session management vulnerability in Source interface THREAT19
Password change should invalidate current session MITIG174 6 medium 0 of 1 Session management vulnerability in Journalist interface THREAT7
Move SecureDrop to a compiled, memory-safe language like Rust to reduce likelihood of code injection/modification MITIG175 6 medium 0 of 1 Unknown vulnerabilities in Python or libraries used by SecureDrop THREAT38
Journalist guide should explain airgap and describe how the drive should never be plugged into online workstation MITIG181 Legacy (Tails/SVS) 6 medium 0 of 2 Malware on transfer device breaks SVS airgap THREAT139 Legacy (Tails/SVS); SVS drive plugged into/mounted on non-airgapped machine. THREAT142 Legacy (Tails/SVS)
Two man rule for admin changes MITIGQW51 6 medium 0 of 1 Malicious or coerced administrator THREATQW61
Hide identity of admin to prevent targeted attacks MITIGQW52 6 medium 0 of 1 Malicious or coerced administrator THREATQW61
Support SecureDrop raid kill switch: Turn off / disable servers MITIG191 4 medium 2 of 2 App server seized THREAT147; Monitor server is seized THREAT152
GPG sign SecureDrop directory MITIG186 4 medium 1 of 1 SecureDrop.org compromised THREAT52
Document all business logic flows / DFD for journalist interface MITIG190 4 medium 1 of 1 Business Logic vulnerability in Journalist interface THREAT146
Valid-Until for apt packages MITIG194 4 medium 1 of 2 Hardware Firewall Supply chain attack THREAT150; APT server man-in-the-middle and replaying old packages THREAT53
Secure cookie flag if TLS enabled on source interface MITIG66 4 medium 0 of 1 Session management vulnerability in Source interface THREAT19
Ensure multiple concurrent sessions not possible MITIG73 4 medium 0 of 1 Session management vulnerability in Source interface THREAT19
Document all business logic flows / DFD for source interface MITIG74 4 medium 0 of 1 Business logic vulnerability in Source interface THREAT24
Discourage admins from installing additional code on the admin workstation MITIG178 Legacy (Tails/SVS) 4 medium 0 of 1 Additional software installed on Admin Workstation THREAT140 Legacy (Tails/SVS)
Document backup strategy for all SecureDrop components MITIG179 4 medium 0 of 1 Backups THREAT141
Provide stickers / color coding to help journalists enforce airgap MITIG180 Legacy (Tails/SVS) 4 medium 0 of 1 SVS drive plugged into/mounted on non-airgapped machine. THREAT142 Legacy (Tails/SVS)
Onion URL on every page of news organization website MITIG184 4 medium 0 of 1 User web traffic to SecureDrop landing page is logged THREAT60
Cover traffic generated to SecureDrop landing pages via embed loaded on every page load MITIG185 4 medium 0 of 1 User web traffic to SecureDrop landing page is logged THREAT60
Detect use of CDN via landing page scanner (partially done) MITIG188 4 medium 0 of 1 User web traffic to SecureDrop landing page is uses CDN and may be logged THREAT61
Extract and monitor Firewall logs MITIG193 4 medium 0 of 1 Firewall logs are not monitored THREAT149
Write SecureDrop deployment guide in jurisdictions where Tor use is low MITIG195 4 medium 0 of 1 Source resides in geographical location with very low Tor usage THREAT155
Send warnings from FPF for pfSense updates MITIG197 4 medium 0 of 2 Firewall not up to date THREAT47; Vulnerabilities/Compromise of Hardware Firewall THREAT48
Use different database users for Source, Journalist interfaces MITIG203 4 medium 0 of 2 Access control vulnerability in Source interface THREAT11; Access control vulnerability in Journalist interface THREAT14
Restrict source information to certain journalist accounts MITIG210 4 medium 0 of 1 Access control vulnerability in Journalist interface THREAT14
Round timestamps of files MITIG211 4 medium 0 of 1 Data protection vulnerability in Source interface THREAT12
Admin guide explains incident response when 2FA seed is compromised MITIG218 Legacy (Tails/SVS) 4 medium 0 of 1 Admin two-factor authentication device is lost or compromised THREAT1 Legacy (Tails/SVS)
Admin guide explains security considerations of backup drive and the incident response if compromised MITIG219 4 medium 0 of 1 Admin workstation backup stick is compromised THREAT2
Dummy submissions MITIG220 4 medium 0 of 1 Tor network exploit THREAT77
Switch to a personal inbox model MITIG244 4 medium 0 of 2 Journalist user performs malicious action under another user's account THREAT170; Journalist user marks all submissions as seen THREAT171
TLS layer between sd-app and server MITIGQW53 4 medium 0 of 1 Attacker tampers with replies in sd-proxy THREATQW42
Careful validation in SDK MITIGQW11 3 low 1 of 2 Attacker obtains code execution in the sd-app VM THREATQW18; Attacker obtains code execution in the GPG VM THREATQW6
Provide end-user documentation MITIGQW12 3 low 1 of 1 User error while operating the workstation THREATQW19
Source guide and interface should strongly warn about out of date TB MITIG221 3 low 0 of 1 Tor browser exploit THREAT79
SCIF for airgap workstation MITIG224 Legacy (Tails/SVS) 3 low 0 of 1 Side-channel attacks on Airgapped SVS THREAT160 Legacy (Tails/SVS)
Detailed OPSEC guide for journalists comms with respect to comms about source material within the news org MITIG225 3 low 0 of 1 Journalist gets phished THREAT56
OSSEC heartbeat alert MITIG230 3 low 0 of 1 Monitor server is down THREAT158
Mandate all signed commits MITIG231 3 low 0 of 2 Malicious code introduced in SecureDrop repository THREAT28; Malicious code introduced in SecureDrop release THREAT29
Use hardware-backed token for SSH key auth to Github MITIG232 3 low 0 of 2 Malicious code introduced in SecureDrop repository THREAT28; Malicious code introduced in SecureDrop release THREAT29
Shard SecureDrop release key MITIG233 3 low 0 of 1 Malicious code introduced in SecureDrop release THREAT29
Use Signal for OSSEC alerts MITIG237 2 low 3 of 3 OSSEC and/or Journalist alert SMTP account credentials compromised THREAT69; OSSEC and/or Journalist alert private key compromised THREAT70; SMTP relay compromised THREAT71
OSSEC emails should be signed MITIG236 2 low 2 of 2 OSSEC and/or Journalist alert SMTP account credentials compromised THREAT69; SMTP relay compromised THREAT71
Remove applications e.g. Tor Browser in Journalist VM (proxy VM) MITIGQW4 2 low 2 of 3 Attacker obtains code execution in the GPG VM THREATQW6; Attacker obtains code execution on sd-gpg VM THREATQW5; DoS (Xen vulnerability) THREATQW3
Sanitize/validate GPG payload in sd-svs prior to sending to sd-gpg (https://github.com/freedomofpress/securedrop-client/issues/433) MITIGQW16 2 low 1 of 2 Attacker obtains code execution in the GPG VM THREATQW6; GPG VM (sd-gpg) performs attacker file decryption THREATQW7
Limiting size of journalist replies. MITIGQW37 2 low 1 of 1 Attacker obtains code execution in sd-viewer VM THREATQW1
Logging exfiltration attempts. MITIGQW38 2 low 1 of 1 Attacker obtains code execution in sd-viewer VM THREATQW1
Throttling. MITIGQW39 2 low 1 of 1 Attacker obtains code execution in sd-viewer VM THREATQW1
Landing pages instruct sources to disable Javascript MITIG234 2 low 0 of 1 Watering hole attack on client THREAT80
Default action for MIME handler in sd-app MITIGQW13 2 low 0 of 1 MIME hander in sd-app doesn't handle submission format THREATQW8
Escape content in the SecureDrop Client (https://github.com/freedomofpress/securedrop-client/issues/160) MITIGQW17 2 low 0 of 1 Injection vulnerability in securedrop-client THREATQW9
Don't use intel CPUs MITIGQW40 2 low 0 of 1 Hyperthreading THREATQW54
Passphrase on admin SSH key MITIG15 Unknown 0 of 0 Not listed on any threat
Use HTTPS on journalist interface. MITIGQW7 Unknown 0 of 0 Not listed on any threat
Use passphrase on submission key MITIGQW10 Unknown 0 of 0 Not listed on any threat
Files stored encrypted in sd-app VM - https://github.com/sqlcipher/sqlcipher MITIGQW14 Unknown 0 of 0 Not listed on any threat
Move gzip parsing out of sd-app in case of gzip vuln MITIGQW30 Unknown 0 of 0 Not listed on any threat
Apparmor for securedrop client MITIGQW31 Unknown 0 of 0 Not listed on any threat
Hardening against exfiltration via separating display versus reply environments (https://github.com/freedomofpress/securedrop-workstation/issues/235) MITIGQW33 Unknown 0 of 0 Not listed on any threat
Wipe drives before exporting to minimize the risk of brinigng malware INTO the workstation environment MITIGQW34 Unknown 0 of 0 Not listed on any threat
Centralized logging MITIGQW42 Unknown 0 of 0 Not listed on any threat
Use tags to prevent file VMs from running concurrently with decryption actions: https://github.com/QubesOS/qubes-issues/issues/2866 MITIGQW43 Unknown 0 of 0 Not listed on any threat
Latest microcode applied in dom0 via: https://github.com/QubesOS/qubes-intel-microcode MITIGQW44 Unknown 0 of 0 Not listed on any threat
API Tokens are revoked upon logout MITIGQW47 Unknown 0 of 0 Not listed on any threat