現在、Linuxソフトウェアのほとんどは、ディストリビューションのソフトウェアリポジトリから入手しています。これらのアプリケーションは、Linuxディストリビューション専用にパッケージ化されている必要があり、Linuxユーザーアカウントとそのすべてのファイルへのフルアクセスを信頼できる必要があります。
しかし、開発者が標準的な方法でアプリケーションを配布し、どの Linux ディストリビューションにもインストールして実行できるとしたら、そしてそのアプリケーションが「サンドボックス」で実行されるとしたら、セキュリティやプライバシーのリスクなしに、すぐにダウンロードして実行できるとしたらどうなるでしょうか。
これは単なる夢ではありません。GNOMEデスクトップ関連のサンドボックスアプリケーションプロジェクトの目標であり、最初の完全サンドボックス化アプリケーションはすでに登場しています。このプロジェクトの予備バージョンは、Fedoraの次期リリースであるFedora 22に含まれる予定のGNOME 3.16でリリースされる予定です。
これが素晴らしい理由
このプロジェクトには 2 つの重要な部分があります。
一つは、クロスディストリビューションパッケージ形式です。パッケージには、必要なすべてのソフトウェアに加えて、そのディストリビューションから必要なソフトウェアの「ベースシステム」も含まれています。例えば、あるパッケージは「GNOME 3.16」や「KDE 5.1」に依存するかもしれません。(そうです。GNOMEに属しているにもかかわらず、このプロジェクトは様々なデスクトップ環境で動作します。)そして、Linuxディストリビューションは、アプリケーションが依存するベースソフトウェアのインストールと提供を担当します。Fedora 21でしか動作しないパッケージではなく、標準のGNOME 3.14ベースシステムを提供できるすべてのLinuxディストリビューションで動作するパッケージが得られます。このような試みは、Zero Installなどのプロジェクトで以前にも試みられてきましたが、成功には至っていません。しかし、これは素晴らしい、崇高な目標です。
このプロジェクトのサンドボックス化部分は、より斬新で刺激的です。インストールしたアプリケーションは、必要なリソースが最小限に制限され、システムの他の部分から分離されます。
サンドボックス化された Neverball アプリ。
例えば、サンドボックス化された最初のアプリは「Neverball」というオープンソースゲームです。このゲームは比較的自己完結的であり、サンドボックスはその点を活用できます。サンドボックス化されたNeverballゲームは、ハードウェアへのアクセス(必要な3Dグラフィックアクセスを除く)、ネットワークへのアクセス、ユーザーアカウントのファイルへのアクセスは一切ありません。音声出力はPulseAudio経由のみ、ビデオ出力と入力受信はWaylandグラフィックサーバー経由のみ可能です。バックグラウンドプログラムであれ、デスクトップ上の他のウィンドウであれ、コンピューター上で実行されている他の動作は一切認識できません。
Waylandの要件は、今後の障害となる可能性があります。Linuxエコシステムの大半がWaylandへと移行している一方で、Ubuntuは独自のMirディスプレイサーバーに固執しています。これは、Ubuntu for Phoneと長期的な統合目標に適していると主張しています。これらのサンドボックス化されたアプリケーションは、UbuntuのUnityデスクトップではすぐには動作しないでしょう。
Linux、BSD、Chrome OS、そして Windows 以外の世界の最新情報を知りたいですか? Windows 以外の世界のコラムページをブックマークするか、RSS フィードをフォローしてください。
無限の彼方へ?
これは間違いなく将来を見据えたソリューションです。パッケージ形式の違いを気にすることなく、あらゆるLinuxディストリビューションにアプリケーションをインストールできると想像してみてください。そして、そのアプリケーションは厳重にロックダウンされ、システムへのアクセスは最小限に抑えられます。悪意のあるコードを含む開発者だけでなく、コード自体のセキュリティ脆弱性からも保護されます。攻撃者はそのアプリケーションをクラックすることはできますが、小さなサンドボックス内でしか動作できません。
これは、まもなく利用可能になる新技術のほんの一部です。開発者のAlexander Larsson氏は、自身のブログで、この初の完全サンドボックス化されたLinuxアプリケーションの概要を解説しています。技術的な詳細を詳しく知りたい方は、GNOMEプロジェクトのWikiにある「サンドボックス化されたアプリケーション」ページをご覧ください。