close-btn

Расширения Google Chrome могут красть пароли пользователей из исходного кода сайта

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

Расширения Google Chrome могут красть пароли пользователей из исходного кода веб-сайта

Фото: pexels.com

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

Кроме того, исследователи обнаружили, что из 10 тысяч лучших веб-сайтов (по данным Tranco) примерно 1100 хранят пароли пользователей в виде обычного текста в HTML DOM. Еще 7300 сайтов из того же списка были признаны уязвимыми для доступа к DOM API и прямого извлечения введенного пользователем значения. Также авторы работы заявили, что 17 300 расширений для браузера Google Chrome (12,5%) получают необходимые разрешения, чтобы извлекать конфиденциальную информацию.

Среди примеров отсутствия защиты на сайтах, приведенных в отчете, можно отметить следующие:

  • gmail.com — пароли в виде открытого текста в исходном коде HTML;
  • amazon.com — данные кредитной карты (включая код безопасности) и ZIP-код видны в виде открытого текста в исходном коде страницы;
  • cloudflare.com — пароли в виде открытого текста в исходном коде HTML;
  • facebook.com — пользовательские данные могут быть извлечены через DOM API;
  • citibank.com — пользовательские данные могут быть получены через DOM API;
  • irs.gov — SSN видны в виде открытого текста в исходном коде веб-страницы;
  • capitalone.com — SSN видны в виде открытого текста в исходном коде веб-страницы;
  • usenix.org — SSN видны в виде простого текста в исходном коде веб-страницы.

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

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

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

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

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

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

Ранее мы писали о том, что в Google Chrome появилась опция копирования кадра из видео.

Интересное про Google:

google news