Pull to refresh

Comments 60

Довольно странные наблюдения.
Если считать, что рабочая станция, на которой установлен KeePass, скомпрометирована, то простые защитные действия не помогут, т.к. кейлоггер — только одно направление атаки.

Гораздо проще подменить исполняемый файл (благо, программа опенсорсная), добавив закладку, которая сливает мастер-пароль + базы в нужное место.
А смысл тогда вообще извращаться с автонабором? Не совсем понимаю
Есть же вирусы, собирающие данные без подмены исполняемого файла. Так что перестраховка лишней не бывает.
Я ранее думал о подобной возможности, но прошло много времени, и этот момент в статье упустил. Возможно, следует дополнить.

Для защиты от такого рода атаки можно написать утилиту, которая контролирует:
  1. иконку запуска KeePass (положение в панели или рабочем столе и ссылку на файл);
  2. контрольную сумму файла KeePass;
  3. саму себя от изменений.

Возможно, такая утилита или функция в антивирусе уже есть, нужно исследовать.

И все равно, если компьютер скомпрометирован, то атакующий может заменить как сам keepass чтоы пароли сливать, так и эту проверяющую утилиту чтобы она ничего не замечала.

Наверное, не существует защиты, которую нельзя было бы сломать.
Однако, хорошую защиту ломать потребуется дольше.
Потребуется ещё узнать, что такая утилита есть и найти способ обхода её самоконтроля.
Виртуалки. Например на хосте установлена только программа виртуализации, KeePass в виртуалке1, все остальные программы в виртуалке2. Посмотрите на Qubes OS. А ещё разрабатывается невзламываемое ядро SeL4, я не совсем понимаю что это, но кажется это невзламываемая система виртуализации.
Кстати да — с учетом современных мощностей — иметь несколько VM (да хоть в том же VMware Player/VirtualBox) для разных нужд — суровая необходимость.

К Qubes OS тоже давно присматриваюсь… будет посвободнее — попробую на нее мигрировать.
Нет смысла расчитывать на сценарий, когда взломщик at the other end of airtight hatch как частенько говорит Раймонд Чен.
Да, если защита хитра, это займет больше времени или помешает злоумышленнику. Но только если он пользуется чем-то универсальным, скажем, обычным логгером. Если он нацелен именно на пароли, хранимые этой утилитой, то и софт его будет заточен под ее хитрости.
Вместо автонабора можно использовать плагин для браузера, взаимодействующий с KeePass по защищённому каналу.

http://keepass.info/plugins.html → раздел «Integration & Transfer».

А не выглядел ли бы более логично плагин, который реализует в браузере весть функционал KeePass, по типу того, как LastPass работает? Какие там потенциальные дыры по сравнению с существующим подходом?

Разделяй и властвуй, если реализовывать все в одном месте, достаточно компроментации только его и все пароли утекли.
UFO just landed and posted this here
Тогда комбинировать. Там, где можно без автоввода — там через плагин. Где нельзя без автоввода — стараться отказаться от паролей и перейти на ключи (например, доступ по SSH у меня настроен по ключу, который хранится там же, в базе KeePass и передаётся SSH-клиенту через KeeAgent).
Выше правильно написали, если хост система скомпрометированна, то поздно пить боржоми, уже всё потеряно.
После компрометации идёт дальнейший сбор данных — чем он сложнее тем дольше. Чем больше времени требуется для дальнейшей компрометации — тем больше шансов что взлом будет обнаружен, и тем больше шансов провести блокировки, почистить следы, собрать логи, оповестить руководство и т.п.
Если придерживаться вашей логики — можно сидеть без антивируса, FW и под Enterprise админом. Все равно ведь, если скомпрометирована — то поздно пить боржоми.
Антивирус, fw, пользовательские учётки для того и нужны, что бы не допускать компрометации системы. А когда вы уже сдали админку, то творить на хосте можно всё что угодно.
Ок. Угнали твою админку.
Вариант 1: Ты не заморачиваешься по дальнейшей защите. Допустим удалённо отключили АВ, psexec«ом подсунули keylogger как у автора в статье — все пароли шустро перегнали себе.
Вариант 2: Ты заморочился. Шустро перегнать не удалось. По логам АВ и системы удалось понять, что ты скомпрометирован — выдернул шнурок, почистил ПК (если грубо выражаться).
Так вот в варианте 1 злоумышленник уже имеет все пароли от всех твоих систем, даже если ты его обнаружил и отрубил.
В варианте 2 он может не успеть.

Понятно, что это всё очень абстрактно. Но это так работает — чем больше ты заморачиваешься по ИБ, тем больше ты уменьшаешь вероятности разных событий.

Не зря всё начинает строиться с модели угроз и анализа рисков. Что по сути есть оценка вероятностей того или иного события ИБ, и уменьшение этих вероятностей.
Допустим удалённо отключили АВ, psexec«ом подсунули keylogger как у автора в статье — все пароли шустро перегнали себе.

