Subscribe to receive notifications of new posts:

Subscription confirmed. Thank you for subscribing!

高度なフィッシング詐欺のからくりと、それを当社がどう阻止したか

Loading...

The mechanics of a sophisticated phishing scam and how we stopped it

昨日(2022年8月8日)、Twilioが標的型フィッシング攻撃による侵害を受けたと発表しました。同じ頃、Cloudflareの従業員を標的とする、よく似た特性の攻撃がありました。従業員個人はフィッシングメッセージに引っ掛かりましたが、当社は自社のCloudflare One製品を使用し、各従業員に支給した物理的セキュリティキー(ハードキー)を使わなければアプリケーションにアクセスできないようにしていたため、攻撃を阻止することができました。

Cloudflareシステムのセキュリティ侵害は一切なかったことを確認しました。当社のCloudflare One脅威インテリジェンスチームは、攻撃のからくりを調べて攻撃者追跡に役立つ重要証拠を集めるため、更なる分析を行いました。

それは従業員とシステムを標的とし、たいていの企業が侵入されてしまうと思われるような高度な攻撃でした。攻撃者が複数企業を狙っていることから、他社がこの攻撃を認識して軽減できるように、今回の事件の概略をここで説明したいと思います。

標的型テキストメッセージ

2022年7月20日、Cloudflare Securityチームに、Cloudflare Oktaのログインページらしきページに誘導する正当そうなテキストメッセージを従業員が受け取ったという通報がありました。このメッセージの受信は2022-07-20 22:50 UTCに始まり、それから1分も経たないうちに、少なくとも76名の従業員の私用電話と業務用電話にテキストメッセージが届きました。いくつかのメッセージは従業員の家族にも送られました。攻撃者がどのようにして従業員の電話番号リストを集めたのかはまだ判明していませんが、従業員のディレクトリサービスのアクセスログを確認したところ、侵害の兆候は見られませんでした。

Cloudflareには年中無休体制のセキュリティインシデント対応チーム(SIRT)があり、Cloudflareの各従業員は不審なことがあれば必ずSIRTへ通報するよう訓練されています。SIRTへの通報の90%以上は脅威でないことが判明していますが、従業員はどんなことでも通報し、通報しすぎになることを恐れないよう指導されています。しかし、今回SIRTへ通報されたのは真の脅威でした。

従業員が受信したテキストメッセージは次のようなものでした。

送信元はT-MobileのSIMカードに関係する4つの電話番号( (754) 268-9387、(205) 946-7573、(754) 364-6683、(561) 524-5989)で、公式に見えるドメインcloudflare-okta.comへのリンクが貼られていました。このドメインはドメインレジストラのPorkbun経由で2022-07-20 22:13:04 UTCに登録されており、それから40分も経たないうちに大規模フィッシング攻撃が始まっています。

Cloudflareは安全なレジストラ製品を構築しましたが、その目的の1つはCloudflareブランドを使用するドメインが登録された時に検知して停止できるようにするためでした。しかし、このドメインは攻撃直前に登録されたため、新規の「.com」登録としてまだ公表されておらず、当社システムによる登録検知と当社チームによるドメイン停止要請が間に合わなかったのです。

リンクをクリックすると、フィッシングページへ誘導されるようになっていました。DigitalOceanがホストするフィッシングページは、下のようなものでした。

CloudflareはIDプロバイダーとしてOktaを使っています。フィッシングページは正当なOktaログインページと瓜二つのデザインで、訪問者すべてにユーザー名とパスワードを入力するよう促しました。

リアルタイムフィッシング

従業員が受信したテキストとそのコンテンツを、既に攻撃された他社がVirusTotalなどのサービスに投稿していたことから、当社でこのフィッシング攻撃のペイロードを分析することができました。被害者がフィッシングページの入力を完了すると、資格情報がメッセージングサービスのTelegramで攻撃者へ即時転送されました。このページではタイムベースワンタイムパスワード(TOTP)コードの入力も促されるため、こうしたリアルタイム転送は重大問題でした。

