Если вирус находится на вашем компьютере в то время, когда какая-либо программа обрабатывает конфиденциальные данные, вы попали в ловушку.
KeePass делает все возможное, чтобы защитить ваши пароли от вредоносных программ, но ни одно решение не может быть пуленепробиваемым; если на вашем компьютере запущено вредоносное ПО, машине нельзя доверять. Давайте посмотрим на некоторые функции безопасности:
- Шифрование базы данных. Без вашего ключевого материала (мастер-пароль и ключевой файл, если он у вас есть) невозможно восстановить открытый текст паролей. Это означает, что если украдена копия вашего жесткого диска или вы никогда не разблокировали базу данных KeePass, ваши пароли в безопасности.
- Защита памяти. KeePass, согласно странице безопасности, старается никогда не оставлять открытый текст в памяти. Однако, когда вы используете пароль, открытый текст должен быть в памяти хотя бы на короткое время. Любая программа, работающая в том же контексте безопасности, что и KeePass, имеет доступ к этой памяти, и если вредоносное ПО быстрое (т.е. предназначено для этого), оно может получить ваши пароли. Вредоносная программа, работающая от имени администратора /root, может читать (или писать!) память любого процесса.
- Альтернативный рабочий стол. При запросе мастер-пароля KeePass создает новый рабочий стол и переключает ваш вид на него. Обычные зацепки клавиатуры, установленные на главном рабочем столе, не будут применяться к безопасному рабочему столу. Опять же, однако, вредоносное ПО, работающее от имени администратора, может делать все, что угодно, включая проверку других рабочих столов или отслеживание событий на более низком уровне. (Ваша ОС, очевидно, знает, какие клавиши набраны.)
- Плагин аутентификации. KeePassRPC требует, чтобы плагины идентифицировали себя с KeePass. Тем не менее, похоже, нет никакого способа помешать вредоносным программам говорить как действительный клиент (посылая те же ответы аутентификации), но совершая плохие действия с данными, которые они получают. Опять же, руткиты или вредоносные программы, работающие от имени администратора, могут просто захватывать пароли, пока их открытый текст находится в памяти.
- Криптографические самопроверки. Когда KeePass запускается, он проверяет, что функции шифрования работают правильно, вводя некоторые постоянные данные и проверяя вывод. Это хорошо, но сложные руткиты только дадут правильные результаты, сжимая открытый текст.
Если вы действительно разблокировали базу данных во время присутствия вредоносного ПО, вам определенно следует сменить свои пароли.