App server processes submission in plaintext partially mitigated
THREAT109
· Partially mitigated: Some controls are in place, but the risk is still too high.
· Defined in catalog.py:1898
- Risk
- High impact × Low likelihood = 6 medium
- After mitigations
- High impact × Low likelihood = 6 medium (unchanged)
Should the appserver be compromised, an adversary may be able to access future submissions in unencrypted form
Threat actors: Nation State / Law Enforcement
Mitigations
| Mitigation | Status |
|---|---|
| Secure Temporary Wrapper to stream submissions encrypted on disk MITIG69 | implemented |
| Nighly reboot occurs to clear secrets stored in memory MITIG136 | implemented |
Possible further mitigations
- e2e encryption MITIG140 proposed
Residual risk
Attacker able to compromise the app server can observe the plaintext of all submissions past the point of compromise.
Where it applies
Applies to 1 component in 2 scenarios.
Source submission · Source Interface
Supply chain and dependencies · Source Interface
Notes
Existing mitigations: Temporary secure file wrapper (symmetric key when file is streamed to disk, prior to re-encrypting with asymmetric submission key) but memory still contains plaintext (MITIG69). Reboot every 24 hours to wipe memory (MITIG136). Further mitigations: User could manually GPG-encrypt the submission with the submission public key prior to uploading it to the SecureDrop instance. In the future, a Tor browser extension to automatically GPG-encrypt submisions client-side (MITIG140). Automated test for mitigation: Yes.
How this threat is matched
Listed for these components. A boundary covers every component inside it.