Windows 2000 Syskey および暗号化ファイル システムにおいて噂されている脆弱性の分析

よく寄せられる質問

Microsoft® Windows® 2000 の Syskey 機能による保護機構を回避することができ、暗号化ファイル システム (EFS) によって保護されたファイルを権限のないユーザーが読み取ることを可能にするツールの存在について心配するお客様からの声が数多く Microsoft に寄せられています。お客様の懸念は、出先の従業員のラップトップが盗難された場合、そのデータが露見する可能性があるかどうかということだと思われます。

Microsoft では、このような情報について徹底的な調査を行い、推奨された方法で Windows 2000 を使用すれば、暗号化されたデータの解読を可能にするようなツールは存在しないことを確認しました。特に、ドメイン メンバのユーザーのデータであれば (ほとんどのユーザーがそうでしょう)、このようなツールを使用しても EFS で暗号化されたデータを解読することはできません。ユーザーがドメイン メンバでない場合であっても、Syskey が最も安全でないモードで使用されている場合にのみ、このようなツールを使用した解読が成功する可能性があります。Syskey がより安全な 2 つのモードで使用されていれば、こういったツールの使用は成功しません。

しかし、2 つの理由のために、このようなツールとそれが持ちうる危険性について議論する価値があります。まず、このようなツールの使用が成功しうるシナリオがいくつか考えられますが、お客様がこれらの問題を理解していれば、データの安全性を保証する措置を取るのは容易です。第2に、こういったツールを取り上げることによって、物理的にコンピュータを保護し、コンピュータから暗号化キーを取り除いておくことの重要性など、重要なセキュリティ面の考慮事項についてその実例を挙げることができます。Microsoft では、このような危険性を持つツールについて詳細に議論するために、次の FAQ セクションを作成しました。

トピック

言われている脆弱性について 言われている脆弱性について

Syskeyについて Syskeyについて

EFS について EFS について

アタッカーが Administrator アカウントのパスワードを既知の値にリセットすることを可能にするツールは実際に存在しますか? アタッカーが Administrator アカウントのパスワードを既知の値にリセットすることを可能にするツールは実際に存在しますか?

このようなツールの存在は、Windows 2000 の欠陥を表しているのですか? このようなツールの存在は、Windows 2000 の欠陥を表しているのですか?

Syskey は、このようなツールの使用を阻止できますか? Syskey は、このようなツールの使用を阻止できますか?

いったんアタッカーがローカル管理者としてログオンする手段を獲得したら、Administrator の EFS 回復キーを使用して別のユーザーの暗号化されたデータを読み取ることができますか? いったんアタッカーがローカル管理者としてログオンする手段を獲得したら、Administrator の EFS 回復キーを使用して別のユーザーの暗号化されたデータを読み取ることができますか?

なるほど。回復キーの危険性については一安心しました。それでは、アタッカーがローカル Administrator アカウントにログオンした後、あるユーザー アカウントのパスワードを通常のシステム ツールを使用してリセットし、そのユーザーとしてログインしてから、EFS 暗号化ファイルを読み取ることはできますか? なるほど。回復キーの危険性については一安心しました。それでは、アタッカーがローカル Administrator アカウントにログオンした後、あるユーザー アカウントのパスワードを通常のシステム ツールを使用してリセットし、そのユーザーとしてログインしてから、EFS 暗号化ファイルを読み取ることはできますか?

Syskey にはどのようなモードがありますか? また、それぞれのモードはどのように動作しますか? Syskey にはどのようなモードがありますか? また、それぞれのモードはどのように動作しますか?

攻撃の成功が Syskey モードに依存するのはなぜでしょうか? 攻撃の成功が Syskey モードに依存するのはなぜでしょうか?

Syskey をモード 2 またはモード 3 で使用した場合はどうでしょうか? Syskey をモード 2 またはモード 3 で使用した場合はどうでしょうか?

モード 1 で Syskey を使用している場合の攻撃が成功することは、セキュリティ面の欠陥を意味しますか? モード 1 で Syskey を使用している場合の攻撃が成功することは、セキュリティ面の欠陥を意味しますか?

