岩手県にあるワイナリーのエーデルワインが2019年4月、同社の通販サイトへの不正アクセスを発表した。通販サイトの脆弱性を利用され、クレジットカード情報を流出した可能性があるという。
クレジットカード情報として流出した可能性があるのは1140件。これとは別に、攻撃者から3万91件の「クレジットカードの有効性確認」を実行されたことを明らかにした。
クレジットカードの有効性確認といえば、通販サイトを運営するエディットモードも2018年12月、1万4679件の有効性確認の被害を受けたと発表している。
クレジットカードの有効性を確認されることが、どうして問題になるのか。実は、氏名などの個人情報が漏洩した場合よりも深刻な被害につながる恐れがあるのだ。
機械的に生成したカード番号で決済できるか確認
両社が受けたクレジットカードの有効性確認は、サイトの決済機能を利用した、入力したクレジットカード情報で決済できるかどうか確かめる行為である。一般に「オーソリゼーション」と呼ばれる。
では、攻撃者はどんなクレジットカード情報を使ったのか。エーデルワインはリリースで、クレジットカードの有効性確認について、「機械的に作成したカード情報を弊社サイトで使い、利用できるかを確認するもの」と説明している。いわゆる「クレジットマスター」と呼ばれる攻撃手法で、クレジットカード番号を作成したとみられる。
クレジットカード番号は、全体の14桁から16桁までのうち、最初の6桁まではクレジットカードの国際ブランドや発行会社などを示すものになっている。7桁以降、最後から2桁目までの数字が各個人に割り振られる番号である。ただし、個人に割り振られる番号はランダムに設定されるものではなく、ある法則を持たせるように決まっている。
クレジットマスターとは、規則を満たすクレジットカード番号をソフトウエアなどで計算して生成する手法を指す。全くランダムな番号よりも、クレジットマスターで生成した番号のほうが有効である可能性は高くなる。
とは言え、クレジットマスターによって作り出した番号なら必ず有効になるとは限らない。そこで攻撃者は、クレジットマスターで作成した番号のリストを用意して、通販サイトなどで大量のオーソリゼーションを行う。
しかし多くの通販サイトは、ユーザーごとにオーソリゼーションに失敗できる回数に上限を付けるなどして、有効なクレジットカード番号探しをしにくくしている。
QRコード決済のPayPayは2018年12月、このオーソリゼーションの失敗回数に上限を付けていなかったため、問題視された。現在は、制限を付けている。
エーデルワインやエディットモードは制限を設けていたが、システムの脆弱性を突かれて、大量の有効性確認を実行されたとみられる。