Как стать автором
Обновить
2693.45
RUVDS.com
VDS/VPS-хостинг. Скидка 15% по коду HABR15

Браузерные менеджеры паролей — изначально ошибочная защита

Время на прочтение10 мин
Количество просмотров17K
Автор оригинала: RJ Russell

В этой статье рассказывается об очень серьёзной и распространённой угрозе бизнес-данным, так что давайте сразу же перейдём к ней:

Стандартные функции управления паролями браузеров Chrome, Firefox и Edge обеспечивают лишь видимость защищённого хранения паролей. На самом деле, они не дают абсолютно никакой защиты сохраняемых пользовательских паролей.

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

Есть ли угроза для вас?


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

Вам нужно задаться простым вопросом:

«Как наши сотрудники хранят свои рабочие логины и пароли?»

Если вы не давали заранее им никаких рекомендаций или инструментов, то скорее сотрудник поступит одним из трёх способов:

  • Будет записывать пароли на бумажке.
  • Сохранит пароли в документ на своём компьютере.
  • Будет хранить пароли во встроенном менеджере паролей браузера.

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

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

Так в чём проблема?


Логично предположить, что готовая стандартная функция популярного браузера должна быть достаточно безопасной, однако она небезопасна по определению!

Вот что мы под этим подразумеваем:

Даже несмотря на то, что Chrome, Firefox и Edge хранят пароли в зашифрованных базах данных, по умолчанию все три продукта намеренно оставляют связанные ключи шифрования совершенно незащищёнными и хранят их в предсказуемых местах.

Скажем прямо: шифрование бесполезно, если ключи не защищены. Зашифрованная база данных менеджера паролей с незащищённым ключом не предоставляет никакой значимой защиты паролям.

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

Что ещё более удивительно, у всех этих браузеров на самом деле есть механизмы для защиты ключей при помощи установки дополнительного master- или primary-пароля, однако он не включён по умолчанию, и браузер никогда не предлагает его активировать!

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

Хотя использование этого небезопасного способа хранения по умолчанию плохо само по себе, ещё более непростительно то, что браузер никогда не уведомляет пользователя, что тот использует небезопасный способ хранения. Это создаёт впечатление, что всё в порядке — поистине ужасная система безопасности!

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

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

Убедитесь сами


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

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

Убедитесь сами:

В этом коротком видео мы продемонстрировали, как легко будет злоумышленнику извлечь пароли из Chrome, Edge или Firefox, запущенного на настольном компьютере с Windows. Мы использовали каждый из браузеров для создания аккаунта на реальном веб-сайте, а затем запустили скрипт командной строки для расшифровки базы данных каждого браузера и вывода на экран её содержимого, то есть только что введённых имён пользователей и паролей.

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

В итоге он получит полный неограниченный доступ ко всем сохранённым паролям!

Что это значит для вашей компании?


Руководству компаний нужно привыкнуть к мысли, что учётные данные сотрудников (имена пользователей и пароли) — это ещё один вид критически важных бизнес-данных, наряду с исходным кодом, клиентскими данными или документы отдела HR. И при работе с ними нужно принимать те же меры предосторожности.

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

Это очень недальновидно и очень скоро может превратиться в проблему. Представьте следующие ситуации:

  • Ваша компания стала мишенью для киберпреступной группировки, занимающейся вымогательством. Успешная фишинговая атака позволила низкоуровневому вирусу распространиться по корпоративной сети. Единственная задача вредоносной программы — извлечение баз данных и ключей браузеров; благодаря этому хранилище каждого сотрудника оказывается скомпрометированным, открывая возможности объёмной утечки данных.
  • Нацеленная фишинговая атака на вашего финансового директора приводит к компрометации менеджера паролей, в котором хранятся сведения для входа в его электронную почту; таким образом возникает ситуация компрометации бизнес-почты (business email compromise, BEC). Клиенты начинают сообщать, что отправили свои ежеквартальные платежи на новый счёт офшорного банка, потому что получили сообщение, очень похожее на настоящее письмо от финансового директора, с просьбой использовать новый код банка. И это только начало ваших проблем.

Вот так возникают кошмары для бизнеса!

Что сделать для управления этим риском?


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

Самый простой способ реализовать это — развернуть защищённый специализированный менеджер паролей, например, 1Password, Bitwarden, LastPass или Keeper. Enterprise-версии этих продуктов предоставят вам централизованное управление безопасностью паролей и упростят безопасную передачу учётных данных.

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

Можно попробовать просто стимулировать сотрудников защищать ключи шифрования установкой упомянутого выше master-/primary-пароля, однако для этого может понадобиться много труда; обычно в долговременной перспективе лучше развернуть специализированный менеджер паролей, пусть даже и с оплатой подписки.

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

Предлагаемый план действий


▍ Шаг 1 — примерно оцените свои риски


Созовите совещание отделов ИТ и ИБ, чтобы понять, насколько сложна проблема, с которой вы столкнулись.

Задайте представителям отделов следующие вопросы:

  • Когда в последний раз обновляли и рассылали сотрудникам инструкцию по хранению паролей, и происходило ли это когда-нибудь?
  • Указывает ли компания, какие браузеры считаются приемлемыми? Могут ли сотрудники устанавливать любой нужный им браузер? Есть ли у нас система инвентаризации ПО, показывающая, сколько установлено разных браузеров в нашей компании?
  • Как отделы ИТ и Cloud Ops обмениваются неиндивидуальными паролями, например, аккаунтами от сервисов или логинами root?
  • Есть ли в компании сотрудники, уже использующие специализированные менеджеры паролей по своей инициативе?
  • У каких наиболее критически важных бизнес-систем необходимо защищать логины?
  • Где мы обязательно требуем использовать 2FA / MFA или SSO для входа в критически важные системы?

