KeePass 2.39でDACLによるメモリアクセス保護ができるようになった
以前KeePass2のセキュリティについて検討していたときに作者に要望した機能が実装されました。
その機能はDACLを使って他プロセスからメモリが読みとられるのを防ぐものですが、デフォルトではオフになっているので、設定しないと使えません。
公式サイトによれば、いろんな問題が懸念されるため、ほとんどのユーザーには推奨しないようです。また、ポータブル版ではなくインストール版でないと意味はありません。
設定は以下のXMLをKeePassが入ってるフォルダにKeePass.config.enforced.xmlというファイル名で入れると出来ます。
<?xml version="1.0" encoding="utf-8"?> <Configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <Security> <ProtectProcessWithDacl>true</ProtectProcessWithDacl> </Security> </Configuration>
実行しているKeePassから情報を抜き取るツールにKeeFarceというのがありますが、上記の設定をすると抜き取られなくなります。
設定前
[.] Injecting BootstrapDLL into 2648 CallExport: returning. [.] Done! Check %APPDATA%/keepass_export.csv
設定後
[.] Injecting BootstrapDLL into 3940 Process found, but OpenProcess() failed: 5 [.] Done! Check %APPDATA%/keepass_export.csv