Репост из: Information Hardening
#пароли
Как выбрать и правильно использовать менеджер паролей
...и перестать уже хранить пароли в txt и doc взломщикам на радость.
Ребятки из Independent Security Evaluators запилили опупенно интересную статью о безопасности различных менеджерей паролей. Исследование включало 1Password7, 1Password4, Dashlane, KeePass и LastPass. В результате оказалось, что с защитой данных, когда приложение не запущено, все менеджеры справляются хорошо. А вот когда приложение запущено, в том числе когда база паролей была уже заблокирована после использования (состояние locked), степень реализуемой защиты колеблется от не очень хорошей до очень плохой.
1Password7 (7.2.576)
При введении мастер-пароля расшифровывает сразу все пароли из базы и сохраняет их в оперативной памяти. Также хранит в оперативной памяти в открытом виде мастер-пароль и дополнительный секретный ключ. Все это не удаляется и остается в памяти при переводе в заблокированное состояние.
1Password4 (4.6.2.626)
Хотя это устаревшая версия, ее защита лучше. Она расшифровывает пароли по одному и сохраняет в памяти в открытом виде только те, к которым было обращение. При блокировке эта память освобождается, но не затирается сразу. А вот мастер-пароль хранится в памяти как в разблокированном, так и в заблокированном состоянии, почти в открытом виде - для декодирования необходимо запутстить две функции RtlRunEncodeUnicodeString и RtlRunDecodeUnicodeString.
Dashlane (6.1843.0)
Этот менеджер имеет важную отличительную особенность - при закрытии приложения стандартными методами (нажатие на [x], Alt+F4) он не закрывается (как это делают остальные), а сворачивается в трей.
Dashlane хранит в памяти расшифрованной только последнюю запись, к которой обращался пользователь. Но если пользователь что-то редактировал, то расшифровывается и помещается в память вся база. В обоих случаях расшифрованные данные остаются в памяти и после блокировки - на некоторое время - память освобождается, но не затирается.
KeePass (2.40)
Расшифровывает и сохраняет в памяти записи по мере обращения к ним. После блокировки эти записи остаются в памяти в открытом виде.
LastPass (4.1.59)
Расшифровывает пароли по одному при обращении к ним, но не удаляет эти пароли из памяти при переходе в заблокированное состояние. Мастер-пароль затирает сразу после выработки ключей фразой 'lastpass rocks', но во время выработки ключей мастер-пароль сохраняется в другом буфере в оперативной памяти в открытом виде и так и остается там. Фразу 'lastpass rocks' можно использовать для его легкого поиска после применения strings к дампу памяти - он будет рядом в пределах нескольких строк =)
Так что любой менеджер лучше выключать, а не блокировать. А некоторые еще и мастер-пароль могут спалить.
Источник (с красивыми картинками, примерами, ссылками на материалы, да и вообще читается приятно): https://www.securityevaluators.com/casestudies/password-manager-hacking/
Как выбрать и правильно использовать менеджер паролей
...и перестать уже хранить пароли в txt и doc взломщикам на радость.
Ребятки из Independent Security Evaluators запилили опупенно интересную статью о безопасности различных менеджерей паролей. Исследование включало 1Password7, 1Password4, Dashlane, KeePass и LastPass. В результате оказалось, что с защитой данных, когда приложение не запущено, все менеджеры справляются хорошо. А вот когда приложение запущено, в том числе когда база паролей была уже заблокирована после использования (состояние locked), степень реализуемой защиты колеблется от не очень хорошей до очень плохой.
1Password7 (7.2.576)
При введении мастер-пароля расшифровывает сразу все пароли из базы и сохраняет их в оперативной памяти. Также хранит в оперативной памяти в открытом виде мастер-пароль и дополнительный секретный ключ. Все это не удаляется и остается в памяти при переводе в заблокированное состояние.
1Password4 (4.6.2.626)
Хотя это устаревшая версия, ее защита лучше. Она расшифровывает пароли по одному и сохраняет в памяти в открытом виде только те, к которым было обращение. При блокировке эта память освобождается, но не затирается сразу. А вот мастер-пароль хранится в памяти как в разблокированном, так и в заблокированном состоянии, почти в открытом виде - для декодирования необходимо запутстить две функции RtlRunEncodeUnicodeString и RtlRunDecodeUnicodeString.
Dashlane (6.1843.0)
Этот менеджер имеет важную отличительную особенность - при закрытии приложения стандартными методами (нажатие на [x], Alt+F4) он не закрывается (как это делают остальные), а сворачивается в трей.
Dashlane хранит в памяти расшифрованной только последнюю запись, к которой обращался пользователь. Но если пользователь что-то редактировал, то расшифровывается и помещается в память вся база. В обоих случаях расшифрованные данные остаются в памяти и после блокировки - на некоторое время - память освобождается, но не затирается.
KeePass (2.40)
Расшифровывает и сохраняет в памяти записи по мере обращения к ним. После блокировки эти записи остаются в памяти в открытом виде.
LastPass (4.1.59)
Расшифровывает пароли по одному при обращении к ним, но не удаляет эти пароли из памяти при переходе в заблокированное состояние. Мастер-пароль затирает сразу после выработки ключей фразой 'lastpass rocks', но во время выработки ключей мастер-пароль сохраняется в другом буфере в оперативной памяти в открытом виде и так и остается там. Фразу 'lastpass rocks' можно использовать для его легкого поиска после применения strings к дампу памяти - он будет рядом в пределах нескольких строк =)
Так что любой менеджер лучше выключать, а не блокировать. А некоторые еще и мастер-пароль могут спалить.
Источник (с красивыми картинками, примерами, ссылками на материалы, да и вообще читается приятно): https://www.securityevaluators.com/casestudies/password-manager-hacking/