rights reserved. How can things go wrong? Source Developers Build Package Consumers Dependencies Unauthorized code change Compromised repository Build from compromised source code Compromised build process Using compromised dependency Modified package Compromised package store Downloading compromised package
rights reserved. What is SLSA Supply-chain Levels for Software Artifacts Framework for software integrity Build trust between software producer and consumer Different levels of security assurance
rights reserved. Don’t just sign, Attest! Signing Attestation From trusted source Explicit meaning Detail about the artifact Implicit meaning Limited information From trusted source
rights reserved. The software need to run somewhere Package Server End-users Deployment Downloading compromised package Compromised deployment process Unauthorized deployment Unauthorized access Accessing compromised API endpoint
rights reserved. Attestation document Can be obtained within the enclave only Signed by Nitro Secure Module (NSM) Contains information about the enclave Prove the enclave’s identity
rights reserved. Attestation document 1. Present attestation document to client 2. Client validates enclave fingerprint (PCRs) 3. Client uses the public key to encrypt data 4. Client sends encrypted data to enclave
rights reserved. Where does the software come from? Source Build Package Fingerprint (PCRs) Enclave Image File (EIF) Attest Enclave End-users Attestation document Verify with attested artifact Verify source code and build process
rights reserved. Demo - How high (or low) is my salary? This is a difficult question I want to know how much you earn But I don’t want you to know how much I earn
rights reserved. Demo - How high is my salary enclave app Only tell you where is your salary ranked Source code is open Build process is open Run on AWS Nitro Enclave Proved by attestation document Data encrypted between you and the enclave
rights reserved. Wrap up • Software supply chain security: § Source code to artifact → SLSA § Artifact to end-user → AWS Nitro Enclaves • GitHub Actions can help you achieve SLSA L3 build • Don’t just sign, Attest!