オンラインショッピング利用者の被害が急増する「Webスキミング」とは

Eコマース市場が成長するのに伴い、Webスキミング(Eスキミング)による攻撃が増加し、長期にわたってオンラインショッピングを脅かし続けています。昨今の新型コロナウイルスの世界的な感染拡大によって、オンラインショッピングの利用者は急増しましたが、ハッカーにとってはWebスキミング攻撃を仕掛ける絶好の機会になっています。

その手口とは、主にオンライン決済システムを標的にし、会計時にクレジットカードなどの支払情報を抜き取ってしまうというものです。

一度の攻撃で顧客データベース全体を標的にする従来のサイバー攻撃とは異なり、Webスキミング攻撃は会計時に顧客の支払情報を窃取するために検知が難しく、多くの場合、顧客からも小売業者からも攻撃が見えません。

 

サイバー犯罪者グループ「Magecart」の台頭

高度なサイバー攻撃スキルを身につけた犯罪グループはいくつかありますが、その中でも最も勢力範囲が広く、成功率が高いのは「Magecart(メイジカート)」と呼ばれるグループです。Magecartはマルウェアをはじめとした技法を巧みに駆使する犯罪グループの総称であり、Eコマースを展開する小売業者からクレジットカード情報を盗むことを目的としています。

Magecartは2016年から活動していると見られており、ブリティッシュ・エアウェイズ(2018年)、電子機器オンラインショップのニューエッグ(2018年)、ファングッズストアのアトランタ・ホークス ショップ(2019年)、フォーブス誌の定期購読ページ(2019年)、2020年のオリンピックや欧州サッカー連盟(UEFA)のユーロ2020 サッカートーナメントのチケット販売サイト(2020年)など、近年発生する決済システムを狙った大規模な攻撃はMagecartの仕業だと言われています。

これらの攻撃が注目を集めたことで、Magecartは2018年発行のWired誌で「インターネット上で最も危険な人物」のリストに載ることになりました。

 

Webスキミング攻撃の仕組みとは

大半のWebスキミング攻撃は、攻撃者が小売業者のEコマースアプリケーションに不正なコードを挿入することでセキュリティを侵害します。しかし、Magecartによる攻撃の場合は、外部コードリポジトリ、チャットボット、広告ベンダーなど、信頼性のある社外の第三者のアプリケーションに不正コードを紛れ込ませて攻撃の突破口を作ります。

研究者によって、40種類以上のコードインジェクションやエクスプロイトが特定されていますが、エクスプロイトはわずか20文字で構成されることもあるため、アプリケーションコードを1行ずつ調べないと改ざんを検出できません。

またサイバー犯罪者は、悪意のあるコードを配布するドメインに対して有効なSSL証明書を関連付けてトラフィックを合法的に見せかける巧妙な攻撃も行います。こうすることで、暗号化された信頼性のあるWebコンテンツと暗号化していない悪意のあるサイトコンテンツが混在した際に表示される「危険なコンテンツが混在しています」という警告を顧客に表示させないようにしているのです。

最近のレポートには、Amazon S3バケットにおけるアクセス制御の誤設定がきっかけとなり、既存のJavaScriptアプリケーションのコードファイルにスキマーコードが追加されたMagecartの攻撃も報告されています。

 

Webスキミングやカードスキミングを防ぐ手法

カードスキミング攻撃に対して組織ができる最善策としては、Eコマースを実現する一連のアプリケーションの全体的な強化および実行コードの制限に重点的に取り組むことです。

オンラインスキャンの使用
無料のオンラインスキャンリソースは、アプリケーションに注入されたスクリプトによる疑わしい接続を検出するのに役立ちます。Webブラウザの開発者ツールでコンテンツを分析し、顧客セッション中に作成された疑わしい接続を検出することもできます。

Amazon S3バケットへの対策
多くの組織が使用するAmazon S3バケットでは、「パブリックアクセスをブロックする」というオプション機能があり、それを設定することでアプリケーションファイルの不正な変更を防止することができます。

コンテンツセキュリティポリシーの定義
組織のサイトからリソースを読み込める場所をリスト化するコンテンツセキュリティポリシー(CSP)を定義するのも有効です。CSPは、支払ページやログインページなど、機密情報およびユーザー情報を入力するすべての領域に適用させる必要があります。

サブリソース完全性の使用
サブリソース完全性(SRI)を使用し、広告パートナーのスクリプトといった外部スクリプトをすべて検証する方法もあります。外部ソースによってインクルードされたすべてのスクリプトはハッシュ化されて既知の正常な値と照合され、読み込まれる予定のファイルであるかどうかを確認できるので、もし読み込まれる予定でないものと判断されればブラウザによる読み込みをブロックすることができます。

また、機密ページ上のすべてのアセットにSRIを適用させるのも効果的です。CSPでrequire-sri-forディレクティブを使用することにより、すべてのスクリプトとスタイルタグでSRIを強制すれば、SRIが有効になっていないページにアセットがインクルードされることを防止することができます。

 

Magecartや同様の犯罪グループの活動を見れば、Webスキミング攻撃が恒久的な脅威であることがわかるでしょう。カードスキミング攻撃によって得られる利益は大きいため、既存のセキュリティ対策を難なく突破するようなステルス性やスキルを持つ攻撃が出現するなど、より一層攻撃が複雑化・巧妙化していくはずです。

ですが、上述の対策を施していれば、過去に犯罪グループが行ってきた攻撃の多くは阻止できるでしょうし、大きな損害をもたらすセキュリティ侵害を長期にわたり防止できるようになるでしょう。

DXCでも月次の脅威インテリジェンスレポート(英語)を作成していますので、ぜひ最新のランサムウェアスキームを確認してもらえればと思います。