検索
ニュース

セキュリティ対策を評価するサーバレスアプリ「Cloud Katana」をオープンソース化 MicrosoftHTTPリクエストで攻撃シミュレーションを実行可能

Microsoftは、クラウドとハイブリッドクラウド環境におけるセキュリティ対策を評価するサーバレスアプリケーション「Cloud Katana」をオープンソース化した。

Share
Tweet
LINE
Hatena

 Microsoftは2021年8月19日(米国時間)、クラウドとハイブリッドクラウド環境のセキュリティ対策を評価するサーバレスアプリケーション「Cloud Katana」をオープンソース化したと発表した。

画像
Cloud Katanaの設計原則(出典:Microsoft

 MicrosoftによるとCloud Katanaは以下の9つの設計原則に基づいて設計開発されているという。

  • サーバレス実行モデル
  • Web APIとしてのコンピュートオンデマンド
  • YAMLベースの攻撃定義
  • オーケストレーションされたステートフル実行
  • 安全な認証と認可
  • マネージドIDの統合
  • Azureリソースへのきめ細かなアクセス制御
  • 特定のプログラミング言語に依存しないクライアント
  • クラウドとオンプレミスに対応

 それぞれの設計原則についてMicrosoftは次のように説明する。

サーバレス実行モデル

 Cloud Katanaはサーバレスアプリケーションの開発基盤「Azure Functions」を使っており、インフラのスケーリング(拡張)やメンテナンスを気にせずに済むような設計になっている。

 Microsoftは「Cloud Katanaはシンプルでスケーラブルなイベントドリブンソリューションを提供する」としており、Cloud Katanaはそれを実現するため、トリガーによる呼び出しに基づいて自動的にスケーリングする「実行ベースの料金モデル」を採用している。

Web APIとしてのコンピュートオンデマンド

 HTTPリクエストをCloud KatanaのサーバレスWeb API送ることで、セキュリティ評価の攻撃シミュレーション(以下、シミュレーション)に必要なコードを関数として呼び出せる。

画像
サーバレスWeb APIによるコンピュートオンデマンド。シミュレーションを行う関数はATT&CKフレームワークで分類されている(出典:Microsoft

 この機能のおかげで、シミュレーションに関する特定の情報と一緒にHTTPリクエストを送るだけでシミュレーションを実行できる。現時点では、全ての関数がPowerShellで書かれており、「MITRE ATT&CKフレームワーク」に従って分類されている。ただし、今後PowerShell以外で書かれた関数が登場する可能性もあるという。

YAMLベースの攻撃定義

 シミュレーションは、さまざまなメタデータを集めるためにYAMLベースのフォーマットで文書化する。メタデータには、タイトル、説明、ATT&CKマッピング、予想される入力、出力、さらにはシミュレーションステップの実行前に適切な権限を取得するための前提条件などが含まれる。

画像
YAMLベースのドキュメントのサンプル(出典:Microsoft

 これによって、文書化されたアクションのプログラミング処理や他の幾つかのリソースのセットアップを自動化できる。

オーケストレーションされたステートフル実行

 Cloud KatanaはAzure Functionsの拡張機能「永続関数」(durable functions)を活用することで、多数のシミュレーションにわたって状態を処理し、信頼性を確保できる設計になっている。これによって「対象となるアクションが他のシミュレーションに影響するかもしれないシナリオ」であってもシミュレーションできるようになる。

安全な認証と認可

 Cloud Katanaは「認証と認可のベストプラクティス」を強制してアプリケーションを保護する。

 「Microsoft Identity Platform」などのAzure AD(Azure Active Directory)アプリケーションをIDプロバイダーとして使用し、クライアントを認証する。Azure ADアプリケーションは別途必要になるが、条件付きアクセスポリシー、多要素認証、シングルサインオン(SSO)といった認証機能を使えるようになる。OAuth認証を用いてAzure Functionで開発したアプリに接続できる。

画像
Cloud Katanaで使用される、OAuthのデバイス認可付与フロー(出典:Microsoft

 シミュレーションの実行前にユーザーに認証を強制するだけでなく、「アプリケーションの役割の割り当て」でユーザーのアクセス制限も可能だ。

マネージドIDの統合

 Azureでシミュレーションを実行する際、ユーザーに割り当てられた「マネージドID」を使ってAzure ADで保護されたリソースにアクセスできる。マネージドIDを使うことで機密情報のプロビジョニングやローテーションが不要になる。

Azureリソースへのきめ細かなアクセス制御

 マネージドIDに割り当てられた権限でAzureリソースへのアクセス権を定義できる。Cloud Katanaは現時点ではAzureベースのシナリオのみをカバーしているため、主要なMicrosoft Graph APIセットそれぞれに関連付けられた権限を使ってAzureリソースへのアクセスを制御している。

特定のプログラミング言語に依存しないクライアント

 Cloud Katanaは任意の言語を使ったシミュレーションが可能だ。その場合、Cloud Katanaを操作するためのクライアントがAzure ADの認証プロセスを処理できる必要がある。Microsoft Authenticationライブラリは、PowerShellでは「MSAL.PS」として、Pythonでは「MSAL」として提供されている。「Jupyter Notebooks」などの他のオープンソースプロジェクトを利用して、シミュレーションの実行状況を示すテンプレートを作成し、他のセキュリティ研究者と共有もできる。

クラウドとオンプレミスのシミュレーション

 Microsoftは現在、クラウドだけでなくオンプレミスでもシミュレーションを実行するため、「Azure App Service」のハイブリッド接続の試験運用を行っている。ハイブリッド接続はリレーエージェントを使うことで、オンプレミスのサービスをパブリッククラウドでも安全に公開できる。リレーエージェントは、オンプレミスサーバとCloud Katana Azure Functionアプリの中間で動作する。

画像
Cloud Katana関数アプリからオンプレミスリソースでシミュレーションを実行(出典:Microsoft

Copyright © ITmedia, Inc. All Rights Reserved.

Security & Trust 記事ランキング

  1. 「SMSは認証に使わないで」 米CISA、モバイル通信を保護する8つのベストプラクティスを公開
  2. 経営層の約7割が「セキュリティ対策は十分」一方で6割以上がインシデントを経験、1位の要因は?
  3. Google Cloud、2025年のサイバーセキュリティ予測を発表 AIがサイバー攻撃にもたらす影響とは?
  4. 2025年に押さえるべきセキュリティの重要論点をガートナーが発表 新しいリスク、脅威、環境の変化、法規制などの動きを把握する指標に使える
  5. “ゼロトラスト”とトラスト(信頼性)ゼロを分かつものとは――情報セキュリティ啓発アニメ「こうしす!」監督が中小企業目線で語る
  6. 終わらせましょう。複雑過ぎるKubernetes/クラウドネイティブが生む心理的安全性の低下を――無料でクラウドセキュリティの勘所が分かる130ページの電子書籍
  7. よく聞く「複雑化するサイバー攻撃」は具体的にどう複雑なのか? 一例を医療系企業のランサム事例とともに解説
  8. 3割程度のSaaS事業者が標準的なセキュリティ対策をしていない アシュアードがSaaS事業者を調査
  9. 増える標的型ランサムウェア被害、現場支援から見えてきた実態と、脆弱性対応が「限界」の理由
  10. 「このままゼロトラストへ進んでいいの?」と迷う企業やこれから入門する企業も必見、ゼロトラストの本質、始め方/進め方が分かる無料の電子書籍
ページトップに戻る