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

Облачные менеджеры паролей давно продают как «сейф, к которому никто кроме вас не имеет доступа». Но исследователи из Высшей технической школы Цюриха показали, что на практике всё может быть куда менее надёжно. В ряде случаев злоумышленник, получив контроль над сервером сервиса, способен не только подсмотреть сохранённые пароли, но и подменить их.
Менеджерами паролей пользуются миллионы людей. Они хранят входы к сайтам, банкам и платёжным сервисам и позволяют заходить в аккаунты по одному главному паролю. Большинство таких решений работает через облако. Это удобно, потому что доступ к хранилищу есть с разных устройств и можно делиться данными с близкими или коллегами. Разработчики обычно уверяют, что применяют так называемое шифрование с нулевым знанием. По их заявлениям, даже сама компания не может прочитать содержимое хранилища.
Группа криптографов из Цюриха решила проверить, как эта защита устроена на деле. Они изучили архитектуру трёх популярных сервисов хранения паролей и смоделировали ситуацию, при которой сервер оказался под контролем злоумышленника. Для этого развернули собственные серверы, которые вели себя как взломанные, и смотрели, что произойдёт при обычных действиях пользователя в браузере. Достаточно было стандартных операций вроде входа в учётную запись, открытия хранилища или синхронизации.
Результат оказался неприятным. Исследователи провели десятки успешных атак на разные сервисы. В большинстве сценариев им удалось получить доступ к содержимому хранилищ и даже изменить записи внутри. Речь идёт не только о точечных сбоях, но и о вариантах, где можно скомпрометировать данные целой организации, если она пользуется таким сервисом для сотрудников.
По словам участников работы, их удивила глубина проблем. Они ожидали, что у менеджеров паролей защита будет строже, чем у обычных облачных платформ, из-за характера данных. При разборе кода выяснилось, что логика сервисов сильно усложнена. Разработчики стараются добавить восстановление доступа, совместное использование и другие удобные функции. В итоге код разрастается, становится запутанным, а площадь для атаки увеличивается. Для многих атак не нужны мощные вычислительные ресурсы, хватает небольших программ, которые выдают себя за сервер.
Перед публикацией результатов авторы сообщили о найденных уязвимостях компаниям и дали им три месяца на исправление. Часть разработчиков отреагировала быстро, часть тянула с обновлениями. Причина проста. Резкие изменения в криптографических механизмах могут привести к тому, что пользователи потеряют доступ к своим данным. Среди клиентов есть не только частные лица, но и компании, которые хранят в таких сервисах все учётные данные. Поэтому некоторые поставщики до сих пор опираются на устаревшие криптографические решения из девяностых годов.
Авторы работы предлагают постепенно переводить новые учётные записи на современные схемы шифрования, а действующим пользователям дать выбор. Либо перейти на более защищённый вариант, либо остаться на старом, понимая риски. Пользователям же советуют обращать внимание на открытость сервисов, независимые проверки безопасности и на то, включено ли сквозное шифрование по умолчанию.