質問箱Peingに脆弱性が発見されメンテナンス中に
現在、下記ツイートに関連して、質問箱Peingのサービスがメンテナンス中となっています。
第三者が勝手にツイートできてしまう問題について対応中で、
— Peing-質問箱-(公式) (@Peing_net) January 28, 2019
明朝までに復旧見込みです。
本事象に関連して第三者がユーザ様のTwitterにログインをしたり、他サービスにTwitterログインされることはありません。
詳細は明日、会社よりお知らせ致します。
ご迷惑をおかけし大変申し訳ございません。
上記の通り、少なくともPeingを連携していたツイッターアカウントに対して、第三者が勝手にツイートできてしまう仕様だったことは間違いないようです。また、だからといってログインできたり、ツイッター連携している他のサービスにログインできたり、ということはない、と否定しています。
しかし、いつからそうなっていたのかはわかりませんし、脆弱性がどんなメカニズムで発生していたのか。また、被害として具体的に何が挙げられるのかを記載していません。
初動がまずい(と思う)
ここからは私個人の意見です。
脆弱性が発見されてその後サービスを閉じたのは正しいと思います。
しかし、そこからどんな脆弱性なのかを明確にしていないので、ツイッター上では様々な憶測が飛び交っています。
不安が広がり、とりあえずはPeingのツイッター連携解除しないと、今すぐ危険という噂が広がり、たくさんの人々が解除に動いています。
できれば、公式自ら情報提供するべきかと思います。
また、被害状況や対策が確定するまでは、利用開始にするべきではないと思います。このままだと1/29 8:00にはメンテナンスが終了してしまいます。まずは、今回の事象・原因・経緯を明らかにした後、安全宣言をしてから正常サービスに戻すべきかと思います。
運営会社のホームページにも、何も情報が記載されておらず、危機管理として初動がまずい、と思います。
どうすべきか
私の考える初動対応です。
(1)サービス停止
まずはサービスをすぐ停止する。サービス開始時間はこの時点では未定とする。
(2)第一報
SNS等で、脆弱性が発見されたためサービスを停止したことを知らせる。ただしこの時点では影響が明確ではないため、まずは事実だけの第一報とする。
(3)中間報告
以降、定期的に第二報、第三報等を作成し、わかったことを随時まとめる。特に影響範囲の確定が先。いつからそうだったのか、またどんな情報資産が漏えいした可能性があるか、その件数について確定し、報告する。また、ユーザー側で実施すべき項目がある場合も含めて逐次更新する。
(4)安全宣言
影響範囲が確定し、対策(暫定もしくは恒久)が決定した時点で、安全宣言を出し、サービスの開始を未来にスケジュールして報告する。影響が深刻である場合はサービスを長期中止にし、既存ユーザーについての対応を表明する。
今回は、(1)→(2)まで進んだものの、それ以降の更新(3)がなく、かつ(4)がないまま1/29 8:00にサービス開始すると宣言してしまっているので、初動がまずいと思っています。
ぜひ、上記のセオリーにのっとって、今わかっていることを逐次公開して頂きたいとおもいます。また、サービス再開時刻については、安全宣言を出すまでは未定とすべきかと思います。
去年の段階で100万人ユーザーいるということですので・・影響は小さくありません。
軌道修正を行い、早期にユーザーの不安を解いて頂きたいと思います。
追記(2019/1/29 9:45)
ホームページをのぞいてみましたが8:00になってもメンテナンスが明けていませんね。収拾がつくまで一度クローズした方がいいと思うのですが。
追記(2019/1/29 12:45)
追加のコメントが出ました。
Peing-質問箱ご利用ユーザー様
— Peing-質問箱-(公式) (@Peing_net) January 29, 2019
昨晩からの問題に関する対応は完了しておりますが、安心して皆様にご利用いただくためメンテナンスを延長し、Twitter連携部分に関して調査・確認をしております。
メンテナンス終了時間は16時を予定しておりますので、今後ともどうぞよろしくお願い致します。
ネットメディアも食いついてきた模様・・。
同社は29日に詳細を報告する予定としています。編集部が詳細を問い合わせたところ、公式Twitterに出ていることが全てとの回答でした。
これ以上何も公開しないということは、憶測を打ち消すつもりもないということなのでしょうか。
経緯を見守ります。
追記(2019/1/29 17:45)
中間報告的な情報がツイッターに更新されました。
メンテナンス中に自動質問機能、通知機能が作動していた件につきましては、現在機能停止をしております。
— Peing-質問箱-(公式) (@Peing_net) 2019年1月29日
質問箱を継続して安全にご利用頂くため、問題の解決を図っております。
— Peing-質問箱-(公式) (@Peing_net) 2019年1月29日
メンテナンス終了を16時としておりましたが、もうしばらく延長をさせて頂きます。
また発生している問題および、ご心配頂いております影響範囲については、いまから順次、本アカウントにてツイートし共有させて頂きます。
今回発生しております問題は第三者がユーザ様のTwitterのAPIのトークンを取得できてしまう事象になります。(既にトークン自体が無効になっておりますので、ご安心下さい。)
— Peing-質問箱-(公式) (@Peing_net) 2019年1月29日
詳細情報に関しては、本ツイートのリプライに記載致しますので、ご確認下さい。
本事象により起きうる事象は下記の通りです。
— Peing-質問箱-(公式) (@Peing_net) 2019年1月29日
1)ユーザ様のTwitterの情報の取得できた
・トークンを用いて、登録されたメールアドレス
・ハッシュ化されたパスワード
・過去に自分で行ったツイートの情報など(鍵垢の場合も含む)
2)Twitterへの書き込み
3)相手先を指定したDMの送付
またTwitterやネット上で言われている下記のことはできず、これらが悪用されることはございません。
— Peing-質問箱-(公式) (@Peing_net) 2019年1月29日
・プロフィールに記載のない電話番号や住所などの個人情報の取得
・Twitterへのログイン
・Twitterログインを用いた他サービスへのログイン
・DM内容の閲覧
Twitterでの連携解除ですが、28日(月)22時10分に対応が完了しておりますので、連携解除を行わなくても情報が第三者に渡ることがございませんので、ご安心下さい。
— Peing-質問箱-(公式) (@Peing_net) 2019年1月29日
冒頭でも書きましたが、サービスを止めた後は、リカバリーより先に影響範囲を確認し速やかに報告したほうが後々楽になります。今回、憶測が乱れ飛んだために結局のところTwitterの連携解除が大変なスピードで進んでいるのではないかと想像します。
また、今回事象が特定されておりますが、ハッシュ化されたパスワードが表示されていたというのが気になるところです。TwitterはBcryptという方式を使ってハッシュ化しています。この仕組みについては、下記文書が詳しいです。
BCrypt(Blowfish暗号)について調べたので文書化してみました - Kamiya::Memo
Blowfish暗号についてざっと書かせていただきましたが、これらはあくまでもパスワードが流出した後に役立つものです。パスワードが漏れないことが一番ではあるのですが、二重三重に保険をかけると言った意味で保存するパスワードが暗号化するのが今は常識になってますね。
ただ、レインボーテーブルには強いBlowfish暗号も、辞書攻撃、ブルートフォースアタックに弱いです。結局パスワードそのものが当たってしまえばソルトもコストもほとんど意味を為さないんですよね…
パスワードそのものにすぐに復号するのは無理だけれども、パスワードそのものが簡単だった場合には、ハッシュ値の中に書いてあるソルトを使って普通にbcryptでエンコードすると割り出されてしまうと理解しています。
※「・ハッシュ化されたパスワード」については、本当は漏えいしていないのではないか、トークンと間違えているのでは?という指摘もあるようで、推移を見守りたいと思います。運営のツイッターに書かれている以上、真偽が不明です。
追記(2019/1/29 21:30)
一度サービスインしたものの、再度問題が発見され、再度メンテナンス突入。
Peing-質問箱-ご利用ユーザー様
長らくお待たせ致しましたメンテナンスが無事終了致しました。
検知されていた問題は全て解決し皆様に安心してご利用いただける状態になっております。
ご迷惑をおかけ致しましたが、今後ともご利用のほどよろしくお願い致します。
https://t.co/c5XNgjgzF1— Peing-質問箱-(公式) (@Peing_net) 2019年1月29日
一部問題があることがわかり、再度メンテナンスを実施いたします。
— Peing-質問箱-(公式) (@Peing_net) 2019年1月29日
さっそく多くのユーザ様にご利用いただいていたにも関わらず、申し訳ありません。
本日中に対応できるよう、取り組んでおります。
恐縮ではございますが、今しばらくお時間をください。
最早、公開脆弱性検査のようになってきました。
また、運営企業よりリリースも出ているのですが、
私の感覚としては、第三者機関によるセキュリティに関する調査が完了するまで、サービスを再開してはいけないと思います。
追記(2019/1/30 9:45)
結局、収まるところに収まってきたという印象です。
問題の対応を進めておりますが、網羅的な確認、専門企業による確認などの対応を行い、より安全な状態でサービスをご提供したいと考えています。
— Peing-質問箱-(公式) (@Peing_net) 2019年1月29日
そのため本日のメンテナンス終了を延期し明日改めて再開のスケジュールをご提示させてください。
早期に復活いたしますので、どうぞ宜しくお願い致します。
メンテナンスの延長が続き、ユーザの皆様に多大なるご心配、ご迷惑をおかけしており、申し訳ございません。
— Peing-質問箱-(公式) (@Peing_net) 2019年1月29日
本問題の改修も含め、より安全で魅力的なサービスとしてご利用いただけるよう務めます。
本件の一連の問題に関し、重ねてお詫び申し上げます。
ちなみに、ハッシュしたパスワードが漏れた件については、Twitterアカウントのパスワードではなく、Peingで独自に設定するパスワードのハッシュだそうです。
このパスワードはPeing特有に設定するものであり、Twitterアカウントのパスワードとは異なる。ソルトはパスワードをハッシュ化する際にパスワードに付加する文字列で、ハッシュ値から元の文字列を推測しづらくするために利用するものだ。
今後はサービス開始を急がず、たんたんと調査が進められた後に開始されるでしょう。インシデント発生時の事例として学ぶべき内容の多いシナリオだったと思います。
追記(2019/1/31)
サービス再開したとのこと。
私の感覚よりすごく早い再開なのですが、この判断が正しいのかどうかは、ここから何も見つからないかどうかにかかっていると思います。