
セブン&アイ・ホールディングス独自のバーコード決済サービスとして2019年7月1日に始まった「7pay(セブンペイ)」。開始早々の7月2日夜ごろよりSNS上で「何者かに不正にチャージされ、その残高を利用されてしまった」との報告が上がり、翌3日にはセブン&アイがクレジットカード経由でのチャージを停止。4日に開催された記者会見では「現時点での被害者は約900人、被害総額約5500万円」と発表した。
これと前後し、3日ごろから「メールアドレスと生年月日などがわかれば第三者が7iDのパスワードを変更することができる」という内容の脆弱性がSNSやネットニュースなどで続々と報じられた。「7iD」はセブン&アイが運営している多くのネットサービスで使われているIDであり、今回の7payにも利用されていたことから、今回の事件は7iDに起因するものだとした報道が目立つようになってきた。
今回、筆者は被害者の1人に話を聞くことができた。この人は決済系サービスの運営にも携わったことのある「プロ」であり、セキュリティーを高めるための基本的な行動はすべて行っていた。具体的には「パスワードを使い回さない」「できる限り長くて複雑なパスワードを用いる」「メールやプッシュ通知などで届くお知らせには目を光らせる」ということを実施していた。
彼が被害に気づいたのは、クレジットカードからのチャージがあったことを知らせるメールだった。すぐにアプリを開いたが、犯人が別の端末でログインしたからか、手元ではログアウトした状態になっていたそうだ。その後、元のパスワードを使ってログインすることに成功した。
もし仮に攻撃者が最初に取りあげた「攻撃者により7iDのパスワードが変更できる」欠陥を利用していた場合、元のパスワードでログインすることはできなくなる。またクレジットカードからのチャージには、7iDのパスワードと異なる「認証パスワード」が必要になる。当人曰く、認証パスワードも使い回しをせずに規定の16ケタをすべて使う複雑なものにしていたという。
このことから、7iDのパスワードリセット以外にも攻撃手法が存在していることが考えられるが、また使い回しを否定していることからリスト型攻撃 (他のサイトで流出したパスワードの一覧を攻撃者が手に入れてログインを試すこと) の可能性も低い。つまり、これまでに報じられてきていない別の脆弱性や仕様上の欠陥があることが強く示唆される。
内部向けのシステムと顧客に開かれたシステムは違う
多くの決済系サービスやLINEなどのアプリでは、登録や機種変更の際に2段階認証(多要素認証)といわれる、パスワードだけでなく携帯電話番号に届いたSMSを用いた本人確認を実施している。今回のケースのように何らかの不備でパスワードを突破されたとしてもSMSの認証により被害を食い止められるケースも多い。しかしながら7payにはその実装がなかった。
4日に開催された記者会見で、記者に7payに2段階認証がなぜないのかを問われたセブン・ペイの小林強社長は次のように答えた。
「基本的に、7iD、セブン-イレブンアプリと7payというのは連携した形で登録、という形になっておりますので、まあそういった意味で、その、に、に、二段階うんぬんっていうのと同じ土俵で比べられるのか、違うのか、私自身はそのへんは認識しておりません」
事件発生から1日以上経った記者会見での回答として、準備不足であることは言うまでもないが、社長をはじめ経営陣が競合他社の決済サービスをある程度触っていれば答えられるレベルの話であり、ネットサービスに対する知見が極めて不足していると思わざるを得ない。
セブン&アイグループにおけるエンジニア部隊は、受発注やPOSレジなど社内向けシステムの開発が源流にある。これらのものは利用者も解決する課題も社内のものであるため、基本的には社内をうかがいながらつくっていけばよい。しかしネット通販やモバイル決済など、一般に公開され、顧客が直接触るシステムの開発は利用者たる顧客を強く意識する必要がある。またその顧客の財産やセキュリティーを守る責任も発生するため、潜在的な脅威を常に意識する必要がある。「PayPay」や「LINE Pay」などの先行事業者がどういったセキュリティー対策を講じているのか、最近の攻撃のトレンドは何か、外の世界を注意深く観察して自社のセキュリティーを高めていくことが重要である。
Powered by リゾーム?