В 1997 году американский криптограф и специалист по компьютерной безопасности Брюс Шнайер написал первый в мире менеджер паролей — Password Safe.

Это была простая и бесплатная утилита для Windows 95 с примитивным пользовательским интерфейсом и базой данных в виде зашифрованного файла, внутри которого хранился список логинов и паролей.

Пользователь помнил лишь мастер-пароль от базы вместо множества учетных данных. Тогда еще не было таких «фич», как автозаполнение форм, подсказки безопасности, многофакторная аутентификация и «шейринг» данных с друзьями и коллегами. Были только категории, горячие клавиши и несложный автогенератор.

Структура учетных данных в Password Safe
Структура учетных данных в Password Safe

Однако последние 20 с лишним лет менеджеры эволюционировали. Сегодня это полноценные кроссплатформенные приложения с продвинутым интерфейсом и множеством полезных (и не очень) фич, многие из которых существуют в облаке и обеспечивают секретность пользовательских данных.

На самом деле современные менеджеры идут чуть дальше и не ограничиваются только лишь паролями. В качестве секретной информации могут выступать паспортные данные, номера банковский карт, файлы, фотографии документов и SSH-ключи. Короче всё, что может быть секретно (и полезно злоумышленникам) имеет право оказаться под защитой менеджера.

Однако основные функциональные столпы, на которых построен среднестатистический менеджер, годами остаются неизменны:

Организация. Понятная структура учетных данных с фильтром и поиском. Обычно выполнена в виде папок с бесконечной иерархией вложенности и в некоторых случаях со специальными иконками, которые соответствуют favicon-у каждого сервиса.

Например, данные для входа в Steam, Origin и Epic Games Store лежат в категории «Games», пароли от SoundCloud и Spotify — в «Music», а учётки от Figma и Google Drive — в «Work».

Автогенерация. Так как зачастую менеджеру полностью делегируют запоминание паролей, нет никакого смысла придумывать человекочитаемые пароли. Рандомные набор символов намного надежнее — на их подбор уйдут миллионы лет.

Американский оператор беспроводной сети Verizon в своих исследованиях указывает, что в 80% случаев именно плохие пароли являются причиной несанкционированного доступа к корпоративным сетям и аккаунтам.

Поэтому в каждом менеджере есть встроенный генератор паролей. Пользователь выставляет пару настроек, отмеряет ползунком необходимую длину и сохраняет пароль. Ну, а далее эти данные используются для регистрации и авторизации.

Автозаполнение. Автоматическая подстановка логина и пароля в форму авторизации. Без этой функции придется копировать и вставлять пароль из менеджера вручную.

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

Кроссплатформенность. Разнообразие клиентов под разные платформы с унифицированным и понятным интерфейсом. Например, внешний вид клиента на Windows плюс-минус идентичен клиенту на Android.

Да, это довольно удобно. Вы могли бы выполнить регистрацию с телефона, будучи в дороге, после чего учётные данные отправятся в защищённое облако вашего менеджера. Когда вы приедете домой, данные будут извлечены, и вы также просто авторизуетесь, но уже с ПК.

И всё же, облачное хранение, пусть и зашифрованных паролей, может показаться не самым безопасным решением. Чуть ниже мы разберемся, почему это не такое уж надуманное опасение, как может показаться на первый взгляд.

В конце концов, менеджер паролей сам по себе подразумевает безопасность. Грош цена тому менеджеру, который её не обеспечивает. Но тем не менее...

Можно ли обойтись без менеджера паролей?

Ты можешь быть свободным «номадом», путешествующим по миру налегке с рюкзаком, парой трусов и ноутбуком под мышкой. Но что будет, если ты потеряешь все свои вещи? Если твое устройство сядет? Если разработчик прекратит поддержку продукта или его серверы сгорят в адском пламени надвигающегося апокалипсиса?

Ничего хорошего…

Чувство контроля, ощущение недоверия и зависимость от стороннего продукта могут оказаться аргументом в пользу отказа от менеджера паролей.

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

Однозначно, хранить пароли в голове намного безопаснее, чем где-либо ещё. Вряд ли кто-то сможет получить доступ к вашим мозгам. Ну, разве что поздним дождливым вечером в баре, за стаканом односолодового виски, в компании загадочных, но приятных незнакомцев, во время откровенной беседы…

Однако держать все пароли в голове не всегда возможно. Иной раз учетных данных настолько много, что их все и не запомнишь.

Один пароль на все аккаунты — рисковое решение. Взломали один — взломают и другие. С другой стороны, каждый может придумать свою систему наименования паролей. Эдакую «парольную политику» для себя.

Вы можете использовать универсальную комбинацию ключевого слова и названия сервиса, в котором регистрируетесь. При этом, соблюдая обязательные правила регистрации, распространённые в интернете: длина от 8 символов, наличие большой буквы, цифр и хотя бы одного знака.

