Пентестер и ИБ-исследователь Том Йёран Сёнстебюсетер Рённинг сообщил, что Microsoft Edge загружает сохранённые пользователем пароли в память процесса в открытом виде, даже если пользователь в текущей сессии не открывал сайты, к которым эти пароли относятся. Под cleartext здесь понимается не хранение паролей «на диске» без защиты, а их нахождение в оперативной памяти уже расшифрованными, в виде читаемого текста.
Исследователь опубликовал PoC на GitHub, демонстрирующий, как потенциально вредоносная программа при наличии доступа к памяти запущенного браузера может извлечь эти данные. Позже другой исследователь, известный как 5mukx, показал похожую реализацию на Rust. По словам Рённинга, он сообщил о поведении Microsoft, однако получил ответ, что это работает «by design», то есть является частью текущей архитектуры продукта.
Важный нюанс: это не означает, что любой сайт может просто прочитать ваши пароли из Edge. Для эксплуатации нужен локальный доступ к системе или уже запущенная вредоносная программа с достаточными правами, чтобы читать память процесса браузера. Но именно в этом и проблема: если малварь уже оказалась на машине, ей не нужно взаимодействовать с интерфейсом менеджера паролей или ждать, пока пользователь сам откроет нужный сайт. Браузер уже держит часть чувствительных данных в расшифрованном виде.
Отдельно на эту тему высказался Флориан Рот. Он отметил, что проблема не только в самом факте расшифровки паролей в памяти, а в объёме и времени жизни таких данных. Чем больше паролей браузер держит в cleartext и чем дольше они остаются в памяти, тем проще становится задача для стилеров и другой локальной малвари.
При этом современные атаки на учётные записи всё чаще смещаются от кражи паролей к краже активных сессий: cookies, токенов и других артефактов авторизации. Это логично: двухфакторная аутентификация усложняет вход по одному паролю, а украденная сессия иногда позволяет обойти повторный ввод логина, пароля и второго фактора. Поэтому хранение паролей в браузере — это только часть более широкой проблемы локальной компрометации пользовательского профиля.
Я думаю, что Microsoft формально может называть это «ожидаемым поведением», но по сути это полный бред. Когда браузер требует повторную аутентификацию для просмотра пароля в интерфейсе, но при этом уже держит эти же пароли в памяти в открытом виде, возникает пропасть между ощущением безопасности и реальной моделью защиты. И даже не ясно, поправят ли это. Да, это не удалённая RCE-уязвимость и не повод срочно удалять Edge всем подряд. Но это хороший повод ещё раз задуматься, стоит ли хранить критичные пароли прямо в браузере, как минимум в этом браузере.
Мой Telegram-канал, буду рад каждому! Спасибо за прочтение
ссылка на оригинал статьи https://habr.com/ru/articles/1032122/