コンピューターサイエンス専攻の学生が語る、YouTubeでプライベート動画を視聴できないバグを発見

Table of Contents

コンピューターサイエンス専攻の学生が語る、YouTubeでプライベート動画を視聴できないバグを発見

昨年初めまで、Google の YouTube にはセキュリティ上の欠陥があり、動画の識別子を知っていたり推測したりして、その欠陥を悪用できる技術的知識を持つ人なら誰でも、非公開動画を低解像度で視聴できるものの音声は聞こえない状態だった。

このバグは、ハンガリーのセゲド大学のコンピュータサイエンスの学生であるDavid Schütz氏によって2019年12月に特定され、同社の脆弱性報奨プログラム(VRP)を通じてGoogleに報告された後、2020年1月に修正されました。

月曜日、シュッツ氏はバグを発見した経緯を公表した。このバグは、ブランドに関連する画像の登場など、動画内の特定のフレームを広告主がマークできるようにするための「モーメンツ」と呼ばれるシステムにあった。

シュッツ氏は、動画にモーメントをマークする行為が/GetThumbnailsエンドポイントへのPOSTリクエストを生成し、動画からBase64エンコードされたサムネイル画像を返すことを発見しました。そして、非公開動画の識別子を使用して同様のネットワークリクエストを送信した場合でも、広告ツールはサムネイル画像を取得することが判明しました。

ファーウェイ

ファーウェイのチップを使ったビデオエンコーダーにはバックドアと深刻なバグがあるが、中国大手は責任を負わないと主張

続きを読む

その時点で、シュッツ氏は、自身が特定した安全でない直接オブジェクト参照 (IDOR) を使用して、一連の個別のフレームを要求し、それらを組み合わせて元のビデオに近いシーケンスを作成できる可能性があると考えました。

「実際に動く『動画』を生成する概念実証用のPythonスクリプトを作りたかったんです」と彼は記事の中で説明している。「いくつか計算してみたところ、動画が24fpsの場合、1フレームが画面に表示されるのは33ミリ秒だということが分かりました。つまり、0ミリ秒から始めて33ミリ秒ずつ増やしながらすべての画像をダウンロードし、取得した画像を使って何らかの動画を構築するだけでいいのです。」

うまくいきました。シュッツ氏は、一連のフレームのサムネイルをダウンロードし、再構成して再生することができました。そして、その過程を撮影した動画を以下に公開します。

YouTubeビデオ

シュッツ氏は、この技術には限界があることを認めている。サムネイル画像では解像度の低い再構成が生成される、音声トラックがキャプチャされていない、取得するプライベートビデオの識別子(簡単に推測できないもの)を入力する必要がある、などだ。

しかし彼は、この欠陥は隣接するシステム間の相互作用を観察することの重要性を浮き彫りにしていると指摘する。今回のケースでは、YouTubeの開発者はMoments機能のセキュリティとプライバシーへの影響を見落としていた。

シュッツ氏は、その功績により、GoogleのVRP(バグ修正プログラム)に基づき、2020年1月に5,000ドルのバグ修正報奨金を獲得しました。ちなみに、これは2015年にGoogleがセキュリティ研究者カミル・ヒスマトゥリン氏に支払った金額です。ヒスマトゥリン氏は、誰でも他人の動画を削除できるバグを報告していました。®

Discover More