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