Page Integrity Manager で実際のWebスキミング攻撃を検知した事例

※ このBlog 記事は2021.1.26に執筆されたZiv Eli のBlog記事を翻訳した内容を元に作成しています。
この記事では、最近 Page Integrity Manager によって検知され緩和された、実際のWebスキミング攻撃(Magecart攻撃)の事例を紹介し、詳細な分析結果を提供します。攻撃の対象となったお客様は、大規模な国際 e コマース事業を展開しており、その Web サイトの 1 つが悪性のスクリプトによって侵害されました。
すでにご存知のように、Magecart は、主に e コマースなどのさまざまな規模のオンラインビジネスをターゲットとする犯罪グループの呼称で、その目的は、ブラウザーから機密性の高いエンドユーザーの情報を収集することです(決済ページで購入者からクレジットカードのデータを読み取るなど)。一般的に、悪性のJavaScript コードは、サイト構築業者がサイトに組み込むスクリプトや、企業自身が組み込むファーストパーティーアセットを通して挿入されます。攻撃者はサイトの脆弱性を利用して、Webサイトのリソースを改ざんすることで、コンテンツがエンドユーザーのブラウザーに到達する前に、悪意を持ったコードを挿入します。
背景
検知された攻撃は、ファーストパーティーの JavaScript インジェクションでした。インデックス HTML ページのインラインスクリプトタグとして埋め込まれました。攻撃者がどのようにしてファーストパーティー環境に侵入し、Web サイトでスキマーを仕込んだかは明らかではありません。しかし、これは内部的な侵害、開発過程での侵害、またはリモートコード実行(RCE)権の取得や、安全性の低いファイルの上書きなどの、脆弱性の悪用によるものである可能性があります。
Web サイトにアクセスしているすべてのユーザーがこのスクリプトの脅威にさらされていましたが、これは特定のページでのみ有効なものでした。それは、モバイルのチェックアウトフォームと 一部のWeb のチェックアウトフォームです。
この攻撃では、文字列操作の技術を使用して、機微な情報のリフレクション検知を回避しようとしていました。UTF-16 文字コードにシーザー暗号(簡単な換字式暗号の一種)アルゴリズムを適用し、対応する UTF-16 コードに文字を変換し、さらに 10 を加えるローテーションを行っています。たとえば、上記で説明したシーザー暗号では、文字列「A」(UTF-16 文字列は 97)は、C&C サーバーに送信されるペイロードで 107 として表されます。

攻撃者の C&C サーバーは、侵害されたお客様のブランド名と非常によく似た名前で、異なる最上位レベルのドメインを使用していました。これはこの種の攻撃での共通の特徴であり、一見、ドメインが正しいものに見えるため、人目に付きにくくなる手法です。
検知
チェックアウトページでユーザーが支払いフォームを送信すると、攻撃によって挿入された JavaScript がフォームに入力されたすべての情報(クレジットカード番号、カードの所有者名、CVV、有効期限)を読み取り、上記で説明されている暗号アルゴリズムを適用してこの情報を C&C サーバーに送信しようとしました。
Page Integrity Manager は、こうしたふるまいを観測し、「Suspected Web Skimming(Web スキミングが疑われる)」試みとして報告しました。

インシデント検知レポートには、スクリプトのふるまいチェーンのハイライトが表示されました。これは、Page Integrity Manager によって、一連の分類、検出、AI モデルを実行した後で、検知された悪性のコード実行のふるまいをブレイクダウンしたものです。
AI モデルによって異常として検出されたイベントには、「Unusual Activity(異常なアクティビティ)」タグが付けられました。これは、観察されたヒストリカルなアプリケーションデータに基づくと、このコード実行のコンテキストでは予期されないイベントであることを示しています。
概要を掘り下げると、異常なイベントのタイプが「Read from sensitive data(機微な情報からの読み取り)」および「Sent outbound traffic(アウトバウンドトラフィックの送信)」であることが分かります。これは、機密フィールドからの値の読み取り(クレジットカード情報の値の取得など)に異常があったこと、および予期しないネットワークリクエストがあったことを示しています。

さらに、Page Integrity Manager は、このインシデントによって影響を受けた個々のユーザーセッションに関する情報も提供します。これにより、影響をより正確に追跡し、理解することができます。


アクション
このお客様は、疑わしいふるまいを理解するための詳細情報を含む自動アラートを即座に受け取り、お客様の Web チームは、疑わしいアクティビティが自分の書いたコードに起因するものではないことを再確認しました。それがお客様に対策のためのアクションを促しました。Page Integrity Manager のコア機能の 1 つである Incident Response ポリシーを適用して、実際のユーザーによるブラウザーセッションが攻撃者の C&C サーバーにリアルタイムで接続するのを防ぎ、機微な情報がエンドユーザーのブラウザーから流出するのを防ぎました。また、これと並行して、お客様はアプリケーションを更新して悪性のスクリプトを排除しました。

まとめ
Page Integrity Managerにより、Always-on の常時検知、監視とアラート機能を備えていたことで、このお客様はゼロデイイベントを数分で確認、把握、緩和することができました。また、ボタンを 1 回押すだけで、検知された疑わしいふるまいに基づいてポリシーを作成することができるため、サイトの脆弱性アップデートが遅れているお客様や、セキュリティチームの負荷が高いお客様でも安心です。
これは、検知とタイムリーな提示、および迅速な緩和が Page Integrity Manager によってできることを示す典型的な例です。
Magecart は、あらゆる規模の e コマース企業をターゲットにした、アクティブな脅威ベクトルであり続けています。一般的なスキマーコードを使用する者もいれば、上記の例のように、ターゲットを絞ってカスタマイズされたスキマーを使用する者もいます。さらに言えば、この種の攻撃はサードパーティーの提供するスクリプトやコンテンツを改ざんされるケースのみに注意を払えばよいというものではありません。悪性のスクリプトは、ファーストパーティーとサードパーティーの両方のアセットに潜んでいる可能性が常にあり、この例で挙げたように現実のユーザーに影響を与えています。
この攻撃の検知と緩和の事例は、オンラインに重点を置くあらゆるビジネスにとって、ブラウザー内部で起きる攻撃、MITB(Man-in-the-Browser)攻撃の防止が、不可欠な要素であることを改めて示しています。
Page Integrity Managerの詳細については akamai.com/PIM をご覧ください。