このようなツールからシステムを保護するにはどうすればよいでしょうか? このようなツールからシステムを保護するにはどうすればよいでしょうか?

言われている脆弱性について

この問題についての一般的な噂は、次のようなものです。

  • Syskey が使用されているコンピュータであっても、コンピュータに物理的にアクセスできれば、Administrator アカウントのパスワードを既知の値にリセットできるツールをインターネット上で見つけました。アタッカーは、Administrator アカウント パスワードをリセットした後、管理者としてコンピュータにログオンして、コンピュータ上で EFS によって暗号化された任意のデータを管理者の EFS 回復キーを使用して読み取ることができるようです。またアタッカーは Administrator としてログオンして、別のユーザーのパスワードをリセットした後、そのユーザーとしてログオンし、ユーザーの EFS 暗号化データを読み取ることもできます。

 

Syskeyについて

Syskey は、Windows NTョ 4.0 で最初に導入された機能であり (さらに、Windows 2000 でも組み込み機能として提供されています)、これによってアタッカーが Windows NT コンピュータ上のパスワードに危険をもたらす可能性がより少なくなります。

Windows NT および Windows 2000 では、パスワードはSecurity Account Manager (SAM) (英語情報) データベースに保存されます。SAM には、パスワード値がそのまま保存されるわけでなく、パスワードのハッシュされた (英語情報) 値が保存されます。しかし、アタッカーが何らかの手段によって SAM のコピーを取得すると、考えられるあらゆるパスワードのハッシュを生成して、そのそれぞれを SAM データベース内のハッシュと比較する強引な攻撃を実行できます。そして、一致するハッシュを見つけることができれば、アカウントのパスワードがわかります。

Syskey は、強力な暗号化手法を使用して、SAM データベースを暗号化することによって、このような攻撃を阻止します。Syskey で保護された SAM のコピーをアタッカーが取得したとしても、まず Syskey を破らなければならず、さらにその後、ハッシュに対して強引な攻撃を実行しなければなりません。このような攻撃を行う場合に必要になる処理量は、計算上実行不可能なレベルになります。

 

EFS について

暗号化ファイル システム (EFS) は、コンピュータ上のファイルを暗号化して保護する Windows 2000 の機能です。

EFS は、アタッカーが Windows 2000 コンピュータを盗み出して、Windows 2000 のアクセス制御を尊重しないオペレーティング システムを使用して、コンピュータを起動し、ファイルをコピーすることを阻止する目的で設計されたものです。EFS は、ユーザーの指定したファイルを暗号化することによって、このような攻撃を阻止します。アタッカーは暗号化されたファイルを盗み出しても、各ファイルの暗号に対して個別に強引な攻撃を実行しなければ内容を読み取ることができません。

ここでの議論の中心になる EFS 機能が EFS回復エージェントです。回復エージェントは、ほかのユーザーが所有しているファイルを解読する権限を与えられたユーザーです。この機能を使用するのは主に、元の所有者がキーをなくしたときにファイルを解読したい場合です。EFS によってファイルを暗号化すると、回復エージェントによってアクセス可能なキーのコピーが作成されます。既定の設定では、回復エージェントは管理者です (ローカル ユーザーであればローカル管理者、ドメイン ユーザーであればドメイン管理者)。セキュリティ ポリシーによって、回復エージェントをカスタマイズできます。

 

アタッカーが Administrator アカウントのパスワードを既知の値にリセットすることを可能にするツールは実際に存在しますか?

このようなツールはいくつか見つかっています。どのツールでも、コンピュータに対して物理的にアクセス可能なアタッカーが、異なるオペレーティング システムを起動する必要があります。その後これらのツールは、ローカルな Administrator アカウントのハッシュ済みパスワードを既知の値に変更するために、ローカル SAM データベース内のエントリを上書きします。これによってアタッカーは、コンピュータを通常の方法で再起動し、新しいパスワードを使用してローカルの Administrator としてログオンできます。

 

このようなツールの存在は、Windows 2000 の欠陥を表しているのですか?

