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
Leaky Vessels/CVE-2024-21626から分かるコンテナセキュリティ
Search
hayama
August 02, 2024
0
160
Leaky Vessels/CVE-2024-21626から分かるコンテナセキュリティ
hayama
August 02, 2024
Tweet
Share
More Decks by hayama
See All by hayama
チームメンバー迷わないIaC設計
hayama17
1
420
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
9
760
The Curse of the Amulet
leimatthew05
1
9.2k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
67
37k
Marketing to machines
jonoalderson
1
5k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Why Our Code Smells
bkeepers
PRO
340
58k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
Bash Introduction
62gerente
615
210k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
100
Everyday Curiosity
cassininazir
0
140
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.3k
Transcript
©2024 Supership Inc. Confidential Confidential 2024/07/29 Supership株式会社 羽山公平 Leaky Vesselsからわかる
コンテナセキュリティ
©2024 Supership Inc. Confidential プロフィール 好きなもの / 趣味 #楽器(ドラム、ギター) #Cloud
Native Dayの運営・参加 #ゲーム 羽山 公平(ハヤマ コウヘイ) • 2001 年 1 月 7 日 :23年入社 • システム統括本部インフラ基盤統括室
©2024 Supership Inc. ©2024 Supership Inc. Confidential Leaky Vessels/ CVE-2024-21626
をご存知ですか? 3
©2024 Supership Inc. Confidential Leaky Vessels(CVE-2024-21626)をご存知ですか? コンテナランタイム「runc」の脆弱性により、 4 コンテナから
ホストOSのファイルシステムにアクセスできる脆弱性 悪意のあるDockerfile 悪意のあるDocker cmd
©2024 Supership Inc. Confidential 影響範囲や危険性 対象ソフトウェア • runcを採用しているコンテナエンジン ◦ Docker、Kubelet(Kubernetes)など
◦ version: 1.0.0-rc93 <= runc < 1.1.12 ホストOSのファイルシステムにアクセスできる危険性 5 コンテナ ホストOS 公開鍵の登録 SSHアクセス 公開鍵の登録 実行ファイルの上書き コンテナ ホストOS /usr/bin/xxxを上書き
©2024 Supership Inc. Confidential runcとは? • 高レベルランタイム(Daemonとして常駐) ◦ イメージの管理 ◦
低レベルランタイムを使いコンテナを作成する • 低レベルランタイム(バイナリ) ◦ コンテナを作成の実装部分 ◦ 実際にSystemCallを送っている 6 runc 高レベルランタイム 低レベルランタイム
©2024 Supership Inc. ©2024 Supership Inc. Confidential 再現方法は? 7
©2024 Supership Inc. Confidential 脆弱性の再現方法 WORKDIRに/proc/self/fd/8(コンテナプロセスのFD)を指定する 8 CLI docker run
-it -w /proc/self/fd/8 \ ubuntu bash Dockerfile たった1行、1オプションで脆弱性が再現できてしまう危険性
©2024 Supership Inc. Confidential この脆弱性の厄介な点 Dockerfileの持つFROM利用することで、localのDockerfileをみても脆弱性を持つイメージ なのか判断がつきにくいところ 9 利用したいイメージ
脆弱性を持つイメージ FROM
©2024 Supership Inc. Confidential 対応策 脆弱性の確認 • runcのversionを確認する ◦ docker
version ◦ runc --version 脆弱性解消するために • 今年の2月には修正verが配布されており、yumやaptからアップデート可能です 注意 アップデートが出来ない場合 • 公式の検証済のDocker imageを利用する • 第三者が作成したDocker imageを利用しない ◦ 足りない機能は公式のDocker imageを元に自作する 10
©2024 Supership Inc. ©2024 Supership Inc. Confidential 今回の事例から分かる コンテナセキュリティ 11
©2024 Supership Inc. Confidential 今回の事例から分かるコンテナセキュリティ • コンテナエンジンの脆弱性はコンテナやホストOS全てに波及してしまう ◦ VMと違って完全に隔離されているわけでない
◦ 脆弱性1つや権限1つで簡単にホストOSにアクセスできてしまう ◦ 過激に言えばコンテナは「高度なchroot」 12 VM ハイパーバイザ ゲストOS ゲストOS VM コンテナ OS APP APP コンテナ VM コンテナ
©2024 Supership Inc. Confidential 今回の事例から分かるコンテナセキュリティ • 不用意に第三者が作成したコンテナイメージを利用しない ◦ 公式のイメージやベンダー公式のイメージを利用する
◦ コンテナイメージはユーザ側で検証や脆弱性をスキャンを利用する 13 脆弱性スキャンサービス例 Docker • Docker Scout AWS • Amazon ECR GCP • Artifact Registry
©2024 Supership Inc. Confidential 今回の事例から分かるコンテナセキュリティ • コンテナ技術はOSSの塊である ◦ OSSのアップデート情報や脆弱性は監視していつでもアップデートできる体制にしておく
◦ 自分たちで管理できなければクラウドのコンテナサービスを利用する 14
©2024 Supership Inc. ©2024 Supership Inc. Confidential ご清聴ありがとうございます 15