Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
コンテナサプライチェーンセキュリティ
Search
Kyohei Mizumoto
February 21, 2025
Technology
580
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
コンテナサプライチェーンセキュリティ
イベント登壇資料です。2025/02/21 #CNCJ
https://cncj-security.connpass.com/event/341812/
Kyohei Mizumoto
February 21, 2025
More Decks by Kyohei Mizumoto
See All by Kyohei Mizumoto
ソフトウェアサプライチェーンの構造的リスクとコンテナ環境の保護
kyohmizu
5
1.4k
最新の脅威動向から考える、コンテナサプライチェーンのリスクと対策
kyohmizu
1
1.1k
コンテナセキュリティの最新事情 ~ 2026年版 ~
kyohmizu
10
4.5k
Black Hat USA 2025 Recap ~ クラウドセキュリティ編 ~
kyohmizu
0
1k
CTFのためのKubernetes入門
kyohmizu
3
1.3k
クラウドネイティブ環境の脅威モデリング
kyohmizu
3
890
サイバーセキュリティの最新動向:脅威と対策
kyohmizu
1
500
コンテナセキュリティの基本と脅威への対策
kyohmizu
4
2.4k
安全な Kubernetes 環境を目指して
kyohmizu
4
1.4k
Other Decks in Technology
See All in Technology
プロダクションコードにおける encoding/json から encoding/json/v2 へのスムーズな移行
sansantech
PRO
1
140
AIエージェントの監視、思考を見るか行動を見るか / Monitoring AI Agents: Thoughts or Actions
yusukeshimizu
2
170
SLOを阻む不安
sraku2159
0
230
少ない人手 限られた予算 それでも守る 消せない・見つける・戻れる オールハザード型BCP on AWS / 20261107 Mitsutoshi Matsuo
shift_evolve
PRO
0
250
re:Invent の去年のスケジュールを公開します!
miu_crescent
PRO
0
320
顧客合意を取りながら進めるAWSコスト削減の実践
optim
0
140
AIコーディングはじめました
miso
0
160
内製アプリとClaudeスキルのセキュリティチェック、 Backlogの課題で回しています。
ayaka_egaaa
0
150
現場を動かすAIエージェント#2_製造業現場でのAI活用から見た、ハマる罠と実践知
kintotechdev
2
200
複雑な業務システムを高速でつくるため、チーム全員をつくれる人へ
ayakurabuchi
0
140
IBC 2026 動画技術関連レポート / IBC 2026 Report
cyberagentdevelopers
PRO
2
440
業務でAWSをあまり使っていない私が、AWSへのモチベを保つ方法
smt7174
0
180
Featured
See All Featured
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
60k
The Spectacular Lies of Maps
axbom
PRO
1
1.1k
Producing Creativity
orderedlist
PRO
348
41k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
560
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
600
Why Our Code Smells
bkeepers
PRO
340
58k
The Curious Case for Waylosing
cassininazir
1
610
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
370
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1.1k
Amusing Abliteration
ianozsvald
1
380
The SEO identity crisis: Don't let AI make you average
varn
0
630
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
23k
Transcript
コンテナサプライチェーンセ キュリティ @kyohmizu CNCJ: ソフトウェアサプライチェーンセキュリティミートアップ
whoami Security Engineer at 3-shake inc. • Container/Kubernetes Security •
AWS/Google Cloud Security • Security Operations & Technical Support for Blue Team • Cloud Native Security Assessment Others: • 3-shake SRE Tech Talk イベント運営 • 「コンテナセキュリティ」書籍監訳 Kyohei Mizumoto
本セッションについて • コンテナシステムを前提とした、ソフトウェアサプライチェーンのセキュリティを取り扱います ◦ コンテナに関連するすべてのアーティファクト(アプリを含む)が対象です ◦ アプリ開発者、インフラ担当者向けの内容となります • ソフトウェアサプライチェーンの中でも、不正なコードを持ち込まないための考え方・対策に焦 点を当てます
◦ CI/CD基盤のセキュリティ強化、承認プロセスや権限管理などは対象外とします • 全体感をお話しする都合上、コンテナ要素が薄くなってしまいましたがご了承ください
Agenda 01 コンテナサプライチェーンセキュリティ ・ソフトウェアサプライチェーンとコンテナ ・各種セキュリティフレームワーク 02 コンテナサプライチェーンの脅威 ・脅威の事例紹介 03 具体的なセキュリティ対策
・対策方法とツールの紹介
コンテナサプライチェーンセキュリティ 01
ソフトウェアサプライチェーン(SSC)とは ソフトウェアの開発と提供に関わるすべてのコード、人、システム、プロセス • 作成するコードとその依存関係 • ソフトウェアの開発、ビルド、パッケージ化、インストール、実行に使用する内部および外部ソフ トウェア • システムアクセス、テスト、レビュー、監視とフィードバック、コミュニケーション、承認に関するプ ロセスとポリシー
• ソフトウェアとその依存関係の開発、ビルド、保管、実行を担うシステム https://cloud.google.com/software-supply-chain-security/docs/overview
ソフトウェアサプライチェーン(図) https://cloud.google.com/software-supply-chain-security/docs/attack-vectors
コンテナサプライチェーンのアーティファクト アーティファクト:データの集合、成果物 • アプリケーションのソースコード • アプリケーションの依存関係(言語のフレームワークやライブラリ) • アプリケーションバイナリ • Dockerfile
• コンテナイメージ • コンテナの依存関係(ベースイメージ、追加するパッケージ) • インフラのソースコード( IaC: Kubernetes Manifests, Helm Charts) https://cloud.google.com/software-supply-chain-security/docs/overview
コンテナサプライチェーン(図)
自社開発とOSS利用 自社開発における責任範囲 • ソースコードの安全性 ◦ 脆弱性(バグや設定ミス)を含まないこと • ビルドしたアプリケーション、コンテナイメージの安全性 ◦ 正規の手順でビルドされたものであること
• 開発プロセスおよびシステムの安全性 OSS利用における責任範囲 • 利用するOSSの安全性 ◦ 正規のソフトウェアであること ◦ 脆弱性などの問題が発覚した場合に適切に対処すること 本セッションの対象
SSCのセキュリティフレームワーク Supply-chain Levels for Software Artifacts (SLSA) https://slsa.dev/ Secure Supply
Chain Consumption Framework (S2C2F) https://github.com/ossf/s2c2f Microsoft - Containers Secure Supply Chain Framework (CSSC) https://learn.microsoft.com/en-us/azure/security/container-secure-supply-chain/ CNCF - Software Supply Chain Best Practices v2 https://github.com/cncf/tag-security/blob/main/community/working-groups/supply-chain-security/ supply-chain-security-paper-v2/SSCBPv2.md CIS - Software Supply Chain Security Guide https://www.cisecurity.org/insights/white-papers/cis-software-supply-chain-security-guide
Supply-chain Levels for Software Artifacts (SLSA) https://slsa.dev/spec/v1.0/threats-overview ソフトウェアの開発者、利用者に向けた SSCのセキュリティガイドライン •
サプライチェーンを Source, Build, Dependencies, Package の4つに分類 • v1.0ではビルドプロセスやプラットフォームに焦点を当てている • ビルドにおいて、0〜3のセキュリティレベルを定義 ◦ ビルド来歴(Provenance)の生成と管理 ◦ ビルドプラットフォームのセキュリティ強化 • SSCの脅威について複数の事例を紹介 • Attestation モデル、Provenance フォーマットを定義
Secure Supply Chain Consumption Framework (S2C2F) OSSの利用者に向けたセキュリティリスク低減のためのフレームワーク • 8つのセキュリティプラクティスと 4つの成熟度レベルを定義
◦ ただし、レベル4はコストが高く現実的ではないと自ら述べている • SSCの脅威について複数の事例を紹介 • 各要件を満たすためのツール(有償 /無償)を紹介 • 各要件を他のフレームワークと対応付け https://github.com/ossf/s2c2f
Containers Secure Supply Chain Framework (CSSC) コンテナライフサイクル全体のセキュリティ管理、統合を目的としたフレームワーク • コンテナのサプライチェーンを 5つのステージに分類し、プラクティスやツールを紹介
• 通常のソフトウェアサプライチェーンと観点に相違はなく、コンテナに焦点を当てた内容 • 実行環境のセキュリティにも言及 https://learn.microsoft.com/en-us/azure/security/container-secure-supply-chain/
Software Supply Chain Best Practices v2 ソフトウェアの開発者、提供者、利用者に向けたベストプラクティス集 • 開発ライフサイクルに沿う形で具体的なプラクティスを紹介 •
ビルドパイプラインやユーザー権限にも言及されており、網羅性が高い • ツール例はほとんど紹介されていない https://github.com/cncf/tag-security/blob/main/community/working-groups/supply-chain-security/supply-chain-security- paper-v2/SSCBPv2.md
コンテナサプライチェーンの脅威 02
事例:脆弱性の悪用(Log4shell) Javaのログ出力ライブラリ「Log4j2」で深刻な脆弱性(CVE-2021-44228) • 外部のclassファイルを読み込む機能を悪用し、任意コード実行が可能 • 広く利用されているOSSかつ、悪用が容易 • 脆弱性の公開当初から多数の攻撃を確認 https://piyolog.hatenadiary.jp/entry/2021/12/13/045541
事例:ビルドシステムの侵害(SolarWinds) SolarWinds社が開発するOrion Platformにバックドアが仕込まれる • ソースコードを直接変更するのではなく、ビルドプロセス中に悪意のあるコードを挿入 • マルウェアは自身の検出を回避するために、様々な偽装や隠蔽を行なっていた • 米国政府を含む利用組織に被害が発生 https://piyolog.hatenadiary.jp/entry/2020/12/20/045153
事例:OSSへの悪意のあるコード挿入(XZ) ファイル可逆圧縮ツールのXZ Utilsに悪意のあるコードが挿入される • コードを挿入したのはメンテナの一人 • SSHDが問題のあるライブラリをロードすることで、外部から不正アクセスを受ける • 様々なLinuxディストリビューションに影響 •
脆弱性としてCVEが採番(CVE-2024-3094) https://piyolog.hatenadiary.jp/entry/2024/04/01/035321
事例:悪意のあるコンテナイメージの公開 Docker Hubでマルウェアを含むコンテナイメージが公開される • 正規ツール/コンテナと同名のコンテナイメージを公開し、利用者の誤用を狙う • コンテナにはクリプトマイナーが含まれる • 多数のダウンロードを確認 https://sysdig.com/blog/analysis-of-supply-chain-attacks-through-public-docker-images/
事例:悪意のあるツール等の公開 • マルウェアを含むpythonパッケージ ◦ https://thehackernews.com/2023/11/beware-developers-blazestealer-malware.html • npmのタイポスクワッティング ◦ https://checkmarx.com/blog/a-new-stealthier-type-of-typosquatting-attack-spotted-t argeting-npm/
• 偽のAWSマシンイメージ ◦ https://thehackernews.com/2025/02/new-whoami-attack-exploits-aws-ami-name.html • GitHub上での正規のOSSを模したマルウェア ◦ https://sfujiwara.hatenablog.com/entry/2025/02/11/094755
サプライチェーン攻撃の特徴 攻撃側 • 1つの組織、ソフトウェアの侵害から多数の組織に影響を与えることができる • セキュリティレベルの高い組織に対し、比較的容易に侵入できる 防御側 • アタックサーフェスが多岐にわたり、網羅的に対策を実施するのが難しい •
組織や事業規模が大きくなるほどリスクが高まる • サプライチェーン上の被害者にも加害者にもなり得る
脆弱性がなければ安全か 脆弱性としては検出されない脅威がある • 攻撃目的で作成されたツール • 正規のOSSに混入する不正なコード ◦ XZの事例のようにCVEが採番されるケースもある • IaCにはCVEが採番されないため、脆弱性スキャンの対象とならない
→ 脆弱性対策とは別に、OSSの安全性を確認する必要がある
具体的なセキュリティ対策 03
脆弱性スキャン 効果 • 依存関係のライブラリやパッケージの脆弱性を検出できる • ソースコード、コンテナイメージに対してスキャン可能 注意点 • アプリケーション本体のバージョンおよび脆弱性は検出できない ツール例
• https://github.com/aquasecurity/trivy • https://github.com/anchore/grype • https://github.com/openclarity/openclarity
ビルド来歴(Provenance)の生成 効果 • コンテナイメージが期待通りの構成でビルドされたことを保証 • ビルド来歴をもとに、同じ構成のコンテナイメージをビルドできる 注意点 • 完全性(ビルド来歴が改ざんされていないこと)は別途保証する必要がある ツール例
• https://github.com/slsa-framework/slsa-github-generator • https://github.com/slsa-framework/slsa-verifier • https://docs.docker.com/build/metadata/attestations/slsa-provenance/
コンテナイメージの完全性の確保 効果 • コンテナイメージがビルド後に改ざんされていないことを保証 • イメージ署名、再ビルドによるイメージ比較 注意点 • ビルド前に脆弱性や悪意のあるコードが含まれないことを別途確認する必要がある ツール例
• https://github.com/sigstore/cosign • https://github.com/notaryproject/notation • https://github.com/reproducible-containers
OSSの安全性評価 効果 • OSSの導入前、アップデート時に悪意のあるコードが含まれないか確認できる • OSSプロジェクトのセキュリティ体制を評価し、導入可否の判断に利用 注意点 • 検知できるものに限界があり、また現状ではツールや実績に乏しい ツール例
• https://github.com/DataDog/guarddog • https://github.com/ossf/package-analysis • https://github.com/ossf/scorecard
信頼されたOSSの利用 効果 • 安全性評価を外部サービスに任せ、人的コストを削減 • 高品質な外部サービスを利用することでセキュリティレベルを向上 注意点 • 100%の安全は保証されない ツール例
• https://www.chainguard.dev/chainguard-images • https://cloud.google.com/security/products/assured-open-source-software • https://docs.docker.com/docker-hub/image-library/trusted-content/
さいごに ソフトウェアサプライチェーンのセキュリティはまだ発展途上 • OSSや外部ツールの利用増に伴い、攻撃も活発化してきている ◦ サプライチェーンのリスクを無視しつづけることはできない • 確立された方法はなく、使いやすいツールもあまりない ◦ 特にOSSの安全性評価については課題が多い印象
サプライチェーンセキュリティの知見をお持ちの方、実際に取り組まれた方が いらっしゃいましたらぜひ教えてください!
CREDITS: This presentation template was created by Slidesgo, and includes
icons by Flaticon, and infographics & images by Freepik Thanks! Do you have any questions? https://twitter.com/kyohmizu