26
Qubes OS: セキュリティを重視したオペレーティングシステム

システムセキュリティへのアプローチ

アラン: こんにちは、ジョアンナ。私たちとチャットする時間を割いていただき、改めて感謝します。

ジョアンナ:どういたしまして。

アラン: 忙しいのは承知していますので、前回のインタビュー (独占インタビュー: カーネル ルートキットの 3 つのレベルを超えて) へのリンクを貼っておきます。その中でルートキット以外のリスクについてもお話ししましたので、読者の皆さんにはまずざっと目を通すようにお願いします。

 しかし、私は本当に Qubes OS についてお話ししたいと思っています。

読者の皆様のために、システムセキュリティへの3つのアプローチについて改めておさらいしたいと思います。メモリのランダム化、コードの難読化、システム管理者による複雑なパスワードの設定義務付けといった、隠蔽によるセキュリティがあります。これは第一線としての防御策です。つまり、犯罪者があなたの家を見つけられなければ、侵入することはできません。これは犯罪者がより容易な標的を探すように仕向ける抑止力となります。しかし、彼らが本当にあなたのデータを欲しがっている時には、この方法は効果がありません。

次に、正しさによるセキュリティがあります。ソフトウェア開発者は、脆弱性がないようにバグのないコードを書こうとします。ソフトウェアはパッチを当てるたびに少しずつ正しさを増していきます。しかし、毎月第2火曜日に見られるように、Microsoftが持つリソースをもってしても、完璧に正しいOSを開発するには不十分です。現代のソフトウェアは非常に大きく複雑なため、コードが完璧であることを検証することはほぼ不可能です。

最後に、分離によるセキュリティがあります。これは、やや悲観的(ただしより現実的)な見方で、どんなセキュリティ対策を講じても、いつかは悪意のある人物が突破してくるため、悪意のある人物がシステムの他の部分にアクセスできないようにすることに重点を置くべきだというものです。これでお分かりいただけたでしょうか?

Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。

ジョアンナ:はは!もっとたくさんの面接官がこんなにしっかり準備してくれたらいいのに。 :)

これにもう一つカテゴリーを追加したい。それは、事後対応型セキュリティだ。これは実際には、パッチとシグネチャ(IDSとAV用)に帰着する。もちろん、誰もがよく知っているように、このアプローチは最も効果が低い。

アラン:分離によるセキュリティの問題は、SafariやChromeのサンドボックス、Internet Explorerの保護モードといった一般的な実装は、概念的には優れているものの、実際には安全性が低いことです。完全な分離を開発することは、正当性によるセキュリティと同じくらい難しいのでしょうか?

ジョアンナ:そうですね、分離(サンドボックス化)を実装する場合でも、正確性によるセキュリティは必要です。違いは、これは分離を強制するコードにのみ必要であり、すべてのコードに必要ではないということです。

分離を強化するコードが非常に小さいシステムを設計できれば、正しく記述する必要があるコードが大幅に少なくなるため、明らかに有利になります。

一方、多数の複雑な API をアプリケーションに公開する、巨大でバグの多いモノリシック システム上にサンドボックスを構築しようとすると、正しく記述する必要があるコードの量はそれほど少なくなく、潜在的なメリットはそれほど明白ではありません。

余談ですが、「サンドボックス」という言葉が流行語になったのは面白いですね。マルチタスクOSの黎明期から、システムはプロセスとユーザー間の分離(アドレス空間の分離、ファイルシステムオブジェクトへのアクセス制御など)を実現するはずでした。

したがって、マルチタスクOSでは、何十年にもわたってすべてのプロセスが「サンドボックス化」されてきたと言えます。ただし、第一に、サンドボックス化はサーバーアプリケーション向けに設計されており、デスクトップアプリケーション(通常、すべてのプロセスが同じユーザーとして実行される)向けではありません。第二に、OSカーネルにバグが多く、この分離を強制するのにそれほど効果的ではなかったのです。

今日のサンドボックス テクノロジは、デスクトップ アプリケーションにより適合するようにすることで、最初の問題に対処しようとします。

例えば、ブラウザを複数のプロセスに分割する必要があるかもしれません。1つはレンダリング用、もう1つはユーザーインターフェース処理用、といった具合です。これは良いことですが、前述の2つ目の問題は依然として解決されていません。数百ものドライバやネットワークスタックなどを内蔵し、巨大でバグだらけのカーネルに頼って、強力な分離を実現できるのでしょうか?

人気のある OS (Linux も例外ではありません) のカーネル エクスプロイトを定期的にリリースする人々は、「NO!」と叫んでいるようです。

現在のページ: システムセキュリティへのアプローチ

次のページ Qubes OSの紹介