web-dev-qa-db-ja.com

Keepassはウイルスなどの悪意のあるソフトウェアからパスワードを保護しますか?

コンピューターがウイルスやトロイの木馬に感染し、ユーザーがKeepassを操作した場合、悪意のあるソフトウェアがパスワードデータベースを取得できる可能性はありますか?

言い換えると、システムでウイルスが検出されたらすぐに、ユーザーはすべてのパスワードを変更する必要がありますか?

オプションのフォローアップ:Keefox for Firefoxのようなブラウザプラグインが関係している場合はどうですか?

6
sir_brickalot

プログラムが機密データを処理するときにウイルスがコンピュータに存在する場合、あなたはうんざりしています。

KeePassは、マルウェアからパスワードを保護するためにできる限りのことを行いますが、防弾のソリューションはありません。コンピュータでマルウェアが実行されると、そのマシンは信頼できなくなります。いくつかのセキュリティ機能を見てみましょう。

  • データベースの暗号化。キー情報(マスターパスワードとキーファイル(ある場合))がないと、パスワードのプレーンテキストを復元することはできません。つまり、ハードドライブのコピーが盗まれた場合、またはKeePassデータベースのロックを解除したことがない場合でも、パスワードは安全です。
  • メモリ保護。KeePassは、 セキュリティページ によると、プレーンテキストをメモリに残さないように努めています。ただし、パスワードを使用する場合、平文hasは少なくともしばらくの間メモリに存在します。 KeePassと同じセキュリティコンテキストで実行されているプログラムはすべてそのメモリにアクセスでき、マルウェアが高速である場合(つまり、これを行うように設計されている場合)、パスワードを取得できます。管理者/ rootとして実行されているマルウェアは、任意のプロセスのメモリを読み取る(または書き込む)ことができます。
  • 代替デスクトップ。マスターパスワードの入力を求めると、KeePassは新しいデスクトップを作成し、ビューをそのデスクトップに切り替えます。メインデスクトップにインストールされている通常のキーボードフックは、セキュアデスクトップには適用されません。繰り返しになりますが、管理者として実行されているマルウェアは、他のデスクトップの検査や下位レベルでのイベントのフックなど、何でも実行できます。 (OSは明らかにどのキーが入力されているかを知っています。)
  • プラグイン認証。KeePassRPC プラグインはKeePassに対して自身を識別する必要があります。ただし、悪意のあるプログラムが有効なクライアントのように通信する(同じ認証応答を送信する)のを阻止する方法はないようですが、取得したデータに対して悪いことをします。繰り返しになりますが、管理者として実行されているルートキットまたはマルウェアは、プレーンテキストがメモリにある間にパスワードを取得する可能性があります。
  • 暗号化セルフテスト。KeePassが起動すると、一定のデータを入力して出力を検証することにより、暗号化機能が正しく機能することを確認します。それは素晴らしいことですが、洗練されたルートキットは、平文をかき回しながら正しい結果を生成します。

didマルウェアが存在するときにデータベースのロックを解除した場合は、必ずパスワードを変更する必要があります。

4
Ben N