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

security: respond to weaknesses identified in the in-toto sec audit #268

Open
colek42 opened this issue Jun 14, 2023 · 3 comments
Open

security: respond to weaknesses identified in the in-toto sec audit #268

colek42 opened this issue Jun 14, 2023 · 3 comments
Assignees
Labels
needs triage Issues to triage

Comments

@colek42
Copy link
Member

colek42 commented Jun 14, 2023

  1. Incorporate File Permissions into File Metadata Records

    • In response to the audit finding GHSA-wqrg-wjp9-wqfq, we need to include file permissions into file metadata records as part of the Omnitrail container development.
  2. Remove Support for Configuration Files

    • As per the audit finding GHSA-wqrg-wjp9-wqfq, we need to remove support for configuration files in Witness. Guidance should be provided on setting configurations through API parameters or CLI arguments.
  3. Add Feature to Attest Internal Configuration Parameters

    • In response to audit GHSA-wqrg-wjp9-wqfq, add a feature that attests to the Witness internal configuration parameters.
  4. Strategies to Counter Layout Replay Attacks

    • According to the audit finding GHSA-73jv-h86v-c2vh, implement strategies set out in in-toto Enhancements ITE-2 and ITE-3 leveraging The Update Framework (TUF). This includes adding TUF support to Archivista to ensure freshness of Witness Policy and other data stored.
  5. Implement Measures against Link File Reuse

    • As a response to the audit GHSA-6q78-j78h-pqm2, implement globally unique step names in a layout where reuse is not intended and reuse Witness policy across many pipelines as per recommendations from ITE-2 and ITE-3. Also, consider recording the hashes of the tool used in the step in the policy.
  6. Improve Verification by Functionaries

    • To address audit finding GHSA-p86f-xmg6-9q4x, support checking of witness policies before creating attestations and use namespaces and security modules like Seccomp, AppArmor, and SELinux to isolate Witness from the build process. This should be implemented alongside the existing Sigstore and SPIRE key providers.
  7. Clarify Position on PGP Support

    • As mentioned in response to audit GHSA-jjgp-whrp-gq8m, officially state and document that Witness neither supports nor plans to support PGP. This will ensure clarity for all users and contributors.
@linsun
Copy link

linsun commented Jan 10, 2025

Hi! Is there any update to this? Are all the issues still around?

@JustinCappos
Copy link

Note, this tracking issue is specific to the Witness implementation and isn't reflective of issues in the in-toto specification.

@jkjell jkjell self-assigned this Jan 14, 2025
@jkjell
Copy link
Member

jkjell commented Jan 14, 2025

Hey @linsun 👋

Here are some updates and information with respect to the above:

  1. Incorporate File Permissions into File Metadata Records
  2. Remove Support for Configuration Files
  3. Record hash of config
  4. Strategies to Counter Layout Replay Attacks
  5. Implement Measures against Link File Reuse
    • Witness leverages the attestation specification. This includes subjects in addition to step names. This ensures attestations apply appropriately to the policy being validated.
    • Witness attestations capture timestamps for all attestations created. Policies can include checks on timestamp for uniqueness.
    • When attestations are signed with a Fulcio certificate from Project Sigstore, the functionary can include checks on the x509 certificate extensions to validate fields like RunInvocationURI to differentiate links.
  6. Improve Verification by Functionaries
    • Witness implements a pluggable model for create attestations. This captures information about the materials and products outside the scope of the observed process execution. Attestor lifecycle documentation: https://witness.dev/docs/docs/concepts/attestor#attestor-life-cycle
    • Properly implemented signing techniques from the Sigstore Project or SPIRE, adhering with SLSA level 3 isolation principals, capture materials and products in the control plane, separated from pipeline execution.
  7. Clarify Position on PGP Support

I'll update the above descriptions to better track this progress. Let us know if you have any further questions!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs triage Issues to triage
Projects
None yet
Development

No branches or pull requests

4 participants