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

content: draft: Add mitigation for compromised build tooling #1251

Merged
merged 8 commits into from
Dec 11, 2024
Merged
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 13 additions & 3 deletions docs/spec/draft/threats.md
Original file line number Diff line number Diff line change
Expand Up @@ -866,14 +866,23 @@ libDep, resulting in MyPackage also having the security vulnerability.
process, which alters the build process and injects unintended behavior into the
output artifact.

*Mitigation:* This can be partially mitigated by treating build tooling,
including OS images, as any other artifact to be verified prior to use.
The threats described in this document apply recursively to build tooling
as do the mitigations and examples. A future
[Build Environment track](future-directions#build-environment-track) may
provide more comprehensive guidance on how to address this threat.
TomHennen marked this conversation as resolved.
Show resolved Hide resolved

*Example:* MyPackage is a tarball containing an ELF executable, created by
running `/usr/bin/tar` during its build process. An adversary compromises the
`tar` OS package such that `/usr/bin/tar` injects a backdoor into every ELF
executable it writes. The next time MyPackage is built, the build picks up the
vulnerable `tar` package, which injects the backdoor into the resulting
MyPackage artifact.

*Mitigation:* **TODO**
MyPackage artifact. Solution: [apply SLSA recursively] to all build tools
prior to the build. The build platform verifies the disk image,
or the individual components on the disk image, against the associated
provenance or VSAs prior to running a build. Depending on where the initial
compromise took place the modified `/usr/bin/tar` will fail this verification.
TomHennen marked this conversation as resolved.
Show resolved Hide resolved

</details>

Expand Down Expand Up @@ -1037,6 +1046,7 @@ collision resistance.

<!-- Links -->

[apply SLSA recursively]: verifying-artifacts.md#step-3-optional-check-dependencies-recursively
[authentic]: requirements.md#provenance-authentic
[exists]: requirements.md#provenance-exists
[isolated]: requirements.md#isolated
Expand Down
Loading