Обнаружено, что 27 из 100 протестированных расширений Google Chrome уязвимы к
атакам по извлечению данных (паролей, истории и т.д.) специально разработанными
вредоносными сайтами и взломщиками открытых Wi-Fi сетей.
Трое исследователей безопасности вручную проанализировали 50 наиболее
популярных расширений Chrome и прибавили к этому списку ещё 50 выбранных наугад.
"Мы искали уязвимости JavaScript-инъекций в ядре расширений (странице опций,
бэкграундк и поп-апах); инъекция скриптов в ядре позволяет получить полный
контроль над расширением", - объяснил Адриан Портер Фелт, один из
исследователей. Чтобы доказать своё заявление, они разработали PoC–атаки для
того, чтобы использовать уязвимости в своих целях.
Плохая новость состоит в том, что более 25% протестированных расширений были
признаны уязвимыми, и семь из них используют более 300 000 пользователей.
Но есть и хорошая новость: 49 из 51 уязвимостей можно пропатчить просто
используя одно из двух
предложенных правил безопасности (Content Security
Policies).
Эти правила различными способами предотвращают внедрение вредоносных кодов:
запрещая использование eval
функций, так что непроверенные данные
не могут быть использованы в качестве кода; перемещая легальный JavaScript в
файл .js , так что когда внедряются вредоносные скрипты, они отличаются от
законных и их можно сразу распознать; и полностью или частично отвергая все
внешние скрипты.
"В дополнение к основным ошибкам, расширения могут добавлять уязвимости на
сайты", - отмечает Портер Войлок. "CSP не смогут предотвратить это, но
разработчики должны помнить, что нельзя использовать innerHTML для модификации
веб-сайтов. Вместо этого используйте innerText или DOM-методы, такие как
AppendChild. Расширения также не должны добавлять HTTP-скрипты или CSS для
сайтов HTTPS".