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
2
310
コンテナサプライチェーンセキュリティ
イベント登壇資料です。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
2
610
サイバーセキュリティの最新動向:脅威と対策
kyohmizu
1
330
コンテナセキュリティの基本と脅威への対策
kyohmizu
4
1.8k
安全な Kubernetes 環境を目指して
kyohmizu
4
1.2k
Unlocking Cloud Native Security
kyohmizu
5
1.4k
コンテナ × セキュリティ × AWS
kyohmizu
11
4.1k
コンテナセキュリティ
kyohmizu
10
4.3k
コンテナイメージのマルウェア検出とその実用性について
kyohmizu
4
4k
Play with 🐐 in Kubernetes
kyohmizu
1
1.4k
Other Decks in Technology
See All in Technology
これでもう迷わない!Jetpack Composeの書き方実践ガイド
zozotech
PRO
0
1.1k
Snowflake Intelligenceにはこうやって立ち向かう!クラシルが考えるAI Readyなデータ基盤と活用のためのDataOps
gappy50
0
290
初めてAWSを使うときのセキュリティ覚書〜初心者支部編〜
cmusudakeisuke
1
290
AWSで始める実践Dagster入門
kitagawaz
1
750
LLMを搭載したプロダクトの品質保証の模索と学び
qa
1
1.1k
S3アクセス制御の設計ポイント
tommy0124
3
210
はじめてのOSS開発からみえたGo言語の強み
shibukazu
4
1k
スタートアップこそ全員で Platform Engineering スピードと持続性を両立する文化の作り方
anizozina
1
330
Unlocking the Power of AI Agents with LINE Bot MCP Server
linedevth
0
130
要件定義・デザインフェーズでもAIを活用して、コミュニケーションの密度を高める
kazukihayase
0
120
スマートファクトリーの第一歩 〜AWSマネージドサービスで 実現する予知保全と生成AI活用まで
ganota
2
330
サラリーマンの小遣いで作るtoCサービス - Cloudflare Workersでスケールする開発戦略
shinaps
2
470
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
Typedesign – Prime Four
hannesfritz
42
2.8k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Music & Morning Musume
bryan
46
6.8k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
A designer walks into a library…
pauljervisheath
207
24k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Fireside Chat
paigeccino
39
3.6k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
820
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