6 июля 2021 года ИБ-эксперты из Ledger Donjon рассказали, как обнаружили в 2019 году уязвимость генерации паролей в Kaspersky Password Manager. Оказалось, что при использовании настроек низкой сложности для генерации паролей алгоритм менеджер паролей создавал не случайные пароли, а привязанные ко времени, точнее даже секунде, в момент их создания. Уязвимость получила идентификатор CVE-2020-27020 и была исправлена разработчиками после получения информации от Ledger Donjon. Для версии генератора на ОС Windows финальные обновления против этой уязвимости вышли в 2020 году.
Специалисты Ledger Donjon пояснили в своем расширенном техническом отчете, что хотя пароли на первый взгляд и выглядели случайными, алгоритм приложения создавал их одинаковыми в определенную секунду времени. Если два разных пользователя в эту секунду создавали учетную запись на каком-то ресурсе и генерировали пароль в одинаковое время, то он был один и тот же у обоих.
Это происходило из-за того, что секундная временная метка использовалась программой как seed – ключ генерации для пароля на котором работал алгоритм Kaspersky Password Manager. Например, с 2011 года по 2020 год прошло 315 619 200 секунд — столько разных паролей и создала утилита за это время при одинаковых настройках выбора символов. Злоумышленники могли их сами сгенерировать и сохранить в словарь, чтобы далее использовать для брутфорса при атаке. В алгоритме программы также не было проверки, что аналогичный пароль уже был когда-то создан.
Если пользователь во время генерации пароля менял его длину или набор используемых символов, то в этом случае пароль получался другим. Фактически утилита работала как генератор псевдослучайных чисел. Она использовала текущее системное времемя в секундах в качестве начального числа в генераторе псевдослучайных чисел Mersenne Twister.
По мнению исследователей, уязвимость оставалось несколько лет незамеченной обычными пользователями из-за показа на экране генерации пароля анимации, имитировавшей перебор символов при создании секрета. Между нажатием на кнопку и остановкой генератора там проходит больше одной секунды. В случае, если пользователь сразу кликает еще раз, то ему показывается другой пароль.
Вдобавок эксперты в отчете пояснили, что алгоритм генератора псевдослучайных чисел Kaspersky Password Manager не создавал символы в пароле с одинаковой вероятностью. В программе чаще всего выпадали последовательности букв, которые не встречаются в обычных словах. С одной стороны это затрудняло атаку по словарям, но с другой стороны такое распределение давало шанс злоумышленнику удачно использовать брутфорс с выборкой, в которой используется только случайная последовательность цифр, букв и символов.
Представитель «Лаборатории Касперского» подтвердил изданию «Код Дурова», что проблема в работе Kaspersky Password Manager действительно была, но она затронула лишь часть небольшую пользователей. После анализа инцидента разработчик выпустил исправление для своего продукта и внедрил в него механизм, благодаря которому пользователи получают предупреждение, если сгенерированный пароль недостаточно надежен и его следует поменять.
Версии генератора паролей, в который алгоритм не исправлен:
- Kaspersky Password Manager for Windows 9.0.2 Patch F и младше;
- Kaspersky Password Manager for Android 9.2.14.872 и младше;
- Kaspersky Password Manager for iOS 9.2.14.31 и младше.
DGG
Есть ли у нас генерация стойкого пароля? Лучше! У нас есть анимация имитации генерации пароля!
Фейспалм просто
AlastorMoody