そうではありません。このようなツールは単に、セキュリティに関する 10 の鉄則の鉄則 2 および鉄則 3 の一例に過ぎません。

  • あるコンピュータのオペレーティング システムを悪意ある人物が変更してしまえば、それは既に元のコンピュータではありません。
  • あるコンピュータに悪意ある人物が物理的にアクセスできるのであれば、それは既に元のコンピュータである保証はなくなります。

コンピュータの世界においては、あるオペレーティング システムによって作成されたユーザー操作を規制するアクセス制御情報が、ほかのオペレーティング システムでは無意味になることはよく知られている事実です。アタッカーが異なるオペレーティング システムを起動できれば、新しいオペレーティング システムで動作するプログラムでは、コンピュータ上の情報を単なる 2 進データの集合として扱い、どのような情報でも追加、変更、削除できます。つまり、任意のオペレーティング システムに対して、そのベンダーにかかわらず、攻撃可能なツールを構築できるわけです。

 

Syskey は、このようなツールの使用を阻止できますか?

いいえ。Syskey は、このような攻撃を阻止することを想定して設計されていません。Syskey は、パスワード データの開示を抑止しますが、パスワード データの変更を抑止することを意図した設計はされていません。この場合、非常に異なる 2 つの問題が存在します。別のオペレーティング システムからコンピュータを起動するアタッカーに対して、そのコンピュータのデータの変更を抑止するのは不可能です。また、SAM データベースを上書きできるアタッカーであれば、オペレーティング システム自身を変更し、Syskey 機能を完全に削除してしまうことも可能です。この段階でアタッカーは、前述のような方法で攻撃を実行し、SAM を既知のハッシュで上書きすることができます。

 

いったんアタッカーがローカル管理者としてログオンする手段を獲得したら、Administrator の EFS 回復キーを使用して別のユーザーの暗号化されたデータを読み取ることができますか?

ユーザーがドメインのメンバであればそのようなことはありません。ドメイン メンバの既定の回復エージェントは、ローカル コンピュータ上の Administrator アカウントではなく、ドメインの Administrator アカウントです。これは、EFS 回復キーがローカル コンピュータ上に存在しないことを意味します。したがって、アタッカーがローカル コンピュータに対して完全な制御を獲得したとしても、EFS 回復キーに危険が及ぶ可能性はありません。

ユーザーがドメインのメンバでなくローカル ユーザーであれば、既定の回復エージェントはローカルな Administrator になります。しかし、暗号化ファイルシステムのための最善の使用例に従えば、機密漏洩につながる可能性を阻止できます。Microsoft は、回復キーの重要性を配慮して、回復キーを常にコンピュータからエクスポートして安全な場所に保管しておくことを強く推奨しています。このような慣行に従えば、ローカル ユーザーの場合でもコンピュータ上に回復キーを置くことはなくなります。

 

なるほど。回復キーの危険性については一安心しました。それでは、アタッカーがローカル Administrator アカウントにログオンした後、あるユーザー アカウントのパスワードを通常のシステム ツールを使用してリセットし、そのユーザーとしてログインしてから、EFS 暗号化ファイルを読み取ることはできますか?

対象のユーザーがドメインのメンバであればそのようなことはありません。アタッカーがツールを使用することによって可能になるのは、ローカル Administrator アカウントにアクセスする場合だけであり、ドメイン Administrator アカウントにはアクセスできないことを思い出してください。ローカル Administrator はドメイン メンバのパスワードをリセットできません。ローカル ユーザーのパスワードだけをリセットできます。ユーザーがローカル ユーザーの場合でも、攻撃が成功するかどうかはコンピュータで使用されている Syskey のモードに依存します。

 

Syskey にはどのようなモードがありますか? また、それぞれのモードはどのように動作しますか?

3 つの Syskey モードが存在し、その各モードによって SAM データベースを保護する解読キーの場所が決定します。最初の既定モードの場合、キーは隠された状態でローカル コンピュータ上に保存されます。第 2 のモードの場合、キーはローカル コンピュータ上に保存されず、パスワードの形式をとり、コンピュータの起動時にユーザーがそのパスワードを入力する必要があります。第 3 のモードの場合、キーはコンピュータからフロッピー ディスクにエクスポートされます。このフロッピー ディスクはコンピュータの起動時に必要になります。

 

