Mais conteúdo relacionado
Semelhante a [ハードウェア編] クラウドネイティブアーキテクチャとIoTセキュリティ・バイ・デザイン (20)
Mais de Eiji Sasahara, Ph.D., MBA 笹原英司 (20)
[ハードウェア編] クラウドネイティブアーキテクチャとIoTセキュリティ・バイ・デザイン
- 5. 5
1. はじめに:インダストリー4.0のユースケース(1)
• Tim Bayer et al. 「状態モニタリングおよびインダストリー4.0
配布向けフォグ-クラウドコンピューティング・インフラストラクチャ」
(2019年5月2-4日)
Proceedings of the 9th International Conference on
Cloud Computing and Services Science, CLOSER 2019,
Heraklion, Crete, Greece, May 2-4, 2019
https://www.scitepress.org/Papers/2019/75848/75848.pdf
• コンテナ化のアーキテクチャ
• インフラストラクチャサービス
• Kubernetesマスター
• Kubernetesノード
• ネットワーク・通信
出典:Tim Bayer et al. 「A Fog-Cloud Computing Infrastructure
for Condition Monitoring and Distributing Industry 4.0 Services」
(2019年5月2-4日)
(https://www.scitepress.org/Papers/2019/75848/75848.pdf)
- 6. 6
1. はじめに:インダストリー4.0のユースケース(2)
• アプリケーション事例
出典:Tim Bayer et al. 「A Fog-Cloud Computing Infrastructure for Condition Monitoring and Distributing
Industry 4.0 Services」(2019年5月2-4日)(https://www.scitepress.org/Papers/2019/75848/75848.pdf)
無人搬送車
生産現場
クラウド
管理層
- 7. 7
AGENDA
• 2.ハードウェア対応型コンテナセキュリティの標準化動向
• 2-1. クラウド/エッジコンピューティング向けハードウェア対応型
プラットフォームセキュリティ手法・技術
• 「NISTIR 8320 ハードウェア対応セキュリティ:クラウドとエッジコンピューティング
のユースケース向けプラットフォームセキュリティに対する階層化アプローチの対応」
(2022年5月4日)
• 2-2. ハードウェアを利用したコンテナプラットフォームの信頼性確保策
• 「NISTIR 8320A ハードウェア対応セキュリティ:コンテナプラットフォームの
セキュリティプロトタイプ」(2022年6月27日)
• 2-3. ハードウェアを利用したコンテナプラットフォームのガバナンス
• 「NISTIR 8320B ハードウェア対応セキュリティ:信頼されたコンテナプラット
フォームにおけるポリシーベースのガバナンス」(2022年4月8日)
- 8. 8
2-1.クラウド/エッジコンピューティング向けハードウェア対応型
プラットフォームセキュリティ手法・技術(1)
米国NIST 「NISTIR 8320 ハードウェア対応セキュリティ:クラウドと
エッジコンピューティングのユースケース向けプラットフォームセキュリティに
対する階層化アプローチの対応」(2022年5月4日)
(https://csrc.nist.gov/publications/detail/nistir/8320/final)
構成
1. イントロダクション
2. ハードウェアプラットフォームセキュリティの概要
3. プラットフォームの完全性の証明
4. ソフトウェアのランタイム保護メカニズム
5. データ保護と秘密計算
6. 遠隔証明(Attestation)サービス
7. ハードウェア対応セキュリティを活用したクラウドのユースケース、シナリオ
8. 次のステップ
- 12. 12
2-1.クラウド/エッジコンピューティング向けハードウェア対応型
プラットフォームセキュリティ手法・技術(5)
ソフトウェアのランタイム攻撃に対する保護メカニズム
ランタイム攻撃 対策例
リターン指向プログラミング(ROP)攻撃/
コール指向プログラミング(COP)攻撃/
ジャンプ指向プログラミング(JOP)攻撃
• Intel Control-Flow Enforcement Technology (Intel CET)
• Arm Pointer Authentication Code (PAC)
• Arm Branch Target Identification (BTI)
• IBM ROP and COP/JOP Attack Defenses
アドレストランスレーション攻撃 • Intel Hypervisor Managed Linear Address Translation (HLAT)
• Intel Supervisor Mode Execution Prevention (SMEP) and Supervisor Mode Access
Prevention (SMAP)
• AMD Supervisor Mode Execution Prevention (SMEP) and Supervisor Mode Access
Prevention (SMAP)
メモリ安全性違反 • Arm Privileged Access Never (PAN)
• Arm User (EL0) Execute Never (UXN) and Privileged (EL1/EL2) Execute Never
(PXN)
• Arm Memory Tagging Extension (MTE)
• Arm Hardware Enforced Capability-Based Architecture (Morello and CHERI)
サイドチャネル攻撃 • Arm Mitigations Against Side-Channel Attacks
出典:National Institute of Standards and Technology (NIST) 「NISTIR 8320 Hardware-Enabled Security: Enabling a Layered Approach to
Platform Security for Cloud 3 and Edge Computing Use Cases」(2022年5月4日)
(https://csrc.nist.gov/publications/detail/nistir/8320/final)を基にヘルスケアクラウド研究会作成
- 13. 13
2-1.クラウド/エッジコンピューティング向けハードウェア対応型
プラットフォームセキュリティ手法・技術(6)
データ保護と秘密計算
信頼された実行環境(TEE: Trusted Execution Environment)技術:
プロセッサ上に隔離された実行環境を用意する
TEE技術 対策例
メモリ隔離 • Intel TME and Multi-Key Total Memory Encryption (Intel MKTME)
• AMD Secure Memory Encryption (SME)/Transparent Secure Memory Encryption (TSME)
• Arm Realm Memory Isolation and Protection
• Arm External Memory (DRAM) Encryption and Integrity with CCA
• IBM Memory Isolation Technology
アプリケーション隔離 • Intel Software Guard Extensions (SGX)
• Arm Confidential Compute Architecture (CCA)
• Arm TrustZone Trusted Execution Environment (TEE) for Armv8-A
• Arm Realm Memory Isolation and Protection
• IBM Application Isolation Technology
仮想マシン(VM)隔離 • Intel Trust Domain Extensions (Intel TDX)
• AMD Secure Encrypted Virtualization (SEV)
• Arm Confidential Compute Architecture (CCA)
• IBM VM Isolation Technology
暗号アクセラレーター • Intel Advanced Encryption Standard New Instructions (AES-NI)
• Intel QuickAssist Technology (QAT) with Intel Key Protection Technology (KPT)
• AMD Advanced Encryption Standard
• Arm Cryptographic Acceleration
• IBM Cryptographic Acceleration Technology
- 16. 16
2-1.クラウド/エッジコンピューティング向けハードウェア対応型
プラットフォームセキュリティ手法・技術(9)
ハードウェア対応セキュリティを活用したクラウドのユースケース、シナリオ
ユースケース 対策例
セキュリティインフラストラクチャの可視性 ・プラットフォームの完全性やセキュリティ構成の詳細(例.BIOS/UEFIのバー
ジョン、ロケーション情報、アプリケーションのバージョン)に関する暗号的に検証
可能なレポート
信頼済プラットフォーム上へのワークロードの配置 ・遠隔証明サービス内に維持されたプラットフォーム情報や検証済のファームウェア
/構成対策(例.Kubernetesのオーケストレーションスケジューリング)
アセットのタグ付けと信頼済ロケーション ・ロケーション情報を特定した属性値をアセットタグとして利用し、サーバーハード
ウェアに割り当てて、プラットフォーム遠隔情報レポートに含める(例.TPM(信頼
されたプラットフォームモジュール)
ワークロードの機密性 ・エンドユーザーがワークロードのイメージを暗号化する機能を付与して、顧客
データや知財を保護するために保存場所で暗号隔離するとともに、暗号鍵管理ソ
リューションを提供する
鍵と秘密の保護 ・鍵を保存し、暗号化処理を実行するために、サーバーにハードウェアセキュリティ
モジュール(HSM)を装備し、ワークロードで利用する
出典:National Institute of Standards and Technology (NIST) 「NISTIR 8320 Hardware-Enabled Security: Enabling a Layered Approach to
Platform Security for Cloud 3 and Edge Computing Use Cases」(2022年5月4日)
(https://csrc.nist.gov/publications/detail/nistir/8320/final)を基にヘルスケアクラウド研究会作成
- 17. 17
2-2.ハードウェアを利用したコンテナプラットフォームの信頼性確保策(1)
米国NIST 「NISTIR 8320A ハードウェア対応セキュリティ:コンテナ
プラットフォームのセキュリティプロトタイプ」(2022年6月27日)
(https://csrc.nist.gov/publications/detail/nistir/8320a/final)
構成
• 第1章.序論
• 第2章. プロトタイプの展開
• ステージ0:プラットフォームの証明と評価されたワーカーノードの設定
• ステージ1:信頼されたワークロードの配置
• ステージ2:アセットのタグ付と信頼された位置情報
• 第3章. プロトタイピングのステージ0
• 第4章. プロトタイピングのステージ1
• 第5章. プロトタイピングのステージ2
• 参考文献
- 18. 18
2-2.ハードウェアを利用したコンテナプラットフォームの信頼性確保策(2)
• プロトタイプの展開
ステージ 信頼性確保策
ステージ0:
プラットフォーム
の証明と評価
されたワーカー
ノード の設定
・コンテナ展開ソリューションの基本的要素は、コンテナの展開が稼働するプラットフォームが信頼できることを保証する仕組み
・プラットフォームが信頼できないと、テナントのアプリケーションやデータの侵害リスクが高まるだけでなく、要求された
クラウドサーバーのアセットタグが正確であることが保証されなくなる
・ステージ0の前提条件
1. 信頼されたものとして、クラウドサーバープラットフォームを構成する
2. 各コンテナのワーカーノードを設定する前に、クラウドサーバープラット
3. フォームの信頼性を検証(評価)する
4. コンテナランタイムの実行中、クラウドサーバープラットフォームの信頼性を監査する
ステージ1:
信頼された
ワークロードの
配置
・ワークロードの配置は、クラウドコンピューティングの重要な属性であり、拡張性や信頼性を向上させる
・ワークロードが配置されたサーバーについて、ワークロードのセキュリティポリシーに基づいて、セキュリティ保証の要求レベル
を満たすことが目的
・ステージ1の前提条件
1. 信頼済プラットフォームを有するクラウドサーバーのみに、ワークロードを展開する
ステージ2:
アセットのタグ
付と信頼された
位置情報
・ステージ1に基づいて、継続的にモニタリングし、アセットタグの制限を強制する機能を追加する
・ステージ2の前提条件
1. 個々の信頼済プラットフォームのインスタンス向けに、信頼されたアセットタグ情報を有する
2. アセットタグ制限の強制を含む、信頼済プラットフォーム向けの構成管理およびポリシー強制メカニズムを提供する
3. ワークロードのオーケストレーション中、アセットタグのポリシー制限に対するクラウドサーバープラットフォームの
アセットタグを定期的に監査する
- 23. 23
2-3.ハードウェアを利用したコンテナプラットフォームのガバナンス(1)
米国NIST 「NISTIR 8320B ハードウェア対応セキュリティ:信頼さ
れたコンテナプラットフォームにおけるポリシーベースのガバナンス」
(2022年4月8日)
https://csrc.nist.gov/publications/detail/nistir/8320b/final
目的:マルチテナント型クラウド環境におけるアプリケーションコンテナの展開を
保護するための手法を記述する
構成
1. 序論
2. プロトタイプの展開
3. プロトタイピングのステージ0
4. プロトタイピングのステージ1
5. プロトタイピングのステージ2
6. プロトタイピングのステージ3
7. プロトタイピングのステージ4
参考文献
NISTIR 8320Aを前提とする
- 27. 27
AGENDA
• 3. マイクロサービスのセキュリティ標準化動向
• 3-1. マイクロサービスアプリケーションのセキュリティ戦略
• 「NIST SP800-204: マイクロサービスベースアプリケーション向け
セキュリティ戦略」(2019年8月7日)
• 3-2. サービスメッシュを利用したマイクロサービスのセキュリティ
• 「NIST SP800-204A: サービスメッシュを利用したセキュアなマイクロサービス
ベースアプリケーションの構築」(2020年5月27日)
• 3-3.サービスメッシュを利用したマイクロサービスのアクセス制御
• 「NIST SP800-204B:サービスメッシュを利用したマイクロサービスベースアプ
リケーション向け属性ベースのアクセス制御」(2021年8月6日)
• 3-4. DevSecOpsとマイクロサービスのセキュリティ管理
• 「NIST SP800-204C: サービスメッシュを利用したマイクロサービスベース
アプリケーション向けDevSecOpsの展開」(2022年3月8日)
- 28. 28
3-1.マイクロサービスアプリケーションのセキュリティ戦略(1)
米国NIST 「NIST SP800-204: マイクロサービスベース
アプリケーション向けセキュリティ戦略」(2019年8月7日)
(https://csrc.nist.gov/publications/detail/sp/800-204/final)
マイクロサービスベースアプリケーションの利用が拡大する理由
a. 比較的小規模で簡素化されたコードベースにより開発することによる俊敏性
(Agility)
b. マイクロサービスの疎結合の特徴による開発プロセスでのチーム間の独立性
(Independence)
c. インフラストラクチャサービス(認証、アクセス制御、サービスのディスカバリーと通信、
ロードバランスなど)を提供する展開ツールの可用性(Availability)
目的:セキュアなマイクロサービスベースアプリケーションを展開するための
戦略を概観する
• ステート・オブ・プラクティスのコア機能の展開オプションやアーキテクチャの構成オプ
ション(APIゲートウェイ、サービスメッシュ、マイクロサービス固有の脅威への対策など)
を分析
- 29. 29
3-1.マイクロサービスアプリケーションのセキュリティ戦略(2)
[構成]
• 1 序論
• 2 マイクロサービスベースアプリケーションシステム:技術的背景
• 2.1 マイクロサービス:概念的な見方
• 2.2 マイクロサービス:設計原則
• 2.3 ビジネスのドライバー
• 2.4 ビルディングブロック
• 2.5 マイクロサービス:相互作用のスタイル
• 2.6 マイクロサービス:ステート・オブ・プラクティスのコア機能
• 2.7 マイクロサービス:アーキテクチャフレームワーク
• 2.7.1 APIゲートウェイ
• 2.7.2 サービスメッシュ
• 2.8 マイクロサービス:モノリシックアーキテクチャとの比較
• 2.9 サービスオリエンテッドアーキテクチャ(SOA)との比較
• 2.10 マイクロサービスの利点
• 2.11 マイクロサービスの欠点
- 30. 30
3-1.マイクロサービスアプリケーションのセキュリティ戦略(3)
• 3 マイクロサービスベースアプリケーションシステム:脅威の背景
• 3.1 脅威ソースの概要のレビュー
• 3.2 マイクロサービス固有の脅威
• 4 コア機能と脅威対策展開のためのセキュリティ戦略
• 4.1 アイデンティティ/アクセス管理のための戦略
• 4.2 サービスディスカバリーメカニズムのための戦略
• 4.3 セキュアな通信プロトコルのための戦略
• 4.4 セキュリティモニタリングのための戦略
• 4.5 可用性/レジリエンシー向上の戦略
• 4.6 完全性保証の戦略
• 4.7 インターネットベースの攻撃への対策
• 5 マイクロサービスにおけるアーキテクチャフレームワークのためのセキュリティ戦略
• 附表A モノリシックアプリケーションとマイクロサービスベースアプリケーションの相違点
• 附表B セキュリティ戦略のマイクロサービスアーキテクチャ機能に対するトレーサビリティ
• 附表C 参考文献
- 32. 32
3-1.マイクロサービスアプリケーションのセキュリティ戦略(5)
[マイクロサービスのコア機能の展開および脅威対応に向けたセキュリティ戦略]
出典:NIST 「SP 800-204: Security Strategies for Microservices-based Application Systems」 (2019年8月7日)
(https://csrc.nist.gov/publications/detail/sp/800-204/final)
脅威 セキュリティ戦略
アイデンティティ/アクセス管理 ・認証(MS-SS-1)
・アクセス管理(MS-SS-2)
サービスディスカバリーのメカニズム ・サービスレジストリ構成(MS-SS-3)
セキュアな通信プロトコル ・セキュアな通信(MS-SS-4)
セキュリティモニタリング ・セキュリティモニタリング(MS-SS-5)
遮断機能の展開 ・遮断機能の展開(MS-SS-6)
ロードバランシング ・ロードバランシング(MS-SS-7)
レート制限 ・レート制限(MS-SS-8)
完全性の保証 ・マイクロサービスの最新版の導入(MS-SS-9)
・セッション維持の取扱(MS-SS-10)
ボットネット攻撃への対抗 ・資格情報の悪用やリスト型攻撃の防止(MS-SS-11)
マイクロサービスのアーキテクチャ
フレームワーク
・APIゲートウェイの展開(MS-SS-12)
・サービスメッシュの展開(MS-SS-13)
- 33. 33
3-2.サービスメッシュを利用したマイクロサービスのセキュリティ(1)
米国NIST 「NIST SP800-204A: サービスメッシュを利用したセキュ
アなマイクロサービスベースアプリケーションの構築」(2020年5月27日)
(https://csrc.nist.gov/publications/detail/sp/800-204a/final)
[構成]
1. 序論
2. マイクロサービスベースのアプリケーション
– 背景とセキュリティ要求事項:
• 認証と認可の要求事項
• サービス・ディスカバリー
• ネットワーク・レジリエンス技術を介した
可用性の向上
• アプリケーション監視の要求事項
3. サービスメッシュ – 定義と技術的背景
• サービスメッシュのコンポーネントと機能
• Ingressコントローラー
• Egressコントローラー
• 通信ミドルウェアとしてのサービスメッシュ:相違点
• サービスメッシュ:最先端
4. サービス・メッシュ展開の推奨事項
• サービスプロキシー向け通信構成
• Ingressプレキシー向け構成
• 外部サービスへのアクセス向け構成
• アイデンティティ/アクセス管理向け構成
• 監視機能向け構成
• ネットワーク・レジリエンス向け構成
• オリジン間リソース共有(CORS)向け構成
• 管理運用向け許可の構成
- 34. 34
3-2.サービスメッシュを利用したマイクロサービスのセキュリティ(2)
・サービスメッシュ – 定義と技術的背景(1)
マイクロサービスの機能 • ビジネスロジック:ビジネス機能、計算処理、サービス構成/統合
• ネットワーク機能:サービス間の通信メカニズム(→サービスメッシュ)
サービスメッシュの
コンポーネント
• データプレーン:アプリケーションからのリクエストをフォワードする機能を提供するデータパス
• コントロールプレーン:メッシュに渡ってデータプレーン(プロキシ)の行動を制御・構成するために使用されるAPIツール類
サービスメッシュの機能 • 認証と権限付与
• サービスディスカバリー
• セキュアなコミュニケーション
• コミュニケーション向けのレジリエンス/安定性機能
Ingressコントローラー • サービスメッシュ内部にある実際のAPIを覆っているすべてのクライアント向けの共通API
• HTTP/HTTPSのようなwebに適したプロトコルから、RPC/gRPC/RESTのようなマイクロサービスが使用するプロト
コルへのプロトコル変換
• クライアントからのシングルコールに対応して、サービスメッシュ内部の複数サービスへのコールから受け取った結果の構成
• 負荷分散
• パブリックTLS終了
Egressコントローラー • メッシュ外にあるマイクロサービス向けのマイクロサービスから発生する内部トラフィックをコントロールするサービスプロキシ
• 外部ネットワークへの通信をホワイトリスト化する単一セットのワークロード(例.ホスト、IPアドレス)
• 資格情報の交換:外部システムの資格情報に直接アクセスするアプリケーションなしに、内部のID資格情報から外部の資
格情報(例.SSOトークン、API鍵)に変換する
• webに適したプロトコル(例.HTTP/HTTPS)から、マイクロサービスに適したプロトコル(例.RPC/gRPC/
REST)へのプロトコル変換
- 35. 35
3-2.サービスメッシュを利用したマイクロサービスのセキュリティ(2)
・サービスメッシュ – 定義と技術的背景(2)
通信ミドルウェアとし
てのサービスメッシュ
• 伝統的な分散システム向けミドルウェア:アプリケーションデリバリーコントローラー(ADC)、負荷分散装置、
APIゲートウェイ
• マイクロサービスの通信トラフィックの特徴:「東西」>「南北」
• 「南北」トラフィック:クライアントとアプリケーション間の通信トラフィック
• 「東西」トラフィック:マイクロサービス間の通信トラフィック
• 軽量通信ミドルウェアとしてのサービスメッシュ:プロダクションアプリケーションとして許容できるパフォーマンス・レ
ベルが要求される
• クラウドネイティブ・アプリケーションの機能として、マイクロサービス・アプリケーションが、コンテナなしで導入される
ケース:
• サービスベース・アーキテクチャ、APIドリブン通信、コンテナベース・インフラストラクチャ、DevOpsプロセス
に関するバイアスなど
サービスメッシュ:
最先端の手法
• 各マイクロサービスをコンテナとして展開する
• アプリケーションは、コンテナ・オーケストレーション・ツールを利用して管理されるコンテナ・クラスター(可用性と
パフォーマンスの向上目的)を活用する
• クラウドプロバイダーが提供し、コンテナ管理/オーケストレーション環境に必要な展開/構成ツールを有する
Container as a Service (CaaS) 経由で、アプリケーションをホストする
- 39. 39
3-4.DevSecOpsとマイクロサービスのセキュリティ管理(1)
米国NIST 「NIST SP800-204C: サービスメッシュを利用
したマイクロサービスベースアプリケーション向けDevSecOpsの展開」
(2022年3月8日)(https://csrc.nist.gov/publications/detail/sp/800-204c/final)
目的:
DevSecOps基礎向け参照プラットフォーム(Reference Platform for
DevSecOps Primitives)の展開のためのガイダンスを提供する
参照プラットフォームの展開が、高度のセキュリティ保証のためにもたらす
ベネフィットと、リスク管理ツールとダッシュボードのメトリクスを利用して、
継続的な運用権限(C-ATO)を提供するためのパイプライン内における
アーティファクト利用について記述する
- 40. 40
3-4.DevSecOpsとマイクロサービスのセキュリティ管理(2)
• 1 序論
• 2 DevSecOps基礎向け参照プラットフォーム
• 2.1 コンテナオーケストレーションとリソース管理プラットフォーム
• 2.2 サービスメッシュ・ソフトウェア・アーキテクチャ
• 3 DevSecOps – 組織的な対応準備、 重要な基礎、展開
• 3.1 DevSecOps向けの組織的な対応準備
• 3.2 DevSecOpsプラットフォーム
• 3.3 DevSecOps – 重要な基礎と展開タスク
• 4. 参照プラットフォーム向けDevSecOps基礎の展開
• 4.1 コードのタイプと参照プラットフォームのコンポーネントの記述
• 4.2 アプリケーションコードとアプリケーションサービスコード向けのCI/CDパイプライン
• 4.3 インフラストラクチャ・アズ・コード向けのCI/CDパイプライン
• 4.4 ポリシー・アズ・コード向けのCI/CDパイプライン
• 4.5 オブザーバビリティ・アズ・コード向けのCI/CDパイプライン
• 4.6 CI/CDパイプラインのセキュア化
• 4.7 CI/CDパイプラインにおけるワークフローモデル
• 4.8 セキュリティテスト - すべてのコード向けのCI/CDパイプライン共通要求事項
• 4.9 サービスメッシュのアプリケーションセキュリティに対するDevSecOps基礎のベネフィット
• 4.10 継続的な運用権限(C-ATO)向けDevSecOpsの活用
• 5. 要約と結論
- 42. 42
3-4.DevSecOpsとマイクロサービスのセキュリティ管理(4)
DevSecOpsプラットフォーム
(a) パイプラインソフトウェア
- CIソフトウェア – コードレポジトリからコードを取り寄せ、構築ソフトウェアを引き出し、検証ツールを引き出して、
検証済アーティファクトをイメージレジストリに戻して保存する
- CDソフトウェア – アーティファクトやパッケージを引き出し、インフラストラクチャ・アズ・コード(IaC)における
計算処理、ネットワーク、ストレージのリソースの記述に基づいて、パッケージをデプロイする
(b) ソフトウェア開発ライフサイクル(SDLC)ソフトウェア
- 構築ツール (例. IDEs)
- 検証 (SAST、DAST、SCA)
(c) レポジトリ
- ソースコード・レポジトリ (例. GitHub)
- コンテナイメージ・レポジトリまたはレジストリ
(d) 可観測性またはモニタリングツール
- ロギング・ログ集約ツール
- メトリクスを生成するツール
- トレーシングツール (アプリケーションコールのシーケンス)
- 可視化ツール (ダッシュボード/アラートを生成するために上記からのデータを組み合わせる)
- 45. 45
3-4.DevSecOpsとマイクロサービスのセキュリティ管理(7)
CI/CDパイプラインの準備と導入
• 準備タスク
• 導入タスク
(1)DevSecOpsプラットフォーム(パイプラインソフトウェア、SDLCソフトウェア、コードレポジトリ、可観測性ツールなど)の個々
のコンポーネントが利用可能なことを保証する
(2)これらのコンポーネントが、認証、検証、カスタマイズしたテストのいずれかを通して、セキュアであることを保証する
(3)CI/CDツールとSDLCツールと統合する – アクセストークン、呼び出しスクリプト、パイプライン定義
(4)デプロイメント環境(例.オンプレミスまたはクラウドのアプリケーションホスティングプラットフォーム)に基づく(GitOpsを
備えた)IaCツールに、構成の詳細を設定する
(5)ランタイムツールをデプロイメント環境に統合する
(6)ダッシュボードを設計し、モニターするイベントや、生成されるアラート、ログアグリゲーター、メトリックジェネレーター、トレース
ジェネレーターなどのツールへの接続を通してモニターするアプリケーションの状態変数(例.メモリ使用率など)を定義する
・ソースコードレポジトリを設定する
・プロセスを構築する
・プロセスをセキュアにする
・デプロイメント環境を記述する
・デリバリーパイプラインを構築する
・コードを検証し、パイプラインを導入する
・ランタイムツールとダッシュボードを起動し、ランタイムモニタリングを開始する
- 46. 46
3-4.DevSecOpsとマイクロサービスのセキュリティ管理(8)
自動化向けの戦略
• 自動化活動の選択:検証活動自動化の対象
• 自動化対象活動のサブセットを選定する際の戦略
・法令遵守(例.PCI-DSS、HIPAA、SOX)を必要とする機能を有するモジュールの検証
・中ー高程度の頻度で繰り返されるタスク
・メッセージパブリッシャー、メッセージサブスクライバーなど、時系列的なオペレーションを実行するモジュールの検証
・複数サービスをつなぐトランザクションを含む(例.リクエスト追跡)ワークフローの検証
・リソース集約的でパフォーマンスのボトルネックとなる可能性があるサービスの検証
・自動化するプロセスを優先順位付けするために、1年間で節約された時間単位の費用便益比率を利用する
・DevSecOpsプロセスを洗練するためのマーカーとして、重要業績評価指標(KPI)を利用する
・DevSecOpsに対するリソースの割当を決定するために、アプリケーションに基づいて、インフラストラクチャ
サービスと異なる重み付けを適用する
- 48. 48
3-4.DevSecOpsとマイクロサービスのセキュリティ管理(10)
参照プラットフォーム向けDevSecOps基礎の展開
コードのタイプと参照プラットフォームのコンポーネントの記述
コードのタイプ コンポーネントの記述
アプリケーションコード 特定セットのビジネストランザクション向けデータとアプリケーションのロジックが含まれる
アプリケーションサービスコード すべてのサービス向けコードが含まれる
インフラストラクチャ・アズ・コード
(IaC)
繰り返し可能で一貫した手法で、アプリケーションデプロイメントをホストするインフラストラクチャリソースを
プロビジョニングして構成するためのコード
ポリシー・アズ・コード 実行可能なモジュールとしてのセキュリティポリシー、ポリシー固有の動詞やアーティファクトのコードを含む
認証ポリシーなど
オブザーバビリティ・アズ・コード システムの内的状態を推測し、いつ、なぜ、システム内でエラーが発生するのかに関する実行可能な
インサイトを提供する能力
コードのタイプをホスティングす
る参照プラットフォームの
コンポーネント
1. ビジネス機能コンポーネント(コンテナとして展開されるものを備えた複数のマイクロサービスモジュールから
構成される)
2. インフラストラクチャコンポーネント(コンピューター、ネットワーク、ストレージのリソースを含む)
3. サービスメッシュコンポーネント(コントロールプレーンとサービスプロキシの組み合わせで展開される)
4. モニタリングコンポーネント(アプリケーションの健康状態を示すパラメーターの確認に含まれるモジュール)
サービスメッシュコンポーネント内
のポリシーと可観測性コードの
タイプの配布
・プロキシー(Ingress、Sidecar、Egress)
・サービスメッシュのコントロールプレーン
・外部モジュール
- 50. 50
3-4.DevSecOpsとマイクロサービスのセキュリティ管理(12)
ポリシー・アズ・コード向けのCI/CDパイプライン
• ポリシーのカテゴリーとポリシー事例
ポリシーのカテゴリー ポリシー事例
ネットワークポリシーと
ゼロトラストポリシー
・指定されたポートのブロック
・Ingressホスト名の指定
・一般的に、すべてのネットワークアクセスポリシー
展開アーティファクトポリシー
(例.コンテナポリシー)
・サーバーのハードニング、ベースイメージ向け脆弱性スキャン
・コンテナがrootとして稼働しないことの保証
・コンテナ向け特権エスカレーションのブロック
ストレージポリシー ・持続化容量サイズの設定
・持続化容量再要求ポリシー
アクセスコントロールポリシー ・ポリシーがすべてのデータオブジェクトをカバーすることの保証
・ポリシーが管理者とアプリケーションアクセス向けのすべてのロールをカバーすることの
保証
・データ保護ポリシーが保存データ、転送データ、利用データをカバーすることの保証
・すべてのタイプのポリシーについてコンフリクトのないことの保証
サプライチェーンポリシー ・承認されたコンテナレジストリのみの許容
・認証されたライブラリのみの許容
監査・説明責任ポリシー ・監査・説明責任機能に関連したポリシーがあることの保証
- 52. 52
3-4.DevSecOpsとマイクロサービスのセキュリティ管理(14)
CI/CDパイプラインにおけるワークフローモデル
CI/CD向けGitsOpsワークフローモデル – プルベースのモデル
ワークフローモデル 留意点
プッシュベースのモデル ・プッシュベースのモデルをサポートするCI/CDツールでは、後続のステージ/フェーズ
の中で、1つのパイプライントリガー変更ステージ/フェーズにおいて変更が実行される
・ディプロイメントにおける変更の基盤としてCIシステムを利用すると、ディプロイメント
環境の外で、資格情報が露出する可能性がある
プルベースのモデル ・ディプロイメント環境に関わるオペレーター(例.Kubernetes Operator、Flux、
ArgoCD)は、新たなイメージがレジストリに押し出されたことを確認するやいなや、
環境の内部から新たなイメージを引き出す
ワークフローモデル 留意点
GitOps ・多くのCI/CDツールがサポートするプッシュベースのモデルの代わりに、プルベースの
ワークフローモデルを利用している
プルベースのモデルが利用する
セキュリティ機能
・オーケストレーションプラットフォームで定義された認可ポリシーにより認められオペレー
ションのみを実行する(Trustはクラスター内で共有され、個々に管理しない)
・すべてのオーケストレーションプラットフォームのオブジェクトに、ネイティブでバインドし、
オペレーションが完了したか、再試行が必要かを知る