Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Unlocking Cloud Native Security

Unlocking Cloud Native Security

CloudNative Days Tokyo 2023 の登壇資料です。2023/12/12
https://event.cloudnativedays.jp/cndt2023

Kyohei Mizumoto

December 12, 2023
Tweet

More Decks by Kyohei Mizumoto

Other Decks in Technology

Transcript

  1. 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
  2. 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
  3. 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
  4. Ransomware in the Cloud 攻撃手順: • 流出した認証情報による初期アクセス • アカウント内での偵察行動 •

    ユーザー作成による永続化の試行 • S3 バケットからのデータ流出 • S3 バケットのデータ削除 • ランサムノートの追加 https://invictus-ir.medium.com/ransomware-in-the-cloud-7f14805bbe82 AWS S3 を標的とするランサムウェア攻撃事例
  5. Malicious Python Package in PyPI BlazeStealer の機能: • Discord ボットによる遠隔操作

    • ホスト上の情報収集 • ファイル暗号化(ランサム) • Windows Defender の無効化 • 任意のコマンド実行 • カメラの起動、他 https://thehackernews.com/2023/11/beware-developers-blazestealer-malware.html 正規の難読化ツールを装い、 BlazeStealer マルウェアがリポジトリで公開
  6. 4C's of Cloud Native Security アプリケーションコードの脆弱性対策、依存 関係の脆弱性管理と安全性評価、コードへ のアクセス制御など。 Dockerfileの堅牢化、コンテナイメージの脆 弱性管理と信頼性確認、分離レベルの高い

    コンテナランタイムの導入など。 クラスタコンポーネントの堅牢化と脆弱性管 理、クラスタ内リソースの堅牢化、ポスチャー 管理、Admission Control、ランタイムセ キュリティなど。 責任共有モデルの理解、セキュリティサービ スを利用したアクセス制御、ポスチャー管 理、不審なアクティビティの監視など。 Code Cluster Container Cloud https://kubernetes.io/docs/concepts/security/overview/
  7. Code Security アプリケーションコードの脆弱性対策 • 静的コード解析ツール( SAST)の導入 • アプリケーションへの動的解析( DASTツール、脆弱性診断など) 依存関係の脆弱性管理と安全性評価

    • ソフトウェア構成分析ツール( SCA)の導入 • ツールや指標を用いた OSSの安全性評価 コードへのアクセス制御 • コードリポジトリのネットワーク制限、権限管理 • コードリポジトリとの通信の暗号化
  8. Container Security Dockerfileの堅牢化 • Dockerfile のベストプラクティスへの準拠 • 静的コード解析ツール( SAST)により設定値をチェック コンテナイメージの脆弱性管理と信頼性確認

    • ベースイメージと依存パッケージの脆弱性スキャン( SCA) • イメージ署名の実施、イメージの安全性評価 • 実行中イメージの脆弱性管理ツール( KubeClarity、Trivy-Operator など)の導入 分離レベルの高いコンテナランタイムの導入 • サンドボックスコンテナ( gVisor、Kata Container など)の導入
  9. Cluster Security クラスタコンポーネントの堅牢化と脆弱性管理 • クラスタのバージョン管理、脆弱性情報の収集 • クラスタコンポーネント( kubelet、kube-api-server など)の適切な設定 クラスタ内リソースの堅牢化、ポスチャー管理

    • ベストプラクティスへの準拠、 KSPMツールやSASTの導入 • RBAC による権限管理、Secret の暗号化、NetworkPolicy の設定など Admission Control、ランタイムセキュリティ • リソースのポリシーチェック( Pod Security Standards、OPA など) • ワークロード監視ツール( Tracee、Falco、Tetragon など)の導入
  10. Cloud Security 責任共有モデルの理解 • CSPと利用者それぞれの責任範囲の理解 アクセス制御、クラウドリソースの堅牢化 • 適切なIAM設計、アカウントへのアクセス元制限など • 組織全体でのアカウント管理

    • 各サービスのベストプラクティスへの準拠 ポスチャー管理、不審なアクティビティの監視 • CSPMサービスを利用した設定ミスの検出 • イベントログ、ネットワークログ、 WAFログなどの監視
  11. Secure Development Lifecycle アプリケーションコードやIaCのコード解析、 テストの開発、開発者によるコードレビューな ど。 CIパイプラインにおけるコード解析、コンテナ イメージの脆弱性スキャン、イメージ署名や 暗号化、アプリケーションの動的解析など。 デプロイ前のセキュリティチェック(イメージ署

    名の検証、各種ポリシーの検証)、監視やロ グ機能のデプロイなど。 コンテナホストのセキュリティ、クラスタのセ キュリティ、ID管理とアクセス制御、可用性 の維持など。 Develop Deploy Distribute Runtime https://cnsmap.netlify.app/
  12. 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、ログ監視
  13. 最小権限(Least Privilege)は、 認証・認可を管理する上で不可欠 の原則です。 クラウドネイティブ環境における最 小権限の原則は、アカウント管理 に限らず、コードレベルからクラウ ドインフラに至るまですべてのレイ ヤーで適用することを求められま す。

    職務分掌(Separation of Duties)は、担当者の持つ役割 と権限、責任範囲を明確にする ことを指します。 DevOpsのような境界が曖昧な 環境では、開発者と運用者が担 うセキュリティ対策の責任範囲 について、あらかじめ定義してお くことは特に重要です。 Basic Security Principles 多層防御(Defense in Depth) は、複数レイヤーのセキュリティ対 策を組み合わせることで、システム 全体のセキュリティを包括的に高 めるアプローチです。 クラウドネイティブ環境では、従来 のアプリ・インフラレイヤーに加え て、コンテナ・クラスタレイヤーのセ キュリティ対策を実施する必要が あります。 Defense in Depth Least Privilege Separation of Duties
  14. Rule-Based vs Risk-Based Approach システムを取り巻くリスクを評価し、システ ムの状況や求められるセキュリティ水準を 踏まえて、リスクの最小化に取り組みます。 リスクベースアプローチは、組織やシステム 固有のリスクに対応しやすく、本当に必要 なセキュリティ対策に注力できます。

    一方で、リスク評価にはセキュリティの専門 性や自組織・システムへの深い理解が必要 であり、成熟度の高い組織でなければ有効 活用は難しいでしょう。 あらかじめ実現すべきセキュリティレベルを 定義し、必要な対策をシステムに一律に適 用します。 ルールベースアプローチには、明確なセ キュリティ基準が確立される、全従業員・全 システムへの展開が容易、リスク評価を待 たずに実装できるなどのメリットがありま す。 一方で、全ルールを適用するコストが高 い、ルールが陳腐化しやすい、特定のシス テムに固有のリスクに対応しづらいなどの デメリットがあります。 Rule-Based Risk-Based FIRST STEP!!
  15. Lack of Comprehensive Security • データ保護のためインフラレイヤーで暗号化対策を行ったが、アプリケーションの脆弱性を突 かれDB上のデータにアクセスされてしまった • Kubernetes クラスタの堅牢化を十分に行っていたが、クラウドレイヤーにおいて、複数の運

    用者がクラスタの設定を容易に変更できる状況だった • クラウド利用者のアクセス制御を厳密に行っていたが、 CI基盤に強い操作権限が与えられて おり、ジョブ定義を変更することで自由にクラウド環境にアクセスできた 包括的なセキュリティ対策の必要性
  16. Threat Modeling システムの潜在的な脅威を特定し、対策の優先順位を決定するプロセス アーキテクチャの理解 • システムのコアコンポーネント、ソースコードの場所や開発ライフサイクルなど 脅威の特定 • STRIDE、OCTAVE などの脅威モデルを利用

    脅威アクターの定義 • 外部攻撃者 - 外部からインターネット、サプライチェーンなどを介した攻撃を行う • 内部攻撃者 - システムに侵入することに成功した攻撃者、悪意のある組織内の関係者 • 内部関係者 - 不注意などで問題を引き起こす可能性のある組織内の関係者
  17. Threat Intelligence 潜在的な脅威について収集されたデータ、またはデータを収集、処理、分析するプロセス 収集方針の決定 • 保護すべきシステムの理解と優先順位づけ データ収集 • システム内のメトリクスやログ情報 •

    利害関係者やセキュリティ機関からもたらされる情報、オープンなニュース記事など 分析・対処 • 収集されたデータを利用できる形式に変換、他データとの照合 • 脅威に対するアクションの決定
  18. Software Supply Chain Security ソフトウェアサプライチェーン( SSC)セキュリティは、ソフトウェア開発およ びデプロイメントプロセス全体( = 開発ライフサイクル)におけるセキュリ ティリスクを特定し、緩和するプラクティスです。

    ソフトウェアの設計、開発、パッケージング、配布、そして最終的にユー ザーに利用されるまでの全過程にわたり、コンポーネントやアクティビティ を脅威から保護することを目指します。
  19. Features of SSC Security 依存関係の安全性評価 • サードパーティのアプリケーションコードや IaC、ライブラリ、コンテナイメージなど ビルド・デプロイパイプラインのセキュリティ •

    ジョブ実行基盤へのアクセス制御 • ジョブ定義の変更権限管理、ジョブに与える権限の最小化 ツール類 • SBOMを活用した脆弱性管理 • SLSAフレームワークを活用したセキュリティ成熟度の向上 • OpenSSF Scorecard によるOSSの安全性評価
  20. 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
  21. 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
  22. Unlocking Cloud Native Security • クラウドネイティブなシステムを標的とする脅威、攻撃手法を紹介 • 4Cレイヤーモデルと開発ライフサイクルの観点から、クラウドネイティブセキュリティの全体像 を把握 •

    セキュリティの原則に則り、それぞれのレイヤーで効果的な対策を実施することで、包括的な セキュリティ対策を実現 • セキュリティレベル向上のため、脅威モデリングなどのリスクベースの手法を取り入れ、組織や システムに合わせたセキュリティ対策を実施
  23. 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