Slide 1

Slide 1 text

Unlocking Cloud Native Security @kyohmizu CloudNative Days Tokyo 2023

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

Cloud Native Threats in 2023 01

Slide 5

Slide 5 text

2,300+ Kubernetes Scanners https://www.greynoise.io/

Slide 6

Slide 6 text

1.6M Open Kubernetes Servers https://search.censys.io/

Slide 7

Slide 7 text

TeamTNT: Cloud Attack Campaign https://blog.aquasec.com/teamtnt-reemerged-with-new-aggressive-cloud-campaign Docker/Kubernetes を標的としたボットネット感染、情報窃取の攻撃キャンペーン

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

Ransomware in the Cloud 攻撃手順: ● 流出した認証情報による初期アクセス ● アカウント内での偵察行動 ● ユーザー作成による永続化の試行 ● S3 バケットからのデータ流出 ● S3 バケットのデータ削除 ● ランサムノートの追加 https://invictus-ir.medium.com/ransomware-in-the-cloud-7f14805bbe82 AWS S3 を標的とするランサムウェア攻撃事例

Slide 10

Slide 10 text

Malicious Python Package in PyPI BlazeStealer の機能: ● Discord ボットによる遠隔操作 ● ホスト上の情報収集 ● ファイル暗号化(ランサム) ● Windows Defender の無効化 ● 任意のコマンド実行 ● カメラの起動、他 https://thehackernews.com/2023/11/beware-developers-blazestealer-malware.html 正規の難読化ツールを装い、 BlazeStealer マルウェアがリポジトリで公開

Slide 11

Slide 11 text

Cloud Native Threat Statistics https://www.hackmageddon.com/2023/03/06/cloud-native-threats-in-2023/

Slide 12

Slide 12 text

Cloud Native Security Overview 02

Slide 13

Slide 13 text

4C's of Cloud Native Security アプリケーションコードの脆弱性対策、依存 関係の脆弱性管理と安全性評価、コードへ のアクセス制御など。 Dockerfileの堅牢化、コンテナイメージの脆 弱性管理と信頼性確認、分離レベルの高い コンテナランタイムの導入など。 クラスタコンポーネントの堅牢化と脆弱性管 理、クラスタ内リソースの堅牢化、ポスチャー 管理、Admission Control、ランタイムセ キュリティなど。 責任共有モデルの理解、セキュリティサービ スを利用したアクセス制御、ポスチャー管 理、不審なアクティビティの監視など。 Code Cluster Container Cloud https://kubernetes.io/docs/concepts/security/overview/

Slide 14

Slide 14 text

Code Security アプリケーションコードの脆弱性対策 ● 静的コード解析ツール( SAST)の導入 ● アプリケーションへの動的解析( DASTツール、脆弱性診断など) 依存関係の脆弱性管理と安全性評価 ● ソフトウェア構成分析ツール( SCA)の導入 ● ツールや指標を用いた OSSの安全性評価 コードへのアクセス制御 ● コードリポジトリのネットワーク制限、権限管理 ● コードリポジトリとの通信の暗号化

Slide 15

Slide 15 text

Container Security Dockerfileの堅牢化 ● Dockerfile のベストプラクティスへの準拠 ● 静的コード解析ツール( SAST)により設定値をチェック コンテナイメージの脆弱性管理と信頼性確認 ● ベースイメージと依存パッケージの脆弱性スキャン( SCA) ● イメージ署名の実施、イメージの安全性評価 ● 実行中イメージの脆弱性管理ツール( KubeClarity、Trivy-Operator など)の導入 分離レベルの高いコンテナランタイムの導入 ● サンドボックスコンテナ( gVisor、Kata Container など)の導入

Slide 16

Slide 16 text

Cluster Security クラスタコンポーネントの堅牢化と脆弱性管理 ● クラスタのバージョン管理、脆弱性情報の収集 ● クラスタコンポーネント( kubelet、kube-api-server など)の適切な設定 クラスタ内リソースの堅牢化、ポスチャー管理 ● ベストプラクティスへの準拠、 KSPMツールやSASTの導入 ● RBAC による権限管理、Secret の暗号化、NetworkPolicy の設定など Admission Control、ランタイムセキュリティ ● リソースのポリシーチェック( Pod Security Standards、OPA など) ● ワークロード監視ツール( Tracee、Falco、Tetragon など)の導入

