動画配信サイト「ふわっち」のログオフ処理が不適切


【注記】この記事は2019年7月24日に公開し一旦取り下げたものを再度公開したものです。

動画配信サイト「ふわっち」で良く配信を見ているんですが、先日、ある事に気が付きました。

それは、ある配信者にブロックされたため新規にアカウントを作ってみた所、何故か新規アカウントなのにその配信者にブロックされた状態になっているのです。新規に作ったアカウントだから相手方は知る由もないのにです。そこで、試しにログオフした状態でも確認してみましたが、ログオフしているにも関わらずブロックされた状態です。

はて?

何かがおかしいという事で調査をした所、セッション管理をしていると思われるCookieのWHOWATCHと_gidを一緒に削除したらブロックされた状態が解除されました。

お?という事は…

ログインしている状態の二つのCookieの値を保存して、ログオフ状態にしてから、Cookieを編集して保存した値を戻すと面白いことになりそうだな〜という事でやってみました。以下の動画を見てください。ちなみに、値の部分は隠しています(そうしないと私のアカウントが乗っ取られてしまいますので…)

お判りになりました?

ログオフしている状態(リロードしてもログオフしている)でCookieを編集した後にリロードするとログインした状態になっています。これ、ログオフした時の処理が不適切でセッション管理に使っているデータが破棄されていないことを示しています。本来であれば、ログインする時に新たにセッション管理データを生成し、ログオフする時にセッション管理データを破棄する必要があるのですが、破棄されていないためにCookieを書き換えることでログインできてしまうのです。

これで何が問題なのかというと…

何らかの手段でログイン中のCookieが漏洩すると悪意の第三者にアカウントを乗っ取られることを示しています。

一応、ふわっちのサイトは常時httpsとなっており、httpでアクセスした時も即座にhttpsにリダイレクトされます。また、CookieのWHOWATCHにはSecure属性が付いているためhttpsでアクセスした時にしか送信されませんので通信路での漏洩は、ほぼ無いと考えて良いでしょう。またCookieのWHOWATCHにセットされている値は何らかの情報を暗号化されたような値になっていますので、そのままの状態では推測不能と言って良いものです。かつ、CookieのWHOWATCHにセットされる値は毎回異なるものですのでセッション管理データが固定化しているわけでは無いようにも見えます。なので、問題無さそうにも見えます。

ところが、一度保存しておいたCookieの値をセットするとログアウト状態からログイン状態に遷移させることが何回でも可能なので、ひょっとすると暗号を解くとセッション管理データは固定化されている可能性を否定は出来ない状況です。まあ、漏れる可能性が低いのとセットすべき値そのものは推定不可能と思われるので脆弱性としてIPAに届け出ることなく、即時Twitterで公開しておりますし、こうやってブログでも公開します。

今後、暗号化されたような値の部分を解析する方が現れて「推測可能」となれば、その方が脆弱性として届け出ることでしょう。

追記(2020年2月25日)

中間者攻撃を実行することでブラウザで閲覧・配信している人のアカウントを乗っ取ることは可能です。

特に、大手さんはスマホ配信ではなくPC配信(ノートPCを使用)をしている方もいらっしゃるので、そういう方の情報は比較的容易に取得できそうです。具体的な中間者攻撃の手法については言及を避けますが、興味がある方は調べてみると良いと思います。

尚、この脆弱性については2019年8月5日に独立行政法人情報処理推進機構(IPA)に届出をし(同時に本記事を一旦非公開にしました)、8日に受理され、9日に運営元への通知が行っています。しかしながら通知から半年以上経過した2020年2月25日のメンテナンス以降も修正はされていないことを確認しています。

あと、当時と現在は状況が変わっていて、WHOWATCHにセットされているデータの中身や、ログインごとに変わる内容については現在は具体的に把握をしております。が、具体的に「どういうデータなのか」等を公開するのは修正完了を確認してから別記事で行いたいと思います。今、公開するのは大変危険なためです。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です