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
コンテナサプライチェーンセキュリティ
Search
Kyohei Mizumoto
February 21, 2025
Technology
1
190
コンテナサプライチェーンセキュリティ
イベント登壇資料です。2025/02/21 #CNCJ
https://cncj-security.connpass.com/event/341812/
Kyohei Mizumoto
February 21, 2025
Tweet
Share
More Decks by Kyohei Mizumoto
See All by Kyohei Mizumoto
サイバーセキュリティの最新動向:脅威と対策
kyohmizu
1
230
コンテナセキュリティの基本と脅威への対策
kyohmizu
4
1.6k
安全な Kubernetes 環境を目指して
kyohmizu
4
1.1k
Unlocking Cloud Native Security
kyohmizu
5
1.3k
コンテナ × セキュリティ × AWS
kyohmizu
11
3.9k
コンテナセキュリティ
kyohmizu
10
4.2k
コンテナイメージのマルウェア検出とその実用性について
kyohmizu
4
3.5k
Play with 🐐 in Kubernetes
kyohmizu
1
1.3k
Security Command Center × PagerDuty 自動アラート通知の取り組み
kyohmizu
0
640
Other Decks in Technology
See All in Technology
入社半年で PTE に! 元海外在住者が語る Google Cloud × G-genで 成長する秘訣
risatube
PRO
0
140
SLI/SLO・ラプソディあるいは組織への適用の旅
nwiizo
4
700
ISUCONにPHPで挑み続けてできるようになっ(てき)たこと / phperkaigi2025
blue_goheimochi
0
120
MLflowの現在と未来 / MLflow Present and Future
databricksjapan
1
240
LangGraphを使ったAIエージェント実装
iwakiyusaku
1
180
eBPF-based Process Lifecycle Monitoring
yukinakanaka
1
160
技術的負債を正しく理解し、正しく付き合う #phperkaigi / PHPerKaigi 2025
shogogg
6
1.4k
ソフトウェア開発におけるインターフェイスという考え方 / PHPerKaigi 2025
k1low
9
3.1k
移行できそうでやりきれなかった 10年超えのシステムを葬るための戦略
ryu955
1
140
技術を育てる組織・組織を育てる技術 / technology and organization
motemen
11
4.2k
Kubernetesを手元で学ぼう! 初心者向けローカル環境のススメ
nayaaaa
PRO
2
820
AIは脅威でなくチャンス。 AIと共に進化するエンジニアの成長戦略 / geeksai-2025-spring
carta_engineering
0
450
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
33
6.5k
A Modern Web Designer's Workflow
chriscoyier
693
190k
How GitHub (no longer) Works
holman
314
140k
Building Applications with DynamoDB
mza
94
6.3k
Into the Great Unknown - MozCon
thekraken
35
1.7k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
117
51k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
How to Think Like a Performance Engineer
csswizardry
22
1.4k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
2.9k
Music & Morning Musume
bryan
46
6.4k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.2k
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