NEWS
2019.07.04
<続くカード情報流出> 「非保持化」前提の攻撃増加、狙われる「サイトのぜい弱性」
2018年6月の割賦販売法改正にあわせて、ネット販売企業は通販サイトのクレジットカード情報非保持化に対応した。しかし、「自社が運営するサイトではカード情報を保有していない」はずなのに、19年を迎えてもクレジットカード情報やセキュリティーコードを外部に漏えいしてしまうケースが相次いでいる。今年5月にはヤマダ電機のような超大手企業が不正アクセスを受け、カード情報を流出したことが発覚した。なぜこうした事件が起きるのか。最新事情を探った。
ウェブアプリケーションに関するセキュリティーの第一人者である、EGセキュアソリューションズの徳丸浩代表取締役によれば、通販サイトからクレジットカード情報を盗み出すための手法は、5つに大別されるという。
「Type1」は「SQLインジェクション」によるもの。これはアプリケーションの欠陥を利用して、データベース(DB)を不正に操作する攻撃手法で、DBに保存されたカード情報などの個人情報を盗み出す。2000年代後半から多く用いられてきた手法で、著名サイトが改ざんされるケースも目立った。SQLインジェクションのぜい弱性があり、DBにカード情報が保存されていることが条件だが、「そもそもDBにカード情報を保存することがなくなったので、絶滅危惧種」(徳丸浩氏)だ。
「Type2」は「バックドア(裏口)を設置し、ログファイル等からカード情報を盗む」タイプ。ログファイルにカード情報が記録されているサイトにバックドアプログラムを設置し、ログをダウンロードする手口だ。徳丸氏は「カード情報の非保持化が進んだとはいえ、過去のログを残していたケースなど、稀にある」と話す。2016年12月に資生堂子会社のイプサが個人情報を漏えいしたケースでは、サイト立ち上げ当初のテスト仕様状態のままサイトが運用されており、決済処理のログが残る設定となっていたことで、カード情報を盗まれている。
「Type3」は「バックドアを設置し、DBからカード情報を盗む」ケース。Type2と同様にバックドアプログラムを設置、侵入後に「Adminer」などのDB管理ソフトウェアを設置し、DBから該当データを探して盗み出す。徳丸氏は「Type1~3は従来の代表的な手口だが、通販サイトにカード情報が蓄積されていることが前提のため、カード情報の非保持化が進むと使えなくなる」と話す。
近年増えているのが、徳丸氏が分類する「Type4」と「Type5」だ。両方とも、近年一般化した非保持化にも対応した手口となる。
まず、Type4は「カード情報入力フォームを改ざんして、ユーザーが入力中のカード情報を盗む」というもの。通販サイトにおけるカード決済については、カード情報が加盟店のサーバーを通過しない「非通過型」が推奨されている。決済代行業者は対応策として、決済の際、通販サイトから決済代行会社の決済画面に遷移する「画面遷移型」と、入力画面にJavaScript(JS)を組み込み、カード情報は事業者のサーバーを経由せず、決済代行側で処理する「トークン型」の2種類を用意している。Type4は後者をターゲットにしている。
攻撃者はカード情報入力画面が改ざんできるぜい弱性がある通販サイトに対し、悪意あるJSを設置。この状態の入力フォームでユーザーがカード情報を入れると、確認ボタンを押したタイミングで外部のサーバーにデータが送信されてしまう。決済代行業者にもカード情報は流れ、注文処理は正常に行われることから、事態が発覚しにくいのがポイントだ。
徳丸氏によれば、Type4を活用したカード情報窃取が日本で初めて報告されたのは、13年3月に発覚したジェイアイエヌ(現ジンズ)の「JINSオンラインショップ」が不正アクセスを受けた事件という。これはApache Struts2のぜい弱性を悪用したもので、通販サイトの購入画面で決済フォームに入力した顧客のカード情報が、そのまま外部のデータベースサーバーに送信されていた。
直近では、ヤマダ電機の「ヤマダウェブコム」と「ヤマダモール」からのカード情報漏えいが発覚したが、これも徳丸氏によれば「『ペイメントアプリケーションの改ざんが原因』と発表されており、恐らくType4によるものだろう」という。
18年6月に施行された改正割賦販売法では、カードを扱う加盟店に対し、カード番号の適切な管理や不正使用防止を義務づけている。カード業界ではこれにあわせる形で、非対面加盟店のカード情報非保持化への取り組みを進め、加盟店にカード情報の非保持化、またはカード情報を保持する場合はPCI DSSへの準拠を求めている。
多くのネット販売企業は「非保持化」対応を選んだとみられるが、対応策のうち画面遷移型については、別のサイトに一度飛ぶ形になることから、顧客の離脱を懸念する通販サイトが多く、事業者側の意向を汲んでトークン型を推す決済代行会社が目立っていた。そのため「JSを使ったトークン型は、カード業界が通販事業者にセキュリティー対策強化を迫る前から破られていたといえるので、(JSを設置するタイプの攻撃に対策できる)画面遷移型を採用するべきと主張してきた」(徳丸氏)。
その画面遷移型をターゲットとしたのが、近年確認された手口であるType5だ。徳丸氏によると、18年9月に発覚した、聖教新聞社の通販サイト「SOKAオンラインストア」からの情報漏えい事件で初めて報告されたという。運営を委託されていたトランスコスモスの発表によれば、「不正ファイルを混入され、プログラムが改ざんされた。ユーザーが商品を購入する際に、偽のカード決済画面に遷移する仕組みとなっており、カード情報を不正に取得された可能性がある」「偽のカード決済画面にてカード情報を入力して送信ボタンを押すとエラーが表示され、本来の当該サイトの画面に転送されるという非常に巧妙な仕組みになっていた」。
Type5の仕組みをまとめたのが左上の図だ。徳丸氏は「デザイン等をコピーした偽のカード決済画面を用意し、注文ページからそこに遷移させたのではないか」と推測する。偽の決済ページは通販サイトとはアドレスが変わるわけだが、そもそも画面遷移型は別ドメインのサイトに一度飛ぶのが前提のため、偽ページに遷移したことが気づきにくい。決済代行業者が「EV SSL証明書」を取得していれば、ブラウザーのアドレスバーに決済代行業者の社名を表示することが可能だが、「ある決済代行業者は『急に違う会社名がアドレスバーに表示されるとユーザーに怪しまれる恐れがある』ため、あえて表示していないと話していた」(徳丸氏)。カゴ落ちを懸念した対応とみられるが、攻撃者にとっては好都合だ。
偽ページでカード情報を入力すると、そのまま攻撃者に伝わるわけだが、Type4と違って決済は正常に完了しない。そこで「決済エラー」画面を表示した後に正常な入力フォームに転送し、再度入力させる。一度決済エラーが起きたとしても、「カード番号を入力ミスしたのだろう」と受け取るのが一般的と思われるため、ユーザーは不信感を抱きにくい。
19年に公表された、通販サイトからのカード情報漏えい事件をまとめたのが中央の表となる。カード情報を非保持化していても盗み出せるType4とType5が大半を占めていることが分かる。ユーザーが入力フォームに打ち込んだ情報がそのまま攻撃者に流れるため、セキュリティーコードも盗まれてしまうわけだ。徳丸氏は「攻撃者目線で言えば、Type5は偽ページに遷移した際に発覚する恐れがあるため、Type4の方がバレにくいというメリットがある。Type4が使えるサイトならこちらを優先的に採用していくのではないか」と推測する。
今年不正アクセスされた通販サイトは、ヤマダ電機を除くと、中小規模のサイトからの流出が目立つ。徳丸氏は「日本の通販サイトは、オープンソースの構築バッケージ『EC―CUBE』を使っているケースが多い。EC―CUBEにぜい弱性があるわけではないが、中小規模の事業者が運営するなら予算もあまりなく、サイトを構築するベンダーも大手ではないと想像できる。そうなると、比較的セキュリティーに隙があるサイトが多そうだと攻撃者も思っているのではないか」と話す。