攻撃の成功が Syskey モードに依存するのはなぜでしょうか?

前述のように、Syskey によって SAM データベースが暗号化されます。しかし実際にはそれ以外にも、LSA Secrets と呼ばれる記憶域が暗号化されます。LSA Secrets には、ユーザーの EFS キーなど、暗号化キーの内容を含めた機密データが保存されています。Syskey モードの違いによって、アタッカーが LSA Secrets 内のデータを解読できるかどうかが決定します。

Syskey がモード 1 の場合、ローカル ユーザー アカウントの攻撃に成功したアタッカーは、Syskey によって保護されているすべての対象にアクセスできます。これはモード 1 では、Syskey がコンピュータ上に保存されており、Windows 2000 によって自動的に Syskey が検索、使用されるためです。その結果、アタッカーがローカル ユーザーとしてログオンすれば、Windows 2000 によって LSA Secrets が解読され、ユーザーの EFS 暗号化ファイルを解読できるようになります。

このことは、これまで議論してきたツールとはまったく関係がないことに注意する必要があります。これまでの議論は、アタッカーがユーザー アカウントを攻撃する際の話です。アタッカーがユーザーとしてログオンできれば、LSA Secrets 内のデータを利用でき、したがって EFS 暗号化データを読み取ることができます。

 

Syskey をモード 2 またはモード 3 で使用した場合はどうでしょうか?

Syskey モード 2 およびモード 3 では、事情はまったく異なります。この 2 つのモードでは、Syskey がコンピュータ上に存在しません。アタッカーがコンピュータにログオンできたとしても、LSA Secrets を解読するキーが必要なので、EFS 解読キーにアクセスできません。このため、ユーザーの暗号化データに対する攻撃は失敗します。

 

モード 1 で Syskey を使用している場合の攻撃が成功することは、セキュリティ面の欠陥を意味しますか?

そうではありません。ただしこのような事実は、セキュリティに関する 10 の鉄則の鉄則 7 の良い例と言えます。暗号化されたデータは、解読キーと同程度に安全です。モード 1 で Syskey を使用している場合、キーはうまく隠されていますが、発見することは可能です (そうでなければ、オペレーティング システム自身がキーを検索して使用することが不可能になります) 。対照的にモード 2 およびモード 3 では、キーはコンピュータ上に存在しません。コンピュータに対する攻撃を徹底的に続けたとしても、アタッカーがキーを持っていなければ、データを解読することはできません。

ここで強調すべきなのは、保護するデータの価値を反映したレベルの方法で暗号化キーを保護することです。コンピュータに格納されているデータの価値が低い場合、Syskey をモード 1 で使用してもかまわないでしょう。しかし、より高い価値を有するデータや機密データを格納する場合、Syskey をモード 2 およびモード 3 で使用した方がより適切です。

 

このようなツールからシステムを保護するにはどうすればよいでしょうか?

以下の 3 つの予防的措置を取ることを推奨します。

  • **コンピュータを物理的に保護します。**アタッカーがこのようなツールを使用できるのは、他人のコンピュータに対する物理的なコントロールを獲得できる場合のみです。そして、他人のコンピュータに対して物理的なコントロールを獲得できるアタッカーは、このようなツールが存在しなくても、ほかにもさまざまな攻撃を仕かけることができます。
  • **可能なら常に、ユーザーをドメイン メンバにします。**ドメイン メンバの資格情報は中央のドメイン コントローラに保存され、ドメイン コントローラ上でのみ変更できまます。「暗号化ファイルシステムのための実践例」に従った場合、ドメイン コントローラがネットワーク内で最も厳重に保護されたコンピュータになるはずです。
  • **コンピュータ上に機密データを保存する場合、モード 2 またはモード 3 で Syskey を使用します。**これらのモードは、モード 1 よりも不便です (モード 2 ではパスワードを覚える必要がありますし、モード 3 ではフロッピー ディスクを持ち運ぶことが必要です)。しかし、この 2 つのモードは、モード 1 よりも大幅に安全です (モード 2 で Syskey を使用する場合は、安全性の高いパスワードを使用しなければなりません)。