Краткое содержание: Скрытые угрозы могут легко превратить расширение Chrome в уязвимость, приводящую к удаленному выполнению кода на уровне хоста.
С момента своего появления расширения для браузеров рассматривались как легковесные инструменты повышения производительности — безобидные дополнения, занимающие промежуточное положение между закладками и настройками. Их устанавливают бездумно, обновляют незаметно и редко проверяют, когда они становятся частью повседневной работы пользователя.
Кроме того, расширения для браузеров часто воспринимаются как незначительные угрозы безопасности, поскольку они в значительной степени изолированы от базовой системы браузером и работают в изолированной среде в рамках веб-браузера.
Это устаревшее предположение, поскольку данное исследование демонстрирует, как даже расширение без каких-либо разрешений может обойти песочницу браузера и привести к установке вредоносного ПО непосредственно на компьютер.
Исследователи LayerX обнаружили, как любое расширение для браузерадаже один без каких-либо прав доступа вообще может быть используется для установки вредоносного ПО на целевом хосте. Все, что нужно сделать злоумышленнику, это добавить невидимый сценарий Это приводит к заражению пользователей легитимным ПО, которое запускается при загрузке файла. В результате пользователи заражают себя вредоносным ПО для удаленного выполнения кода, даже не подозревая об этом.
Поскольку этот вектор эксплуатации требует нет специальных разрешений Благодаря расширениям, оно может быть использовано любым вредоносным расширением. раскрывая доступ практически каждому пользователю расширения. к эксплуатации.
Слепое пятно, с которого мы начали
Расширения Chrome работают в рамках малоизученной модели безопасности. Скрипты контента, включенные по умолчанию, предназначены для выполнения одной задачи: доступа к веб-страницам и их изменения. Это не ошибка или неправильная настройка, а, скорее, это основа работы расширений. Любое расширение, работающее на странице, фактически имеет тот же уровень доступа, что и собственный JavaScript этой страницы.
На первый взгляд, это кажется разумным. Расширениям необходимо модифицировать страницы, чтобы добавлять функции, внедрять элементы пользовательского интерфейса или улучшать рабочие процессы. Фактически, это и есть их главная цель при проектировании.
Однако у этой возможности есть и оговорка. Если расширение может делать всё то же, что и веб-сайт, то вредоносное расширение может незаметно и в больших масштабах превратить любой легитимный веб-сайт в уязвимое место для атаки. Это и стало отправной точкой нашего расследования.
Когда каждая загрузка становится вектором атаки
Мы задали простой вопрос: какое наиболее ценное действие может совершить злоумышленник, не запрашивая разрешения, которые могли бы вызвать подозрение?
Ответ, конечно же, заключается в выполнении кода.
Используя преимущества неограниченной свободы скриптов контента, мы создали расширение, которое незаметно изменяет каждую загрузку файла, инициированную с любого веб-сайта. Пользователь переходит по легитимной ссылке для загрузки на доверенном домене, используя браузер, которому он доверяет. Файл загружается точно так, как ожидалось.
Но это не единственное, что происходит.
Без нарушения работы исходного приложения, без появления предупреждений и без необходимости любые дополнительные разрешенияРасширение добавляет контролируемый злоумышленником код к каждому загруженному исполняемому файлу. Оригинальная программа при этом продолжает работать в обычном режиме, и пользователь видит именно то, что ожидает. После этого игра окончена.
В нашей демонстрации полезная нагрузка просто открывает приложение калькулятора в качестве безобидного визуального индикатора. В реальных условиях она может обеспечить постоянное присутствие в системе, горизонтальное перемещение, утечку данных или полное удаленное управление устройством.
Хотя расширения браузера предположительно изолированы от базовой файловой системы и находятся в песочнице браузера, этот метод позволяет расширению выйти за пределы песочницы. В этот момент браузер перестает выступать в качестве границы. Расширение фактически превращается в троян удаленного доступа.
Видео POC:
Почему это особенно опасно
Что вызывает беспокойство в связи с этой атакой, так это её невидимость:
- Для этого не требуется никаких подозрительных разрешений.
- Это не вызывает никаких предупреждений в браузере.
- Это не вносит никаких видимых для человека изменений в оригинальный веб-сайт.
- Для пользователя загрузки отображаются нормально.
Любое расширение, включая ранее легитимные, могло бы ввести подобное поведение в обновлении, и у пользователей не было бы надежного сигнала о том, что что-то изменилось.
Эта атака не основана на фишинге или введении пользователя в заблуждение. Она использует слабое звено в цепочке доверия браузера. Пользователи доверяют своему браузеру и определенным веб-сайтам, но если они не могут доверять своим расширениям, ни браузер, ни веб-сайт не смогут эффективно защитить пользователя. Установка ненадежного расширения функционально эквивалентна установке вредоносного ПО.
Более того, эту атаку невозможно обнаружить с помощью инструментов на основе прокси/VPN, поскольку домен, к которому осуществляется доступ, является полностью легитимным, и для получения вредоносного кода не используется удаленный сервер. Кроме того, атака полностью кроссбраузерна и может затронуть любой браузер на основе Chromium или Mozilla.
Раскрытие информации и реакция отрасли
Мы сообщили о наших выводах компаниям Google и Mozilla в рамках их программ раскрытия информации об уязвимостях, в соответствии с процедурами «ответственного раскрытия информации».
Google заявила, что «Атаки с использованием методов социальной инженерии выходят за рамки модели угроз Chrome».
Компания Mozilla ответила, что «Предоставляя расширению доступ ко всем веб-сайтам, вы позволяете ему изменять содержимое веб-сайтов, включая изменение адреса ссылок».
Оба утверждения технически верны, но они также подчеркивают ключевую проблему, которую это исследование призвано пролить: расширение, просто загрузив его, получает огромную неявную власть.
Существующая модель безопасности расширений не дает пользователю должного объяснения того, какое влияние оказывает ненадежное расширение на его работу в браузере и на безопасность всей системы.
Существует бесчисленное множество способов, с помощью которых расширения могут быть использованы для обхода доверия пользователей.
Браузер незаметно превратился в основную среду выполнения, канал распространения и плоскость управления, оставаясь при этом в значительной степени вне контроля традиционных инструментов безопасности. Расширения находятся на стыке доверия пользователей и влияния на системном уровне.
Как пользователи и предприятия могут защитить себя
Этот тип уязвимости демонстрирует ограничения традиционного подхода к обеспечению безопасности расширений, основанного на внешнем анализе параметров расширения, исходя из его прав доступа, репутации и т. д. Поскольку никаких прав доступа нет, он, скорее всего, получит низкий балл риска.
Только отслеживая фактическое поведение расширения, можно выявить его вредоносные намерения. Это означает, что пользователям и организациям необходимо перейти от статического анализа расширений к активному анализу на основе поведения, как это делается в случае с вредоносным ПО.
Благодарим Роя Паза и Авиада Гиспана за вклад в это исследование.

