Новости

• Расширения Chrome могут перехватывать пароли
05/09/2023

Группа исследователей из Висконсинского университета в Мадисоне разместила в Интернет-магазине Chrome Web пробный вариант расширения, позволяющего перехватывать пароли, доступные в открытом виде в исходном коде сайта.

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

Кроме того, исследователи обнаружили, что многие сайты с миллионной посещаемостью, в том числе некоторые порталы Google и Cloudflare, хранят пароли в открытом виде в исходном коде HTML-страниц, что делает их доступными для расширений.

Источник проблемы

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

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

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


Новый протокол Manifest V3, представленный в Google Chrome и принятый большинством браузеров в этом году, ограничивает злоупотребление API и запрещает расширениям получать удаленно размещенный код, который может помочь избежать обнаружения, а также предотвращает использование выражений с методом eval, приводящих к выполнению произвольного кода.

Тем не менее, Manifest V3 не устанавливает границу безопасности между расширениями и веб-страницами, поэтому проблема со скриптами в контенте остается.

Опасное расширение успешно размещено в Интернет-магазине Chrome

Чтобы протестировать свою концепцию, исследователи решили разработать расширение Chrome, способное перехватывать пароль, и попытались разместить его в Интернет-магазине Chrome.

Исследователи создали расширение, выдающее себя за помощника на основе GPT, которое может:

Получать исходный код HTML-страницы, когда пользователь пытается войти на страницу.
Злоупотреблять селекторами CSS для выбора целевых полей ввода и извлечения пользовательских данных с помощью метода .value.
Производить замену элементов, чтобы заменить обфусцированные поля на основе JS полями небезопасного пароля.
Расширение не содержит очевидный вредоносного код и не получает код из внешних источников (динамическая инъекция), поэтому соответствует Manifest V3.

В результате расширение прошло проверку и было размещено в Интернет-магазине Google Chrome, так что проверки безопасности не выявили потенциальной угрозы.

Чтобы исключить сбор и использование реальных данных, команда придерживалась этических норм, отключив сервер приема данных и оставив активным только сервер таргетинга элементов.

Кроме того, расширение постоянно находилось в состоянии «неопубликовано», чтобы его не скачало большое количество человек, а после успешного размещения было удалено с площадки.

Потенциал эксплуатации

Проведенное исследование показало, что из 10 тысяч крупнейших сайтов (по данным сервиса Tranco) примерно 1100 хранят пароли пользователей в виде обычного текста в HTML DOM.

Еще 7300 сайтов из того же набора оказались уязвимы для доступа к DOM API и прямого извлечения введенного пользователем значения.


В техническом ответе, опубликованном исследователями из Висконсинского университета в Мадисоне, утверждается, что около 17 300 расширений в Интернет-магазине Chrome (12,5%) имеют необходимые разрешения для извлечения конфиденциальной информации с сайтов.

Некоторые из них, включая популярные блокировщики рекламы, имеют несколько миллионов установок.

В отчете упоминаются следующие уязвимые сайты:

gmail.com — пароли в открытом виде в исходном коде HTML
cloudflare.com — пароли в открытом виде в исходном коде HTML
facebook.com — пользовательские данные могут быть извлечены через DOM API
citibank.com — пользовательские данные могут быть извлечены через DOM API
irs.gov — SSN в открытом виде в исходном коде HTML
capitalone.com — SSN в открытом виде в исходном коде HTML
usenix.org — SSN в открытом виде в исходном коде HTML
amazon.com — данные кредитной карты (включая код безопасности) и ZIP-код доступны в открытом виде в исходном коде HTML
Анализ показал, что 190 расширений (некоторые из которых имеют более 100 тыс. загрузок) напрямую обращаются к полям паролей и хранят значения в переменной. Можно предположить, что некоторые издатели уже пытаются использовать эту брешь в безопасности.

Некоторые компании уже отреагировали на данное исследование. Например, компания Amazon дала свой комментарий на этот счет:

В компании Amazon безопасность клиентов является одним из главных приоритетов, и мы предпринимаем ряд мер для ее защиты. Информация о клиентах, вводимая на веб-сайтах Amazon, надежно защищена. Мы призываем разработчиков браузеров и расширений использовать передовые методы обеспечения безопасности для дополнительной защиты клиентов, пользующихся их услугами.
Представитель Google подтвердил, что данный вопрос рассматривается, и сослался на FAQ по безопасности расширений Chrome, в котором доступ к полям паролей не рассматривается как проблема безопасности, если соответствующие разрешения получены легитимным путем.

https://www.playground.ru/misc/news/rasshireniya_chrome_mogut_perehvatyvat_paroli_peredavaemye_v_otkrytom_tekstovom_vide-1649009

Эти и другие новости читайте на Апачане в разделе "Ньюсач" 52