1Password(Win版)がキーロガーに耐性があるか確認してみましたよ。
マルウェア「Citadel」に特定のパスワード管理ソフトのプロセスを検知するとキー入力を取得するという機能が追加されたという報道がありました。この狙いは、パスワード管理ソフトの要である「マスターパスワード」を盗み取るためでしょう。
マスターパスワードとは、登録されているすべてのパスワードにアクセスするための最も大切なパスワードです。例えるなら守衛室にあるような色々な部屋の鍵が入れてあるロッカーの鍵だと思っていただければいいかと思います。
パスワード管理ソフトでは登録されているすべてのパスワードをまとめたファイル(以下、パスワードデータ)は、このマスターパスワードで暗号化されています。そのため、仮にマルウェアに感染していて、最悪、パスワードデータを盗み出せたとしてもマスターパスワードが分からない限り中身を見ることができないわけです。しかし、前述したようにこのマスターパスワードを盗むために追加されたと思われる機能により、マルウェアに感染することでその理屈が通用しない状態となったわけです。
(パスワード管理ソフトの種別としては大きく分けて、パスワードデータがパスワード管理ソフトのインストールされているコンピュータに保存しているものと、クラウド上に保存する2つのタイプがあります。今回は前者のタイプへの確認です。)
パスワード管理ソフトにお世話になっているボクとしてはかなりの脅威です。
ということで今回はメインで使用しているパスワード管理ソフト「1Password」のWindows版においてマスターパスワード入力時にキーロガーから保護することが可能かどうかの確認を自作のキーロガーソフトで確認してみました。(入力文字列はテスト用です。)
1Passwordを起動し下図のように入力を行うと入力した文字列をキーロガーで取得することに成功し表示されました。
しかし、下図のように「Unlock on Secure Desktop」ボタンで表示される入力ボックスに入力をした場合には入力した文字列はキーロガーでは取得できず表示されませんでした。
残念ながらブラウザの拡張では「Unlock on Secure Desktop」ボタンがないためこの機能を使うことはできませんでした。(Chrome, Firefoxで確認)
ブラウザの拡張ではなく、アプリの「Unlock on Secure Desktop」からマスターパスワードを入力し、ロックを解除しておけば設定されている時間内はブラウザの拡張もアンロック状態になりますので、その順でロックを解除するという運用は可能です。
ボクの作ったキーロガーで盗めないからといって、他のキーロガーで盗めないとは限りません。
もし、このあたりに詳し方がいらっしゃいましたらTwitterなどでこっそり教えていただけると嬉しいです。