«MyKeyWord23_Habr» для Хабрахабра и «MyKeyWord23_Soundcloud» для вашей любимой музычки. Да, использовать название сервиса в пароле считается небезопасным решением. Многие сайты даже блокируют такие пароли. Тогда можно попробовать слово-перевёртыш с большой буквой в начале — «MyKeyWord23_Rbah» и «MyKeyWord23_Duolcdnuos».

А можно пойти дальше и придумать систему уровней паролей. Например, пусть их будет всего 2. Для важных сервисов вы используете подобие описанной выше системы наименования, а для временных (или подозрительных) какое-нибудь незамысловатое ключевое слово — «MyTrivialKeyWord23».

Но тут вступает в силу другой фактор — общий почтовый ящик. Да, это удобно, но риски лучше диверсифицировать. Взломать рабочую почту — не означает получить доступ к домашней и всей цепочке связанных с ней аккаунтов. Как говорится, «яйца не в одной корзине».

Для многих интернет-пользователей такого тривиального решения будет более чем достаточно. И всё же, есть несколько причин, почему описанные выше решения могут упереться в потолок удобства и эффективности:

  • Быстрый ввод. То есть совсем не хранение, а просто автозаполнение формы. Ваших паролей всё еще может быть немного, вы отлично их помните и не испытываете никаких проблем. Просто вы хотите быстро их вводить. Поэтому вы решите использовать функцию автозаполнения. Хотя бы ту, что уже «вшита» в браузер.

  • Снижение когнитивной нагрузки. Учётных данных стало настолько много, что их уже невозможно помнить головой и контролировать руками. Их не 5 и, наверное, даже не 10. Десятки или сотни. Скорее всего, это основная причина начинать использовать менеджер паролей. Особенно в бизнесе.

Утечки уже случались. И довольно большие

Речь идет о нашумевшей истории с менеджером паролей LastPass, которая произошла во второй половине 2022 года. Тогда за 4 месяца случилось аж 2 взлома «защищенных» серверов компании — тех самых, где хранятся пароли пользователей.

Собственно, об этом сообщил в своем блоге сам разработчик. При этом команда LastPass была замечена в подтасовке фактов, о чём подробно рассказали в своих блогах несколько исследователей безопасности — Владимир Палант (один из разработчиков AdBlock Pro) и Джереми Госни (работает в Yahoo). Хотя оба не считают, что менеджеры паролей — плохая идея.

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

Клиент менеджера паролей LastPass
Клиент менеджера паролей LastPass

Конкретно у этого менеджера выделился целый список недостатков, каждый из которых — звонкая монета в копилку угроз безопасности.

Например, отсутствие шифрования URL-адресов сайтов, для которых сохраняются учётные данные — злоумышленнику сыграет на руку информация о том, к чему у пользователя есть доступ. Или не самый эффективный криптографический стандарт PBKDF2, который формирует ключ на основе пароля.

Ранее, в 2017 году, произошел взлом крупной службы управления доступом OneLogin. Хакер получил доступ к набору ключей AWS, после чего извлёк данные из таблиц базы данных, которые содержали информацию о пользователях, приложениях и типах ключей.

Как и в случае с LastPass, разработчики были немногословны — подробности взлома были сокрыты, а пользователи получили лишь короткое сообщение на Email.

Еще ранее, в 2016 году, в результате хакерской атаки утекли данные 1,7 миллионов пользователей Opera Sync. В этом облаке хранятся данные каждого пользователя Opera — история просмотров, закладки, пароли браузерного менеджера, открытые вкладки и т. д.

Тогда Opera отреагировала довольно быстро, уведомив о проблеме всех своих пользователей. И хотя данные были зашифрованы, в качестве меры предосторожности компания сбросили все пароли к учетным данным пользователей Opera Sync. Да, подход Opera к безопасности своих клиентов более ответственный.

Говоря проще, утечки данных из менеджеров паролей не тренд, но прецеденты были. С точки зрения отдельно взятого пользователя вероятность потерять свои аккаунты по вине менеджера паролей довольно низка. Именно по вине менеджера. По прямой вине. Ведь может случиться так, что использование менеджера привело к компрометации пароля, но по вине пользователя.

Например, пароль был скопирован из менеджера в поле авторизации и остался в буфере обмена. А потом пользователь случайно вставил его в мессенджер и отправил кому-то. Или просто засветил во время трансляции экрана, оставив включенным режим отображения без звездочек. Случаи бывают разные.

Кстати, то же самое касается изначально заражённого окружения. Вот, что пишет по этому поводу разработчик менеджера KeePass Доминик Райхл: «Ни KeePass, ни любой другой менеджер паролей не могут волшебным образом безопасно работать внутри зараженной шпионским ПО среде».

