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にも色々ひっかかる(「認証の不備」だけでも、多要素認証やセッションが適切に無効にならないなどが該当する気がする)んですが、その上で本当に審査したと言ってるんでしょうかね?
いったい、何を基準にしたんだろう・・・(まあ、いい予感はしない)。