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
July 05, 2023
Technology
4.5k
10
Share
コンテナセキュリティ
「コンテナセキュリティ - Forkwell Library#26」の資料です。
https://forkwell.connpass.com/event/287259/
Kyohei Mizumoto
July 05, 2023
More Decks by Kyohei Mizumoto
See All by Kyohei Mizumoto
最新の脅威動向から考える、コンテナサプライチェーンのリスクと対策
kyohmizu
1
770
コンテナセキュリティの最新事情 ~ 2026年版 ~
kyohmizu
9
3.7k
Black Hat USA 2025 Recap ~ クラウドセキュリティ編 ~
kyohmizu
0
920
CTFのためのKubernetes入門
kyohmizu
2
1.2k
クラウドネイティブ環境の脅威モデリング
kyohmizu
3
770
コンテナサプライチェーンセキュリティ
kyohmizu
2
490
サイバーセキュリティの最新動向:脅威と対策
kyohmizu
1
420
コンテナセキュリティの基本と脅威への対策
kyohmizu
4
2.2k
安全な Kubernetes 環境を目指して
kyohmizu
4
1.3k
Other Decks in Technology
See All in Technology
ブラウザの投機的読み込みと投機ルールAPIを理解し、Webサービスのパフォーマンスを最適化する
shuta13
1
230
AI駆動開発で生産性を追いかけたら、行き着いたのは品質とシフトレフトだった
littlehands
0
140
EMから幅を広げるために最近挑戦していること / Recent challenges I'm undertaking to expand my horizons beyond EM
hiro_torii
1
170
AI時代に越境し、 組織を変えるQAスキルの正体 / QA Skills for Transforming an Organization
mii3king
0
350
QAエンジニアはどうやって プロダクト議論の場に入れるのか?
moritamasami
0
210
独断と偏見で試してみる、 シングル or マルチエージェント どっちがいいの?
shichijoyuhi
1
220
AI와 협업하는 조직으로의 여정
arawn
0
570
拝啓、あの夏の僕へ〜あなたも知っているApp Runnerの世界〜
news_it_enj
0
160
世界の中心でApp Runnerを叫ぶ FINAL
tsukuboshi
0
160
[Oracle TechNight#99] 生成AI時代のAI/ML入門 ~ AIとオラクルデータベースの関係 (後半)
oracle4engineer
PRO
1
160
国内外の生成AIセキュリティの最新動向 & AIガードレール製品「chakoshi」のご紹介 / Latest Trends in Generative AI Security (Domestic & International) & Introduction to AI Guardrail Product "chakoshi"
nttcom
4
1.6k
AI活用時代の事業判断高度化を導くエンジニアリング基盤 / 20260424 Atsushi Funahashi
shift_evolve
PRO
2
120
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
100
6.1k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
500
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
380
Paper Plane
katiecoart
PRO
1
49k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
53k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
320
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
We Have a Design System, Now What?
morganepeng
55
8.1k
WCS-LA-2024
lcolladotor
0
560
Transcript
Forkwell Library 「コンテナセキュリティ」 @kyohmizu
株式会社スリーシェイク Sreake事業部 (SRE/)CSIRT - AWS, GCP, kubernetes 環境のセキュリティ強化 - SOC/CSIRT運用と改善
- 脅威情報の収集、サイバー演習 etc… その他 - 3-shake SRE Tech Talk 運営 - 「コンテナセキュリティ」書籍監訳 水元 恭平 @kyohmizu whoami
お話しすること ✅ About 3-shake ✅ 「コンテナセキュリティ」書籍概要 ✅ 構成と内容紹介 ✅ コンテナセキュリティの理解を深める
「コンテナセキュリティ」書籍概要 01
「Container Security」 ✅ O'Reilly Mediaより2020年4月刊行 ✅ 著者はLiz Rice氏(当時Aqua、現Isovalent) ➢ https://twitter.com/lizrice
✅ コンテナを構成するLinuxの要素技術が中心 ✅ Docker/Kubernetesに関するセキュリティの観点 ➢ 詳細な設定、ベストプラクティスは取り扱わない https://www.oreilly.com/library/view/container-security/9781492056690/ Fundamental Technology Concepts That Protect Containerized Applications
「コンテナセキュリティ」 ✅ 2023年4月刊行 ✅ 原書の翻訳 + 監修 ➢ 原書刊行時点からの情報アップデート ➢
関連する技術情報の追記(コラム形式) https://book.impress.co.jp/books/1122101051 コンテナ化されたアプリケーションを保護する要素技術
本書の位置付け コンテナ: セキュリティ: 入門 初級 中級 上級 入門 初級 中級
上級
想定読者 ✅ コンテナの仕組みを理解したい人 ➢ 手を動かしながらLinuxの機能・コマンドに触れる ✅ コンテナ環境のセキュリティ強化に取り組みたい人 ➢ セキュリティの知識は不要 ➢
最低限のDocker(Kubernetes)の知識は必要 Linuxの要素技術、コンテナセキュリティについて学ぶ1冊目に
構成と内容紹介 02
書籍の構成 1. コンテナセキュリティの脅威 2. Linuxシステムコール、パーミッション、 capability 3. コントロールグループ 4. コンテナの分離
5. 仮想マシン 6. コンテナイメージ 7. イメージに含まれるソフトウェアの脆弱性 8. コンテナ分離の強化 9. コンテナエスケープ 10. コンテナネットワークセキュリティ 11. TLSによるコンポーネントの安全な接続 12. コンテナへのシークレットの受け渡し 13. コンテナのランタイム保護 14. コンテナとOWASPトップ10 付録A:セキュリティチェックリスト
書籍の構成 1. コンテナセキュリティの脅威 2. Linuxシステムコール、パーミッション、 capability 3. コントロールグループ 4. コンテナの分離
5. 仮想マシン 6. コンテナイメージ 7. イメージに含まれるソフトウェアの脆弱性 8. コンテナ分離の強化 9. コンテナエスケープ 10. コンテナネットワークセキュリティ 11. TLSによるコンポーネントの安全な接続 12. コンテナへのシークレットの受け渡し 13. コンテナのランタイム保護 14. コンテナとOWASPトップ10 付録A:セキュリティチェックリスト Linuxの要素技術 Linuxの要素技術 Docker/Kubernetes Docker/Kubernetes Docker/Kubernetes
Linuxの要素技術 ✅ ファイルパーミッション(2章) ✅ capability(2章) ✅ cgroup(3章) ✅ namespace(4章) ✅
seccomp, AppArmor, SELinux(8章) ✅ iptables(10章)
Docker/Kubernetes ✅ イメージセキュリティ(6章) ✅ イメージ脆弱性スキャン(7章) ✅ コンテナエスケープ(9章) ✅ ネットワークセキュリティ(10章) ✅
シークレット保護(12章) ✅ ランタイム保護(13章)
1章:コンテナセキュリティの脅威 ✅ セキュリティの基本的な考え方を知る ➢ リスクと脅威、緩和策 ➢ 脅威モデリング ✅ セキュリティの原則を知る ➢
最小権限の原則 ➢ 攻撃対象領域(Attack Surface)の縮小 ➢ 多層防御
3章:コントロールグループ ✅ cgroupにより、プロセスが使用するリソースを制限する ➢ ディレクトリ構造とサブシステム ➢ cgroupの作成 ➢ リソース上限の設定 ➢
プロセス割り当て ➢ cgroup v2 ✅ 手を動かしながら読み進めると◯ ✅ tenforwardさんの連載記事がおすすめ ➢ https://gihyo.jp/admin/serial/01/linux_containers/0003
cgroup (v2) の動作確認
4章:コンテナの分離 ✅ namespaceにより、プロセスが見えるリソースを制限する ➢ 各種namespace(UTS, PID, mount, user..) ➢ lsns,
unshareコマンドの利用 ✅ rootディレクトリの変更と組み合わせて、擬似コンテナを作成 ➢ unshare + chrootコマンド ✅ ホストからのコンテナプロセスの見え方 ✅ 手を動かしながら読み進めると◯ ➢ https://contained.af/ が面白かったが、アクセスできなくなっている ➢ https://github.com/genuinetools/contained.af
dockerコンテナのnamespace
6章:コンテナイメージ ✅ コンテナイメージの基礎を学ぶ ➢ Dockerイメージの構成、OCI標準 ➢ イメージハッシュとイメージタグ ✅ イメージセキュリティについて ➢
ビルド時のセキュリティ ➢ イメージレジストリのセキュリティ ➢ デプロイ時のセキュリティ
イメージセキュリティについて ✅ ビルド時のセキュリティ ➢ セキュアなDockerfile ➢ コードリポジトリ、ビルドマシンへのアクセス制御 ✅ イメージレジストリのセキュリティ ➢
レジストリへのアクセス制御 ➢ イメージ署名 ✅ デプロイ時のセキュリティ ➢ アドミッションコントロール(署名、ポリシーチェック等) ✅ サプライチェーンセキュリティ(SLSA)
7章:イメージに含まれるソフトウェアの脆弱性 ✅ 脆弱性について ➢ イメージに含まれる脆弱性の種類 ➢ 脆弱性スキャンの仕組み ➢ ゼロデイ脆弱性 ✅
イメージスキャンについて ➢ スキャンの対象範囲 ➢ 定期スキャンとCI/CDパイプラインへの統合 ➢ スキャン済みイメージの署名
脆弱性スキャンの仕組み ✅ 脆弱性情報のソース ➢ スキャンツールごとに様々 ➢ https://aquasecurity.github.io/trivy/v0.43/docs/scanner/vulnerability/os/#data-sources ✅ スキャン対象 ➢
パッケージマネージャ経由でインストールされたもの ➢ https://aquasecurity.github.io/trivy/v0.43/docs/scanner/vulnerability/os/#supported-os ➢ SBOM(ソフトウェア部品表) ✅ 脆弱性管理コストの削減 ➢ イメージに不要なパッケージを含まない ➢ イメージサイズを小さくする
9章:コンテナエスケープ ✅ コンテナからの脱出(ホストの権限を得る)方法を学ぶ ➢ root権限(デフォルト)の利用 ➢ --privilegedフラグによる過剰なcapability ➢ ホストディレクトリのマウント ✅
コンテナ - ホスト間のnamespace共有 ✅ コンテナ間のnamespace共有 ➢ サイドカーコンテナ ✅ privilegedコンテナのエスケープは他にも色々 ➢ https://container-security.dev/security/breakout-to-host.html
13章:コンテナのランタイム保護 ✅ コンテナ実行時のセキュリティについて学ぶ ✅ セキュリティプロファイル ✅ ランタイム保護のツール ➢ eBPF(Tracee, Falco,
Tetragon) ➢ seccomp, AppArmor, SELinux ✅ Drift Prevention(Aqua) ➢ 実行ファイルの不変性を維持
14章:コンテナとOWASPトップ10 A01 アクセス制御の不備 A02 暗号化の失敗 A03 インジェクション A04 安全が確認されない不安な設計 A05
セキュリティの設定ミス A06 脆弱で古くなったコンポーネント A07 識別と認証の失敗 A08 ソフトウェアとデータの整合性の不具合 A09 セキュリティログとモニタリングの失敗 A10 サーバーサイドリクエストフォージェリ (SSRF) https://owasp.org/Top10/ja/
OWASP Kubernetes Top 10 K01: Insecure Workload Configurations(安全でないワークロードの設定) → 6,9章
K02: Supply Chain Vulnerabilities(サプライチェーンにおける脆弱性) → 7章 K03: Overly Permissive RBAC Configurations(過剰なRBACの権限設定) K04: Lack of Centralized Policy Enforcement(一元化されたポリシー適用の欠如) → 6章 K05: Inadequate Logging and Monitoring(不十分なロギングと監視) K06: Broken Authentication Mechanisms(認証メカニズムの欠陥) → 11章 K07: Missing Network Segmentation Controls(ネットワーク分離の欠如) → 10章 K08: Secrets Management Failures(シークレット管理の失敗) → 12章 K09: Misconfigured Cluster Components(クラスタコンポーネントの設定ミス) K10: Outdated and Vulnerable Kubernetes Components(古く脆弱なk8sコンポーネント)→ 7章 https://owasp.org/www-project-kubernetes-top-ten/ https://sysdig.jp/blog/owasp-kubernetes-top-10/
コンテナセキュリティの理解を深める 03
コンテナセキュリティの理解を深める ✅ セキュリティ対策の効果、重要性 ➢ 攻撃手法からセキュリティの重要性を知る ✅ セキュリティ対策の優先順位 ➢ 費用対効果の高いものから取り組むべき ➢
侵入対策、検知、緩和策をバランスよく ➢ 自社の環境に合わせたリスク評価を
コンテナ環境を狙うマルウェアを知る ✅ Doki ➢ Docker APIをターゲットとするバックドア型トロイの木馬 ✅ Kinsing ➢ Docker
APIをターゲットとするクリプトマイナー ✅ Peirates ➢ Kubernetesのペネトレーションテストツール ➢ https://github.com/inguardians/peirates https://attack.mitre.org/techniques/T1610/
Doki https://attack.mitre.org/software/S0600/ https://www.securecoding.com/blog/all-about-doki-malware/
Kinsing https://attack.mitre.org/software/S0599/ https://blog.aquasec.com/threat-alert-kinsing-malware-container-vulnerability
コンテナへの攻撃手法を知る https://speakerdeck.com/mochizuki875/container-dev-security
コンテナへの攻撃手法を知る https://speakerdeck.com/mrtc0/cloudnative-days-tokyo-2021-number-cndt2021-number-cndt2021-b
攻撃テクニックとセキュリティ対策 https://speakerdeck.com/kyohmizu/saibagong-ji-kara-kubernetes-kurasutawoshou-rutamefalsexiao-guo-de-nasekiyuriteidui-ce
脆弱性からコンテナセキュリティを深堀る ✅ 攻撃の詳細が明らかな脆弱性を選び、手元で再現してみる ✅ CVE-2022-0492 ➢ cgroup v1の脆弱性(root権限での任意コード実行) ➢ https://kyohmizu.hatenablog.com/entry/2022/04/06/233150
✅ CVE-2022-0811 ➢ CRI-Oの脆弱性(root権限での任意コード実行) ➢ https://kyohmizu.hatenablog.com/entry/2022/03/28/182243
おすすめ書籍 https://www.amazon.co.jp/dp/4839970505 https://www.amazon.co.jp/dp/429713635X
ご感想お待ちしています! コンテナセキュリティ コンテナ化されたアプリケーションを保護する要素技術 著者: Liz Rice 監修: 株式会社スリーシェイク 定価: 3,520円(本体
3,200円+税10%)