Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
JAWS Pankration 2024 - Achieve software supply ...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Richard Fan
August 25, 2024
Technology
0
51
JAWS Pankration 2024 - Achieve software supply chain security using AWS Nitro Enclaves and GitHub Actions
Presented at JAWS Pankration 2024
Richard Fan
August 25, 2024
Tweet
Share
More Decks by Richard Fan
See All by Richard Fan
Preserving privacy on data collaboration with AWS Clean Rooms
richardfan1126
0
52
Achieve software supply chain security using AWS Nitro Enclaves and GitHub Actions
richardfan1126
0
150
When Data Collaboration Meets Privacy: Privacy-enhancing Technologies on AWS
richardfan1126
0
57
AWS Security Hub Central Configuration - An Easy way to monitor your Organization security posture
richardfan1126
0
70
Create your first AWS Nitro Enclaves application
richardfan1126
0
62
Building Security Data Lake
richardfan1126
0
19
Other Decks in Technology
See All in Technology
OpenClawでPM業務を自動化
knishioka
1
270
GitHub Actions侵害 — 相次ぐ事例を振り返り、次なる脅威に備える
flatt_security
7
4.6k
韓非子に学ぶAI活用術
tomfook
3
1k
【社内勉強会】新年度からコーディングエージェントを使いこなす - 構造と制約で引き出すClaude Codeの実践知
nwiizo
26
13k
Phase08_クイックウィン実装
overflowinc
0
2k
大規模ECサイトのあるバッチのパフォーマンスを改善するために僕たちのチームがしてきたこと
panda_program
1
400
Cursor Subagentsはいいぞ
yug1224
2
110
FlutterでPiP再生を実装した話
s9a17
0
210
20年以上続く PHP 大規模プロダクトを Kubernetes へ ── クラウド基盤刷新プロジェクトの4年間
oogfranz
PRO
0
320
開発チームとQAエンジニアの新しい協業モデル -年末調整開発チームで実践する【QAリード施策】-
kaomi_wombat
0
250
「捨てる」を設計する
kubell_hr
0
410
来期の評価で変えようと思っていること 〜AI時代に変わること・変わらないこと〜
estie
0
110
Featured
See All Featured
The SEO Collaboration Effect
kristinabergwall1
0
410
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.6k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
290
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
53k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
170
Game over? The fight for quality and originality in the time of robots
wayneb77
1
150
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
230
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
470
From π to Pie charts
rasagy
0
160
Transcript
Achieve software supply chain security using AWS Nitro Enclaves and
GitHub Actions Richard Fan AWS Security Hero
Where does the software come from? Source Developers Build Package
Consumers Dependencies
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
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
SLSA Provenance Birth certificate of the software Software
Achieving SLSA on GitHub Actions
What is GitHub Actions • CI/CD platform • Workflow defined
within code repo • Run on GitHub- / self-hosted runner
GitHub Actions workflow • name: Build and sign EIF •
on: [push] • permissions: • contents: read • packages: write • id-token: write • attestations: write • jobs: • build_and_sign_artifact: • runs-on: ubuntu-latest • steps: # ... Build and push artifact • - name: GitHub attest • uses: actions/
[email protected]
Generate and sign provenance
GitHub Actions workflow
SLSA provenance Built by GitHub Actions Source code version Software
build
Where does the software come from? Source Developers Build Package
Consumers Dependencies SLSA
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
AWS Nitro Enclaves • Isolated virtual machine • Run on
EC2 instances • No admin access • No persistent storage • No external networking
Attestation document 1. Generate by Nitro Enclave at runtime 2.
Present attestation document to client app 3. Client validates the document 4. Client validates enclave fingerprint (PCRs)
Where does the software come from? Source Build Package Fingerprint
(PCRs) Enclave application Attest Enclave End-users Attestation document Verify with attested artifact Verify source code and build process
Demo … by yourself
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
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
Demo - How high is my salary enclave app •
https://github.com/richardfan1126/how-high-is-my-salary-enclave-app • Easy setup (Terraform)
How to find me Richard Fan
[email protected]
20 richardfan1126