В реальности будет keylogger настроенный именно на KeyPass со всеми хитростями. И пароли шустро перегонят к себе. Почему вы расчитываете на использование взломщиком исключительно примитивных инструментов широкого профиля?
«В реальности будет» — очень категорично. Я оперирую вероятностями. Да, выше я рассмотрел модель нарушителя именно с инструментами широкого профиля, который вкуривает, а что же тут происходит.
Вы предлагаете нарушителя, который уже провел разведку всех данных, до начала взлома.
Давайте уже тогда полные модели ситуации строить.
Я отталкивался от кейса, когда именно предложенное в статье автором может пригодиться.
То есть у обычного офисного сотрудника, который хранит пароль от своей личной почты в KeePass и к компьютеру которого есть полный доступ у админов — шансов нет? Остаётся только надежда на порядочность админов, либо не хранить пароли в KeePass.
Если точнее, не вводить личные пароли на рабочем компьютере. Либо надеяться на порядочность.
Здравствуйте. Благодарю за полезную статью.
Жду исследование безопасности lastpass, а также его сравнение с keypass. Благодарю.

Проприентарная программа, которая держит ваши пароли в своём облаке.
И её сервера уже взламывали, утащив пользовательские данные.

Утаскивали данные тех людей, которые создавали слабые пароли авторизации и не использовали двухэтапный вход.
Просто из базы скопировать пароли нельзя, так как они все зашифрованы паролями пользователей, а возможно и чем-то ещё.
Но если в keypass есть возможность добавления новых записей прямо в браузере и запуск автозаполнения прямо на странице (Без выбора записи в программе), как в Lastpass, перейду на неё.
Благодарю за ответ.
Но если в keypass есть возможность добавления новых записей прямо в браузере и запуск автозаполнения прямо на странице (Без выбора записи в программе)

Это есть в плагинах. Для фаерфокса, например, это KeeFox.

А для Google Chrome. Поставил ChromeIPass (Или как-то так он пишется): не нашёл, как добавить базу (Видимо портабельный Keypass не поддерживает).
Для сопряжения c ChromeIPass в KeePass надо еще поставить плагин KeePassHttp.
Благодарю. Давно как-то об этом читал, но тогда не заинтересовался этим, поэтому забыл. А теперь перейду на Keypass.
Уже несколько лет пользуюсь связкой KeePass+KeeFox. Очень удобно. БД на шифрованом диске, ключ для входа в KeePass на флешке.
Код кейлоггера помещен в цикл Timer, который обновляется каждые 10 ms

Что с загрузкой процессора в этот момент?
Не сработает ли «проактивная» защита антивируса в данный момент?
  1. Процессор (по данным диспетчера задач) во время работы кейлоггера на моём старом ПК загружен на 0%.
  2. Программа не делает «вредных» действий и, возможно, поэтому антивирусы на нее пока не реагируют. См. подробнее отчет VirusTotal. Антивирус на моем ПК тоже молчал.
А разве VirusTotal не выполняет только сигнатурный анализ?
как он сможет поймать «вирусную» активность новой программы?
UFO just landed and posted this here
У меня несколько иной вопрос, далёкий от IT-составляющей. Автор пишет, что фирма у него небольшая. Зачем в небольшой фирме такие ухищрения с безопасностью? (Конечно, не в случае если фирма занимается секретными разработками).
Я работаю в действительно большой компании, конечно, у нас настроены все политики безопасности, но даже у нас айтишники не додумались до KeePass.
Кстати, погуглите — тут же на хабре/гиктаймс была статья, что корпоративные требования к сложности паролей приводят к обратному эффекту — сотрудники, не в силах запомнить неудобный пароль (который ещё и меняется по требованию раз в N месяцев), записывают его на бумажке, которую кладут под клавиатуру или клеят на монитор. Т.е., безопасность небезопасна.
У нас самые «круты» хранят пароли в Notepad. KeePass, конечно, удобнее, но разве их убедишь.
Аргумент у них такой (он озвучен выше в комментариях): если система скомпрометирована, то ничего не поможет.
Вот именно, что скомпрометирована только система, а не пароль. А пароль может применяться к следующей цепочке компрометации уже следующей системы. Взлом инфраструктуры происходит последовательно, и важно как можно сильнее усложнять эту последовательность. Как по мне это весомый аргумент.
Люди с рациональным мышлением должны это понимать.

P.S. В таком раскладе пароль на бумажке под клавиатурой — секьюрнее. Тут хотя бы физический доступ нужен, и знание что этот пароль именно под клавиатурой, и для чего он.

По умолчанию считаю что хороший пароль менять смысла нет ровно до тех пор, пока он не скомпрометирован. В случаях если есть опасность подбора пароля перебором это необходимо исключать и минимизировать другими методами, а не пытаться бороться частой сменой пароля (например ограничивать число попыток ввода или увеличить длину).

Есть еще такой нюанс — если каким либо образом, где либо была утечка не вашего пароля, а его Хеша (например NTLM), тогда для вскрытия самого пароля может потребоваться длительное время, в течении которого пароль уже может быть изменен.
Кроме того «хороший пароль» всё ещё прекрасно светится в mimikatz и WCЕ.
И есть шанс, что компрометация УЗ совпадёт с окончанием срока действия пароля — и злоумышленник временно потеряет полученный доступ, что может дать время на другие необходимые блокировки.
несколько иной вопрос, далёкий от IT-составляющей. Автор пишет, что фирма у него небольшая. Зачем в небольшой фирме такие ухищрения с безопасностью?

