Source codename compromised partially mitigated
THREAT74
· Partially mitigated: Some controls are in place, but the risk is still too high.
· Defined in catalog.py:1303
- Risk
- High impact × Low likelihood = 6 medium
- After mitigations
- High impact × Low likelihood = 6 medium (unchanged)
An attacker obtains a source's codename to then impersonate them (e.g. through physical surveillance)
Threat actors: Any
Mitigations
| Mitigation | Status |
|---|---|
| Source codename is 7 word diceware passphrase MITIG45 | implemented |
| Source interface describes that the source should memorize the codename MITIG121 | implemented |
| Source codenames stored hashed in the database MITIG122 | implemented |
| Source account does not display their submitted documents MITIG44 | implemented |
Possible further mitigations
- 2FA for source accounts MITIG123 proposed
Residual risk
Codename may be obtained through the source (e.g. via physical surveillance). It's worth noting that the source first would need to be identified before this is possible.
Where it applies
Applies to 1 component in 1 scenario.
Source discovery and OPSEC · Source environment
Notes
Existing mitigations: Source codenames are 7 words long by default and cannot be changed (MITIG45). Source interface suggests write/memorize/destroy (MITIG121). Source codenames are hashed in the database using scrypt (MITIG122). Source account does not display their submitted documents (MITIG44). Further mitigations: Enable TOTP-based 2-fa for sources, though should their device be compromised, metadata (e.g. 2FA app contents on phone) may link the Source to SecureDrop instance (MITIG123). Automated test for mitigation: No.
How this threat is matched
Listed for these components. A boundary covers every component inside it.