Система мастер-пароля в Firefox использует слабый механизм шифрования

Система мастер-пароля в Firefox использует слабый механизм шифрования

На протяжении последних девяти лет Mozilla использует недостаточно устойчивый механизм шифрования для функции «мастер-пароль» («master password»). Напомним, что Firefox и Thunderbird позволяют настраивать «мастер-пароль», который используется для шифрования каждой строки любого пароля, который пользователь сохраняет в своем браузере или почтовом клиенте.

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

Однако теперь автор расширения AdBlock Plus Владимир Палант (Wladimir Palant) утверждает, что используемая функцией «мастер-пароля» схема шифрования достаточно слаба и может быть уязвима к атаке вида брутфорс.

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

Автор AdBlock Plus имеет в виду количество итераций функции SHA-1 — 1. То есть SHA-1 применяется лишь один раз, что недопустимо, учитывая, что отраслевые практики пришли к минимальной цифре в 10 000. Например, популярный менеджер паролей LastPass использует значение, равное 100 000.

Такое малое количество итераций чревато тем, что атакующий может взломать защиту, используя пресловутую атаку типа брутфорс, что позволит ему расшифровать пароли, сохраненные в базах Firefox или Thunderbird.

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

Удивительно, что Палант далеко не первый исследователь, отметивший наличие этой проблемы. Девять лет назад некто Джастин Долск (Justin Dolske) рапортовал Mozilla об этом же баге.