Группа израильских исследователей изучила безопасность рынка Visual Studio Code и сумела «заразить» более 100 организаций, добавив в копию популярной темы Dracula Official опасный код. Дальнейшие исследования рынка VSCode Marketplace выявили тысячи небезопасных расширений с миллионами установок.
Visual Studio Code (VSCode) — это редактор кода, создаваемый компанией Microsoft и используемый многими профессиональными разработчиками программного обеспечения по всему миру. Microsoft также управляет рынком расширений для IDE, называемым Visual Studio Code Marketplace, который предлагает дополнения, расширяющие функциональность приложения и предоставляющие больше возможностей для настройки.
В ходе недавнего эксперимента исследователи Амит Ассараф, Итай Крук и Идан Дардикман создали расширение, которое копирует тему Dracula Official, популярную цветовую схему для различных приложений, которая имеет более 7 миллионов установок на VSCode Marketplace.
Dracula используется большим количеством разработчиков благодаря визуально привлекательному темному режиму с высококонтрастной цветовой палитрой, которая легко читается и помогает снизить напряжение глаз во время длительных сеансов программирования.
Поддельное расширение, использованное в исследовании, получило название Darcula, и исследователи даже зарегистрировали соответствующий домен darculatheme.com. Этот домен использовался для того, чтобы стать проверенным издателем на VSCode Marketplace, что добавило доверия к поддельному расширению.
Расширение использует реальный код из настоящей темы Darcula, но также содержит дополнительный скрипт, который собирает информацию о системе, включая имя хоста, количество установленных расширений, доменное имя устройства и платформу операционной системы, и отправляет ее на удаленный сервер через HTTPS POST-запрос.
Исследователи отмечают, что вредоносный код не фиксируется средствами обнаружения и реагирования, поскольку к VSCode относятся снисходительно из-за того, что она является системой разработки и тестирования.
«К сожалению, традиционные средства защиты конечных точек (EDR) не обнаруживают эту активность. VSCode создан для чтения большого количества файлов, выполнения множества команд и создания дочерних процессов, поэтому EDR не могут понять, является ли активность из VSCode законной деятельностью разработчика или вредоносным расширением», — говорит Амит Ассараф.
Расширение быстро набрало обороты, и его по ошибке установили несколько интересных разработчиков, включая публично зарегистрированную компанию с рыночной стоимостью 483 миллиарда долларов, крупные компании по безопасности и национальную судебную сеть.
Исследователи предпочли не раскрывать названия пострадавших компаний.
После успешного эксперимента исследователи решили изучить угрозы на VSCode Marketplace, используя разработанный ими инструмент под названием ExtensionTotal для поиска рискованных расширений, их распаковки и изучения подозрительных фрагментов кода.
В ходе этого процесса они обнаружили следующее:
- 1,283 расширений с известным вредоносным кодом (229 миллионов установок).
- 8,161 соединений с жестко прописанными IP-адресами.
- 1,452 запуска неизвестных исполняемых файлов
- 2,304 использования Github-репозитория другого издателя, что указывает на то, что расширение является подражателем
«Как видно из цифр, для Visual Studio Code существует множество расширений, представляющих опасность для организаций», — предупреждают исследователи.
«Расширения VSCode — это вертикаль атак, которой злоупотребляют и которая подвергается опасности, с нулевой видимостью, высоким воздействием и высоким риском. Эта проблема представляет собой прямую угрозу для организаций и заслуживает внимания со стороны сообщества безопасности».
Все вредоносные расширения, обнаруженные исследователями, были ответственно переданы в Microsoft для удаления. Однако на момент написания этой статьи подавляющее большинство из них по-прежнему доступны для загрузки через VSCode Marketplace.
Исследователи планируют опубликовать свой инструмент ExtensionTotal вместе с подробностями о его рабочих возможностях на следующей неделе, выпустив его в качестве бесплатного инструмента, который поможет разработчикам просканировать свои среды на предмет потенциальных угроз.