Исследование, проведенное в 2019 году, подтверждает эти слова — популярные приложения для Windows (1Password, Dashlane, KeePass, LastPass) банально не очищали секретные ключи (и мастер-пароли) из оперативной памяти после использования менеджера, отчего их извлечение шпионским ПО превращалось в тривиальную задачу.

Английский специалист по компьютерной безопасности Тэвис Орманди в своем блоге описывал одну нерешённую уязвимость, при которой расширение браузера (выпущенное разработчиками менеджера для работы функции автоввода) вставляет свои контентные скрипты (JavaScript) в каждый посещаемый пользователем сайт.

На первый взгляд, это выглядит совсем безобидно — у каждой формы авторизации появляется иконка менеджера, нажатие на которую открывает окно выбора учётных данных для автоматического ввода.

Менеджер NordPass подставляет кнопку со своим логотипом к полям авторизации на всех открываемых сайтах (скриншот взят из блога Тэвиса Орманди)
Менеджер NordPass подставляет кнопку со своим логотипом к полям авторизации на всех открываемых сайтах (скриншот взят из блога Тэвиса Орманди)

Проблема в том, что эти скрипты могут оказаться во враждебном окружении. Опасный сайт может поменять подставленные менеджером элементы управления на свои. А дальше есть несколько вариантов:

  • обращение к API менеджера через XHR или WebSockets с целью получения секретных данных

  • попытка взаимодействия с расширением для «выуживания» данных непосредственно из него

«256-битное симметричное AES-шифрование», «уникальный ключ», «архитектура с нулевым разглашением», «криптографический алгоритм XChaCha20» — пусть эти модные слова не обнадёживают ваш слух.

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

Поэтому для атаки совсем не обязательны громкие утечки из централизованных баз данных. Достаточно лишь неосторожных пользователей, которые, тем не менее, используют вполне безопасный продукт. Это как незакрытая форточка в доме с металлической дверью и десятком надёжных замков.

И хотя принципы устройства «замков» похожи, они всё же имеют некоторые отличия.

Локальные, облачные, детерминированные и браузерные менеджеры

Локальные

Локальные менеджеры наиболее консервативны из всех существующих. Они полностью изолированы от внешней среды (интернета) и не синхронизируются с облаком разработчика.

Условно их можно поделить на две категории: для личного использования и для корпоративного использования.

Первые больше похожи на олдскульные утилиты для «гиков». Их очень мало и они требуют технических знаний при использовании. В некоторых случаях они выполнены в виде портативной утилиты, размещённой на флэшке.

Вторые — полноценные приложения, предоставляющие сервис как для обычных пользователей, так и для корпоративных клиентов. Последним разрешается размещение менеджера на собственных серверах компании.

KeePass относится к первой категории. Это старая, но надежная утилита из 2000-х годов. Полностью автономная — только самообслуживание. Менеджер считается одним из самых безопасных.

Наверное, поэтому его основная аудитория — технические энтузиасты. Он бесплатен, имеет открытый исходный код, но работает преимущественно под Windows. В Linux и macOS запускается через Mono. Под Android и iOS есть несколько неофициальных портов.

Интерфейс KeePass
Интерфейс KeePass

Некоторые другие особенности:

  • Импорт и экспорт паролей в формате .kdbx (поддерживаются также TXT, HTML, XML, CSV)

  • Сброс буфера обмена, который очищается через таймаут после копирования пароля. При этом KeePass блокирует уведомление об изменении содержимого буфера обмена для других приложений, защищаясь от шпионского ПО.

  • Двухканальная автоматическая обфускация (TCATO) препятствует работе шпионского кейлогера, отправляя остальным приложениям (рандомизация ввода) ложные уведомления о нажатии клавиш клавиатуры.

  • Автоввод через браузерное расширение, доступное для Firefox, Chrome и Edge.

  • Защита паролей в оперативной памяти. Секреты хранятся в защищенной от подкачки области ОЗУ с использованием шифрования ARC4.

Более поздние и современные утилиты предоставляют как локальное хранилище (на компьютере или собственном сервере), так и публичное защищённое облако разработчика.

Функциональная разница в обоих случаях обычно отсутствует — отличаются только тарифные планы. Собственное хранение, как правило, бесплатно, а за использование серверов разработчика придется платить.

Среднестатистический пользователь предпочитает второй вариант — в этом случае всё работает «из коробки». Однако для корпоративных клиентов важен полный контроль, поэтому менеджеры размещаются на собственных серверах.

PassBolt предоставляет именно такой функционал. Это молодой менеджер паролей (появился в 2016 году) с открытым исходным кодом.

Возможности довольно стандартны — шифрование, контроль уровней доступа, «шейринг» паролей и т. д.

 Строгий темный интерфейс PassBolt
 Строгий темный интерфейс PassBolt