おそらくは、攻撃者が資格情報をリアルタイムで受け取り、それを被害企業の実際のログインページに入力します。すると、多くの企業がコードを生成してSMSで従業員へ送信するか、パスワードジェネレーターで表示します。従業員はそのTOTPコードをフィッシングサイトで入力し、その情報もまた、攻撃者へ転送されます。そのTOTPコードが無効になる前に、攻撃者がそれを使って被害企業の実際のログインページにアクセスして、たいていの二要素認証の実装を突破してしまいます。

完璧でなくても保護されている

当社で確認したところ、Cloudflareの従業員3名がフィッシングメッセージに引っ掛かって資格情報を入力していました。ただ、CloudflareではTOTPコードは使わず、各従業員にはYubiKeyなどのベンダーが発行するFIDO2準拠のセキュリティキーを支給しています。ハードキーはユーザーに紐づけてオリジンバインディングを実装しているため、今回のような高度なリアルタイムフィッシング攻撃でも当社システムへのログインに必要な情報を集めることはできません。攻撃者は不正入手したユーザー名とパスワードを使ってシステムにログインしようと試みましたが、ハードキーの要件を掻い潜ることができませんでした。

しかし、このフィッシングページは単に資格情報とTOTPコードを狙うだけではありませんでした。上述の段階を経てしまうと、続いてAnyDeskのリモートアクセスソフトウェアを含んだフィッシングペイロードのダウンロードが始まるようになっていたのです。このソフトウェアがインストールされると、攻撃者は被害者の端末をリモート操作できるようになります。この段階まで達した当社チームメンバーはいなかったことが確認されていますが、仮にいたとしても、当社のエンドポイントセキュリティがリモートアクセスソフトウェアのインストールを阻止していたことでしょう。

当社の対応は?

このインシデントに関して当社がとった主な対応は、以下の通りです。

1. Cloudflare Gatewayを使ってフィッシングドメインをブロック

Cloudflare Gatewayは、DNS/HTTPフィルタリングとネイティブ統合されたZero Trust機能によって脅威に対する防御とデータ保護を実現するセキュアWebゲートウェイソリューションです。当社は社内でこのソリューションを使い、悪意のあるドメインを事前予防的に検出してブロックしています。従業員が悪意あるドメインに決してアクセスしないように、当社のチームがそのドメインをCloudflare Gatewayに追加し、ブロックします。

Gatewayが備える悪性ドメイン自動検知機能は、ドメインの検出とブロックも行います。しかし、今回はドメイン登録からメッセージ送信までの時間が短かったために、システムの自動対策機能が発動する前に従業員の誰かがリンクをクリックしてしまったのです。このインシデントの発生を受け、当社は悪意あるドメインの検出・ブロックの迅速化に取り組んでいます。また、お客様には提供していましたが自社では実装していなかった新規登録ドメインへのアクセス制御も実装しています。

2. 影響を受けたCloudflare従業員をすべて特定して、安全性が損なわれた資格情報をリセット

当社は、フィッシングテキストの受信者とログインアクティビティを照らし合わせ、認証を得て従業員のアカウントにアクセスしようとした脅威アクターの試みを特定することができました。ハードキー(U2F)の要件があったために、正しいパスワードが使われていても第二の要素の確認ができないためにログインがブロックされたケースを特定しました。資格情報が漏えいした従業員3名については、資格情報とアクティブセッションをリセットし、デバイスのスキャンを開始しました。

3. 脅威アクターのインフラストラクチャを特定して削除

脅威アクターのフィッシングドメインはPorkbunで新規登録されたもので、DigitalOceanがホストしていました。Cloudflareを標的とした攻撃で使われたフィッシングドメインは、セットアップされてからフィッシングの第一波が放たれるまで1時間足らずでした。サイトのフロントエンドはNuxt.js、バックエンドはDjangoを使っていました。当社はDigitalOceanと協力して、攻撃者のサーバーをシャットダウンしました。さらに、Porkbunとも協力して、この悪意あるドメインの制御を獲得しました。

