Чимало сайтів з мільйонною відвідуваністю, включно з Google, Amazon і Cloudflare, зберігають паролі у відкритому вигляді у вихідному коді HTML своїх вебсторінок, що дає змогу розширенням безперешкодно витягати їх
Група дослідників з Університету Вісконсін-Медісон розмістила у магазині 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 допоможе бізнесу: новий продукт
- Міф про «відкритий» ШІ: навіщо корпораціям зливати дані про роботу моделей
- Зображення, створені ШІ, позначатимуться водяним знаком