HDDS-15526. Add security threat model (THREAT_MODEL.md + SECURITY.md + AGENTS.md)#10483
HDDS-15526. Add security threat model (THREAT_MODEL.md + SECURITY.md + AGENTS.md)#10483potiuk wants to merge 4 commits into
Conversation
….md/SECURITY.md Reconciled against master's now-merged AGENTS.md (HDDS-15316) and SECURITY.md: adds THREAT_MODEL.md and appends a ## Security discoverability section to the existing AGENTS.md (AGENTS.md -> SECURITY.md -> THREAT_MODEL.md chain) plus a ## Threat Model pointer to SECURITY.md, rather than replacing either file. Generated-by: Claude Opus 4.8 (1M context)
db9a5af to
109c0a9
Compare
|
Thanks @potiuk for raising this. I will try to review and revise this draft by the end of the week. |
Yes.
When security is enabled, no, anonymous access will be rejected. (At least there is no plan for that right now, see https://issues.apache.org/jira/browse/HDDS-7961)
Ratis gives standard Raft safety under an honest majority, e.g. 2 of 3 replicas for RATIS THREE. It is not Byzantine fault tolerant. Ozone has checksum verification for normal reads and replica/container checks, so ordinary single-replica corruption is detected. But I would not claim a full guarantee against a Byzantine datanode that can forge both data and metadata on the path it serves |
… (S3 GW rejects anon); Ratis honest-majority safety, not BFT Generated-by: Claude Opus 4.8 (1M context)
|
Thanks @smengcl — both answers folded into
Both (inferred) tags on those points are now (maintainer). No rush on the remaining wave-2/3 questions (authz default, token lifetimes, TDE/CSI/Recon scope) — whenever you get to them. |
Folds Wei-Chiu Chuang's 2026-06-25 review into THREAT_MODEL.md: - §5a: ACL (ozone.acl.enabled=false), block tokens (hdds.block.token.enabled=false), and TDE/KMS are off by default even in secure mode (answers Q-authz/Q-token/Q-tde). - §3: CSI driver out of scope (not production-ready); Recon in scope; S3 anonymous-rejection made explicit + future web-hosting caveat. - §7: cross-reference ozone-site#397 checksum doc. - §10: protect OM/SCM/Recon RocksDB at rest; isolate KMS; track a production secure-deployment checklist. Generated-by: Claude Opus 4.8 (1M context)
|
@jojochuang — thanks for the thorough review. All nine points are folded into §5a — default-state baseline (the important one):
These now answer Q-authz / Q-token / Q-tde and reset the "default build" baseline — a finding that assumes ACLs/tokens/TDE are on in a stock install is §3 — scope:
§7: cross-referenced the ozone-site#397 checksum doc. §10 — operator hardening:
Shout if I've mis-stated anything — happy to iterate. |
https://issues.apache.org/jira/browse/HDDS-15526
What
Adds a threat model for Apache Ozone, drafted at the Ozone PMC's request (the GLASSWING / Mythos scan pre-flight needs a discoverable threat model), plus the discoverability chain:
THREAT_MODEL.md— the model, following Michael Scovetta's rubric (public mirror).SECURITY.md— your existing policy, preserved, with a Threat Model pointer appended.AGENTS.md— routes a vulnerability-research agent throughAGENTS.md -> SECURITY.md -> THREAT_MODEL.md.The model in brief
Ozone is modelled as a cluster of network services (S3 Gateway, OM, SCM/internal-CA, Datanodes/Ratis, Recon) with distinct actors: untrusted client, authenticated-but-unauthorized user, operator, service peer, and a bounded-Byzantine datanode. The load-bearing knob is secure mode (
ozone.security.enabled): findings that only manifest in non-secure (dev) mode are out of model. The model makes explicit that the KDC, Ranger policy correctness, the SCM CA private key, KMS keys, and network isolation are operator responsibilities — so scanner/AI reports against those route to "operator-owned" rather than churning.DRAFT — you own and merge it
Most claims are tagged (documented) from the source/
SECURITY.md; the architectural assumptions I marked (inferred) are gathered as open questions in section 14. The two that most shape the model:Please edit freely. Once merged + discoverable, pre-flight passes and we queue the scan (no deadline pressure — the window is being extended as the ASF moves to Mythos 5).
Generated by the ASF Security team's threat-model tooling (Claude Opus); reviewed before opening.