失敗したサインインの試みから、脅威アクターがMullvad VPNソフトウェアを利用し、明らかにWindows 10搭載機のGoogle Chromeブラウザを使っていたことを突き止めることができました。攻撃者が使ったVPN IPアドレスは、198.54.132.88と198.54.135.222です。これらのIPは、米国に本拠を置き、Webサイトによるとロサンゼルスとシカゴにサーバーを有する専用サーバープロバーダー、Tzuloに割り当てられています。実際は、198.54.132.88はトロント地域のサーバー、198.54.135.222はワシントンDC地域のサーバーで運用していたようです。当社は、これらのIPから当社サービスに一切アクセスできないようにブロックしました。

4. 後続の攻撃を特定するために検出機能をアップデート

当社は今回の攻撃についてわかったことを基に、既存の検出機能に追加シグナルを組み込み、この脅威アクターを特定できるようにしました。このブログを書いている時点で、当社従業員を標的とした攻撃の後続波は観測されていません。しかし、サーバーからのインテリジェンスによれば、この攻撃者はTwilioなど他の企業を標的にしたようです。当社はそれらの企業に手を差し伸べ、攻撃に関するインテリジェンスを共有しました。

5. サービスアクセスログの監査を行い、攻撃を表すその他の兆候がないか確認

攻撃の後、当社はすべてのシステムログを精査し、今回の攻撃者のフィンガープリントが他にないか確認しました。Cloudflare AccessがすべてのCloudflareアプリケーションの中央制御ポイントになっているため、当社はログを見て、攻撃者がシステムに侵入した痕跡を探すことができました。従業員の電話が狙われたため、従業員のディレクトリプロバイダーのログも精査しましたが、安全性が損なわれた証拠は一切見つかりませんでした。

学んだ教訓と追加措置

私たちは攻撃があるたびに学びます。今回の攻撃は成功しませんでしたが、学んだことを基に調整を加えています。登録後24時間以内のドメインで運営されるサイトへのアクセスは、制限するかサンドボックスモードで実行するようにCloudflare Gatewayの設定を調整します。また、“cloudflare”、“okta”、“sso”、“2fa”といった語を含むホワイトリスト非掲載サイトは、当社のブラウザ分離技術を使って運営します。さらに、Cloudflare Area 1 のフィッシュ識別技術を活用し、Webをスキャンして、Cloudflareを標的とすべく設計されたページをことごとく検出します。最後に、Accessの実装を厳格化して、未知のVPNや住宅用プロキシ、インフラプロバイダーからのログインをすべて阻止します。これらはすべて、お客様に提供する同製品の標準的な機能です。

今回の攻撃は、当社で成功している3点の重要性を改めて感じさせるものでした。第一に、すべてのアプリケーションへのアクセスにハードキーを要件とすること。Googleと同様、当社でもハードキーの導入以来、フィッシング攻撃が成功した例はありません。Cloudflare Accessのようなツールで、レガシーアプリケーションでもハードキーをサポートしやすくなっています。当社がどのようにハードキーを導入したかに関心をお持ちの企業は、[email protected]へご連絡ください。当社のセキュリティチームが、導入プロセスで学んだベストプラクティスを喜んで共有させていただきます。

第二に、従業員とシステムの保護にCloudflareの独自技術を使っていること。常に攻撃者より優位に立つには、AccessやGatewayといったCloudflare Oneのソリューションが必須です。当社はAccessの実装を、すべてのアプリケーションにハードキーが必要となるように構成しました。Accessは、すべてのアプリケーション認証を扱う中央ロギングロケーションにもなりますし、必要に応じて、侵害された可能性がある従業員のセッションを終了させられる場所にもなります。Gatewayは、今回のような悪性サイトをすばやくシャットダウンし、どの従業員が攻撃に引っ掛かったかを把握できるようにします。これらはすべて、Cloudflare Oneスイートの一環としてCloudflareのお客様に提供している機能であり、今回の攻撃でその有効性が実証されました。

