Цепочка поставок оказалась скомпрометирована незаметно для владельцев сайтов.
Более 100 000 сайтов подверглись массовой атаке на цепочку поставок после того, как домен Polyfill.io был выкуплен китайской компанией Funnull. Помимо покупки домена, скрипт Polyfill.io был изменен для перенаправления пользователей на вредоносные и мошеннические сайты.
Polyfill — это программный код, как правило, написанный на JavaScript, который расширяет функциональность устаревших браузеров, добавляя в них поддержку современных веб-технологий. Полифил позволяет разработчикам использовать новейшие возможности веб-платформы, обеспечивая при этом совместимость с более старыми версиями браузеров. Сайты используют полифилы, чтобы позволить всем посетителям использовать одну и ту же кодовую базу, даже если их браузеры не поддерживают те же современные функции, что и более новые.
polyfill.js — популярная библиотека с открытым исходным кодом для поддержки старых браузеров. Более 100 000 сайтов встраивают polyfill.js, используя домен cdn.polyfill.io. Известными пользователями являются JSTOR, Intuit и Всемирный экономический форум.
Как объясняет ИБ-компания Sansec, в феврале китайская компания Funnull купила домен и учетную запись проекта Polyfill на Github. С тех пор домен был пойман на внедрении вредоносного ПО на мобильные устройства через любой сайт, встраивающий cdn.polyfill.io. При этом любые жалобы быстро удалялись из репозитория Github.
Модифицированный скрипт используется для перенаправления на фиктивный сайт букмекерской конторы и другие мошеннические страницы. Это делается через поддельный домен Google Analytics (www[.]googie-anaiytics[.]com) или редиректы, такие как kuurza.com/redirect?from=bitget.
Отличительной чертой вредоносного кода является его способность уклоняться от анализа: он активируется только на определенных мобильных устройствах в строго определенное время и отключается при обнаружении в системе администратора или службы веб-аналитики.
Стоит отметить, что еще в феврале разработчик проекта Эндрю Бэттс предупредил, что он никогда не владел доменом Polyfill.io и не имел какого-либо влияния на продажу. Также Бэттс заявил, что все веб-сайты должны немедленно удалить все скрипты, связанные с cdn.polyfill.io. Более того, в тот же день Бэттс сказал, что сегодня Polyfill больше не нужен современным браузерам, за некоторыми исключениями.
Пост разработчика Polyfill.io
Google также вступила в борьбу с угрозой, предупредив рекламодателей о риске нежелательных перенаправлений с их лендинг-страниц. Отмечается, что Bootcss, Bootcdn и Staticfile также вызывают нежелательные перенаправления, потенциально добавляя тысячи, если не сотни тысяч сайтов, пострадавших от атак в цепочке поставок. Если Google обнаружит такие редиректы во время регулярных проверок рекламных мест, соответствующая реклама будет отклонена.
В конечном итоге, домен Polyfill.io был закрыт, по всей видимости, регистратором Namecheap, а затем перезапущен на новом адресе Polyfill[.]com, который так же зарегистрирован в Namecheap и на данный момент уже не функционирует. Новый домен вскоре был закрыт, и а представители проекта объявили о новом - polyfill.site, который тоже не работает.
Параллельно с этим, новые владельцы проекта Polyfill заявили, что стали жертвами клеветы и опровергли наличие каких-либо рисков для сайтов. Представители откликнулись на обвинения в участии в крупномасштабной атаке на цепочку поставок, утверждая, что все их сервисы кэшируются в Cloudflare и безопасны для использования. Несмотря на заверения Polyfill, факты, предоставленные экспертами по безопасности, говорят об обратном.
Компания Cloudflare также обратила внимание на несанкционированное использование своего названия и логотипа на сайте Polyfill.io. Cloudflare заявила, что Polyfill.io проигнорировала просьбы компании и не убрала логотип с сайта, что стало ещё одним предупреждающим сигналом о ненадёжности компании.
Название Cloudflare на сайте Polyfill
Cloudflare подтвердила заявления Sansec о том, что код, распространяемый через cdn.polyfill.io, действительно перенаправлял пользователей на сайты ставок. В Cloudflare сообщили, что «около 4% интернета» использовали cdn.polyfill.io, и назвали последствия атаки «крайне тревожными».
В ответ на возрастающую угрозу, сервисы Cloudflare и Fastly создали собственные зеркала Polyfill.io, чтобы обеспечить безопасное использование скриптов на затронутых сайтах. Cloudflare советует владельцам сайтов искать в своих репозиториях кода упоминания Polyfill.io и заменять их на «cdnjs.cloudflare.com/polyfill/». Это некритическое изменение, так как оба URL будут предоставлять одинаковый контент Polyfill, однако всем администраторам рекомендуется сделать это.
ИБ-компания Leak Signal также создала сайт Polykill.io, который позволяет искать сайты, использующие «cdn.polyfill.io», и предоставляет информацию о переходе на альтернативные решения. В свете всех событий владельцам сайтов и разработчикам настоятельно рекомендуется воздержаться от использования доменов polyfill и заменить их на более безопасные альтернативы.
Sancec обновила свой отчет, дополнив его доменами, которые использовались одним и тем же злоумышленником для распространения вредоносного ПО как минимум с июня 2023 года: bootcdn.net, bootcss.com, staticfile.net, staticfile.org, unionadjs.com, xhsbpza.com, union.macoms.la, newcrbpc.com.
По последним данным, группа исследователей кибербезопасности и OSINT-энтузиастов выявила общую связь между четырьмя доменами, используемыми в атаке. Открытие стало возможным благодаря случайно обнародованным ключам Cloudflare в публичном репозитории GitHub, связанном с Polyfill.io. API-ключи позволили установить, что за четырьмя CDN-сервисами стоит один оператор.
Исследователь Ze-Zheng Wu обнаружил репозиторий «data.polyfill.com», который содержал исходный код сайта. Владелец репозитория случайно загрузил файл «.env», который содержал секретные ключи Cloudflare и другие конфиденциальные данные.
Секреты, хранящиеся в файле «.env»
Файл включал в себя API-токен Cloudflare, идентификатор зоны Cloudflare и API-ключи Algolia. Данные позволили исследователям получить список активных зон, связанных с учетной записью Cloudflare, и подтвердить связь между Polyfill.io и другими доменами – Bootcdn.net, Bootcss.com и Staticfile.net, которые также были затронуты инцидентом.
Атака, вероятно, продолжается с июня 2023 года. Вредоносный код, внедренный через BootCSS, обсуждался на китайских форумах уже тогда. В Cloudflare сообщили, что Polyfill.io использовали десятки миллионов веб-сайтов (4% всех сайтов в интернете), что делает инцидент чрезвычайно серьезным и его последствия ещё предстоит оценить.
От классики до авангарда — наука во всех жанрах