オンラインストレージの存在感が日々増している。Windows 8においてはOneDriveがOSと一体化し、ユーザーが意識することなく使う場面が増えている。Windows 8では各種設定をOneDrive上にアップロードし、同じMicrosoftアカウントで別のコンピューターにサインインすると、その設定をダウンロードする仕組みが用意された。また、OneDriveフォルダーに置いたファイルはオンラインストレージと同期し、外出先などでもシームレスに扱える。

筆者も外出先から参照する可能性があるファイルをOneDriveにアップロードし、編集者に原稿を送る際にDropboxやGoogle Driveを利用してきた。そんなオンラインストレージの利便性に水を差す事柄が発生した。Dropboxの共有リンクに脆弱性が発覚したのである。

初期状態で有効になっている「同期の設定」。各種設定データはOneDriveにアップロードされるが、ユーザーが参照する術は用意されていない

OneDriveフォルダーに作成したファイルは、オンライン上のOneDriveと自動的に同期する

概要を簡単に説明しよう。Dropboxでは他のユーザーとファイルを共有する際、アップロードリンクを発行する仕組みを使う。このリンクを電子メールで送れば、相手は同一のファイルをダウンロードできる。ここで問題となるのが、第三者にアップロードリンクが漏れた場合である。本来なら情報漏えいは自己責任の範囲だが、今回はHTTPヘッダの一つで、ユーザーが直前までアクセスしていた情報(リンク元)を提供する「リファラー」から漏えいすることが明らかになった。

そもそもリファラーは、2000年代前半からプライバシー漏えいの可能性から問題視され、WebブラウザーやPROXYサーバーの設定を変更することが推奨されている。だが、今回はサードパーティのWebサイトへのハイパーリンクを含むドキュメントを共有し、そのリンクを相手が開くとDropboxの共有リンクがリファラーとしてサードパーティのWebサイトに公開されてしまうのだ。

たとえば、WordドキュメントファイルやPDFファイルをWebブラウザー内で開き、そこにあるWebサイト(A)へのリンクが記載されていたとしよう。あなたがリンクをクリックすると、Dropboxの共有リンクがあるWebサイト(A)にリファラーとして送信されるという仕組みだ。

もちろんリファラー情報を確認するのは基本的にWeb管理者のみだが、本来第三者に知られてはいけない情報が送信されるのは、決して好ましいものではない。Dropboxは共有リンクを再作成するヘルプページと、既存の共有リンクを削除するページを公開した。下図の手順を実行することで、リファラーを含まない共有リンクが作成できるとDropboxは述べている。

Dropboxの共有リンクを削除し、再作成の手順を紹介するヘルプページ

同社の素早い対応で今回の問題は早期に収束しそうだが、気になるのはOneDriveやGoogle Driveは安全なのか、という点だ。リファラーによって共有リンクが漏れるか否は検証環境が用意できないため割愛し、両者の共有設定を確認した。

Google Driveではファイルに対してアクセスできるユーザーを制限し、Googleアカウントによるサインインを要求する。共有相手以外のGoogleアカウントでサインインしても「権限が必要です」というメッセージが現れ、ファイルを参照することはできない。

Google Driveの共有リンク作成画面。アクセスできるユーザーの指定が必要だ

異なるユーザーで共有リンクにアクセスしても、ファイルを参照できなかった

一方、OneDriveは共有リンクを知っていれば、Microsoftアカウントによるサインインを行わずに、共有ファイルを閲覧できる。閲覧範囲として「表示のみ/編集/公開」の3段階を選択できるが、今回は「表示」を選択しても未サインインの状態で共有ファイルの閲覧が可能だった。利便性が高いオンラインストレージだが、Dropboxの脆弱性が発覚したこのタイミングで、使い方を見直す時期が来たのだろう。

OneDriveの共有リンク作成画面。ファイルに対してアクセスできる権限の設定が可能

異なるPC上で共有リンクを開いた状態。このように未サインイン状態でもアクセスできる

阿久津良和(Cactus)