牛角サブスクに22日通った。
その中で、色々な脆弱性が見受けられたため、詳しく書く。
※この記事で紹介している脆弱性を実際に突いてサービスを不正利用した場合、詐欺罪に問われる可能性があるので、絶対にやらないでください。また、この記事は啓蒙を目的としており、システムの悪用を推奨するものではありません。
最初に、牛角サブスクのシステムについて説明する。
・monster pass というサービスに登録し、クレカでサブスク権利を購入する。
・店に行き、monster pass の画面を見せる。パスの画面は1日1回だけ押せるボタンがあり、そのボタンを店員の目の前で押すことで、サービス権を行使し、サービスを受けることができる
このシステムだが、はっきり言ってザルザルのザルすぎて、正直金をとって運用するレベルに達していない。
本人確認の不徹底
monster pass には名前や顔写真の入力項目があり、利用者を識別できるようになっているが、未設定でもとくに店員から何か言われることは一度もなかった。つまり、客の提示したアカウントが本人のものか、現状、店員にはまったく判別がつかない状態である。これによって、現状、規約で禁止されているにもかかわらず、複数人によるアカウントの使いまわしが可能である。もちろんそれだけでもなかなかの問題だが、このことは、次に説明する脆弱性の危険度を増幅する。
なお、試していないのでわからないが、プロフィールの変更が何度でも可能な場合、当然、アカウントの使いまわしは防げない。
システムに対する現場の理解不足
前述のように、牛角サブスク(というか、monster pass)は、パスの画面を店員に提示して、目の前で当日の利用権を行使する、という確認作業が必要であるが、それが適切に行われていない店が複数あった。
具体的には、パスの画面を見せるだけで、ボタンをタップしなくても注文が通るケースがあった。これが通ると、1日に何度でもサービスを受けることができる。例えばA店で食べ放題を楽しんだあと、別のB店でまた食べ放題を楽しむことができる。さすがにそれは現実的にないと思うが、monster pass は不正防止のためSMS認証を採用しているが、認証コードさえ共有できれば、複数人で同じアカウントを共有することが可能である。つまり、自分が食べ放題を楽しんだ後、友人知人に食べ放題をプレゼントしたり、知らない人間に食べ放題権を販売することすら可能である。
それどころか「サブスクで」と言うだけで、スマホの画面を見ることもなく通されるパターンもあった、もはや、サブスク権を購入していないそこらの人間ですら無銭飲食ができてしまうシステムになっていた。さすがにこれはやばすぎるので、期間中は誰にも言えなかった。
どれだけシステムがうまく作られていても、しょせん運用するのは現場のバイトである。現場の運用ができていなければあらゆるシステムは無為となる。今回の場合、炎上対策で多店舗展開が急だったため、本部→店長→バイトスタッフ への説明が不十分な店が多かったのではないかと思われる。
monster pass の根本的な脆弱性
牛角サブスクでの monster pass の利用方法は、スマホ画面を店員に見せ、目の前でボタンをタップして利用権を行使したことを見せるというものだった。
これ、画面、偽造し放題じゃね?????
店員はスマホの画面をちらっと見るだけ。QRなどの認証もない。自前の鯖に適当に丸ごとコピーした偽造サイトを掲示しても、おそらくまったく気づかれないと思われる。
ちなみに、私が今月から利用しているクラフトビールサブスク、ラーメンサブスクのプラットフォームであるfavyでは、画面をタップするとバーコードが表示され、それを店側の機械で読み取ることで利用権の行使が完了する。これは普通にセキュアである。
モンパスやばくね????
ということで、この問題について monster pass に問い合わせたところ、monster pass としてはQRやバーコードによる認証システムは実装しており、使うか使わないかは店側の判断とのこと。
monster pass「店によってはヤバヤバだけど、店の自己責任だからプラットフォームには責任ないよ! 設備投資渋る店にも無理やり導入したいからセキュリティは置いといてゴリゴリ営業するよ!」
これにはワイもニッコリ