サイトアイコン TechWave(テックウェーブ)

Facebookのアクセストークン流出問題、原因は複雑に絡み合う3つのバグ


米Facebookでログインに使われるデジタルの鍵(アクセストークン)がユーザーアカウントは約5000万件分の流出の危機にさらされた問題(参考「Facebookが緊急声明、“デジタルの鍵” – 約5000万アカウント分が盗難危機」)で、現地時間の2018年9月28日、CEOであるマーク・ザッカーバーグ(Mark Zuckerberg)氏は記者会見の中で、その原因などについて述べました。

なお、同社は、この問題はすでに対策が施されており、ユーザーがパスワード変更をするなどの措置をする必要はないとしていますが、現時点で攻撃者や被害規模は特定できていません。さらに予防措置として設定の「セキュリティとログイン」で不正なログインがないか確認したり一度ログアウトすること等が提唱されています。

Mark Zuckerberg氏は「調査の初期段階であるものの、すべてを共有したい」と前置きした上で、「攻撃の内容からすると首謀者は手練れである可能性がある」と説明。現時点におけると対策と、そもそも何に問題があったかを述べました。

「この脆弱性を使うことで、ユーザーのアカウントを引き継ぐか、アクセスできます。ただ、調査はまだ非常に早い段階で、私たちはまだアカウントのいずれかがわからないのですが、実際に誤用されています。これまでのところ、私たちの最初の調査では、これらのトークンを使用してプライベートメッセージや投稿にアクセスしたり、何かを投稿したりしたことが分かっています。攻撃者はAPI情報にアクセスしてプロファイル情報フィールド(名前、性別、故郷)にアクセスしようとしました」。

Facebook社が対策した4つのこと

1. 当該アクセストークンを無効

最大5000万人のアカウントのアクセストークンを無効にし、影響を受ける可能性があるユーザーをログアウトしました。これらのアカウントは次回ログイン時に、何が起こっているか警告が表示されます

2. 脆弱性を修正

予防措置としてこの脆弱性を修正。また、一時的にプロフィールのプレビュー機能「View As」全体を削除。
対策は問題発覚の2日後に行われています。

3. プロフィールプレビュー機能を使ったユーザーをログアウト

予防措置として影響のあるアカウントをログアウトしています。脆弱性が導入されてからView As機能を使用した全員(4000万人以上)が対象。

4. 法執行機関と連携

攻撃者を特定するのに役立つFBIや法執行機関と連絡を取りあう。

アクセストークン流出脆弱性3つの問題

この問題は2017年7月に導入された新しいビデオアップロード機能に起因するといわれます。2018年9月16日にはおかしな挙動を発見していたとFacebookは説明します。

1. View As機能の関数を悪用

プロフィールのプレビュー機能に含まれる関数に含まれる脆弱性(バグ)を悪用

2. ビデオアップローダのバグ

ビデオアップローダがシングルサインオンを間違って使用していたため、アクセストークンが生成されていた。

3.

ビデオアップローダがView Asのバグによって不適切な形で呼び出されてしまった。そのために、アクセストークンが、他のユーザーがアクセス可能な形で生成されてしまった。

このように、今回の脆弱性は3つのバグの組み合わせで発生しました。
攻撃者はこの非常に見つけにくい問題を発見することに成功し、攻撃を実行するために、大量のユーザーのアクセストークンの獲得に動いていたということです。

Mark Zuckerberg氏は度重なるセキュリティ問題に対し、「これは本当に重大なセキュリティ問題です。そして、私たちはそれを真剣に受け止めています。(中略)セキュリティに重点を置いて投資を継続し、より積極的に対応する必要があり、私たちのコミュニティを保護することを約束します」と説明しました。

【関連URL】
・[リリース] Security Update

蛇足:僕はこう思ったッス
 Facebookはさまざまなプログラムのコーディング用ライブラリの活用に注力している。今回のバグが発見された部分についても安全なライブラリを使い、プログラミングコードのレビューを行い、解析ツールまでを導入していたとのこと。にもかかわらず脆弱性発見には至らなかったとのこと。攻撃者の執拗かつ高度な手腕に驚かされる一方で、セキュリティに関する考えにも一石を投じることになりそうだ。

モバイルバージョンを終了