
ちょうど1か月前、DropboxはDropbox Infiniteを発表しました-会社がブログに書いたように、「あなたのファイルにアクセスするための革新的な新しい方法」。 デモビデオでは、Dropboxデスクトップクライアントが、ブラウザーを起動せずにファイルシステムレベルでクラウドファイルストレージに直接アクセスできることを示しました。 ローカルディスクはクラウドストレージのサイズによって「成長」し、ファイルに直接アクセスできます。 クラウドストレージは、ローカルドライブよりも大きい場合があります。 これで、会社はこの機能がどのように機能するかの技術的な詳細を明らかにしました 。
専門家は最初の発表の直後に、Dropboxクライアントに脆弱性が見つかった場合、Project Infiniteが部外者にシステムへのアクセスを許可することに懸念を表明しました。 Dropboxの独自のカーネル拡張機能は、システムの一種のバックドアになります。
基本的に、Dropboxの技術的な説明は、この懸念をある程度サポートするようになりました。 実際、Dropbox Infiniteはコアレベルで統合されます。
「従来、Dropboxは、マシン上の他のプログラムと同様に、 ユーザー空間で完全に機能していました」と、同社の開発者であるDamien DeVille は書いています。 「Dropbox Infiniteを使用すると、さらに深くなります。コアスペースへ。」 このテクノロジーにより、Dropboxクライアントは、ローカルディスクで発生していることを監視するパッシブオブザーバーから、ファイルシステムでのアクティブロールに役割を変更します。 ほぼ2年間、私たちはパズルのピースをつなぎ合わせて透過的に動作するように取り組んできました。」
開発者は、通常のFUSEスキームはパフォーマンスの点では適さないと説明しています。各ファイル操作では、通常、カーネルスペースとユーザースペースの間で不要なコンテキストの切り替えが必要です。

このようなコンテキストスイッチは、パフォーマンスの点で非常に高価です。
FUSE使用時のパフォーマンスの低下
パフォーマンスだけが理由ではありません。 Dropboxは、標準のFUSEライブラリを独自のカーネル拡張機能に置き換えると、不必要な複雑さがなくなり、システムのセキュリティが向上すると考えています。
もう1つの便利な点:カーネル拡張機能では、 カーネル認証 (Windowsのコピーフック )によるアクセス制御が機能し、Dropboxフォルダー内の特定の操作を検出および禁止します。

このような検証は、FUSEを使用して行うよりもはるかに簡単です。

アプリケーションがカーネル空間で実行される場合、ユーザー空間の通常のプログラムよりもはるかに多くの余裕があります。 セキュリティの観点から、これは非常に危険です。 「Dropboxがコアであれば、あらゆるものにアクセスできます」 と San Francisco Collegeで倫理的ハッキングを教えるSam Bowne 氏は言います。 「Dropboxクライアントにバグがある場合、それを使用してシステム全体をキャプチャできます。」
ハッカーはほぼこの方法で、 Symantec / Norton (CVE-2016-2208)のウイルス対策ソフトウェアのバグを使用しました 。 ウイルス対策は、Dropboxが侵入しようとするカーネル空間でも機能します。
何がうまくいかないように思えますか?
Symantec / Nortonアンチウイルス、CVE-2016-2208のカーネルメモリの破損(パッチの追加予定)。 https://t.co/Sqhm0a48Fp pic.twitter.com/F22xDIelSU
-Tavis Ormandy(@taviso) 2016年5月17日
「私たちはセキュリティを真剣に考えており、ユーザーとそのデータを保護するために最善を尽くしています」とDropboxは書いています。 「当社のレッドチーム [内部の独立した脆弱性検索ユニット]は、バグバウンティプログラムを提供し、脆弱性を探すために独立したペンテスターを定期的に招待しています。」
Dropboxはセキュリティリスクを認識しています。 カーネルの拡張は、システムの安定性と整合性を確認するために、ほぼ1年間社内でテストされています。 すべてのリスクを理解し、会社はこれがまだ便利な機能であると信じています。