Bitwarden — менеджер с аналогичными возможностями. Однако больше всего его ценят за гибкие возможности развёртывания на собственных закрытых серверах.

Разработчики стараются убирать любые препятствия при переходе пользователей с других менеджеров на Bitwarden, поэтому утилита поддерживает функцию импорта баз данных из множества других менеджеров — 1Password, Blur, Dashlane, Enpass, KeePass, PassKeep, RoboForm, Vivaldi, Zoho.

Веб-интерфейс BitWarden вместе с расширением браузера
Веб-интерфейс BitWarden вместе с расширением браузера

Минусы не то чтобы существенны, но всё же есть:

  • Не самый лучший UI/UX пользовательского интерфейса

  • Функции безопасности (шифрование AES-256 Face ID, Touch ID на iOS и macOS, считыватели отпечатков пальцев Android2FA/MF) есть только в платной версии (от 1 доллара в месяц)

  • Слабо развита живая поддержка пользователей

Кстати, у Bitwarden есть альтернативная реализация серверной части — Vaultwarden. Как сообщают разработчики, она является более компактной, отчего работает несколько быстрее официальной утилиты. К тому же расширенный функционал полностью бесплатен.

Есть множество других менеджеров из данного сегмента. Функции стандартны, но при использовании каждого из них всегда есть нюансы. Хотя, по правде сказать, они упираются во вкусы отдельно взятого человека или бизнеса.

Темный интерфейс менеджера Padloc
Темный интерфейс менеджера Padloc

Это лишь парочка для примера:

  • Padloc. Современный менеджер с отличным пользовательским интерфейсом, похожим на PassBolt. Есть платные и бесплатные тарифы.

  • Passwork. Функционал менеджера заточен под организации. Очень развита система контроля доступа сотрудников компании. Приятный интерфейс и автоматический аудит безопасности. Кстати, есть русскоязычный сайт.

  • Passit. Простой и компактный менеджер, созданный небольшой командой разработчиков из Burke Software. Существует только в виде ПО для серверов. Правда, для тестирования возможностей существует общедоступная версия.

Облачные

Эти менеджеры паролей работают как SaaS-сервисы, предоставляя пользователям собственное защищённое облако и набор клиентских приложений под популярные платформы.

Такие утилиты распространены больше всего. Они предназначены для среднего пользователя — не слишком «гика», не слишком «ламера». Небольшие компании тоже предпочитают именно их.

Большинство таких менеджеров являются проприетарными платформами без открытого исходного кода. Поэтому они не предоставляют возможность размещать менеджер на собственных выделенных серверах.

Вот некоторые из наиболее известных менеджеров этой категории:

  • NordPass является частью пакета безопасности, в который входят другие продукты компании-разработчика — NordVPN и NordLocker.

  • Keeper, как и NordPass, тоже предоставляет многофункциональный сервис. Помимо самого диспетчера паролей, в менеджер входит KeeperChat (мессенджер с самоуничтожающимися сообщениями), Security Audit (утилита оценки надежности паролей), Breach Watch (сканер интернета и даркнета на предмет утечки ваших данных).

  • Roboform — старейший и всё еще популярный менеджер паролей, выпущенный аж в 1999 году. Несмотря на возраст, регулярно обновляется и имеет современный интерфейс с понятной навигацией. Большая часть аудитории Roboform — корпоративные клиенты. Но индивидуальных пользователей тоже предостаточно.

  • 1Password — крупный и серьезный игрок на рынке безопасности, который немного моложе Roboform. Возможно, поэтому 1Password полностью платный — бесплатно доступен только 14-дневный пробный период.

Вы также можете обратить внимание и на другие менее популярные менеджеры: Dashlane, Passwarden, Sticky Password, Enpass

Детерминистические

Особенность детерминистических менеджеров паролей (deterministic password manager) — отсутствие хранилища. Вместо синхронизации данных между устройствами используется «магия» криптографии, преобразующая мастер-ключ и название (или домен) сайта в уникальный пароль.

Сгенерированные пароли рассчитываются прямо на устройстве за считанные миллисекунды. Поэтому способ и называется «детерминистическим» — при одних и тех же данных он каждый раз даёт один и тот же результат.

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

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

Это плавно подводит нас к теме метаданных. К их числу можно отнести название (или домен) сайта, тип генерируемого пароля (только буквы, буквы и цифры и т. д.), мастер-ключ и счётчик.

Именно наличие метаданных сводит на нет многие преимущества детерминистических менеджеров — мы либо держим их в голове, либо используем всё ту же пресловутую синхронизацию с облаком разработчика. Только храним там не пароли, а метаданные.

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

