- 最終更新日: 2020.10.16
- 公開日:2020.10.16
Webスキミングとは?ECサイト運営に必要なセキュリティと知識
- EC
- お役立ち情報
はじめまして。株式会社セキュアスカイ・テクノロジーの西尾です。普段は脆弱性診断を業務としながら、サイバー攻撃の動向調査も行っています。今回はECサイトを狙った最近の攻撃動向と対策についてやさしく解説していきます。
第一回は、ここ数年国内ECサイトでクレジットカード情報の漏えい事件を引き起こしている「Webスキミング※1」の概要と対策についてお伝えします。
目次
Webスキミングの概要と特徴
近年、国内ECサイトでクレジットカード情報の漏えい事件が多発しています。漏えいには様々な原因がありますが、最近は「Webスキミング」という攻撃が猛威を振るっています。
Webスキミング(Web skimming)とは、クレジットカード情報を盗み読むスキミング行為をWeb上で行う攻撃です。具体的には、ECサイトの決済画面を改ざんして不正なスクリプトを埋め込み、サイト利用者がフォームに入力したクレジットカード情報を秘密裏に窃取します。
Webスキミングの大きな特徴は、サイト利用者がフォームに入力した時点でデータを窃取する点です。
従来のような、一度の攻撃でデータベースから直接的にデータを盗むことが可能な「SQLインジェクション※2」などとは異なり、長期間に渡って少しずつ盗んでいきます。フォームに入力されたデータを窃取するため、クレジットカードのセキュリティコードまで漏えいすることが特徴的です。クレジットカード情報だけではなく、メールアドレスや配送先住所など、個人情報も漏えいする可能性があります。
2018年6月に施行された改正割賦販売法への対応として、多くのECサイトがクレジットカード情報の非保持化を行っていると思います。しかし、非保持化だけではWebスキミングを防ぐことはできません。
例えば、外部の決済代行事業者のサイトで決済を行うリンク(リダイレクト)型の場合、攻撃者が作成した偽の決済画面へ誘導することで、クレジットカード情報を窃取します。偽の決済画面は本物そっくりに作られているため、見分けがつきにくいです。
クレジットカード番号を別の文字列(トークン)に置き換えて決済を行うトークン型の場合は、正規の決済画面を直接改ざんし、入力されたクレジットカード情報をそのまま攻撃者に送信するようにします。決済画面のURLと見た目は正規のままで、決済処理も正常に行われるため、サイト利用者は違和感を覚えることができません。
このような手口を用いることで、たとえECサイト側でクレジットカード情報を保持していなくても、漏えい被害が発生してしまいます。また、攻撃者はサイト利用者やECサイト運営者に気づかれないように様々な工夫を行うことで、長期間に渡ってクレジットカード情報を窃取していきます。
国内のWebスキミング被害の状況
では実際に、国内ではどれだけのECサイトがWebスキミング被害に遭っているのでしょうか。
筆者が独自に調査をしたところ、2020年上半期に被害を公表したECサイトは14サイト見つかりました。クレジットカード情報の漏えい件数は、合計で約1万1千件になります。
ただしこれは氷山の一角であって、被害を公表していないサイトや、現時点で攻撃に気づいていないサイトが多く存在していると思われます。また、7月以降も新たな被害の報告が続いています。
上表の「改ざん期間」というのは、ECサイトが改ざんされていた期間のことで、この期間に商品を購入した利用者のクレジットカード情報が漏えいしています。
改ざん期間は数日のサイトもあれば、半年以上続いているサイトもあり、改ざん期間が長いサイトほどクレジットカード情報の漏えい件数が多いことが分かります。ただし、サイト利用者が多いECサイトの場合は、改ざん期間が短くても大きな被害が発生します。
例えば、2019年5月に被害を公表した「ヤマダウェブコム・ヤマダモール」の場合、改ざん期間が約1ヶ月と比較的短かったのですが、3万7千件以上のクレジットカード情報が漏えいしています。
また、大半の被害サイトはWeb改ざんを自力で発見したわけではなく、クレジットカード会社や警察などの外部から連絡を受けてWeb改ざんが発覚しています。つまり、漏えいしたクレジットカード情報が実際に悪用されるまで攻撃に気づけないほど、Web改ざんを見つけるのは難しいことが分かります。
被害事例の中には2度のWeb改ざんを受けたECサイトもあります。
例えば「ペットハグサイト」の場合、1度目のWeb改ざんが発覚した際にクレジットカード決済を停止し、ECサイト自体は閉鎖せずに継続しました。その後、原因調査中に2度目の攻撃を受け、偽の決済画面へ誘導するように改ざんされてしまい、再度クレジットカード情報を漏えいしてしまいました。
このように、クレジットカード情報の漏えい事件が発生した場合、クレジットカード決済を停止しただけではWeb改ざんの原因を解消したことにはならないので、Webスキミングを防ぐことはできません。被害の拡大を防止するためには、漏えいの原因を特定・解消するまで、ECサイトを一時的に閉鎖するという厳しい決断も視野に入れましょう。
セキュリティ対策の具体例
Webスキミングは1つの対策で防げるものではなく、基本的なセキュリティ対策を積み重ねていくことが重要です。
まずは以下の対策を実施しましょう。
● セキュリティパッチが公開された場合は早めに適用する(脆弱性を放置しない)
また、WordPressやEC-CUBEなどのCMSを利用している場合は、以下の対策も実施しましょう。
● 設定ファイルやログファイルに対するアクセス権を適切に設定する(外部からのアクセスは制限されているか?)
Webサイトのセキュリティ対策において最も重要なことは、これらの基本的な対策を継続的に実施していくことです。
サイト構築時は安全であっても、時間経過とともに新しい脆弱性や攻撃手法が発見されていくため、Webサイトの安全性は相対的に低下していきます。そのため、Webサイトの安全性を保つには継続的なセキュリティ対策が不可欠です。
Web改ざんを防ぐためには、管理画面に対する不正アクセスを防ぐことも重要です。具体的には以下のような対策が挙げられます。
● 管理画面のログインURLを推測しにくい値に設定する(CMSを利用している場合はデフォルト値から変更する)
● ログインID・パスワードを強固な値に設定する
● 管理者アカウントを共有利用しない
● IP制限やアカウントロック機能を導入し、できればログインを監視する
● 管理者ログインに多要素認証を導入する
以上の基本的なセキュリティ対策を実施した上で、より強固なECサイトを実現したい場合は、以下の対策を検討すると良いでしょう。
● Webアプリケーションファイアウォール(WAF):Webアプリに対する攻撃を防ぐ
● 脆弱性診断:ECサイトに存在する脆弱性を洗い出す
脆弱性診断に関しては、ECサイトの構築時や改修時にWebアプリ診断を実施するだけではなく、運用開始後も定期的にプラットフォーム診断を行うことが必要です。
ECサイトの開発や運用をアウトソースしている場合は、上記の対策状況や、現在どのようなセキュリティ対策を行っているかを委託先に確認することをお薦めします。
一度漏えい事故が発生してしまうと、損害賠償やサイト改修などの支出、ECサイトを閉鎖することによる機会損失、企業の信用失墜など、大きな損害を受けます。また、クレジットカード会社の審査が通りにくくなり、ECサイトの再開が難しくなる場合もあるため、ECサイト運営者にはセキュリティ意識を高く持っていただければと思います。
Webスキミングを防ぐには多くの対策が必要ですが、まずはできることから実施し、継続的に対策をアップデートしていきましょう。
※2 Webサイトのお問合せフォームなどに不正な文字列を入力することで、外部からデータベースを不正に操作し、機密情報の取得や改ざんを行う攻撃のこと。