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
Unlocking Cloud Native Security
Search
Kyohei Mizumoto
December 12, 2023
Technology
5
1.1k
Unlocking Cloud Native Security
CloudNative Days Tokyo 2023 の登壇資料です。2023/12/12
https://event.cloudnativedays.jp/cndt2023
Kyohei Mizumoto
December 12, 2023
Tweet
Share
More Decks by Kyohei Mizumoto
See All by Kyohei Mizumoto
サイバーセキュリティの最新動向:脅威と対策
kyohmizu
0
130
コンテナセキュリティの基本と脅威への対策
kyohmizu
4
1.3k
安全な Kubernetes 環境を目指して
kyohmizu
4
990
コンテナ × セキュリティ × AWS
kyohmizu
10
3.6k
コンテナセキュリティ
kyohmizu
10
4k
コンテナイメージのマルウェア検出とその実用性について
kyohmizu
4
2.9k
Play with 🐐 in Kubernetes
kyohmizu
1
1.2k
Security Command Center × PagerDuty 自動アラート通知の取り組み
kyohmizu
0
570
サイバー攻撃から Kubernetes クラスタを守るための効果的なセキュリティ対策
kyohmizu
13
3.4k
Other Decks in Technology
See All in Technology
Understanding and Optimising INP
akshayysharma
0
150
【shownet.conf_】革新と伝統を融合したファシリティ
shownet
PRO
0
240
Pythonを活用したLLMによる構造的データ生成の手法と実践
brainpadpr
2
210
【shownet.conf_】クロージングセッション
shownet
PRO
0
220
Strict Concurrencyにしたらdeinitでクラッシュする話
0si43
0
120
小さな勉強会の始め方、広げ方、あるいは友達の作り方 / How to Start, Grow, and Build Connections with Small Study Groups
ar_tama
1
410
つよつよリーダーが 抜けたらどうする? 〜ナビタイムのAgile⽀援組織の変遷〜
navitimejapan
PRO
22
13k
MLOpsの「あるある」課題の解決と、そのためのライブラリgokart
mski_iksm
1
150
DenoでもViteしたい!インポートパスのエイリアスを指定してラクラクアプリ開発
bengo4com
0
1.7k
CVE alive
ennael
PRO
0
360
【shownet.conf_】ネットワークテストの最適化と利便性の追求
shownet
PRO
0
230
SQLによるオブザーバビリティの進化とClickHouseの実力
mikimatsumoto
0
150
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
327
21k
Build The Right Thing And Hit Your Dates
maggiecrowley
31
2.3k
Building Better People: How to give real-time feedback that sticks.
wjessup
360
19k
The Cost Of JavaScript in 2023
addyosmani
43
5.8k
Design by the Numbers
sachag
278
19k
Raft: Consensus for Rubyists
vanstee
136
6.6k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
504
140k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
230
17k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
38
2.1k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
26
1.9k
The Power of CSS Pseudo Elements
geoffreycrofte
71
5.3k
Typedesign – Prime Four
hannesfritz
39
2.3k
Transcript
Unlocking Cloud Native Security @kyohmizu CloudNative Days Tokyo 2023
whoami Security Engineer at 3-shake inc. • Container/Kubernetes Security •
AWS/Google Cloud Security • Security Operations & Technical Support in CSIRT • Cloud Security Assessment Others: • 3-shake SRE Tech Talk イベント運営 • 「コンテナセキュリティ」書籍監訳 Kyohei Mizumoto
Agenda 01 Cloud Native Threats in 2023 02 Cloud Native
Security Overview 03 Harden Your Cloud Native System 04 Security Measures to Consider 05 Conclusion
Cloud Native Threats in 2023 01
2,300+ Kubernetes Scanners https://www.greynoise.io/
1.6M Open Kubernetes Servers https://search.censys.io/
TeamTNT: Cloud Attack Campaign https://blog.aquasec.com/teamtnt-reemerged-with-new-aggressive-cloud-campaign Docker/Kubernetes を標的としたボットネット感染、情報窃取の攻撃キャンペーン
Kinsing Malware PHPUnit や WordPress などの脆弱なコンテナイメー ジを主に悪用。 また PostgreSQL コンテナの設定ミスを利用し、
Kubernetes 環境への初期アクセスを獲得。 コンテナ環境を標的とするクリプトマイナー https://techcommunity.microsoft.com/t5/microsoft-defender-for-cloud/initial-access-techniques-in-kubernetes-environments-used-by/ba-p/3697975
Ransomware in the Cloud 攻撃手順: • 流出した認証情報による初期アクセス • アカウント内での偵察行動 •
ユーザー作成による永続化の試行 • S3 バケットからのデータ流出 • S3 バケットのデータ削除 • ランサムノートの追加 https://invictus-ir.medium.com/ransomware-in-the-cloud-7f14805bbe82 AWS S3 を標的とするランサムウェア攻撃事例
Malicious Python Package in PyPI BlazeStealer の機能: • Discord ボットによる遠隔操作
• ホスト上の情報収集 • ファイル暗号化(ランサム) • Windows Defender の無効化 • 任意のコマンド実行 • カメラの起動、他 https://thehackernews.com/2023/11/beware-developers-blazestealer-malware.html 正規の難読化ツールを装い、 BlazeStealer マルウェアがリポジトリで公開
Cloud Native Threat Statistics https://www.hackmageddon.com/2023/03/06/cloud-native-threats-in-2023/
Cloud Native Security Overview 02
4C's of Cloud Native Security アプリケーションコードの脆弱性対策、依存 関係の脆弱性管理と安全性評価、コードへ のアクセス制御など。 Dockerfileの堅牢化、コンテナイメージの脆 弱性管理と信頼性確認、分離レベルの高い
コンテナランタイムの導入など。 クラスタコンポーネントの堅牢化と脆弱性管 理、クラスタ内リソースの堅牢化、ポスチャー 管理、Admission Control、ランタイムセ キュリティなど。 責任共有モデルの理解、セキュリティサービ スを利用したアクセス制御、ポスチャー管 理、不審なアクティビティの監視など。 Code Cluster Container Cloud https://kubernetes.io/docs/concepts/security/overview/
Code Security アプリケーションコードの脆弱性対策 • 静的コード解析ツール( SAST)の導入 • アプリケーションへの動的解析( DASTツール、脆弱性診断など) 依存関係の脆弱性管理と安全性評価
• ソフトウェア構成分析ツール( SCA)の導入 • ツールや指標を用いた OSSの安全性評価 コードへのアクセス制御 • コードリポジトリのネットワーク制限、権限管理 • コードリポジトリとの通信の暗号化
Container Security Dockerfileの堅牢化 • Dockerfile のベストプラクティスへの準拠 • 静的コード解析ツール( SAST)により設定値をチェック コンテナイメージの脆弱性管理と信頼性確認
• ベースイメージと依存パッケージの脆弱性スキャン( SCA) • イメージ署名の実施、イメージの安全性評価 • 実行中イメージの脆弱性管理ツール( KubeClarity、Trivy-Operator など)の導入 分離レベルの高いコンテナランタイムの導入 • サンドボックスコンテナ( gVisor、Kata Container など)の導入
Cluster Security クラスタコンポーネントの堅牢化と脆弱性管理 • クラスタのバージョン管理、脆弱性情報の収集 • クラスタコンポーネント( kubelet、kube-api-server など)の適切な設定 クラスタ内リソースの堅牢化、ポスチャー管理
• ベストプラクティスへの準拠、 KSPMツールやSASTの導入 • RBAC による権限管理、Secret の暗号化、NetworkPolicy の設定など Admission Control、ランタイムセキュリティ • リソースのポリシーチェック( Pod Security Standards、OPA など) • ワークロード監視ツール( Tracee、Falco、Tetragon など)の導入
Cloud Security 責任共有モデルの理解 • CSPと利用者それぞれの責任範囲の理解 アクセス制御、クラウドリソースの堅牢化 • 適切なIAM設計、アカウントへのアクセス元制限など • 組織全体でのアカウント管理
• 各サービスのベストプラクティスへの準拠 ポスチャー管理、不審なアクティビティの監視 • CSPMサービスを利用した設定ミスの検出 • イベントログ、ネットワークログ、 WAFログなどの監視
Secure Development Lifecycle アプリケーションコードやIaCのコード解析、 テストの開発、開発者によるコードレビューな ど。 CIパイプラインにおけるコード解析、コンテナ イメージの脆弱性スキャン、イメージ署名や 暗号化、アプリケーションの動的解析など。 デプロイ前のセキュリティチェック(イメージ署
名の検証、各種ポリシーの検証)、監視やロ グ機能のデプロイなど。 コンテナホストのセキュリティ、クラスタのセ キュリティ、ID管理とアクセス制御、可用性 の維持など。 Develop Deploy Distribute Runtime https://cnsmap.netlify.app/
Develop Phases https://github.com/cncf/tag-security/blob/main/security-whitepaper/v2/cloud-native-security-whitepaper.md Development of Tests Code Review
Distribute Phases https://github.com/cncf/tag-security/blob/main/security-whitepaper/v2/cloud-native-security-whitepaper.md Dynamic Analysis Image Encryption SAST, SCA
Deploy Phases https://github.com/cncf/tag-security/blob/main/security-whitepaper/v2/cloud-native-security-whitepaper.md Observability Tools Logging Tools for Forensics
Runtime Phases (Layers) https://github.com/cncf/tag-security/blob/main/security-whitepaper/v2/cloud-native-security-whitepaper.md
4C’s and Lifecycle Matrix Develop Distribute Deploy Runtime Code SAST、SCA、DAST、OSS
の安全性評価、テスト開 発、コードレビュー SAST、SCA、DAST、リポ ジトリのセキュリティ DAST Container Dockerfile設計、SAST、 SCA、イメージの安全性評 価 SAST、SCA、イメージ署名 ・暗号化 SCA、イメージ署名の検証 サンドボックスコンテナ、ラン タイムセキュリティ Cluster Manifest設計、SAST、 SAST ポリシーチェック、監視・ログ ツールの導入 KSPM、クラスタバージョン管 理、ワークロード監視、監査 ログ監視 Cloud IaC設計、SAST SAST ポリシーチェック CSPM、ログ監視
Harden Your Cloud Native System 03
最小権限(Least Privilege)は、 認証・認可を管理する上で不可欠 の原則です。 クラウドネイティブ環境における最 小権限の原則は、アカウント管理 に限らず、コードレベルからクラウ ドインフラに至るまですべてのレイ ヤーで適用することを求められま す。
職務分掌(Separation of Duties)は、担当者の持つ役割 と権限、責任範囲を明確にする ことを指します。 DevOpsのような境界が曖昧な 環境では、開発者と運用者が担 うセキュリティ対策の責任範囲 について、あらかじめ定義してお くことは特に重要です。 Basic Security Principles 多層防御(Defense in Depth) は、複数レイヤーのセキュリティ対 策を組み合わせることで、システム 全体のセキュリティを包括的に高 めるアプローチです。 クラウドネイティブ環境では、従来 のアプリ・インフラレイヤーに加え て、コンテナ・クラスタレイヤーのセ キュリティ対策を実施する必要が あります。 Defense in Depth Least Privilege Separation of Duties
Rule-Based vs Risk-Based Approach システムを取り巻くリスクを評価し、システ ムの状況や求められるセキュリティ水準を 踏まえて、リスクの最小化に取り組みます。 リスクベースアプローチは、組織やシステム 固有のリスクに対応しやすく、本当に必要 なセキュリティ対策に注力できます。
一方で、リスク評価にはセキュリティの専門 性や自組織・システムへの深い理解が必要 であり、成熟度の高い組織でなければ有効 活用は難しいでしょう。 あらかじめ実現すべきセキュリティレベルを 定義し、必要な対策をシステムに一律に適 用します。 ルールベースアプローチには、明確なセ キュリティ基準が確立される、全従業員・全 システムへの展開が容易、リスク評価を待 たずに実装できるなどのメリットがありま す。 一方で、全ルールを適用するコストが高 い、ルールが陳腐化しやすい、特定のシス テムに固有のリスクに対応しづらいなどの デメリットがあります。 Rule-Based Risk-Based FIRST STEP!!
Lack of Comprehensive Security • データ保護のためインフラレイヤーで暗号化対策を行ったが、アプリケーションの脆弱性を突 かれDB上のデータにアクセスされてしまった • Kubernetes クラスタの堅牢化を十分に行っていたが、クラウドレイヤーにおいて、複数の運
用者がクラスタの設定を容易に変更できる状況だった • クラウド利用者のアクセス制御を厳密に行っていたが、 CI基盤に強い操作権限が与えられて おり、ジョブ定義を変更することで自由にクラウド環境にアクセスできた 包括的なセキュリティ対策の必要性
Cost-Effective Security 費用(Cost) • 導入運用費(サービス利用料、人件費)、対策導入に伴う生産性(競争力)の低下 効果(Effectiveness) • 対策導入によるリスク減少、セキュリティ品質向上に伴う競争力向上、運用効率化による生産 性(競争力)向上 費用対効果の高いセキュリティ対策を
Security Measures to Consider 04
Threat Modeling システムの潜在的な脅威を特定し、対策の優先順位を決定するプロセス アーキテクチャの理解 • システムのコアコンポーネント、ソースコードの場所や開発ライフサイクルなど 脅威の特定 • STRIDE、OCTAVE などの脅威モデルを利用
脅威アクターの定義 • 外部攻撃者 - 外部からインターネット、サプライチェーンなどを介した攻撃を行う • 内部攻撃者 - システムに侵入することに成功した攻撃者、悪意のある組織内の関係者 • 内部関係者 - 不注意などで問題を引き起こす可能性のある組織内の関係者
Kubernetes Threat Modeling https://speakerdeck.com/mrtc0/cloudnative-days-tokyo-2021-number-cndt2021-number-cndt2021-b
Threat Intelligence 潜在的な脅威について収集されたデータ、またはデータを収集、処理、分析するプロセス 収集方針の決定 • 保護すべきシステムの理解と優先順位づけ データ収集 • システム内のメトリクスやログ情報 •
利害関係者やセキュリティ機関からもたらされる情報、オープンなニュース記事など 分析・対処 • 収集されたデータを利用できる形式に変換、他データとの照合 • 脅威に対するアクションの決定
MITRE ATT&CK Matrix https://attack.mitre.org/matrices/enterprise/
MITRE D3FEND Matrix https://d3fend.mitre.org/
Software Supply Chain Security ソフトウェアサプライチェーン( SSC)セキュリティは、ソフトウェア開発およ びデプロイメントプロセス全体( = 開発ライフサイクル)におけるセキュリ ティリスクを特定し、緩和するプラクティスです。
ソフトウェアの設計、開発、パッケージング、配布、そして最終的にユー ザーに利用されるまでの全過程にわたり、コンポーネントやアクティビティ を脅威から保護することを目指します。
e.g. Cloud Native SSC Security
Features of SSC Security 依存関係の安全性評価 • サードパーティのアプリケーションコードや IaC、ライブラリ、コンテナイメージなど ビルド・デプロイパイプラインのセキュリティ •
ジョブ実行基盤へのアクセス制御 • ジョブ定義の変更権限管理、ジョブに与える権限の最小化 ツール類 • SBOMを活用した脆弱性管理 • SLSAフレームワークを活用したセキュリティ成熟度の向上 • OpenSSF Scorecard によるOSSの安全性評価
CNCF’s SSC Approach Software Supply Chain Best Practices: • Securing
the Source Code • Securing Materials • Securing Build Pipelines • Securing Artefacts • Securing Deployments https://project.linuxfoundation.org/hubfs/CNCF_SSCP_v1.pdf
CISA’s SSC Approach Securing the Software Supply Chain: • Secure
product criteria and management • Develop Secure Code • Verify Third-Party Components • Harden the Build Environment • Deliver Code https://www.cisa.gov/sites/default/files/publications/ESF_SECURING_THE_SOFTWARE_SUPPLY_CHAIN_DEVELOPERS.PDF
Conclusion 05
Unlocking Cloud Native Security • クラウドネイティブなシステムを標的とする脅威、攻撃手法を紹介 • 4Cレイヤーモデルと開発ライフサイクルの観点から、クラウドネイティブセキュリティの全体像 を把握 •
セキュリティの原則に則り、それぞれのレイヤーで効果的な対策を実施することで、包括的な セキュリティ対策を実現 • セキュリティレベル向上のため、脅威モデリングなどのリスクベースの手法を取り入れ、組織や システムに合わせたセキュリティ対策を実施
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