Тем не менее утилиты, генерирующие детерминированные пароли, появились задолго до самого тренда на использование менеджеров паролей. В 2002 году специалист Алан Карп разработал один из таких генераторов. А в 2003 году были созданы Stanford PwdHash и SuperGenPass. Но то были простые и ненастраиваемые реализации.

К современным же решениям можно отнести AltoPass, Spectre, LessPass. Последний — лишь простая форма-генератор, доступная из браузера. Однако первые два немного сложнее — внешне они напоминают классический менеджер с множеством соответствующих функций.

AltoPass предоставляет как обычный способ хранения зашифрованных паролей, так и детерминистический. При этом AltoPass хранит в своём облаке некоторые метаданные (но не сами пароли) — имена пользователей, идентификаторы сервисов, настраиваемые поля и случайные seed-ы, необходимые для расчёта пароля на локальном устройстве.

Интерфейс мобильного приложения AltoPass
Интерфейс мобильного приложения AltoPass

Автономные версии детерминистических менеджеров, представленные не в виде полноценного сервиса, не справились бы с проблемой огромного количества учётных данных. Однако проекты вроде AltoPass обеспечивают всё тот же функционал, что и типичный менеджер, но с криптографической основой в своем «ядре».

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

Однако и тут есть загвоздка. Нет никаких настоящих доказательств, что хранение метаданных в облаке разработчика безопаснее хранения самих паролей в зашифрованном виде. К тому же ваш мастер-пароль (и настройки генерации) по-прежнему может быть скомпрометирован.

Spectre — ещё один детерминистический менеджер с открытым исходным кодом. Хотя он в большей степени предназначен для разработчиков, нежели для рядовых пользователей — для использования Spectre его необходимо загрузить из репозитория GitLab и самостоятельно скомпилировать. Из готовых «билдов» есть только урезанная веб-версия и iOS-приложение.

Браузерная версия Spectre урезана до простого криптографического генератора
Браузерная версия Spectre урезана до простого криптографического генератора

Кстати, у Spectre есть своё небольшое коммьюнити, где можно задать вопрос по работе менеджера или сообщить о каких-то проблемах.

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

Они выглядят сложнее в глазах типичного пользователя, оставаясь делом вкусовщины «горстки» представителей IT-отрасли. Ведь использование детерминистического менеджера всё ещё требует запоминания информации. Да, это не сложные пароли, а лишь поля метаданных, но тем не менее. Короче, это решение для «гиков».

Плюсы:

  • Пароли в явном виде нигде не хранятся (за счет того, что выводятся из метаданных)

Минусы:

  • Даже в самом простом случае нужно держать в голове некоторые метаданные

  • Перевыпуск нового пароля для конкретного сайта выглядит как «костыль» — нужно увеличить счётчик и при этом не забыть об этом. Если таких перевыпущенных паролей станет много — запоминание всех счётчиков окажется трудной задачей

  • Для продвинутого повседневного использования по-прежнему нужна синхронизация и хранение метаданных

Браузерные

С браузерными менеджерами всё понятно. Вводимые на сайтах пароли сохраняются в браузере, после чего их можно использовать через автоввод. При этом исключаются проблемы безопасности, построенные на инъекции вредоносного контента внутри опасных сайтов — именно тогда, когда расширение стороннего менеджера подставляет собственные элементы интерфейса к полям авторизации, отчего вредоносный сайт, в свою очередь, может получить доступ уже к самому менеджеру. В браузерном менеджере это невозможно, потому что его интерфейс работает поверх отображаемых веб-страниц.

На этом достоинства заканчиваются. Далее — только фатальные недостатки.

Самая безобидная проблема браузерных менеджеров — кроссплатформенность. По сути, её нет. Если на компьютере стоит Firefox, а на мобильном телефоне Chrome — пароли между ними синхронизироваться не будут.

Если к устройству имеют доступ другие люди, то ваши учётные данные окажутся у них как на ладони. Ведь функция мастер-пароля есть лишь в паре браузеров, и то довольно тривиальная.

Firefox предлагает шифрование паролей с помощью одного мастер-ключа. Opera позволяет делать нечто похожее, но мастер-ключом выступает пароль для входа в систему. Интересно, что Яндекс.Браузер тоже имеет функцию мастер-пароля. В Chrome, Safari и Edge такой возможности нет.

При этом браузеры с функцией мастер-ключа никогда не предлагают активировать шифрование. Они вообще никогда ничего не предлагают из того, что связано с безопасностью. Среднестатистический пользователь просто жмет «Сохранить пароль» и продолжает использовать браузер, не подозревая о рисках.

На первый взгляд, это кажется странным, но если разобраться — логика проста. Каждый популярный браузер используют сотни миллионов людей по всему миру. Их демография разнообразна, но большинство из них — неискушенные в технических вопросах «пользователи-ламеры».

