7payの不正アクセスの件 | reverse-eg-mal-memoのブログ

reverse-eg-mal-memoのブログ

サイバーセキュリティに関して、あれこれとメモするという、チラシの裏的存在。
medium(英語):https://sachiel-archangel.medium.com/

2019年7月4日、今月1日に開始したばかりのセブンイレブンの7payで、不正アクセスが原因とみられる不正使用が発覚し、報道されました。

被害に遭った人は、勝手にチャージされた上、勝手に支払いに使われたようです。

 

piyologによくまとまっています。流石piyolog。

https://piyolog.hatenadiary.jp/entry/2019/07/04/065925

 

色々な指摘、評価は高名な方々にお任せするとして、チラシの裏ではおっさんの小並感と疑問点をメモっておきますよ。

 

 

二要素認証・二段階認証

 

まあ、私は最近コンビニにあまり行かないので、そもそもセブンペイ自体を知りませんでした

そこで、ニュースで不正アクセスを知ってから、そもそもどんなものなのかをググッてみました。

https://mobilelaby.com/blog-entry-how-to-use-7pay.html

 

アカウントの登録のあたりなんですが、メールアドレスなどをIDとしてパスワードを初期登録するのはいいとして、二要素認証や二段階認証を設定する様子がないのですよね。

例えば、二段階認証にしておけば、仮に第三者が自分のアドレスを勝手に使って登録したとしても、二段階目のワンタイムパスワードなどが受け取れず、登録や認証ができないわけです。

万一パスワードが漏れてもそれだけでは不正ができない、という仕組みです。

特に秘匿性の高い情報や、金銭価値のある情報を扱う場合は、半ば必須となってきています。

しかし、今回の件では以下のようなニュースが流れました。

 

7pay(セブンペイ)緊急会見、「そもそも二段階認証を知らない」ヤバさが露見してしまう

https://www.excite.co.jp/news/article/Buzzap_57591/

 

二段階認証を知らないって何w

電子決済システムの運営をする会社の社長として、そのあたりの知識がないのは流石にどうかと。

そもそも、この人キャッシュカードやクレジットカードは使ったことないんだろうか?

あれは、「カードを所持している(所持認証)」ことと、「暗証番号を知っている(知識認証)」による、れっきとした二要素認証だぞ?

決済を運営する会社の社長でも、そんな基礎的なことも知らんものなのか?

それとも、セブンのグループは、未だに給料は給料袋でもらってて、預けるときは銀行に印鑑なんだろうか・・・。

 

じゃあ、PCIDSSとかも、もちろん知らない勢い?

モバイルで使うなら、FIDOなどが最近出てきているが、それも知らないんだろうな。

 

 

パスワードを再設定しても、一度ログインしたアプリはログアウトされない仕様

 

普通、パスワード変更されたら、そのユーザの別セッションって切断されませんか?

同じIDでWeb画面とアプリで同時にログオンできるみたいですが、Web画面でパスワード変更した時点でトークン再発行したら、アプリのセッションが切れる(正確には、トークンエラーで再認証が切れる)と思うんですが。

 

OWASP Top10 2017には、A2に「認証の不備」がありますよ?

https://www.owasp.org/images/2/23/OWASP_Top_10-2017%28ja%29.pdf

 

 

セキュリティ審査はやっていた?

 

去年末ごろ、PayPayがやらかしましたね。

あの時は、クレジットカードの登録でcvv番号がブルートフォースできちゃうという、cvvの意義を全否定する仕様が問題になりました。

そりゃ、3桁程度の数字だもの。3回失敗したらロックくらいはしないとダメでしょう、という仕様の問題でした。

 

今回のリリース時期を見る限り、この事件があったころは既に設計工程、あるいはコーディング等、もう開発は始まってたと思われるんですが。

あの事件を見て、開発中のシステムの再点検などはしなかったのか?と疑問に思いますね。

よくある、「うちは大丈夫!根拠?俺がそう思うから。根拠俺!」だったんですかね?

プロセスのレビューとかちゃんとやってれば、普通に気づくと思うんですがねぇ。

 

「セキュリティ審査はやっている。」とは言っていますが。

https://www.itmedia.co.jp/news/articles/1907/04/news113.html

(2ページ目)

 

そりゃ、二要素認証や二段階認証、Web画面からのパスワード変更時のアプリのセッション無効化機能はそもそも無いんだもの。

実装していない機能には脆弱性はないだろうな。

まあ、仕様そのものが壮絶に脆弱なんだけど、それは脆弱性に含まないらしい。

設計や審査したセキュリティの担当者にセキュリティの知識が無いという、致命的な脆弱性はあると思うんだけども。

 

また、先に出した、デファクトスタンダードとも言えるOWASP Top10にも色々ひっかかる(「認証の不備」だけでも、多要素認証やセッションが適切に無効にならないなどが該当する気がする)んですが、その上で本当に審査したと言ってるんでしょうかね?

いったい、何を基準にしたんだろう・・・(まあ、いい予感はしない)。

 

 

パスワードの使いまわし

被害者のインタビュー記事がありました。
 
セブンペイ不正利用、被害男性「もう少し注意喚起してもらえていたら」
 
この被害者の場合、「過去に登録したパスワードなどを使った」といっています。
今年の頭ごろに「Collection」と呼ばれる、大量のID(メルアド)とパスワードまたはパスワードハッシュの情報が見つかりましたが。
(ゴミみたいなデータが含まれるものの、テキストデータで3桁ギガバイトレベル。)
この中には、様々なサイトなどから様々な理由で漏洩したIDやパスワードのセット情報があります。
これらの漏洩元は、漏洩を公表しているところもありますが、公表していなかったり、未だ漏洩に気づいてすらいない会社や組織も含まれています。
 
つまり、「一度どこかに登録したID、パスワードのセットは、本人が知らないうちに漏洩している可能性がある」ということです。
特に、不特定多数がアクセスすることが可能なWebサイトでは、その可能性が高くなります。
今回の不正アクセスでも、そのようなID、パスワードのセットでの試行でヒットした可能性があります。
 
こういった情報は、ユーザではコントロールできません。
そのため、「パスワードは使いまわしするな」と言われるのです。
とはいっても、「もう少し注意喚起してもらえていたら」といった方、いまどきなら会社でもコンピュータ等は使うと思うんですが、そこでパスワードについて教育受けてないもんなんですかね?
「会社のパソコンは会社のルールで決まってるからパスワードは使いまわさないけど、7payは特に書いてないからOK」と思っていたのなら、物事の本質が理解できてない、という、ちょっと社会人としてはアレな問題があるわけなんですけどね。
 
少なくとも、「辞書攻撃されるような既知の文字列を単独でパスワードには使わない」、「パスワードの使いまわしはしない」は徹底することをおススメします。