▍ Шаг 2 — установите временную политику


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

  • Все, кто пользуется для хранения паролей браузером Chrome, Firefox или Edge, должны включить функцию шифрования master- или primary-паролем.
  • Все пароли, сохранённые в браузере до включения этой функции, должны считаться подозрительными и подлежат сбросу. Все пароли для критически важных бизнес-систем [здесь нужно указать их список] должны быть сброшены в течение [«X»] дней, а все прочие должны быть сброшены в течение [«Y»] дней.
  • Всем сотрудникам не рекомендуется сохранять новые пароли в своих браузерах, но это допускается при соблюдении приведённых выше условий.
  • Не выполняющие эту политику сотрудники подвергают компанию потенциальной угрозе безопасности и могут быть подвергнуты дисциплинарным взысканиям.

▍ Шаг 3 — донесите до сотрудников изменения политики


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

▍ Шаг 4 — разработайте долговременное решение


  • Соберите высшее руководство, чтобы установить функциональные требования к менеджеру паролей, и выделите небольшую команду для проверки и оценки разных поставщиков. Особое внимание уделяйте функциям безопасности и управления. Обязательным требованием должна быть возможность централизованного принудительного включения 2FA / MFA.
  • Существует несколько продуктов с бесплатными версиями, которые могут быть экономным решением для масштабного развёртывания в крупной, чувствительной к затратам организации. Однако имейте в виду, что чаще всего бесплатные версии предназначены только для индивидуального использования, поэтому вы, скорее всего, не будете иметь контроля за их использованием (например, возможности принудительного включения 2FA / MFA).
  • После выбора продукта приложите большие усилия к разработке материалов обучения сотрудников и инструкций по администрированию для отделов ИТ до общего развёртывания системы для сотрудников. Донесите до всех, что может и чего не может сделать отдел ИТ в помощь сотрудникам, забывшим primary-пароль шифрования.
  • Разработайте план аудита всех хранилищ общих паролей. Как минимум раз в квартал проверяйте, что к общим паролям имеется доступ только у нужных людей.
  • Поработайте с людьми, отвечающими за введение и выведение из штата сотрудников, чтобы новые сотрудники обучались пользованию менеджером паролей и чтобы доступ уволенных сотрудников прекращался должным образом.

Подведём итоги


▍ Немного о «небезопасности по умолчанию»


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

Как говорилось выше, во всех трёх браузерах есть готовые механизмы защиты ключей шифрования. Это можно сделать, задав primary- или master-пароль — по сути, это единственный пароль, который нужно запомнить, помогающий шифровать все другие сохраняемые пароли. Однако это совершенно необязательно должно быть поведением по умолчанию, и такая ситуация ужасна, ведь разработчики точно знали, что большинство пользователей не понимает, как это работает и никогда не будет активировать функцию защиты вручную. Из-за этого риску подвергаются миллиарды пользователей.

Решение этой проблемы очевидно — Google, Mozilla и Microsoft достаточно изменить поведение по умолчанию так, чтобы пароль шифрования был обязательным. Если вы хотите дать пользователям возможность не использовать пароль шифрования, пусть будет так, но они должны вручную деактивировать конфигурацию (со множеством предупреждений о том, насколько это небезопасно).

Специализированные менеджеры паролей (LastPass, Keeper, 1Password, etc.) всегда по умолчанию требуют пароля шифрования с опциональной (но крайне рекомендуемой) 2FA.

▍ А что насчёт MacOS и Safari?


Браузер Safari тесно связан с функциями безопасности Apple ID в MacOS и не имеет этого изъяна в безопасности, поэтому здесь Apple можно похвалить. Даже если в вашей компании уже используются ноутбуки MacOS, маловероятно, что небезопасные Chrome и Firefox будут популярным требованием у сотрудников.

Показанные в видео скрипты эксплойтов, требуют совместимых с Windows модулей Python и тестировались только на браузерах, установленных в Windows. Нам не удалось найти скрипты, выполняющие такой же эксплойт для браузеров Chrome и Firefox, установленных в MacOS. Однако способ хранения внутренних данных браузеров очень схож в обоих операционных системах, поэтому, вероятно, программы в MacOS тоже подвержены этому изъяну, если предположить, что подобные модули расшифровки на Python есть для MacOS или их можно написать.

▍ Спасибо, но мы уже используем отдельный менеджер паролей


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

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

▍ Можете показать, как вы тестировали этот изъян?


Мы намеренно не раскрываем подробностей, демонстрирующих работу скриптов эксплойтов, и не говорим, откуда их взяли. Эта статья не является туториалом по выполнению эксплойта. Наша цель — привлечь внимание бизнес-сообщества к этой угрозе безопасности данных.

Все скрипты были найдены в свободном онлайн-доступе и незначительно изменены для удобства демонстрации.

Telegram-канал и уютный чат для клиентов
Теги:
Хабы:
Всего голосов 45: ↑42 и ↓3+39
Комментарии53

Публикации

Информация

Сайт
ruvds.com
Дата регистрации
Дата основания
Численность
11–30 человек
Местоположение
Россия
Представитель
ruvds