Разработчики стремятся упростить порог входа в интернет — открыл браузер и всё работает «из коробки». Поди расскажи начиниющим пользователям , что такое менеджер паролей, шифрование, мастер-ключ и зачем вообще это всё надо — для них это просто надоедливые всплывающие окна, мешающие гуглить то, что они хотят нагуглить. Многие из них даже не знают, что такое «аккаунт» или «личный кабинет».

Но шифрование — это полбеды. Оказывается, браузеры хранят сохранённые пароли в крайне предсказуемых местах.

Видео ниже показывает, как тривиальный скрипт, запущенный через командную строку, сперва находит зашифрованные пароли в стандартном каталоге браузера, после чего расшифровывает их с помощью AES-ключа из свободно лежащего JSON-файла.

Будь это не скрипт, а троянская программа, было бы безопаснее хранить пароли в спрятанном txt-файле — по крайней мере, вредоносное ПО о нём бы не узнало.

Плюсы:

  • Просто и «из коробки»

  • Безопасная песочница браузера исключает уязвимости, построенные на инъекции вредоносного кода в интерфейс менеджера из веб-страницы

Минусы:

  • Нет синхронизации между разными браузерами

  • Мастер-ключей либо нет, либо они добавлены «для галочки»

  • Браузеры не пытаются прятать базы данных с паролями от вредоносного ПО и злоумышленников

  • Другие пользователи вашего устройства легко получат ваши учётные данные

  • Нет возможности хранить другие секреты — банковские карты и криптографические ключи

Что в итоге?

Когда учётных данных мало

Если вы пользуетесь от силы 6-10 сервисами — скорее всего, вам ещё рано заводить менеджер паролей.

Скажем так, издержки использования стороннего приложения будут перевешивать его бонусы при таком количестве учетных данных — их сложности и разнообразия недостаточно для того, чтобы начинать вести полноценную базу данных с синхронизацией между устройствами.

При этом:

  • Появится зависимость от приложения и разработчика.

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

  • Снижение риска утечки подразумевает использование двухфакторной авторизации (2FA) по телефону или биометрическим данным. Если с биометрическими данными всё понятно (они ваши и вряд ли изменятся), то номер телефона создаст ещё одну зависимость от мобильного оператора.

  • Нужно будет привыкнуть к особенностям конкретного менеджера, предварительно протестировав несколько других. Если какой-то из них вам не подойдёт, вам придется переключаться на другой, вникая в его детали.

  • Нужно будет полностью отказаться от человекочитаемых паролей в пользу генератора. А иначе какой смысл закладывать в пароли человеческую семантику, если они будут храниться в облаке?

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

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

Когда учётных данных много

Если сервисов (или банковских карт и других секретных данных) становится гораздо больше 10 (вплоть до сотен) — помнить всё будет довольно проблематично. Тут на помощь приходят менеджеры паролей.

Именно на этом и только на этом этапе становится актуален сам «менеджмент» — собственно, отсюда и само название «менеджер паролей». Какой смысл «менеджерить» несколько учёток? Менеджмент нужен для чего-то большого и сложного, для ликвидации хаоса и повышения предсказуемости.

Тут уже есть варианты. Использовать локальный менеджер, портативный или с облачной синхронизацией — решать вам.

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

В остальном — дело вкуса. В общем, если ваш парольный менеджер не пресловутый LastPass, то уже неплохо :)


НЛО прилетело и оставило здесь промокод для читателей нашего блога:
— 15% на заказ любого VDS (кроме тарифа Прогрев) — HABRFIRSTVDS.

