ITmedia NEWS > セキュリティ >
セキュリティ・ホットトピックス

質問箱のPeingに脆弱性 ユーザーのTwitterトークンが“丸見え” 公式アカウントが乗っ取られメンテナンスに

» 2019年01月29日 18時08分 公開
[井上輝一ITmedia]

 Twitterユーザーが匿名で質問を受けられるサービス「Peing-質問箱-」に、セキュリティ上の脆弱(ぜいじゃく)性があることが1月28日分かった。悪用すれば、第三者が任意のユーザーになりすましてツイートを投稿することなどが可能だった。運営会社のジラフは同日午後10時10分に対応を完了したとして、アプリ連携を解除しなくても問題はないとしている。

メンテナンス中の「Peing-質問箱-」

 Peingを利用しているTwitterユーザーのトークンなどが、ブラウザの開発者ツールを用いるだけで誰でも閲覧できる状態になっていた。ジラフによれば「ユーザーの過去のツイート(公開、非公開関わらず)、トークンを用いて登録されたメールアドレス、ハッシュ化されたパスワードの取得」「Twitterへの投稿」「相手を指定したダイレクトメッセージの送付」が可能だったという。

脆弱性の悪用でできたこととできなかったこと

 28日午後9時ごろ、何者かがこの脆弱性を利用し、Peingの公式アカウントから「Peingには脆弱性があります。サポート宛てに連絡したので確認をお願い致します。どうか早急な対応を」とツイート。Peingの運営チームがすぐに削除したが、Twitterユーザーがそのスクリーンショットを拡散し、Twitterトレンドに「Peing」が入るなど話題になった。

 Peingの公式アカウントは同日午後9時35分に「緊急メンテナスを実施します。ご迷惑をおかけして大変もう申し訳ありません」(原文ママ)とアナウンスし、サービスをメンテナンス状態にした。当初は「明朝まで」に復旧を予定していたが、「29日午後6時まで」に延長した後、さらに午後8時まで延長した。

 一般に、Twitter連携アプリはTwitter開発者コンソールからユニークなコンシューマーAPIキーとAPIシークレットキーを発行する。

 この2つのキーをTwitterのユーザー連携認証用の関数に通し、各ユーザーにアプリ連携の手順を踏んでもらうことで、アプリ自身はユーザーのパスワードを取得することなく、アプリとTwitterユーザーアカウントを連携できる。

あるTwitter連携アプリの開発者用画面。アプリ固有のAPIキーは再生成できる。開発者アカウントに関してはここからアクセストークンの発行も可能

 この認証方法を「OAuth」(オーオース)といい、アプリはユーザーパスワードの代わりにアクセストークンとアクセストークンシークレットを得る。これら4つのキーを合わせて初めて、あるアプリからあるTwitterユーザーとしてアクションできるようになる。

 今回の脆弱性では、開発者ツールから確認したTwitterユーザーのスクリーンショットを見ると、アクセストークンとアクセストークンシークレットがユーザー情報とともに記載されている状態で、コンシューマーAPIキーとシークレットキーは少なくとも別の場所にあったようだ。

 また、これらのキーが閲覧できてしまう脆弱性は以前から指摘されていたようだ。Twitter上では1月24日にも脆弱性を指摘するツイートがある他、「昨年10月から脆弱性が放置されていた。報告しても一部しか直されなかった」という声も上がっている。

Copyright © ITmedia, Inc. All Rights Reserved.