Webスキミング(Web Skimming)とは、オンラインショップやWebサービスの決済ページに不正なスクリプトを埋め込み、ユーザーのクレジットカード情報や個人データを盗み取るサイバー攻撃です。攻撃者は、ユーザーが支払い情報を入力する際に、このスクリプトを用いてデータを収集し、リモートサーバーに送信します。Webスキミングは、特に「Magecart(メイジカート)」と呼ばれる犯罪集団によって広く実行されており、近年、ECサイトや決済システムの大きな脅威となっています。
Webスキミングは、オンライン取引が急増する中で顧客の決済情報を狙う攻撃であり、これによりクレジットカードの不正使用や個人情報の悪用が発生します。企業やサービス提供者にとっても、信頼性の低下や法的責任、罰金といった被害を被ることがあるため、Webスキミングの対策が求められています。
Webスキミングの仕組み
Webスキミングは、主に次のような手順で行われます:
- サイトの脆弱性を悪用して侵入
攻撃者は、Webサイトの脆弱性やサードパーティのスクリプトに侵入し、スキミング用スクリプトを挿入します。このスクリプトは、通常JavaScriptで記述され、支払いページや決済フォームがターゲットです。 - 不正スクリプトの埋め込み
スキミング用のJavaScriptが支払いページに埋め込まれると、ユーザーがクレジットカード情報や個人情報を入力した際に、そのデータがキャプチャされ、攻撃者のリモートサーバーに送信されるようになります。 - データの窃取
ユーザーの決済情報(クレジットカード番号、氏名、有効期限など)が攻撃者のサーバーに送信され、不正利用や販売に悪用されます。 - 継続的なデータ収集
スキミングスクリプトが削除されない限り、攻撃者はデータを収集し続け、多くの顧客情報が被害にさらされます。
Webスキミングの主な被害
Webスキミングによる主な被害は、以下の通りです:
- クレジットカード情報の不正利用
収集されたカード情報が、第三者に販売されるか、攻撃者によって直接不正使用されます。 - 顧客の個人情報漏洩
氏名、住所、電話番号など、顧客の個人情報も収集されるため、ID盗難や他の詐欺に悪用されるリスクがあります。 - 企業の信用失墜と罰則
Webスキミング被害を受けた企業は、顧客からの信頼を失い、GDPRやPCI DSSなどの法令違反による罰金や制裁を受ける可能性もあります。
Webスキミングの攻撃手法
Webスキミングには以下のような攻撃手法が用いられます:
- サードパーティコードの悪用
広告や分析用のサードパーティスクリプトにスキミングコードを注入することで、Webサイト全体が影響を受けるケースがあります。特に多くのサイトで共有されているスクリプトが狙われやすいです。 - DOM改ざん
JavaScriptコードを通じて、決済フォームの構造(DOM)を改ざんし、入力データを窃取する手法です。通常のHTMLフォームの動作に見せかけるため、ユーザーは気づきにくくなっています。 - サーバーサイドスキミング
サーバーに直接アクセスし、Webアプリケーション自体にスキミングコードを埋め込む手法で、これにより攻撃が検知されにくくなる場合があります。
Webスキミングの防止方法
Webスキミング被害を防ぐためには、以下の対策が有効です。
- セキュリティパッチの適用
WebサーバーやCMS、プラグインに定期的にセキュリティパッチを適用し、脆弱性を悪用されないようにします。 - CSP(Content Security Policy)の設定
CSPを設定することで、許可したドメインからのスクリプトのみを実行できるようにし、未知の不正スクリプトが埋め込まれるリスクを軽減します。 - サードパーティスクリプトの制御
サードパーティスクリプトの利用を最小限に抑え、信頼できる提供元のみを使用することで、外部からのスキミングリスクを減らします。 - 改ざん検知システムの導入
WebサイトやWebページのコードが改ざんされていないか監視し、異常が検出された場合に即座に通知するシステムを導入します。 - ペネトレーションテストの実施
定期的にWebサイトに対してペネトレーションテストを行い、脆弱性や攻撃可能な箇所を特定して対策を講じます。
Webスキミングの事例
- British Airwaysの情報漏洩事件(2018年)
British AirwaysのWebサイトに不正なスクリプトが挿入され、38万件以上の顧客情報が盗まれた事件が発生しました。スクリプトは、顧客が入力したクレジットカード情報や個人情報を窃取して攻撃者のサーバーに送信していました。 - Neweggのスキミング被害(2018年)
電子商取引サイトNeweggの決済ページにスキミングスクリプトが挿入され、1カ月以上にわたり顧客のカード情報が窃取される被害が発生しました。攻撃者は決済画面のHTMLコードを改ざんし、情報収集を行っていました。
まとめ
Webスキミングは、ECサイトやWebサービスの決済ページに不正なスクリプトを埋め込み、ユーザーのクレジットカード情報や個人データを盗む攻撃であり、被害が深刻化しています。Webスキミングに対する有効な対策として、CSPの設定、サードパーティスクリプトの管理、改ざん検知システムの導入が挙げられます。また、セキュリティパッチの適用や定期的なペネトレーションテストによって、サイトの脆弱性を低減させることが重要です。Webスキミングのような攻撃から顧客と自社の安全を守るためには、継続的なセキュリティ対策の徹底が不可欠です。