В современной разработке широко распространено использование внешних компонентов от сторонних разработчиков — библиотек. Если они подключаются из внешнего репозитория, то существует риск захвата этого хранилища кода злоумышленником — атака типа repository hijacking или repojacking (захват репозитория).
Уязвимость при использовании внешних компонентов возникает, если их разработчик перенёс, удалил или продал свою учётную запись – например, в связи с прекращением поддержки проекта или передачей репозитория с кодом заказчику. В ряде случаев злоумышленники способны зарегистрировать на себя «заброшенное» имя учетной записи и разместить в нем вредоносный код. В этом случае программы, использующие компонент по старой ссылке, будут обращаться уже к новому содержимому, контролируемому злоумышленником. Таким образом в легитимную и популярную программу незаметно для разработчика может быть встроен код с различными вредоносными функциями — от кражи данных и слежения за пользователями до полного контроля над пользовательскими устройствами.
Эксперты МТС RED ART проанализировали свыше 6,3 миллиона репозиториев из таких популярных источников, как Google Cloud Console, PyPi, NPM. Анализ позволил выделить 4,7 миллиона уникальных репозиториев, по ссылкам на 7820 из них содержимое отсутствует. В 986 случаях аккаунт, под которым изначально создавались репозитории, неактивен. Такие репозитории уязвимы к захвату злоумышленниками, которые могут повторно зарегистрировать их на себя, в том числе с применением инструментов автоматизации.
Аккаунты, уязвимые к кибератакам класса repojacking, могли быть использованы в большом количестве программ, в том числе и российскими разработчиками, которые не подозревают о потенциальной опасности. Чтобы сторонние компоненты не стали входной точкой хакерской атаки на разработчиков, МТС RED ART опубликовала методику и ссылки на ряд инструментов, которые позволяют проверять исходный код на корректность ссылок на используемые внешние репозитории.
«Мы предлагаем сообществу разработчиков присоединиться к инициативе и еще раз проверить наличие в своих зависимостях прямых ссылок на сторонние репозитории, которые могут быть уязвимы к repojacking-атакам. Наша общая цель — создание реестра доверенных зависимостей, в которых все сторонние компоненты и их артефакты проверены сообществом», — подчеркнул Денис Макрушин, технический директор компании МТС RED.
МТС RED ART – команда перспективных исследований, входящая в состав компании МТС RED, российского разработчика продуктов и сервисов для защиты от кибератак. МТС RED ART занимается разработкой перспективных технологических решений, которые интегрируются в продукты компании. Ранее специалисты команда перспективных исследований МТС RED ART уже помогли устранить уязвимость в инструменте разработки Microsoft WinDbg.