ローンチから3日で、900人5500万円被害。補償することも発表されています。数からしてパスワードのブルートフォースアタック(総当たり攻撃)は考えづらいです。

一応ペイ絡みですので、個人的に背景予測記事をしたためました。記事はあくまで予測ですので、その点踏まえて可能性としてお読み下さい。

キーは、6年前の2013年のセブンネットショッピング個人情報流出事件と、オムニ7のパスワード変更設計、クレカパスワードのリセット設計です。(7/5 17:19追記)

2013年 セブンネットショッピングで15万件のクレカ情報含む個人情報流出

氏名、住所、電話番号、クレジットカード番号および有効期限が流出した可能性があります。

セブンネットショッピングに不正アクセス–15万件が流出
https://japan.cnet.com/article/35038897/

オムニ7で、生年月日・電話番号がわかれば、好きなメアドにパスワード再設定メールが送れる

セブン・イレブンのオムニ7に脆弱性。攻撃者のメールアドレスへ再設定用リンクを送付されるリスク有り
https://news.yahoo.co.jp/byline/ohmototakashi/20190704-00132772/

昨日指摘された、後継オムニ7での問題です。おそらく登録したメールアドレスにアクセスできなくなったときのための、救済措置の設計かもしれません。

さらに、iOS版の7payでは生年月日を未設定で終えると、2019/1/1で自動登録される模様

オムニ7の7iDはセブン共通。7payにログインできる

7pay-profile

7payのアプリログインに、オムニ7で利用する7iDが利用できます。つまり、オムニ7を経由して、既存7payユーザーのログインパスワードをリセットできるラインができあがります。ログインができれば、7iDの変更もできてしまいます。

そして、ここからいくつかの不正利用ルートが

さらに、ここからいくつか不正利用のパターンが考えられます。

①2013年に流出した電話番号・クレカ番号を利用

攻撃者は、2013年に流出した個人情報でもって、現オムニ7に同一個人とみられるユーザーが存在しているかチェック。存在していたら、そのパスワードを書き換え。7payにログインし、クレカチャージパスと流出したクレカ情報も登録。勝手に7payアプリを他人の情報で利用した・・・

まったく身に覚えなく、7payに登録され、不正利用されていた被害者のひとがいたらのパターンかもしれません。または、まったく別ルートの流出情報を利用された可能性も。Twitterをみたら、そういう被害者の方も報告されていました。

オムニ7でのパスワード変更に生年月日が必要です。過去の流出では、生年月日は含まれていないとのことなので、このプランはやや疑問が残ります。電話番号か生年月日いずれかで変えられたという話もありますが、自分は未確認です。

②過去流出していた人が、7payにログイン・クレカ登録。そこを乗っ取り不正利用

攻撃者は、流出情報を利用して7pay登録済みユーザーを走査、オムニ7経由してパス変更(生年月日は2019/01/01で試行)、のちアプリ不正ログイン。クレカが登録されていたらターゲットに。クレカチャージパスワード(以下チャージパス)をリセットし不正利用・・・となりそうですが、クレカのチャージパスのリセットは、難しいかもしれません。(→更新:リセットできてしまいました。後段で説明)

みたところ、チャージパスワードのリセットには3つの方法があります。

  1. 前のチャージパスワードを知っている
  2. パス設定時に追加で設定する「秘密の質問」の答えを知っている
  3. アプリに表示されている情報でサポートチャットし「秘密の質問」を忘れた、として教えてもらう

1の前のパスワードを知っている、はまずなさそうです。900人分総当たりも難しい気がします。

2の秘密の質問の答えを知っている、も同様です。日本語入力可能で当てるのは難しいはずです。攻撃者がよっぽどターゲット絞って情報収集してたら別ですが。あと「秘密の質問」の項目そのものは選ばない設計なんだ・・・と、少し思いました。

最後の3、サポート問い合せで処理。これができてしまいました。

