Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarify threat model by highlighting trust boundaries #992

Open
MarkLodato opened this issue Oct 23, 2023 · 0 comments
Open

Clarify threat model by highlighting trust boundaries #992

MarkLodato opened this issue Oct 23, 2023 · 0 comments
Labels
clarification Clarification of the spec, without changing meaning

Comments

@MarkLodato
Copy link
Member

Based on the conversation in #987 (comment) (@marksisson), we should consider updating Terminology and Threats pages to follow data flow diagrams conventions and in particular focus on trust boundaries. Right now, I see confusion about what constitutes a "package", who the threat actors are, and what we are protecting against. By talking specifically about trust boundaries, I think it could help people better understand. For example, a "package" is specifically something that crosses a trust boundary and we could define "publication" in these terms. (Others have also suggested DFDs and trust boundaries in the past.)

No major changes are necessary, just adding trust boundaries and being more rigorous about DFD entity types (data flow, data store, process, and actor). I don't think we need to stick to DFD symbols, so long as it's clear to readers.

Suggestions:

  • I'd keep the top-level "supply chain model" diagram as-is. It's basically already a simplified data flow diagram. I don't think the added detail to make it a "true" DFD is worth the added complexity. (Namely a missing process between Producer/Source and between Package/Consumer.)
    • That said, we might want to make a "true" DFD version of that diagram with trust boundaries and missing processes added.
  • Each of the individual sub-models---Source, Build, and Package---could have their own next-level-down DFD. We already have this for Build, but diagrams are missing for Source and Package.
  • The build model should be updated to follow DFD conventions and make trust boundaries more explicit. I think that would help answer a lot of questions.
  • The package model in particular could use a diagram, specifically to show the trust boundaries.

In case it's helpful, here's a crappy diagram I drew in that other thread:

slsa-package-dfd drawio

@MarkLodato MarkLodato added the clarification Clarification of the spec, without changing meaning label Oct 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
clarification Clarification of the spec, without changing meaning
Projects
Status: 🆕 New
Development

No branches or pull requests

1 participant