Office のファズ テスト
原文の記事の投稿日: 2011 年 5 月 2 日 (月曜日)
Office 2010 が Microsoft Office のなかでも最高の安全性を実現した背景には、Office チームが生産性ソフトウェアの開発とテストの手法に加えたいくつかの変更が寄与しています。潜在的な脅威を想定した Office の設計、セキュリティ上の弱点を探すためのプログラミング コード レビュー、侵入テストの実行に加え、マイクロソフトではソフトウェアの安全性を高める工程の 1 つとしてファズ テストも採用しています。他のセキュリティ向上策については、別の投稿で紹介する予定です。
ファズ テストは、最近セキュリティの専門家の間で大きく話題になっています。たとえば、Computer Emergency Response Team (CERT) の記事「 A Security Comparison: Microsoft Office vs. Oracle OpenOffice (英語) 」、Dan Kaminsky の記事「 Fuzzmarking: Towards Hard Security Metrics For Software Quality? (英語)」などがあります。
今回は、ファズ テストとファイル ファジングに対する Office チームのアプローチについて紹介します。
Office 2010 のセキュリティの詳細については、Microsoft ダウンロード センターのホワイトペーパー「 Keeping Enterprise Data Safe with Microsoft Office 2010 」および TechNet の Office 2010 Security Resource Center (英語) を参照してください。 |
ファイル ファジングの基礎知識
ファイル ファジングとは、"ファズ" と呼ばれる無作為のデータをアプリケーションに与えてファイル形式を変更し、アプリケーションの反応を監視するプロセスです。このテスト手法は、ソフトウェア制作会社が実行する場合と、マルウェアを作成する攻撃者が実行する場合があります。ソフトウェア制作会社は、この手法を使用して自社のソフトウェア アプリケーションのバグや問題点を特定し、リリース前にアプリケーションの安全性と安定性を可能な限り確保するのに役立てます。一方、マルウェアを作成する攻撃者は、アプリケーションの脆弱性を見つけて悪用する目的で、ファイル ファズ攻撃やファイル形式攻撃を行います。ソフトウェア アプリケーションに脆弱性が見つかると、攻撃者がそれを悪用してファイル形式攻撃を行う可能性があります。
ファイル形式攻撃はファイルの完全性を損なう攻撃であり、何者かが悪意のあるコードを追加する目的でファイル構造を改ざんした場合に発生します。攻撃者が追加した悪意のあるコードは、ファイル ファジングされたファイルを開いたときに実行されます。その結果、攻撃者は、それまでアクセスできなかったコンピューターにアクセスできるようになります。このようにして不正に入手されたアクセス許可によって、攻撃者がコンピューターのハード ディスク ドライブから機密情報を読み取ったり、ワーム、キー ロギング プログラムなどのマルウェアをインストールしたりする可能性があります。
ファズ テストと防止策
Office チームでは、Office 2010 の開発時に、アプリケーションのバグや潜在的脆弱性を特定する目的で、 自動分散ファイル ファズ テスト (英語) を使用しました。さらには、サポート ライフサイクルでも引き続きテストを行っています。こうしたテストにおいては、Microsoft Office で開く全ファイル形式の新しい脆弱性を検出するために、Office スイート全体の 300 種を超えるファイル形式を網羅する何百万個もの Office ファイルに対し、さまざまな方法を駆使したファズ テストが、毎週何千万回も実施されました。
さらに、Microsoft Office 2010 では、ファイル ファジング攻撃を防止するために、保護されたビュー、ファイル制限機能の設定、データ実行防止 (DEP) 機能、ASLR (Address Space Layout Randomization)、ファイル検証機能なども活用できます。
先日、このファイル検証技術は、Office 2003 および Office 2007 の更新プログラムにも組み込まれました。これは、まだ Office 2010 に移行していないユーザーをファイル ファジング攻撃から保護するのに役立ちます。すべてのユーザーにこの更新プログラムの適用を強くお勧めします。詳細については、TechNet の記事「 Office File Validation for Office 2003 and Office 2007 (英語)」を参照してください。
これはローカライズされたブログ投稿です。原文の記事は、「Fuzz Testing in Office」をご覧ください。