web-dev-qa-db-ja.com

暗号化されたファイルにアクセスする奇妙な一時的な「アクセス拒否」エラー

システムの再起動(Win7 x64)後、アプリケーションは、EFSで暗号化されたディレクトリ内のファイルにアクセスできなかったと報告しました。

  • プログラムを介してアクセスすると、「アクセスが拒否されました」と表示されました。
  • 権限は正常で問題ありませんでした。
  • この問題は、ランダムに選択された2つのファイルに影響を及ぼしました。
  • 長い間、関連する変更や問題はありませんでした。

したがって、これは この質問 のように見えました。実際、ファイルは、に示す証明書の拇印に従って別の証明書に暗号化されました。 「詳細属性」ダイアログで「詳細」をクリックするとポップアップするダイアログ。

しかし、ここに奇妙なことがあります:

  • (ファイルのプロパティダイアログから)[詳細属性]ダイアログを開くのに〜10秒、100%CPUが毎回、このファイルに対してのみかかりました。
    ProcessHackerを介して取得されたスタックトレースは、「efscore.dll」、「bcrypt.dll」、「crypt32.dll」などでいっぱいでした。
  • certmgr.msc自分で作成していない新しいEFS証明書を示しました。それは3日前から有効であり、その拇印は私がアクセスできなかったファイルで見たものでした。
  • エクスポートウィザードはその新しいEFS証明書のエクスポートを許可しましたが、途中でエラーメッセージが表示されました( "キーは指定された状態で使用できません"。 )およびそれが作成したファイルには、実際には選択した証明書は含まれていませんでしたが、別の証明書が含まれていました。
  • システムのクローンコピーでしばらくすると、ファイルに再びアクセスでき、その内容はそのままになりました。関連付けられている証明書の拇印を調べましたが、今回は通常の証明書の拇印であり、新しく作成された証明書の拇印ではありませんでした。

だから、これは私にEFSの信頼性について疑問に思います。

  1. 新しい証明書がサイレントに作成され、いくつかのファイルの暗号化に使用されたように見えるのはなぜですか?
  2. ファイルに関連付けられている証明書が変更されたように見えるのはなぜですか?
4
Norman

さらに分析した結果、次の結論に達しました。

OSを含むSSDに障害が発生しており、少なくとも数日間、サイレントで任意のデータ破損が発生しています。
観察可能な影響は、この順序で、ディスクパフォ​​ーマンスの低下、マイナーな不特定のソフトウェアエラー、EFS証明書の秘密鍵の破損、エクスプローラーのクラッシュ、BSODでした。

これは私のイベントの再構築です:
約。インシデントの10〜14日前に、Windowsは何らかの理由で新しいEFS証明書を作成しましたが、その秘密鍵が破損したため、すぐにアクセスできなくなりました。現在復号化できないすべてのファイルは、秘密鍵が失われた後におそらく書き換えられています。 Windowsの不安定な動作は、SSDが死にかけていることが原因で、正しいデータが返される場合と返されない場合があります。

また、Windowsは暗号化されたファイルをエラーなしでガベージにデコードできることを学びました。したがって、ファイルを復号化できてもその整合性は証明されません。(つまり、SSDが破損したデータをWindowsに配信した可能性があります。しかし、Windowsはファイルを復号化するときにこれを検出しませんでした。)

2
Norman