JPCERTコーディネーションセンター(Japan Computer Emergency Response Team Coordination Center:JPCERT/CC)は7月6日、公式ブログ「JPCERT/CC Eyes」のエントリ「ECサイトのクロスサイトスクリプティング脆弱性を悪用した攻撃 - JPCERT/CC Eyes|JPCERTコーディネーションセンター公式ブログ」において、ECサイトにクロスサイトスクリプティング(以下、XSS)脆弱性が存在した場合、それを悪用した攻撃がどのように機能するのかを実例を挙げて解説した。

XSSは、動的にコンテンツを生成するタイプのWebサイトに対して、悪意を持った攻撃者が不正なスクリプトを挿入して実行させるサイバー攻撃である。アプリケーションのクラッシュなど制作者が意図しない動作が引き起こされたり、個人情報の盗み出し、不正なプログラムの設置などといった被害につながったりする危険性がある。

JPCERT/CC Eyesの記事によると、最近ではトレンドマイクロより2021年4月28日にECサイトのXSS脆弱性を悪用した「Water Pamola」と呼ばれる攻撃キャンペーン(長期にわたえい継続した攻撃)が報告されたほか、JPCERT/CCでもそれに類似した攻撃を複数確認しているという。JPCERT/CCで確認しているのはオープンソースの「EC-CUBE」で構築されたECサイトを狙った攻撃で、EC-CUBEの管理画面に含まれていたXSS脆弱性を悪用して行われたものだという。

EC-CUBEに限らず、ECサイトの管理画面にXSS脆弱性が存在した場合、攻撃者によって密かに不正なプログラムが設置され、長期間にわたってサイトを利用するユーザーの個人情報などが漏洩の危険にさらされる可能性がある。JPCERT/CC Eyesの記事では、このような攻撃がどのような仕組みと手順で行われるのかが、具体的な実例を挙げて詳しく解説されている。

一般的に、XSS脆弱性を悪用した攻撃キャンペーンは、単発のスクリプトの実行ではなく、複数の手順を踏んで段階的に仕組まれ、攻撃の痕跡を消しながら長期にわたって実施されることが多い。具体的には、まずXSS脆弱性を悪用した購入処理などによって不正なスクリプトを設置し、サイトの管理者が管理画面にアクセスすることでそのスクリプトが実行されて、認証情報の窃取や「WebShell」と呼ばれる不正なプログラムの設置が行われる。

WebShellは外部のサーバ(C2サーバと呼ばれる)からのコマンドを受け付け、それに応じてさまざまな処理が実行できるようになっている。例えば、指定されたファイルのコピーや削除、システムの設定情報の書き換え、外部サーバへの情報の送信、他の不正なプログラムの設置などだ。ECサイトを狙った攻撃では、生成されるWebページに対してクレジットカード情報などを盗み出す不正なJavaScriptなどが設置されていたという。

  • ECサイトのXSS脆弱性を悪用した攻撃の例 ー 画像:JPCERT/CC Eyesより

    ECサイトのXSS脆弱性を悪用した攻撃の例 資料:JPCERT/CC Eyes

JPCERT/CC Eyesでは、もしECサイト本体のセキュリティに問題がなかったとしても、追加でインストールしたプラグインに脆弱性が存在する場合は、同様の被害を受ける可能性があると警告している。そのような被害を事前に防ぐには、日頃から脆弱性情報を確認し、プラグインも含めてECサイトのシステムを常に最新にアップデートすることが推奨される。