Abhängigkeitswirrwarr Supply-Chain-Attacke traf über 35 hochkarätige Unternehmen

  • Bei einem neuartigen Supply-Chain-Angriff ist es einem Sicherheitsforscher gelungen, in die internen Systeme von über 35 großen Unternehmen einzudringen, darunter die von Microsoft, Apple, PayPal, Shopify, Netflix, Yelp, Tesla und Uber, und Remote-Code-Ausführung zu erreichen.

    Die Technik, die als Abhängigkeitsverwirrung oder Substitutionsangriff bezeichnet wird, macht sich die Tatsache zunutze, dass ein Stück Software Komponenten aus einer Mischung aus privaten und öffentlichen Quellen enthalten kann.

    Diese externen Paketabhängigkeiten, die während eines Build-Prozesses aus öffentlichen Repositories geholt werden, können eine Angriffsmöglichkeit darstellen, wenn ein Angreifer eine höhere Version eines privaten Moduls in den öffentlichen Feed hochlädt, was dazu führt, dass ein Client automatisch die gefälschte “neueste” Version herunterlädt, ohne dass eine Aktion des Entwicklers erforderlich ist.

    [Blocked Image: https://thehackernews.com/images/-yilOv0DP7Dk/YArTHpth-PI/AAAAAAAA3iA/g7VKaLpC19QwAPWO3mfVUdwlEU1_TTgQgCLcBGAsYHQ/s728-e100/pwned-password-728.jpg]

    “Von einmaligen Fehlern, die von Entwicklern auf ihren eigenen Rechnern gemacht wurden, über falsch konfigurierte interne oder Cloud-basierte Build-Server bis hin zu systemisch verwundbaren Entwicklungspipelines war eines klar: Das Besetzen gültiger interner Paketnamen war eine fast todsichere Methode, um in die Netzwerke einiger der größten Tech-Firmen da draußen einzudringen, Remote-Code-Ausführung zu erlangen und es Angreifern möglicherweise zu ermöglichen, Hintertüren während der Builds hinzuzufügen”, beschreibt Sicherheitsforscher Alex Birsan in einem Bericht.

    Birsan hat für seine Bemühungen insgesamt über $130.000 an Bug Bounties erhalten.

    [Blocked Image: https://thehackernews.com/images/-S8QGniwKNao/YCPWO-WTX2I/AAAAAAAABu4/5lP-Q9qS04MWA3vCBuDBdg8O2OoP8oEZgCLcBGAsYHQ/s728-e1000/dns.jpg]

    Um den Angriff auszuführen, sammelte Birsan zunächst Namen privater interner Pakete, die von großen Unternehmen verwendet werden, von GitHub, Beiträgen in verschiedenen Internetforen und JavaScript-Dateien, die die Abhängigkeiten eines Projekts auflisten, und lud dann betrügerische Bibliotheken mit denselben Namen auf Open-Source-Paket-Hosting-Dienste wie npm, PyPI und RubyGems hoch.

    “[Shopify’s] Build-System installierte automatisch ein Ruby-Gem namens ‘shopify-cloud’ nur ein paar Stunden, nachdem ich es hochgeladen hatte, und versuchte dann, den Code darin auszuführen”, merkte Birsan an und fügte hinzu, dass ein Node-Paket, das er im August 2020 auf npm hochgeladen hatte, auf mehreren Rechnern innerhalb des Apple-Netzwerks ausgeführt wurde, was Projekte im Zusammenhang mit dem Apple-ID-Authentifizierungssystem des Unternehmens betraf.

    Birsan nutzte die gefälschten Pakete schließlich, um eine Aufzeichnung jedes Rechners zu erhalten, auf dem die Pakete installiert waren, und exfiltrierte die Details über DNS mit der Begründung, dass der “Datenverkehr auf dem Weg nach draußen weniger wahrscheinlich blockiert oder entdeckt werden würde.”

    Die Sorge, dass ein Paket mit der höheren Version durch den App-Erstellungsprozess gezogen wird, unabhängig davon, wo es sich befindet, ist Microsoft nicht entgangen, das am Dienstag ein neues Whitepaper veröffentlicht hat, in dem drei Möglichkeiten zur Abschwächung der Risiken bei der Verwendung privater Paket-Feeds beschrieben werden.

    Die wichtigsten Empfehlungen lauten wie folgt

    • Verweisen Sie auf einen privaten Feed, nicht auf mehrere
    • Schützen Sie private Pakete durch kontrollierte Scopes, Namespaces oder Präfixe, und
    • Client-seitige Überprüfungsfunktionen wie Versions-Pinning und Integritätsüberprüfung nutzen

    Haben Sie diesen Artikel interessant gefunden? Folgen Sie THN auf Facebook, Twitter und LinkedIn, um weitere exklusive Inhalte zu lesen, die wir veröffentlichen.

    Einige Teile dieses Artikels stammen aus:
    thehackernews.com