ハイブリッド環境に対する実際のサイバー攻撃事例
はじめに、ハイブリッド環境に対する実際のサイバー攻撃事例を見ていきましょう。2020年12月に公表されたSolarWinds Orion Platformのサプライチェーン攻撃は多数の組織が影響を受けましたが、ここではAzure Active Directoryに対する代表的な攻撃である Golden SAMLを用いた攻撃が確認されました。攻撃者はGolden SAMLを用いて組織のクラウドサービスにアクセスし、機密情報を窃取したり、攻撃者用の新規ユーザを作成したりしてアクセスを永続化しました。
図1:SolarWinds Orion Platformのソフトウェアサプライチェーン攻撃
発端はSolarWinds社が提供するIT管理ソフトウェア「Orion Platform」にバックドアが混入したことでした。バックドアはOrion Platformのアップデートを通じて組織のオンプレミスネットワーク内に侵入し、C2(Command and Control)サーバとの通信を開始しました。攻撃者はC2サーバ経由で認証情報の窃取や権限昇格、横展開を繰り返し、最終的にGolden SAMLを作成しました。
この攻撃の流れを詳しく理解していただくために、次にハイブリッド環境の概要を説明します。
ハイブリッド環境の概要
ハイブリッド環境ではActive DirectoryとAzure Active Directoryを連携させることで、同一のユーザでオンプレミス・クラウド双方のサービスを利用できます。オンプレミスでの認証はドメインコントローラが担い、クラウドでの認証はAzure Active Directoryが担います。また、オンプレミス上のAzure Active Directory Connectというアプリケーションを利用し、ドメインコントローラ上のユーザをAzure Active Directoryに同期します。オンプレミスとクラウドのシングルサインオンを実現する方式はいくつかあり、例としてActive Directoryフェデレーションサービス(以下、ADFS)を利用する方式があります。
図2:ハイブリッド環境の例
ADFSを利用する場合、オンプレミスではKerberos、クラウドはSAMLという認証プロトコルを使用します。オンプレミスのユーザがMicrosoft 365にアクセスする際の認証の流れは以下のようになります。
- ユーザがMicrosoft 365にアクセスします。
- Microsoft 365はクラウドでの認証が必要なため、リクエストをAzure Active Directoryにリダイレクトします。
- Azure Active Directoryはオンプレミスでの認証が必要なため、リクエストをADFSサーバにリダイレクトします。
- ADFSサーバがユーザにログイン画面を表示します。
- ユーザはログイン画面にユーザ名・パスワードを入力し、SAMLトークン(身分証明書のようなイメージ)を要求します。
- ADFSサーバは認証情報を保有していないので、ドメインコントローラに認証を要求します。
- ドメインコントローラがユーザ名とパスワードを確認します。
- ユーザ名とパスワードの組み合わせが正しければ、ドメインコントローラが認証します。
図3:ハイブリッド環境での認証の流れ(1/2)
- ドメインコントローラでの認証後、ADFSサーバはユーザにSAMLトークンを発行します。
- ユーザはAzure Active DirectoryにSAMLトークンを提示し、OAuthトークン(入館証のようなイメージ)を要求します。
- Azure Active DirectoryがSAMLトークンの有効性を確認します。
- SAMLトークンが有効であれば、Azure Active DirectoryはユーザにOAuthトークンを発行します。
- ユーザがMicrosoft 365にOAuthトークンを提示します。
- Microsoft 365がOAuthトークンの有効性を確認します。
- OAuthトークンが有効であれば、Microsoft 365はユーザのアクセスを許可します。
図4:ハイブリッド環境での認証の流れ(2/2)
ここではADFSを利用したシングルサインオンについて触れましたが、他にもパスワードハッシュ同期やパススルー認証といった方式があります。
- パスワードハッシュ同期:Azure Active Directory Connect経由でドメインコントローラ上のパスワードハッシュをAzure Active Directoryに同期する方式です。クラウドサービスにアクセスする際はAzure Active Directoryに保存されたパスワードハッシュを利用して認証します。
- パススルー認証:Azure Active Directory Connectをインストールしたサーバ上のパススルー認証エージェント経由で認証する方式です。クラウドサービスにアクセスする際はユーザが入力した認証情報をAzure Active Directoryからパススルー認証エージェントに渡し、ドメインコントローラが認証します。
ハイブリッド環境におけるサイバーセキュリティリスク
Active DirectoryもAzure Active Directoryもユーザやその他リソース、ポリシーを一元管理しているため、攻撃が成立した際の影響度が大きく、影響範囲も広いです。攻撃者はメールの添付ファイルなどでPCをマルウェアに感染させてオンプレミスネットワークに侵入し、不正なTGT(Ticket Granting Ticket)であるGolden Ticketや不正なSAMLトークンであるGolden SAMLを作成します。そして、それを利用してST(Service Ticket)やOAuthトークンを払い出してもらい、オンプレミスのファイルサーバやクラウドサービスにアクセスし、機密情報を窃取します。(Golden Ticket、TGT、STについては「第24回 対策が後手になっていませんか?Active Directoryのセキュリティ対策」をご覧ください。)
図5:ハイブリッド環境におけるサイバーセキュリティリスク
Golden SAMLについて詳しく説明します。Golden SAMLとは攻撃者が作成した不正なSAMLトークンですが、ADFSの署名鍵による正規の署名が付与されています。Golden SAMLを作成するためには、ADFSサーバのローカル管理者権限を掌握し、署名鍵・証明書を入手する必要があります。Golden SAMLの有効期間は1時間と短いですが、ADFSの署名鍵と証明書があれば何度でも作成し直すことができ、正規のユーザになりすますことができます。
次に、Golden SAMLを用いたサイバー攻撃例を紹介します。
- オンプレミス環境に侵入し、認証情報の窃取・既知脆弱性の悪用などでADFSサーバのローカル管理者権限を窃取します。
- ADFSサーバからSAMLトークンに署名する際に使用する署名鍵と証明書を窃取します。
- 窃取した署名鍵と証明書を利用してActive Directoryのドメイン管理者かつAzure Active Directoryのアプリケーション管理者のGolden SAMLを作成します。
- Golden SAMLをAzure Active Directoryに提示し、OAuthトークンを入手します。
- OAuthトークンを利用してAzure Active Directoryに登録されている既存のアプリケーション(Microsoftサービスと連携して認証・認可を実施する仕組み)にメールを閲覧する権限を追加します。また、アプリケーションを実行するための既存のシークレットは知らないため、新規のシークレットも追加します。
- 新規で追加したシークレットを使用してアプリケーションを実行し、任意のユーザのメールを不正に閲覧します。
図6:Golden SAMLを用いたサイバー攻撃例
ログ分析の重要性
Active Directory・Azure Active Directoryに対する代表的な攻撃であるGolden TicketやGolden SAMLを用いる攻撃はどちらも脆弱性を悪用した攻撃ではなく、認証プロトコルの仕様を悪用した攻撃です。また、どちらも正規の署名が付いていることから、ログには正規ユーザのイベントとして記録されます。そのため、セキュリティ対策機器を導入したとしても、攻撃を検知・防御することが困難です。そのため、定期的にドメインコントローラやAzure Active Directoryのログを分析し、通常運用時からの変化を捉えることが重要です。また、Golden SAMLを使用した攻撃はオンプレミスでの認証を行わず、不正に作成したSAMLトークンでいきなりAzure Active Directoryにアクセスするため、ADFSサーバに認証イベントの記録が残りません。よって、ADFSを利用している場合、ADFSサーバのセキュリティイベントログとAzure Active Directoryのサインインログを突き合わせて分析することで、攻撃活動を検出できる可能性があります。
Azure Active Directoryのログ保管と分析観点
ドメインコントローラのログについては「第24回 対策が後手になっていませんか?Active Directoryのセキュリティ対策」をご覧ください。ここでは、Azure Active Directoryのログの保管と分析観点についてお話しします。
Azure Active Directoryではユーザのサインインに関するログであるサインインログと、アクションに関するログである監査ログを標準で記録しています。どちらもAzure PortalからCSVまたはJSON形式で簡単にダウンロードできます。しかし、ログの保存期間は既定で30日間のため、別途Microsoft Azure上のストレージなどにログを保存し、分析に必要なログが消去されないようにすることを推奨します。
表1はMicrosoft社がリスクレベルを高としているサインインログ・監査ログの分析観点の例を示しています。例えば、業務時間外である深夜に普段はないサインイン成功イベントが記録されていないか、攻撃者が攻撃用のアカウントを作成してすぐに削除した痕跡がないかなどの分析観点があります。詳細は Microsoft社のドキュメントをご参照ください。
表1:Azure Active Directoryのログの分析観点の例
NEC Active Directoryセキュリティリスク診断サービス
Active DirectoryやAzure Active Directoryのログを定期的に分析することは大切ですが、分析ツールによっては運用中のシステムに影響が出たり、運用者の方にとって大きな負担となったりします。NECソリューションイノベータが提供する「NEC Active Directory セキュリティリスク診断サービス」ではシステムや運用者の方の負荷を低減しつつ、ドメインコントローラ・ADFSサーバのセキュリティイベントログやAzure Active Directoryのサインインログを相関分析し、運用上の問題点や想定外の挙動、標的型攻撃による横断的侵害の痕跡を検出することが可能です。これまで本サービスはオンプレミスの診断のみ対象としてきましたが、2023年1月にオンプレミスのActive DirectoryとAzure Active Directoryのハイブリッド環境の診断にも対応しました。
図7:NEC Active Directoryセキュリティリスク診断サービスの概要
本サービスにご関心のある方はお問い合わせまでご連絡ください。
まとめ
ドメインコントローラはイントラネット内にあり、Azure Active DirectoryはMicrosoft Azureのマネージドサービスであるため安心しがちですが、攻撃成立時の影響度は大きく、影響範囲も広いです。また、Golden Ticket・Golden SAMLを用いた攻撃のような認証プロトコルの仕様を悪用したり、正規の署名を利用したりする攻撃をセキュリティ対策機器のみで検知・防御することは困難です。そのため、ドメインコントローラ・ADFSサーバのセキュリティイベントログやAzure Active Directoryのサインインログ・監査ログを定期的に確認し、通常運用時のログと比較して何か不審なイベントが記録されていないか確認することが重要です。
掲載日:2023年3月28日