第三に、セキュリティには、偏執的な用心深さを備えつつ人を責めない企業文化が極めて重要だということ。フィッシング詐欺に引っ掛かった3名の従業員は処分されませんでした。私たちはみな人間であり、過ちを犯します。重要なのは、過ちを犯した時にそれを報告し、決してごまかさないことです。今回のインシデントは、Cloudflareの各チームメンバーにとってセキュリティが仕事の一部になっている理由を示す1つの例となりました。

イベントの詳細タイムライン

2022-07-20 22:49 UTC 攻撃者が、Cloudflareの従業員とその家族に100通以上のSMSメッセージを送信する。
2022-07-20 22:50 UTC 従業員がSMSメッセージについてCloudflare Securityチームへ通報し始める。
2022-07-20 22:52 UTC 社内デバイスのCloudflare Gatewayで攻撃者のドメインがブロックされていることを確認する。
2022-07-20 22:58 UTC 全従業員に対し、チャットとメールで警告を送る。
2022-07-20 22:50 UTC ~
2022-07-20 23:26 UTC
Okta SystemのログとCloudflare GatewayのHTTPログでテレメトリを監視し、資格情報の漏えい元を突き止める。ログインセッションをクリアし、ディスカバリーのアカウントを一時停止する。
2022-07-20 23:26 UTC ホスティングプロバイダーがフィッシングサイトを削除する。
2022-07-20 23:37 UTC 漏えいした従業員の資格情報をリセットする。
2022-07-21 00:15 UTC 攻撃者のインフラストラクチャと能力について深掘りする。

安全性が損なわれたことを示す兆候

価値 種類 コンテキストとMITREマッピング
147[.]182[.]132[.]52でホストされるcloudflare-okta[.]com フィッシングURL T1566.002: フィッシング:標的型フィッシングのリンクをユーザーに送信
64547b7a4a9de8af79ff0eefadde2aed10c17f9d8f9a2465c0110c848d85317a SHA-256 T1219: 脅威アクターがリモートアクセスソフトウェアを配信

可能な対策

お客様の環境で同様の攻撃がありましたら、[email protected]へお気軽にご相談ください。ビジネスの安全を常に確保するためのベストプラクティスを喜んで共有させていただきます。最後に、当社は現在、Detection and Responseのチームメンバーを募集しています。私たちと一緒に今後の攻撃を検出・軽減したいという方は、ご応募ください

Cloudflareは 企業のネットワーク全体 を保護し、お客様が インターネット規模のアプリケーションを効率的に 構築するためのお手伝いをします。また、すべての Webサイトまたはインターネットアプリケーション を迅速化し、 DDoS攻撃を軽減して、 ハッカーを封じ込めます 。さらに、 Zero Trustを始める、あるいは導入のあらゆるフェーズにいる お客様を支援します。

インターネットを高速化し、安全性を高めるには、ご使用のデバイスから 1.1.1.1 にアクセスすることで、Cloudflareの無料アプリをご利用いただけます。

より良いインターネットの構築を支援するというCloudflareの使命について詳しくは、 こちら をご覧ください。新たなキャリア形成をお考えの方は、 求人情報 にアクセスしてください。

セキュリティ 事後分析 Phishing (JP) Cloudflare Gateway (JP) Cloudflare Access (JP)

Follow on Twitter

Matthew Prince |@eastdakota
Daniel Stinson-Diess |@shellcromancer
Cloudflare |Cloudflare

Related Posts

September 28, 2022 2:01PM

CAPTCHAに代わり、利便性が高く、プライバシーが守られるTurnstileを発表

Cloudflareのネットワーク上にあるかどうかに関わらず、どのようなWebサイトでもシンプルなAPIを使用してCAPTCHAを目に見えない代替手段に置き換えることができます...

September 19, 2022 3:01PM

Cloudforce Oneが一般提供を開始:脅威データ、ツール、業界の専門家へのアクセスにより、お客様のセキュリティチームを強化

Cloudflareの脅威対策・研究チーム「Cloudforce One」が、運営を開始。また、脅威に関するブリーフィングの指揮を執り始めています10月12日に開催予定のウェビナー「YackingYeti:ウクライナと世界を狙うロシアの脅威グループの手口」にご参加いただき、詳細についてご確認ください...