Это не ухищрения с безопасностью, это основы гигиены. Какая альтернатива-то? Запоминать десятки паролей? Надо быть или гением или пароли одинаковые. Записывать на бумажке/ноутпэде? Ну, так даже если не рассматривать вопртс безопасности, в кипассе это банально удобнее (при всей, кхм, "альтернативности" его интерфейса).


требования к сложности паролей приводят к обратному эффекту — сотрудники, не в силах запомнить неудобный пароль (который ещё и меняется по требованию раз в N месяцев), записывают его на бумажке, которую кладут под клавиатуру или клеят на монитор

И тут, внезапно(!), вы открываете для себя какой-нибудь из менеджеров паролей. Который как раз и решает проблемы бумажек. ;)

Какая альтернатива-то? Запоминать десятки паролей? Надо быть или гением или пароли одинаковые.

Можно формировать пароли по какому-то алгоритму, но разные, по контексту. взламываться они будут так же как и совершенно различные.

Если алгоритм простой (а сложный вы в уме вряд ли будете считать), то при компроментации одного вашего пароля, вы ставите под угрозу остальные. В этом случае разница с одинаковым паролем на все ресурсы не очень велика.

Это уже зависит от сложности взлома одного отдельного пароля. Если он достаточно криптостойкий, то можно исключить эту угрозу, как маловероятную. Как всегда — баланс между двумя величинами. Удобством и безопасностью в данном случае.
Интересно было бы посмотреть такое же исследование для keepass запущеного под linux'ом. Надо полагать, что Mono, через которую оригинальный keepass работает на этих семействах ОС, только добавляет дыр?
Очень странный пост.

Во-первых, если хост скомпроментирован — там можно все что угодно сделать, даже Джигу сплясать.

Во-вторых, использовать автозаполнение напрямую — это плохо само по себе. Если очень хочется — нужно использовать мост, например в виде плагина для браузера.

В-третьих, если уж режим паранойи — используйте софтверную клавиатуру, и усиленные настройки KeePass и не использовать «послабления», добавляющие удобств, но снижающие безопасность.

Ну и самое главное — все это очень слабо связано с уязвимостью самого KeePass — если Вы сами используете «облегчающие средства», понижаете свою безопасность — пенять нужно только на себя.
а можно просто использовать НОРМАЛЬНУЮ систему, которую устанешь компрометировать
линукс или макос + шифрование диска + дополнительное шифрование хом директории
хотел бы я посмотреть как кто-то без моего ведома установит кейлогер на такой компьютер

благо — средства разработки нынче не привязаны к форточкам (за исключением некоторых, но на них свет клином не сошелся)
При замене мастер пароля, а так же при создании нового, не применяется безопасный режим.

Читал статью, думал о том как напишу коммент о том какая она плохая, но тут и так уже полно таких комментов.
Но всё же добавлю — программы для шифрованного хранения паролей защищают ровно в двух случаях:
1) у вас слили содержимое жёсткого диска (не важно как), но не смогли узнать мастер-пароль от базы паролей (с момента компрометации вы ни разу не работали за компом), вы об этом узнали и немедлено переставили систему на атакованном компе и на всякий случай сменили всё что было в базе
2) вас пытается атаковать нуб, который сам плохо понимает что он делает — тогда любое, даже незначительное, препятствие, может ему помешать добиться желаемого
Во всех остальных случаях это 100% тоже самое что хранить пароли в текстовом файле на рабочем столе.

UFO just landed and posted this here
Пароли можно хранить где угодно, если они в хорошо зашифрованном контейнере. Последний можно монтировать на доверенных машинах, а уж внутри держать хоть менеджер паролей, хоть текстовый файл, что угодно. Доверенной машиной может быть даже старенький смартфон без подключения к сети, которому дали второй шанс.
UFO just landed and posted this here
Когда пришел читать, ожидал чего-то более захватывающего и более глубокого, однако, не нашел. Впрочем, все равно желаю автору успехов. Пишите еще. Статья для начала сойдет. :)
Стаья про иследование KeyPass — поэтому критика политик безопасности — нелогична.
Сделан update статьи с учетом замечаний от dartraiden, arthur_veber и qw1.

Были протестированы:
  • модуль KeePassHttp совместно с дополнением для браузера ChromeIPass;
  • создание нового мастер пароля;
  • виртуальная экранная клавиатура.
Интересно бы ещё про keepassx узнать на сколько всё плохо?
А по моему была утилита, которая пароли от keepass доставала из памяти, при открытом keepass
А кто-нибудь может прокомментировать уровень безопасности Bitdefender Wallet и его дополнение к Chrome?
Это вольная трактовка куска статьи из журнала Хакер
Для устранения проблемы необходимо включить настройку Безопасности «Вводить основной пароль в защищенном режиме (подобно UAC в Windows Vista и выше)».

Только в окне ввода пароля не видно раскладки клавиатуры, к сожалению.
Sign up to leave a comment.

Articles