Slide 17

Slide 17 text

Cloud Security 責任共有モデルの理解 ● CSPと利用者それぞれの責任範囲の理解 アクセス制御、クラウドリソースの堅牢化 ● 適切なIAM設計、アカウントへのアクセス元制限など ● 組織全体でのアカウント管理 ● 各サービスのベストプラクティスへの準拠 ポスチャー管理、不審なアクティビティの監視 ● CSPMサービスを利用した設定ミスの検出 ● イベントログ、ネットワークログ、 WAFログなどの監視

Slide 18

Slide 18 text

Secure Development Lifecycle アプリケーションコードやIaCのコード解析、 テストの開発、開発者によるコードレビューな ど。 CIパイプラインにおけるコード解析、コンテナ イメージの脆弱性スキャン、イメージ署名や 暗号化、アプリケーションの動的解析など。 デプロイ前のセキュリティチェック(イメージ署 名の検証、各種ポリシーの検証)、監視やロ グ機能のデプロイなど。 コンテナホストのセキュリティ、クラスタのセ キュリティ、ID管理とアクセス制御、可用性 の維持など。 Develop Deploy Distribute Runtime https://cnsmap.netlify.app/

Slide 19

Slide 19 text

Develop Phases https://github.com/cncf/tag-security/blob/main/security-whitepaper/v2/cloud-native-security-whitepaper.md Development of Tests Code Review

Slide 20

Slide 20 text

Distribute Phases https://github.com/cncf/tag-security/blob/main/security-whitepaper/v2/cloud-native-security-whitepaper.md Dynamic Analysis Image Encryption SAST, SCA

Slide 21

Slide 21 text

Deploy Phases https://github.com/cncf/tag-security/blob/main/security-whitepaper/v2/cloud-native-security-whitepaper.md Observability Tools Logging Tools for Forensics

Slide 22

Slide 22 text

Runtime Phases (Layers) https://github.com/cncf/tag-security/blob/main/security-whitepaper/v2/cloud-native-security-whitepaper.md

Slide 23

Slide 23 text

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、ログ監視

Slide 24

Slide 24 text

Harden Your Cloud Native System 03

Slide 25

Slide 25 text

最小権限(Least Privilege)は、 認証・認可を管理する上で不可欠 の原則です。 クラウドネイティブ環境における最 小権限の原則は、アカウント管理 に限らず、コードレベルからクラウ ドインフラに至るまですべてのレイ ヤーで適用することを求められま す。 職務分掌(Separation of Duties)は、担当者の持つ役割 と権限、責任範囲を明確にする ことを指します。 DevOpsのような境界が曖昧な 環境では、開発者と運用者が担 うセキュリティ対策の責任範囲 について、あらかじめ定義してお くことは特に重要です。 Basic Security Principles 多層防御(Defense in Depth) は、複数レイヤーのセキュリティ対 策を組み合わせることで、システム 全体のセキュリティを包括的に高 めるアプローチです。 クラウドネイティブ環境では、従来 のアプリ・インフラレイヤーに加え て、コンテナ・クラスタレイヤーのセ キュリティ対策を実施する必要が あります。 Defense in Depth Least Privilege Separation of Duties

Slide 26

Slide 26 text

Rule-Based vs Risk-Based Approach システムを取り巻くリスクを評価し、システ ムの状況や求められるセキュリティ水準を 踏まえて、リスクの最小化に取り組みます。 リスクベースアプローチは、組織やシステム 固有のリスクに対応しやすく、本当に必要 なセキュリティ対策に注力できます。 一方で、リスク評価にはセキュリティの専門 性や自組織・システムへの深い理解が必要 であり、成熟度の高い組織でなければ有効 活用は難しいでしょう。 あらかじめ実現すべきセキュリティレベルを 定義し、必要な対策をシステムに一律に適 用します。 ルールベースアプローチには、明確なセ キュリティ基準が確立される、全従業員・全 システムへの展開が容易、リスク評価を待 たずに実装できるなどのメリットがありま す。 一方で、全ルールを適用するコストが高 い、ルールが陳腐化しやすい、特定のシス テムに固有のリスクに対応しづらいなどの デメリットがあります。 Rule-Based Risk-Based FIRST STEP!!

Slide 27

Slide 27 text

