当BlogではCIS,MITRE,CSF等の業界標準のSecurityフレームワークを使いOracle Cloud Guardを紹介します。
[第1回] Oracle Cloud Guard とセキュリティフレームワーク 〜CIS/CSF〜 について
[第2回] Oracle Cloud Guard とセキュリティフレームワーク 〜MITRE ATT&CK〜 について (本投稿)
本投稿では脅威分析の標準セキュリティフレームワークであるMITRE ATT&CKを解説した後に、Oracle Cloud GuardのMITREに関連する機能を紹介していきます。
[1] MITRE ATT&CKについて
Capital One のデータ漏洩事件(Capital One Data Breach)は、2019 年 7 月に発生した大規模なクラウド環境におけるサイバー攻撃事件で、約 1 億 600 万人の個人情報が漏洩しました。この攻撃は、クラウドの脆弱性を利用したものとして当時注目を集めました。(Capital One のクラウド環境がホストされていたのはAmazon Web Services(AWS)でした。攻撃者は、誤って設定されていたWeb Application Firewall(WAF)の脆弱性を利用し、不正なアクセス権を取得することで顧客の個人情報(クレジットカード申請情報、社会保障番号、口座番号など)を漏洩させました。敵対者は、SSRF(Server Side Request Forgery)の脆弱性(詳細は後述)を悪用してAWSのEC2インスタンスのメタデータサービスにアクセスすることにより、AWSアクセスキーを窃取して当該アクセスキーを用いてAWS S3バケットに保存されていたデータにアクセスしたと言われています。
このようなCloud環境特有の攻撃を体系的に分析して今後のセキュリティ対策に役立てる際、有効なセキュリティ・フレームワークとなるのがMITRE ATT&CKです。
CVE(Common Vulnerabilities and Exposures:共通脆弱性識別子)の運用を行っていることで有名なMITREは、攻撃者視点から脅威を体系化したフレームワークであるATT&CKを提供しています。CISが守る側の観点からセキュリティ構成・設定のガイドラインを示しているのに対してMITRE ATT&CKはクラウド特有の脅威や攻撃者の戦術・技術にフォーカスしてクラウド環境での脅威モデリングや侵入検知、有効な対応策を設計するのに役立ちます。
ATT&CKはAdversarial Tactics, Techniques, and Common Knowledgeの略で、直訳すると「敵対的な戦術とテクニック、共通知識」となり、過去発生した攻撃を戦術と技術または手法の観点で分類したナレッジベースです。この戦術とは初期アクセス、攻撃実行、永続化、権限昇格などのフェーズからなり、どのような事が行われるか実際の事例をパターン化して敵対者の攻撃テクニック・手法を知ることで、どのような脅威に対策をとるか想定し、緩和策、検知方法などの具体的な対策に落とし込んでいます。
MITREフレームワークには攻撃対象ごとにEnterprise(一般的な企業ネットワークへの侵入)、Mobile(モバイル端末への侵入)、ICS(産業システムへの侵入)が提供されており、Enterpriseの中でも、Windows, macOS, Linux, Cloud等がありますが、ここではCloudを利用した企業システムを対象としたMITRE ATT&CK Enterprise Cloudを中心に解説していきます。

上図のCloud Matrixでは、横軸がTactics(攻撃グループのサブ目的)で11のフェーズで構成されており、縦軸がTechniques(Tacticsを実現するための技術・手法)を表しています。各ボックスが1つのTechnique に該当して、Techniqueでは原則T1003などの番号が割り当てられており、Techniqueの中に、概要、手順、検知方法などが記述されています。このように目的Tactics、技術Technique、手順Procedureというかたちで階層化することで攻撃グループの攻撃手法を体系化(TTPsと呼ばれる)しています。
以下がMITRE ATT&CKのTacticsの内容です、下記の1〜11は上図のCloud Matrixの横軸にも書かれています、厳密には12〜14はMITRE ATT&CK Enterprise 固有のものとなりますがCloud Guardの検知対象のTechniqueも含れているものがあるので合わせて紹介します。
1.Initial Access(初期アクセス)
攻撃者が最初にシステムやネットワークに侵入する(足場を構築する)段階でクラウド環境では標的型メール攻撃を利用したり、外部公開されたアプリのexploit等脆弱なインターネット向けサービスが狙われます。
攻撃者はフィッシング等を使用して、クラウドプロバイダーのアカウントの認証情報を入手し、その情報を使ってクラウド環境に不正アクセスを試みます。
奪取できた足場は継続的なアクセスができない可能性もあるので次のExecutionやPersistenceを行い足場を継続的にアクセス可能な状態にします。
2.Execution(実行)
攻撃者がクラウド環境に侵入後にローカルまたはリモートで悪意のあるコードや不正なスクリプトを実行してシステムに干渉します。この手法はネットワークへの奥への侵入や情報窃取などのより大きな目的を達成するため、他のTacticsに分類されるTechniquesと組み合わせて利用します。
3.Persistence(永続化)
攻撃者が一度攻撃したシステムへの永続的なアクセス確保のためバックドアを作成します。認証情報が変更されたり、システムを再起動されたりした場合でも継続的にアクセスできるように、再度ログインするためにアカウント、アクセスキーを新規生成したりASEPs (Auto-Start Extensibility Point:自動実行のソフトウエア)により悪意のあるプログラムを実行させたりしてバックドアを仕掛けます。
4.Privilege Escalation(権限昇格)
攻撃者が権限の低いアカウントから、より高い権限のアカウントに昇格する攻撃です。攻撃者がクラウド環境内で特権を持たないユーザーアカウントに侵入した後、管理者権限を持つ役割に昇格することにより、攻撃者はより広範なアクセスや操作が可能になり、システム全体を制御できるようになります。攻撃者はグループ、ロールを充分に管理できないことで過剰な権限が付与されているアカウントを探し出し、悪用を試みます。
5.Defence Evasion(防御回避)
攻撃者は一般的に予防、検知されることを望みません。侵入検知、マルウェア対策、サンドボックスなどのセキュリティ対策や監視を回避して、攻撃の検出を逃れる手法です。攻撃者がクラウドファイアウォールの無効化や設定変更、またクラウド環境のログを無効にし、攻撃痕跡を消去して攻撃の発覚を遅らせ侵入の証拠を隠蔽します。この技術は単体で利用するというより他のTacticsやTechniqueと組み合わせて利用することが多いです。
6.Credential Access(認証情報の取得)
正規の資格情報を窃取することでアカウントを乗っ取る従来からある手法です。ユーザー名とパスワードに対するブルートフォース攻撃、ネットワーク通信の盗聴 、メモリからの資格情報のダンプ等が挙げられます。クラウドではアカウントの乗っ取りが従来の内部アカウント(例ドメインアカウント)からクラウドのユーザーアカウント、サービスアカウントを標的にしており、テナンシー全てをコントロールできるクラウド管理コンソールアカウントを窃取された場合の影響が極めて大きいと言えます。
また、クラウドの資格情報には、ユーザーID・パスワードだけではなく、SSH秘密鍵、APIキー、認証アクセス・トークンも含まれます。プログラムコード中にハードコードして埋め込まれたキーや、端末のローカルディスク上の証明書なども狙われます。
7.Discovery(探索)
攻撃者がシステムへのアクセスを得た後に、ユーザーデータ、特権、アプリケーション、サービス、データなどを対象に組織内の探索活動を行い次の攻撃に利用できるターゲットを特定します。クラウドでは、クラウド管理コンソール、APIエンドポイント、相互接続された外部サービス等の情報などを収集することで、次の戦術の手掛かりを得て追加の攻撃目標を設定します。
8.Lateral Movement(横展開)
攻撃者はDiscoveryの結果に基づき、環境内を移動していきます。一つのクラウドインスタンスに侵入後、隣接するインスタンスにアクセスを試み、攻撃の範囲を拡大させます。リモートアクセス、リモートサービスなどのような攻撃手法のほか、クラウドでは、API、アクセストークン、サービスアカウントと権限、メタデータサービスの使用といった、主に資格情報の窃取やIDアクセス管理上の不備の結果として横展開が行われます
9.Collection(情報収集)
攻撃者は、自分の目的を達成するために公開されたバケットや脆弱なストレージなどを狙いターゲットとする機密情報やデータの収集を試みます。クラウドではクラウドストレージ上のファイル、データベースに機密情報、顧客情報が保管されることもあり、利用ユーザーによる設定不備を攻撃者が悪用してデータの窃取を試みます。
10.Exfiltration(データの外部送信)
攻撃者の目標が、ターゲット環境からのデータ取得 である場合、外部へのデータ転送が行われます。 クラウド環境のシナリオ では、別のクラウドストレージや同一サービスの別アカウントにデータを送信させ通常のデータ転送や既存のクラウドプロバイダー接続を悪用することで通常のトラフィックに紛れ込ませ、監視を逃れてデータを持ち出します。
11.Impact(影響)
攻撃者が最終的にクラウドリソースやデータにダメージを与えたり、業務を妨害したりする段階です。ビジネスプロセスや運用プロセスを操作することで、可用性を阻害したり、完全性を損なわせたりすることを目的とした資産の改竄、サービス妨害、機密データの窃取以外にも、ランサムウェア攻撃、クリプトジャッキングのようなリソースハイジャックや他組織への攻撃の足掛かりとするサプライチェーン攻撃など、さまざまです。
12. Resource Development(リソース開発)
攻撃者が攻撃を実行するために必要なインフラやツールを準備・開発する段階です。これには、マルウェアの作成や攻撃用のインフラストラクチャの入手(攻撃用サーバーやドメインの構築)が含まれます。
13. Reconnaissance(偵察)
偵察とは、攻撃者がターゲットのクラウド環境やネットワークに関する情報、ユーザーや管理者のアイデンティティ情報(ユーザー名やメールアドレスなど含む)収集し、攻撃計画を策定するための段階です。攻撃に必要なターゲット情報を収集します。
14.Command&Control(コマンド&コントロール)
攻撃者がリモートからクラウド環境のリソースを不正に操作し、インスタンスの停止やデータ削除などのコマンドをリモートで実行させます。HTTPやHTTPSなどの正規のWebプロトコルを使用して、クラウド環境に不正な指令を送ります。
次にMITRE ATT&CK Techniqueを具体的に紹介します、ここでは現時点でOracle Cloud Guardが検知の対象としているものを抜粋しました。各Techniqueに対応するCloud Guardのレシピ番号(IS#: Instance Security Recipe#、TH#: Threat Recipe#)と代表的なMitigationを記入しています。

それでは冒頭に紹介したデータ漏洩事故にMITRE ATT&CKを適用して分析していきます。当事故を技術的な観点から振り返ると攻撃者は、SSRFの脆弱性(フロントエンドのWebアプリケーションを介して、外部から直接アクセスできないバックエンドサーバーにリクエストを送信することが可能になる脆弱性)を悪用してクラウド環境に不正アクセスしました。これが攻撃のエントリーポイントとなりました。攻撃者は、SSRFの宛先としてメタデータサービスを指定することで、クラウドメタデータAPIを悪用して、内部システムの認証情報を取得、Amazon S3バケットにアクセスしてクラウド環境にあるS3バケットのデータを不正にダウンロードしました。

上記の攻撃の手順を、MITRE ATT&CKフレームワークの特定のTacticsにマッピングしたのが以下の表になります。ここでは、既知の攻撃手法ごとに、適用できる緩和策も記述しています。

[2]MITRE ATT&CKに関連するCloud Guard機能について
ここではCloud GuardのMITRE ATT&CKに関連する2つの機能を紹介します。
1. 脅威ディテクタ
Cloud Guard脅威ディテクタは、ユーザーの行動を継続的に監視し、悪意のあるアクティビティを検知・分析します。検知のルールセットとなる脅威ディテクタ・レシピによりMITRE ATT&CKフレームワークに準拠した脅威モデルを使用し、MITRE ATT&CKに定義された特定の技術に一致する活動を検出します。また機械学習やデータサイエンスの手法を活用して、検出された活動の深刻度/信頼度や関連する戦術や技術などを考慮し、攻撃の進行状況に応じたリスクスコアを算出し、スコアが一定の閾値を超えた場合、Cloud Guard内で問題として記録され、セキュリティ運用者に通知されます。
以下がレシピの内容になり、それぞれのルールで対応するMITRE ATT&CKフレームワークのTechniqueを示しており、上記のMITRE ATT&CKのTechnique抜粋表にもリンクしているので合わせて参照ください。

2. インスタンス・セキュリティ・ディテクタ
インスタンス・セキュリティ・ディテクタ・レシピは、Cloud Guardサービスにおける検出レシピの一種で、コンピュートホスト上の不審な活動を監視し、ランタイムセキュリティを提供することを目的としています。このレシピは、MITRE ATT&CKフレームワークに準拠した検出ルールであり、インスタンス内で異常なプロセスの実行や一時的なセキュリティ設定の無効化、不審なプロトコルの使用などを特定してMITRE ATT&CKの攻撃技術に関連する兆候を発見します。以下がレシピの内容になり、同様にそれぞれのルールに対応するMITRE ATT&CKフレームワークのTechniqueを示しており、上記掲載のMITRE ATT&CKのTechnique抜粋表も参照ください。

それでは実際のCloud Guard の画面を見ていきます。
Cloud Guard の脅威モニタリングの画面です。検知対象となった悪意のあるアクティビティを行なった可能性のあるユーザーと、画面下部の観察のところに該当する3つのMITREのTactics/Techniqueが表示されています。
(1)Impair Defenses Defense Evasion (TA0005) Impair Defenses: Disable or Modify Tools (T1562.001)
(2)Persistence (TA0003) Account Manipulation: Additional Cloud Credentials. (T1098.001)
(3)Impair Defenses Defense Evasion (TA0005) Impair Defenses: Disable or Modify. Tools (T1562.001)

下記が観察(MITREのTactics/Technique)の画面です。当Technique (攻撃技術)から影響(被害)をうけた可能性のある2つのVCNセキュリティ・リストが表示されています。

Oracle Cloud Guardでは上記のようなMITRE ATT&CKに準じたレシピとよぶルールTemplateが標準提供されるので、これを活用することでMITREに準じた脅威の検知・管理・対応が簡単に実施できます。
[4]まとめ
Cloud Guardは元々コンプライアンス遵守のためにCIS,PCI DSS等のセキュリティ標準に準じたシステム構成設定の検証及び監査ログから不正アクティビティを検知するものでした。これまでMITRE ATT&CKのTactics, Techniques に準じた脅威の監視、分析、対応やソフトウエアの欠陥に関する情報を収集し、セキュリティパッチの管理(脆弱性スキャン)まで機能強化が図られています。
またSOAR(Security Orchestration, Automation and Response)もサポートされており、セキュリティイベント発生時の対応の自動化も可能です。レスポンダレシピとして標準テンプレートも提供されているので新規のスクリプト開発などは不要です。
以上のようにCloud Guardはセキュリティコンプライアンス、ベストプラクティスに準じたレシピが提供されるので簡単に無料で始められ、Cloud環境に特化して、脆弱性管理、コンプライアンスのチェツク、脅威・攻撃の検知、分析、防御等の複数のセキュリティ対策機能をワンストップで提供する統合型のサービスとして進化を続けていす。
参考資料
*1. MITRE
*2.OCI Doc Cloud Guard
https://docs.oracle.com/ja-jp/iaas/cloud-guard/home.htm
*3 Oracle Cloud Guard の利用方法について(Qiita)
https://qiita.com/nsaka0315/items/e645bb0114e8e9a19dc4
*4 A Case Study of the Capital One Data Breach
https://cams.mit.edu/wp-content/uploads/capitalonedatapaper.pdf
坂田 直紀
日本オラクル株式会社
CSS(カスタマーサクセスサービス事業統括) クラウドアーキテクト部
Senior Principal Cloud Architect