Уязвимость в функции «мастер-пароль» в течение 9 лет ставит под угрозу пользователей Mozilla

Уязвимость в функции «мастер-пароль» в течение 9 лет ставит под угрозу пользователей Mozilla

Производитель знал о проблеме с момента появления функции «мастер-пароль», но до сих пор не исправил ее.

На протяжении последних девяти лет Mozilla использовала в своей функции «мастер-пароль» недостаточно надежное шифрование.

В Firefox и Thunderbird предусмотрена функция, позволяющая пользователям устанавливать мастер-пароль, играющий роль криптографического ключа для шифрования каждого пароля, сохраненного в браузере или почтовом клиенте. Данная функция получила хорошие отзывы ИБ-экспертов, поскольку без нее браузеры сохраняют пароли локально в незашифрованном виде, оставляя их уязвимыми для вредоносного ПО или хакеров с физическим доступом к компьютерам жертв. Однако по словам создателя AdBlock Plus Владимира Паланта (Wladimir Palant), используемый функцией механизм шифрования ненадежен и может быть легко взломан с помощью брутфорса.

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

Счетчик цикла функции SHA-1 равен единице. Это значит, что она применяется только один раз, тогда как рекомендованным значением является 10000 (к примеру, в LastPass счетчик цикла равен 100000). Столь низкое значение существенно облегчает работу хакерам, которые могут осуществить брутфорс-атаку, расшифровать мастер-пароль, а затем и все зашифрованные с его помощью пароли.

Палант – не первый исследователь, обнаруживший данную проблему. Еще девять лет назад о ней сообщил Джастин Долске (Justin Dolske) сразу же после появления функции «мастер-пароль». Тем не менее, Mozilla не исправляла уязвимость до тех пор, пока недавно о ней снова не напомнил Палант. Как сообщили в компании, проблема будет исправлена с выходом нового компонента для функции «мастер-пароль» под кодовым названием Lockbox.

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

Большой брат следит за вами, но мы знаем, как остановить его

Подпишитесь на наш канал!