昨今リモートワークの増加に伴って、クラウド上のさまざまな連携アプリケーションの利用も増加しています。例えば、オンライン会議をするために、マイクロソフトのクラウドID基盤「Azure Active Directory」に、Microsoft Teamsや、Zoom、WebExといったクラウド上のアプリを連携させるといった具合です。
こうしたクラウド上のアプリとの連携は、効率の良いリモートワークの強い味方となっている一方、特に企業組織では、ユーザーが利用するアプリに対するセキュリティリスクへの対応が迫られています。マイクロソフトが実施した調査では、COVID-19 パンデミックの状況下でのIT環境のセキュリティ課題として最も多く挙げられたのは、組織のデータやアプリへのリモートアクセスにおけるセキュリティ確保でした。特に、リモートアクセスへの脅威としては、フィッシングが最大の懸念として挙げられており、COVID-19 パンデミックの状況下で90%の組織が「フィッシングによる影響を受けた」と回答し、28%は「フィッシングによる攻撃が成功した痕跡があった」と回答しています。
企業ユーザーに対するフィッシングと言えば、精巧な偽のログイン画面などを表示してユーザー名とパスワードを入力させる、といったものをイメージする方も多いかもしれません。実際、Office 365の精巧な偽ログイン画面を表示し、ユーザー名とパスワードをだまし取るケースが報告されています。ただし、昨今ではこのようなフィッシング手法だけでなく、利用が増加しているクラウドアプリの利用に絡めたフィッシング手法も報告されているのです。
同意を促すタイプのフィッシングの拡大
Azure ADでは、OAuth 2.0プロトコルが利用されています。これにより、ユーザーに代わって、連携を許可している任意のアプリがユーザーの情報やデータ、リソースにアクセスすることが可能です。アプリが連携してユーザーのデータにアクセスするためには、必要なアクセス権を付与する必要があり、ユーザーにアクセス権の付与に同意するよう求めるプロンプトが表示されます。
ユーザーは表示されたプロンプトを確認し、求められているアクセス権を確認した上で「同意する」をクリックすることになります。しかしながら、よく確認をせずにクリックしてしまうケースは少なくありません。さらに、フィッシング詐欺を行う攻撃者はさまざまな手口でユーザーをだまそうとたくらんでいます。正規のアプリに見せかけた不正な偽アプリを用意し、メールなどを通じて、この偽アプリへアクセス許可を行う同意画面を表示するリンクを送ることで、偽アプリにアクセス権を与えるよう誘導するのです。
不正なアプリへ同意を与える操作は、ユーザーが正規のログイン認証を行った後にユーザー自身が行う操作であるため、不正なログイン認証を防止する多要素認証(MFA)では、この「同意フィッシング」を防ぐことはできません。また、不正なアプリへ権限を与えることに同意してしまった後は、ユーザーのアカウントを使用しなくても、不正なアプリはユーザーのデータへアクセスすることができるようになります。そのため、ユーザーのパスワードのリセットを行うだけでは、不正なアプリケーションからのアクセスを遮断することはできません。アプリの連携を解除し、ブロックを行う対処が必要です。
管理者が実施できる対策
今回紹介している「同意フィッシング」に限らず、昨今のフィッシングは実に巧妙で、フィッシングメール/サイトを閲覧したユーザーが、フィッシングかどうかを見分けることは困難でしょう。もちろんユーザーに、不正なアプリへの同意を求めるフィッシング画面などを周知することは重要ですが、フィッシングによるリスクを最小化するには、Office 365 ATPなどのセキュリティコントロールを用いた組織的な対策が重要になります(この辺りについては、本連載の第21回で解説しているので、そちらも参考にしてください)。
上述したような不正なアプリへの同意を促すフィッシング手法に対して組織的に対策する場合は、組織内のユーザーがどのようなアプリを利用しているかを可視化し、組織内のアプリの制御を行うことが有効です。
既定の設定では、Azure ADの全てのユーザーは、Microsoft IDプラットフォームを活用するアプリに対して、アクセス許可を与えることができるようになっています。この既定の設定では、ユーザー自身が必要とする便利なアプリケーションを簡単に入手して利用できるというメリットがある一方、利用するアプリの正当性をユーザー自身が慎重に確認し、また適切に管理/監視した上で利用を継続していく必要がある、ということに注意しなくてはいけません。
このことから、特に企業組織においては、攻撃の対象となる領域を減らしてリスクを軽減するために、ユーザーによるアプリへのアクセス許可を、組織のポリシーによって制限し、不正なアプリの利用を監視し迅速に対処できる体制を整えることを推奨しています。
Azure ADでは現在、アプリの同意ポリシー(プレビュー)でユーザーの同意を制限する機能を提供しています。この機能を利用することで、ユーザーがどのようなアプリにアクセス許可を与えられるかをコントロールすることができます。例えば、「検証された発行元のアプリのみ」、あるいは「選択したアクセス許可のみ」に制限するといった具合です。ユーザーが必要とするアプリが制限されている場合は、管理者の同意要求ワークフローを使って、組織の管理者に許可を求めるようにすることもできます。
また、すでにユーザーによって許可されているアプリを組織の管理者が見直し、監視することもできます。もし、不正なアプリがすでにユーザーによって許可/利用されている場合は、管理者が不法な同意の付与を検出して修復することが可能です。
ユーザー自身がアクセス許可に同意したアプリを確認したい場合は、ポータルで自ら確認することができます。アクセス可能な全てのアプリを表示したり、それらに関する詳細を表示したり (アクセスの範囲を含む)、疑わしい、または不法なアプリに対して権限を取り消すことが可能です。ユーザー教育を行う際には、不正なアプリへの注意を促すとともに、自ら確認する手法を周知しておくことも、被害範囲の最小化に役立ちます。
Microsoft Cloud App Securityで効率良く管理
必要なライセンスを持っている場合は、「Microsoft Cloud App Security」を利用することで、さらに効率良くクラウド上で利用しているアプリを管理し、迅速な対応を行えます。
「OAuth アプリ ポリシー」を構成することで、よりきめ細かく、不正なアプリを制限したり、検出したりすることが可能です。例えば、まぎらわしいOAuthアプリ名や発行元名を利用している、疑わしい挙動を行うアプリなど、細かい条件を設定して組織内で利用されているアプリを分析できます。
また、条件によって自動的な通知や対処を行うことも可能です。例えば、「一般的ではないアプリが高いアクセス許可を要求した場合に自動的に許可を失効させる」「アクセス許可を承認したユーザーがAdministratorsグループのメンバーである場合に通知を受け取る」「高いアクセス許可レベルを必要とし、組織内で50人を超えるユーザーによって承認されたアプリがある場合、自動的にアラートを受け取る」といった設定によって、組織にとってリスクの高いアプリに、迅速かつ効率良く対処をすることができ、運用面の負荷を最低限にすることができます。
組織のアプリの適切な管理と迅速な対応を!
フィッシングと言うと、「ユーザー名とパスワードを入れさせる画面に注意」というイメージが強いかもしれません。しかしながら、フィッシング詐欺を行う攻撃者は「ユーザーをだます」手法を、IT利用環境の変化に合わせて次々に仕掛けてきます。多彩なフィッシングの手法に効率良く対応するためには、攻撃の対象となる領域を減らし、組織内のユーザーのIDやアプリの管理を適切に行うことが大事です。
Azureでは、さまざまなリスクに迅速かつ効率良く対応できるセキュリティコントロールが用意されており、少ない運用負荷で大きな効果を得ることができます。企業を狙うフィッシングの手法にも注意し、正しくアプリを管理し、安全にアプリを利用していきましょう。
著者紹介
垣内 由梨香
マイクロソフト株式会社 セキュリティ レスポンス チーム セキュリティ プログラム マネージャー
マイクロソフト株式会社に入社以来、Active Directory, Network, 証明書および暗号化を専門としたWindows エンジニアを経て現職。セキュリティの意識向上活動、インシデント対応に従事。CRYPTREC委員。