TaintBochsの研究がOSメモリの永続性に注目
Rosenblumによれば、この問題とは、現代のOSには、機密データの寿命を制限する組み込みのメカニズムがないことだという。この結果、システムメモリ内に移動されたパスワードやその他の機密データが、ハードディスク上の特定の領域にスワップされ、数年間(ユーザーがこのハードディスクを処分したり、売ったり、交換したり、捨てたりすることになったときまで)残ってしまう可能性がある。
Rosenblumのチームは、TainBochsという名のソフトウェア・シミュレーション・システムを作成し、一般的なコンピュータシステムを再現した。このソフトウェアでは、データにマークまたはタグを付けた後、これをシステム内で追跡することができる。
この作業は、当初はMozilla、Apache、Perlなどのアプリケーションに格納されていたパスワードやその他の情報の出所を突き止める。これらのアプリケーションはシステムメモリ内で実行されるが、このメモリは、OSによってハードディスク上のスワップ領域にコピーされる。ハードディスク上に記録されたデータが上書きされるまでの期間は決まっておらず、その後何年もの間、手付かず、かつ危険な状態に置かれることになる。
セキュリティのコミュニティでさえ、この問題に注目している人はほとんどいない。おそらくこれは、個人データやパスワードにアクセスしやすいキーロガーや電子メールの受信箱などに比べ、数百メガバイトのRAMの中を探し回るというのは攻撃者にとって現実的でないからだろう。それでも、適切なツールさえあれば、数年間分もの電子メールやWeb閲覧の記録を見つけられるかもしれない。
データの寿命の問題は、一般的な企業が採用しているハードディスク処分方法とあいまって、より深刻な脆弱性となる。米国の主要な企業は、マシンの使用中にはセキュリティに関して厳格な優先順位を設けていても、ハードディスクをリサイクル・プログラムやごみ処理場、安全でない業者などへ送る。TaintBochsの調査によれば、LinuxシステムとWindowsシステムのどちらでも、最低でも1年間のデータが垂れ流しになっているという。
Rosenblumは、ハードディスク上に残ったデータのリスクはセキュリティ問題として目新しいものではなく、また、機密情報を手に入れるもっとよい方法は数多くあるということを認めつつ、この調査結果の重要なポイントは、注目を集めるために、8月にサンディエゴで開催されるUsenixで発表する、と強調した。
彼はさらに、TainBochsシミュレーション・システムは「非常に低速だった」としながらも、どこからデータが漏洩するか、そしてデータがどれだけの期間メモリに残存するかということを解明したと語っている。彼は、同じ情報をリアルタイムで得られるツールがあれば理想的だとしている。
Rosenblumによれば、スワップ・ギャップを避けるのが難しいのは、WindowsおよびLinuxを始めとするOSがパスワードやその他のデータをメモリにロックする方法が原因だという。「いくらデータを安全に保つアプリケーションを作成しても、結局はOSの犠牲になるのだ」
LinuxでもWindowsでも、メモリを制御または収容する比較的単純なスクリプトを扱うことはできるのだが、いずれのOSも(そして、今あるその他すべてのOSも)ハードディスク・スワップを積極的に防止しようとはしていないとRosenblumは言う。「LinuxでもWindowsでも、メモリがディスクに書き込まれないという保証はない」
問題の認識
「これ(研究)は、私が考えたこともない内容だった」と語るのは、Bastille Linux Projectのリード・デベロッパとIntelguardiansのコンサルタントを務めるセキュリティの専門家Jay Bealeである。「これ(ハードディスクへのデータ・スワップ)は頻繁に起きているにもかかわらず、われわれの誰も、これがセキュリティに及ぼす影響を考えていない」
Bealeは、他の方法によるパスワードの盗難、特にワームとの関係で考えた場合、TaintBochsが指摘するデータ残存の問題は非常に小さなものだという。しかし、だからといってこの問題を軽視してよいわけではなく、データを適切にロックしておくことは、スワップ・ギャップに真剣に取り組むことになると述べている。
Bealeはさらに、ワーム以外の、特定のドライブをターゲットとする高い能力を持つ攻撃者(uberhacker)の視点から見ると、RAMスワップ領域でセキュリティ対策を怠ると、問題が生じる可能性があるという。ただし、悪玉ハッカーは、キーロガーやrootkitなどを利用してより確実に情報を盗むだろう、とも述べている。
ハードディスクの再フォーマットやゼロによる上書きなどを行って、ディスクをクリーンアップしたとしても、専門化が適切なツールを使用して、時間をかければ、かなりの量の情報を入手できるとBealeは言う。彼は、University of AucklandのPeter Gutmannによる、この件についての論文を引き合いに出した。
「ハードディスクを完全にクリーンにするのは難しい。優れたツールを使い、時間をかけて行わなければならない」とBealeは言う。彼は、Windows用のクリーニング・ツールとしてはSymantecのGhostを、Linux用ではWipeを推薦している。
マイナー領域の研究
ライターでセキュリティ関連メーリング・リストVuln-Devの創始者でもあるセキュリティ専門家のRyan Russellは、パスワードなどの情報を得るには、ハードディスクの中を探し回るよりももっと簡単な方法があるという点でBealeと同意見である。
「これは興味深い研究であり、これに目を向けたことはすばらしいと思う。しかし、リスクはほかにもある。ほとんどの人にとって、この特別なリスクの重大度は非常に低いだろう。パスワードを保存したりクッキーをクリーンアップしなかったりするブラウザや、電子メールの受信箱の中にある何かのほうがずっと危険度が高いのだから」
Russellも、やはり廃棄の危険性のほうを強調する。スワップを悪用するにはディスクへの物理的なアクセスが必要であり、それが起こりうるのは、ハードウェアがスクラップされたり、譲渡されたり、そのままの形で廃棄されたりするときだ。
「心配しなければならないのは、処分のときだ」と彼は言う。自身が、ある企業からSunのワークステーションを譲渡された際、彼らはハードディスク上のデータを消去するどころか、隠そうともしなかったと彼は振り返る。
Russellは、処分されたハードディスクからのデータ漏洩についてのほかの研究をいくつか引き合いに出した。中には、電子顕微鏡を使って、現在のデータの下にある古いビットを読み取ることができるということを示したものもある。Russellはふたたび、TaintBochsの研究は意義深いものだと語った。
「誰も注目しない部分を研究する人々がいるのはすばらしいことだ」