「秘密の質問」の答えを忘れた、とチャットサポートするとチャージパスワードのリセットに

忘れた「秘密の質問」の答えを知るのに、なんの個人項目が確認されるのか試してみました。というか、実際に忘れてしまったので問い合せました。どうせ後で変えられるでしょ?(変えられないとあとで知る)と、適当な設定して別の差し込み作業に追われていたら…(鶏か何かかな🐔

7pay-support-secret_pass-4

秘密の質問を教えてくれるのではなく、初期化&再設定になりました。個人確認のために質問された項目は「お問い合わせID」「7iD(メアド)」「nanaco番号」の3つ。これらすべて、アプリ上で確認できます。

「……ん?」

つまり、アプリに不正ログインできた段階で、アプリ上に表示されている情報で個人確認ができ、チャージパスワードをリセット・再設定できるということになります。すなわち、なりすましの不正ログインができた段階で、それがクレカ登録済みユーザーだったなら、使い放題です。

そして、リセット完了メールが来たので、あらためてアプリを見てみたら、「秘密の質問」がリセットされたというより「認証パスワード」(チャージパスワード)自体がリセットされたっぽいです。認証パスワードの初期設定画面になっています。

 

そして被害に合われた一人、めるかばさんはこのパターンかもしれません。パスワード管理もしっかりされていたようなので。

これは別に設計ミスではない。対策は?

(7/6 0:00追記)しかし、画面の情報で個人確認ができること自体は、別に設計ミスではない気がします。他のサービスでも、個人確認に利用する情報は、ログイン後のマイページで見ることができる情報でおこなうはずです(生年月日や電話番号など)。

問題とするなら、サポート処理が電話ではなくチャットで済む(国外からでもチャット経由で可能。日本語を理解し打てるなら)点と、チャージパスワードをサポート経由リセットになったら、合わせて登録クレカ情報も一旦クリアされる仕様にすべきだったところでしょうか。

そして、アプリ・サービスの根っこレベルの話になれば、SMS認証して端末とのヒモ付けを強固にすることです。

また、他のペイやログインサービス全般にいえることですが、ログイン履歴を見られるようにすることですね。Yahoo!アカウントなんかは、IP情報含めログイン時間を記録していて、いつでも見れます→https://lh.login.yahoo.co.jp(※PayPayのはのらない。はず)

携帯アプリなので、キャリアのIPではわかりづらいかもしれませんが、別キャリアのものだったり、ログイン時間や国外アクセスなどがあれば比較できます。

 

③ 過去のセブンネットショッピングのクラッキングのノウハウが、まだどこかで使えてDBなどに不正アクセスできた

最後に、サーバー・Webアプリケーションに何らかの穴があり、不正アクセスし情報を得た可能性がないともいえません。

 

以上、自分が7pay不正利用に思う背景(想像)でした。

自分はオムニ7には、Yahoo!のOAuthでログインしていて、7payもそちらで認証して、とりあえずはと入れてはありました。しかしまだ使うには至らず、こんなことに。

今回の件で、そういえば過去に流出騒ぎでセブン関係サービスのパスワード変えたことあったような・・・???と調べたら、6年前のセブンネットショッピングの流出の時でした。「アレ?もしかして…?」とおもって書いたのが、この記事です。

生年月日・電話番号・メアドなどは、あやしい名簿取引のリストでも載っていそうなので、そちらから照合した可能性もあります。しかし、その中で7payを使ってる人間を効率よくピックアップできる可能性は低そうです。
であれば、過去のセブンネットショッピングの流出データという、セブンとマッチング性が高いユーザーの情報が再利用された可能性のほうが考えやすいです。この短期間で900人近くという数からしても。

 

昨日の記者会見では、誰もセブンネットショッピングが15万件個人情報流出してたとか、触れてなかったような気が・・・この点、記者さんには是非確認してもらいたいところですね。

それでは