はじめに:Microsoft 365のOAuthアプリ監査の重要性
Microsoft 365テナントを管理している場合、OAuthアプリの監査は喫緊の課題です。統計的に見て、悪意のあるアプリがあなたの環境に潜んでいる可能性は非常に高いでしょう。Huntress Labsの主任セキュリティ研究者であるマット・キーリー氏は、この問題に対処するため、オープンソーススクリプト「Cazadora」を開発しました。
特に、エンタープライズアプリケーションとアプリケーション登録において、以下の特徴を持つアプリに注意が必要です。
- ユーザーアカウントと同じ名前のアプリ
- 「Test」や「Test App」など、テスト目的のような名前のアプリ
- テナントのドメイン名と同じ名前のアプリ
- 「……..」のような非英数字の名前を持つアプリ
- 「http://localhost:7823/access/」のような異常なリプライURL
今すぐアプリの監査を行いましょう!
「シロアリの巣」:OAuthアプリ攻撃の現状
一本のシロアリが大きな巣の存在を示すように、一つの悪意のあるアプリは、より広範な脅威の兆候です。Huntressのスタッフは、Azureアプリケーションとその悪用に関するデータ調査を開始した際、この「シロアリの巣」が予想以上に大きいことに気づきました。
Huntress SOCは、ID攻撃を阻止する「Unwanted Access」機能を通じて、毎月数千件の初期アクセスを阻止しています。しかし、サイバー防御の進化は止まりません。攻撃者は常に進化し、既存の防御を無効化しようとします。そこで、新たな攻撃経路として注目されたのが「不正なアプリ(Rogue App)」の概念です。
AzureにおけるOAuthアプリの仕組み(悪用される側面)
Azureのアプリケーションは、大きく「エンタープライズアプリケーション」と「アプリケーション登録」の2つに分類されます。エンタープライズアプリケーションは他者が開発・公開したアプリをテナントで使用するもので、アプリケーション登録は自社テナントで開発・公開するアプリです。
アプリのインストールには認証と承認のプロセスが必要です。ユーザーは認証を行い、アプリが要求する権限(例:Graph API経由でのメールアクセス)に同意します。この同意により、アプリの「サービスプリンシパル」がテナントにインストールされ、アプリのアカウントとして機能します。
Azureのデフォルト設定では、どのユーザーでも任意のアプリケーションをインストールし、自身のアクセス権限に特化した権限にレビューなしで同意できてしまいます。これは攻撃者にとって「悪用するための素晴らしい基盤」となり、正規のシステム機能を悪用する形で攻撃が行われます。
不正なアプリの種類:TraitorwareとStealthware
Huntressは、悪意のあるOAuthアプリを2つのカテゴリに分類しています。
Traitorware(悪用される正規アプリ)
これは、それ自体は悪意がないものの、ハッカーにとって非常に有用な正規ツール(例:RMMツール)を指します。Huntressの調査では、特定の5つのアプリが「決定的な証拠(smoking guns)」と見なされており、これらが検出されると、正規の活動よりもはるかに多くのハッキング活動が明らかになることがデータで裏付けられています。これらのアプリの詳細は、オープンソースの「Rogue Apps」リポジトリで公開されています。
Stealthware(カスタムメイドの悪意あるアプリ)
こちらは、最初から破壊活動を目的として構築されたカスタムメイドのアプリです。正式には「OAuth不正同意付与攻撃」と呼ばれます。Stealthwareの厄介な点は、それぞれがカスタムメイドであるため、特定のアプリ名で検出することが難しい点です。
Cazadoraの導入:あなたのテナントを監査する
Huntressの調査では、8000以上のテナントを分析した結果、TraitorwareとStealthwareの両方が確認されました。調査対象テナントの約10%にTraitorwareがインストールされており、Stealthwareはアプリの希少性、ユーザー割り当て数、付与された権限の組み合わせによって検出されました。
統計的に見て、あなたのテナントにもこれらのアプリのいずれかが感染している可能性が高いです。
この脅威に対抗するため、マット・キーリー氏はオープンソースツール「Cazadora」を開発しました。Cazadoraは、ユーザー認証を利用してGraph APIを呼び出し、テナントのエンタープライズアプリケーションとアプリケーション登録に関するデータを収集し、一般的な攻撃手法の属性に基づいてアプリを監査します。
Cazadoraは、すべての悪意のあるアプリを100%検出できるわけではありませんが、Azure管理者がテナント内の「決定的な証拠」となるアプリを特定するための優れた出発点となります。リポジトリのREADMEを参照し、ぜひこのスクリプトを試してみてください。
さらなる対策
Huntressは、Microsoft 365のID脅威状況を明確にする「Identity Security Assessment」も提供しています。これにより、ライセンスの種類、不正なアプリ、疑わしいログイン、悪意のある受信トレイルール、リスクの高いアクセス活動などを特定できます。
また、最新の脅威アクター、攻撃ベクトル、緩和戦略に関する詳細な分析を提供する「Tradecraft Tuesday」に登録することで、防御態勢を強化することができます。