Комментарии (25)


  1. BarakAdama
    08.08.2023 08:32

    Про браузеры слишком общие выводы. Реализации всё же разные бывают. Про Яндекс Браузер напомню ссылку на хабропост https://habr.com/ru/companies/yandex/articles/344382/


    1. vilgeforce
      08.08.2023 08:32

      Нет смысла рассматривать детали реализации, если в самых популярных Chrome и FF (напомните, к слову, сколько у них доля рынка) все именно так, как и написано: никакой безопасности хранения паролей, в общем-то, и нет. Любая непривелигированная программа запущенная от того же юзера получит все сохраненные пароли без особых проблем


      1. BarakAdama
        08.08.2023 08:32

        Вы всё верно написали. Принёс ссылку только потому, что в тексте упоминается Яндекс Браузер. И может сложиться впечатление, что механизм у всех одинаковый. Про популярность вообще спорить не хочу: на каждом отдельно взятом рынке она своя.


        1. vilgeforce
          08.08.2023 08:32
          +1

          И "популярность" Яндекс Браузера обеспечивается, в том числе, неафишируемой(!) партнерской программой впаривания его под видом свбодно доступного софта, да. Хотите доверять этому пароли?


          1. Mur81
            08.08.2023 08:32
            +2

            Возможно уже выросло поколение которое этого не знает, но я просто хочу напомнить, что Chrome в начале своего пути точно так же распространялся через партнёрку.

            Никого оправдывать не хочу, лично мне такой способ тоже крайне не приятен. Однако вынужден признать, что если бы так не делали, то скорее всего мы сейчас бы до сих пор сидели на IE (те кто под виндой работает конечно).


            1. ritorichesky_echpochmak
              08.08.2023 08:32
              +1

              В смысле тот IE который нужен был только штобы нетшкаф нафигатор скачать? А зачем на нём сидеть было, при том что даже опера до 12-ой версии была куда более интересной, чем даже распоследний 11-ый ослик (кстати уже успешно пристреленный даже хозяевами)? Видимо выросло поколение которое забыло насколько все дружно ненавидели ослика задолго до появления хрома


              1. Mur81
                08.08.2023 08:32
                +1

                1. Навигатор, если я правильно помню, денег стоил. Ранние версии по крайней мере.

                2. И какой процент людей ослика ненавидели? Я имею в виду не ИТ-сообщество, а из всех людей кто виндой пользовался? Из тех людей которые даже слово "браузер" не знают. Для которых Интернет=IE, который есть из коробки, бесплатен, и в общем-то работает.


                1. ritorichesky_echpochmak
                  08.08.2023 08:32
                  +1

                  Ну не знаю, на дисках с варезом было бесплатно, а потом появился вполне бесплатный FF. А до того опера, да, в т.ч. даже на первых мобилках, которые были именно мобильные телефоны... Кто-то ещё даже Kopete вспомнит и кучу других поделок над вебкитом.

                  Интернет=IE заканчивалось у большинства новоприбывших очень быстро и начиналось удаление всякого шрота, левых урликов из автозапуска, кучи баганутых и троянизированных тулбаров, классическая мантра "эта штука нужна только чтобы скачать нормальный браузер", антивирь, обновления, разъяснительные работы что негоже всяким решетом куда попало ходить, что попало качать. Шутка что IE это такой браузер чтобы скачать нормальный браузер появилась жесть как давно, наверное ещё фидошечка жива была и баш только зарождался. А приключения с вёрсткой до IE9 включительно вызывали зубную боль примерно у всех кто сталкивался с вёрсткой. Если вы не в курсе всего этого кардебалета, то пожалуйста не нужно писать про какие-то там поколения которые застали чуть ли не динозавров, винни пуха и 9600 бод...) Не от большой любви к IE у него были такие сдающие позиции, что оказалось проще его выкосить и запилить Edge


                  1. Mur81
                    08.08.2023 08:32
                    +2

                    Вы снова делаете ту же ошибку на которую я Вам уже указал - натягиваете свой личный опыт человека варящегося в ИТ и проживающего в стране где диски с варезом продавались на каждом углу. А я говорю про мир в целом, про всех пользователей. Не связанных с версткой и которым боль верстальщика до одного места. Как еще донести свою мысль я не знаю, поэтому на этом всё.


                    1. ritorichesky_echpochmak
                      08.08.2023 08:32

                      Это ещё одно ваше ошибочное предположение, я не верстальщик. Но я знаю достаточно веб-приложений, которые поддерживают Chrome, FF, Safary, но не IE. Пользователям этих сайтов, конечно, пофиг каким браузером пользоваться... лишь бы не IE) Статистика, хоть в определённые периоды и странная, вполне доступна. Ещё раз - IE убили не потому что он был якобы дофига обожаем пользователями, удобен, фичаст и волосы от него были мягкие и шелковистые. Да, он был по умолчанию предустановлен и навязывался в максимально наглой форме - на этом всё. Я не знаю как вам ещё донести мысль, что ослик сдох и туда ему и дорога, никто бы на нём при наличии выбора в здравом уме не сидел, но ваш первичный подгон что хром якобы стал популярен потому что использовал вирусное навязывание с каждым инсталлом, как до сих пор у Яндекса - ну вообще смешно смотрится. Может и движок хрома все стали к себе тащить потому что где-то есть специальная версия Download Master которая навязчиво предлагает при установке заодно и свой браузер на хромиуме запилить? Ну бред же

                      Вот вам пример навязывания, который почему-то не делает Яндекс популярнее. Ни их браузер, ни другие сервисы, потому что это скорее бесит
                      Вот вам пример навязывания, который почему-то не делает Яндекс популярнее. Ни их браузер, ни другие сервисы, потому что это скорее бесит


                      1. Mur81
                        08.08.2023 08:32
                        +1

                        Мне не надо доносить мысль, что "ослик сдох и туда ему и дорога". Я с ней и так согласен. И заметьте, что я нигде не писал, что он был обожаем пользователями. Но я продолжу настаивать на том, что Хром стал популярен во многом из-за вирусного распространения. Дополненного, кстати, масштабной рекламной компанией, в т.ч. и на ТВ. Это естественно не единственная причина была, но первоначальный (и очень хороший) импульс был дан за счёт этого. Он возможно стал бы популярен и так, но заняло бы это гораздо больше времени. А теперь спросите себя ради чего Гугл вложил столько бабла в разработку, партнёрские программы и рекламу? Ровно ради того же для чего это делает Яндекс сейчас. И да, лично у меня, Яндекс сейчас вызывает еще большее отвращение чем Гугл тогда (не только из-за Я.Браузера).

                        А движок Хрома тащят потому что он хороший (я обратного нигде и не писал) и бесплатный. Очевидное решение - взять бесплатное готовое, не вкладывать денег в разработку своего и не иметь проблем с совместимостью.


  1. ritorichesky_echpochmak
    08.08.2023 08:32
    +4

    Для SOHO KeePassXC - пароли по таймауту вполне себе подтирает, умеет хранить TOTP (ну, нормальные, а не "свой путь" как у некоторых), умеет приватные ключи подливать в SSH-агент (в т.ч. в OpenSSH даже на винде). Для особо ленивых умеет в биометрическую авторизацию.

    Синкать можно через что угодно, хоть дропбоксы и прочие синктинги, хоть keeweb. При синке через чужие облачка просто помимо пароля прихраните ещё файл-ключ и раскидайте его по своим железкам мимо облачка.

    На телефоне KeePassDroid

    Для компаний self-hosted Bitwarden


    1. micronull
      08.08.2023 08:32
      +2

      Так же стоит отметить, что в KeePassXC есть встроенный плагин для проверки паролей через HIBP.

      Для телефона использую KeePassDX, он более современный и активно поддерживается сообществом.

      Ну и плагин для браузера KeePassXC-Browser.


  1. ti_zh_vrach
    08.08.2023 08:32

    KeePass относится…

    Наверное, поэтому его основная аудитория — технические энтузиасты.

    "А так же их родители" © (Ералаш) Два часа с ними посидел — во всю теперь пользуются. Заодно показал, как "бэкапить" на флешкИ без проблем.


    В общем, сложность сильно преувеличена. К тому же, можно научиться самому себе делать облако. А менять некоторые неудобства в вопросе паролей на облачность теперь мало кто будет, как мне кажется.


  1. Rukuki_Ake
    08.08.2023 08:32

    А умеет ли кто из актуального софта гибкие настройки шаблонов представления - под кредитки там или паспорт, как это умел SPB Wallet?


    1. K0styan
      08.08.2023 08:32

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


    1. ementat
      08.08.2023 08:32

      1Password все это умеет. Есть свои шаблоны + есть кастомизация стандартных шаблонов: можно добавлять свои поля, группы.


  1. K0styan
    08.08.2023 08:32

    Вот эту фазу с генерацией паролей в голове по какой-то схеме с учётом названия сервиса, наверно, все проходят. Примерно так:

    • Придумал отличную схему, пользуюсь везде!

    • Так, не смог вспомнить пароль с первого раза: когда генерировал, имя сервиса не как обычно в пароль включил - надо более строгие, однозначные правила придумать...

    • Чорт, сложно, надо для одноразовых регистраций всё ж один пароль на всё завести...

    • Чорт, на хабре очередная статья про то, как придумывать пароли, и схема похожа на мою - надо придумывать новую...

    • Чорт, банк просит сменить пароль и не даёт завести слишком похожий на старый, надо для него особую схему выдумать...

    • Какую же схему я тут использовал, банковскую, старую или новую...? Погоди-ка, а вдруг... Чорт! Какого фига я на банк поставил пароль тот же, что и для тыщи одноразовых сервисов!?

    • keepass.info/download энтер


    1. KongEnGe
      08.08.2023 08:32

      Обычно "простая" схема хорошо сочетается с менеджером паролей на случай провалов в памяти и специальных парольных политик на отдельных сервисах.


  1. antinoy
    08.08.2023 08:32

    А собственный мозг, в качестве менеджера паролей, не подойдёт?


    1. strelkan
      08.08.2023 08:32

      нет


      1. antinoy
        08.08.2023 08:32
        -1

        Мозга нет?


  1. Deroswent
    08.08.2023 08:32

    а как же недавно релизнувшийся ProtonPass от ProtonMail?


  1. Bootmen
    08.08.2023 08:32

    Храню pass текстового вида в архиве rar под паролем. Причем два раза

    Сломать можно?


    1. K0styan
      08.08.2023 08:32

      Зайдите в настройки WinRAR, убедитесь, что на вкладке Security стоит галка в блоке Wipe temporary files - либо для всех файлов, либо для зашифрованных хотя бы.

      А то сломать-то - не факт, но вытащить файл после удаления из ФС вполне можно.