Lack of Comprehensive Security ● データ保護のためインフラレイヤーで暗号化対策を行ったが、アプリケーションの脆弱性を突 かれDB上のデータにアクセスされてしまった ● Kubernetes クラスタの堅牢化を十分に行っていたが、クラウドレイヤーにおいて、複数の運 用者がクラスタの設定を容易に変更できる状況だった ● クラウド利用者のアクセス制御を厳密に行っていたが、 CI基盤に強い操作権限が与えられて おり、ジョブ定義を変更することで自由にクラウド環境にアクセスできた 包括的なセキュリティ対策の必要性

Slide 28

Slide 28 text

Cost-Effective Security 費用(Cost) ● 導入運用費(サービス利用料、人件費)、対策導入に伴う生産性(競争力)の低下 効果(Effectiveness) ● 対策導入によるリスク減少、セキュリティ品質向上に伴う競争力向上、運用効率化による生産 性(競争力)向上 費用対効果の高いセキュリティ対策を

Slide 29

Slide 29 text

Security Measures to Consider 04

Slide 30

Slide 30 text

Threat Modeling システムの潜在的な脅威を特定し、対策の優先順位を決定するプロセス アーキテクチャの理解 ● システムのコアコンポーネント、ソースコードの場所や開発ライフサイクルなど 脅威の特定 ● STRIDE、OCTAVE などの脅威モデルを利用 脅威アクターの定義 ● 外部攻撃者 - 外部からインターネット、サプライチェーンなどを介した攻撃を行う ● 内部攻撃者 - システムに侵入することに成功した攻撃者、悪意のある組織内の関係者 ● 内部関係者 - 不注意などで問題を引き起こす可能性のある組織内の関係者

Slide 31

Slide 31 text

Kubernetes Threat Modeling https://speakerdeck.com/mrtc0/cloudnative-days-tokyo-2021-number-cndt2021-number-cndt2021-b

Slide 32

Slide 32 text

Threat Intelligence 潜在的な脅威について収集されたデータ、またはデータを収集、処理、分析するプロセス 収集方針の決定 ● 保護すべきシステムの理解と優先順位づけ データ収集 ● システム内のメトリクスやログ情報 ● 利害関係者やセキュリティ機関からもたらされる情報、オープンなニュース記事など 分析・対処 ● 収集されたデータを利用できる形式に変換、他データとの照合 ● 脅威に対するアクションの決定

Slide 33

Slide 33 text

MITRE ATT&CK Matrix https://attack.mitre.org/matrices/enterprise/

Slide 34

Slide 34 text

MITRE D3FEND Matrix https://d3fend.mitre.org/

Slide 35

Slide 35 text

Software Supply Chain Security ソフトウェアサプライチェーン( SSC)セキュリティは、ソフトウェア開発およ びデプロイメントプロセス全体( = 開発ライフサイクル)におけるセキュリ ティリスクを特定し、緩和するプラクティスです。 ソフトウェアの設計、開発、パッケージング、配布、そして最終的にユー ザーに利用されるまでの全過程にわたり、コンポーネントやアクティビティ を脅威から保護することを目指します。

Slide 36

Slide 36 text

e.g. Cloud Native SSC Security

Slide 37

Slide 37 text

Features of SSC Security 依存関係の安全性評価 ● サードパーティのアプリケーションコードや IaC、ライブラリ、コンテナイメージなど ビルド・デプロイパイプラインのセキュリティ ● ジョブ実行基盤へのアクセス制御 ● ジョブ定義の変更権限管理、ジョブに与える権限の最小化 ツール類 ● SBOMを活用した脆弱性管理 ● SLSAフレームワークを活用したセキュリティ成熟度の向上 ● OpenSSF Scorecard によるOSSの安全性評価

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

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

Slide 40

Slide 40 text

Conclusion 05

Slide 41

Slide 41 text

Unlocking Cloud Native Security ● クラウドネイティブなシステムを標的とする脅威、攻撃手法を紹介 ● 4Cレイヤーモデルと開発ライフサイクルの観点から、クラウドネイティブセキュリティの全体像 を把握 ● セキュリティの原則に則り、それぞれのレイヤーで効果的な対策を実施することで、包括的な セキュリティ対策を実現 ● セキュリティレベル向上のため、脅威モデリングなどのリスクベースの手法を取り入れ、組織や システムに合わせたセキュリティ対策を実施

Slide 42

Slide 42 text

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