Wir haben über PHP geschrieben Paketistisches Ökosystem vor.
Wie PyPI für Pythonistas, Gems für Ruby-Fans, NPM für JavaScript-Programmierer oder LuaRocks für Luaphile ist Packagist ein Repository, in dem Community-Mitwirkende Details zu PHP-Paketen veröffentlichen können, die sie erstellt haben.
Dies macht es anderen PHP-Programmierern leicht, Bibliothekscode zu erhalten, den sie in ihren eigenen Projekten verwenden möchten, und diesen Code automatisch auf dem neuesten Stand zu halten, wenn sie dies wünschen.
Im Gegensatz zu PyPI, das seine eigenen Server bereitstellt, auf denen der eigentliche Bibliothekscode gespeichert ist (oder LuaRocks, das manchmal den Quellcode des Projekts selbst speichert und manchmal mit anderen Repositories verlinkt), verlinkt Packagist auf den Code, den Sie selbst verwenden, speichert aber keine Kopien davon herunterladen müssen.
Es gibt einen Vorteil auf diese Weise, insbesondere, dass Projekte, die über bekannte Quellcodedienste wie GitHub verwaltet werden, nicht zwei Kopien ihrer offiziellen Veröffentlichungen pflegen müssen, wodurch das Problem der „Versionsdrift“ zwischen den Versionen vermieden wird Quellcodeverwaltungssystem und das Verpackungssystem.
Und es gibt einen Nachteil, insbesondere, dass es zwangsläufig zwei verschiedene Möglichkeiten gibt, wie Pakete mit Sprengfallen versehen werden können.
Der Paketmanager selbst könnte gehackt werden, wobei das Ändern einer einzelnen URL ausreichen könnte, um Benutzer des Pakets fehlzuleiten.
Oder das Quellcode-Repository, auf das verlinkt ist, könnte gehackt werden, sodass Benutzer, die einer scheinbar richtigen URL folgten, sowieso mit betrügerischen Inhalten enden würden.
Alte Konten gelten als schädlich
Dieser Attacke (Wir nennen es so, obwohl der betroffene Hacker keinen Code mit Sprengfallen veröffentlicht hat) einen hybriden Ansatz verwendet.
Der Angreifer fand vier alte und inaktive Packagist-Konten, für die er irgendwie die Login-Passwörter erlangt hatte.
Anschließend identifizierten sie 14 GitHub-Projekte, mit denen diese inaktiven Konten verknüpft waren, und kopierten sie in ein neu erstelltes GitHub-Konto.
Schließlich haben sie die Pakete im Packagist-System so angepasst, dass sie auf die neuen GitHub-Repositories verweisen.
Das Klonen von GitHub-Projekten ist unglaublich verbreitet. Manchmal möchten Entwickler einen echten Fork (alternative Version) des Projekts unter neuer Leitung erstellen oder andere Funktionen anbieten; zu anderen Zeiten scheinen Fork-Projekte aus etwas kopiert zu werden, was unvorteilhaft als „volumetrische Gründe“ bezeichnet werden könnte, wodurch GitHub-Accounts größer, besser, beschäftigter und engagierter für die Community aussehen (wenn Sie das Wortspiel verzeihen), als sie wirklich sind.
Obwohl der Hacker bösartigen Code in die geklonte GitHub-PHP-Quelle eingefügt haben könnte, wie z. B. das Hinzufügen von Trackern, Keyloggern, Backdoors oder anderer Malware, scheint es, dass alles, was sie geändert haben, ein einziges Element in jedem Projekt war: eine Datei namens composer.json
.
Diese Datei enthält einen Eintrag mit dem Titel description
, die normalerweise genau das enthält, was Sie erwarten würden: eine Textzeichenfolge, die beschreibt, wofür der Quellcode dient.
Und das ist alles, was unser Hacker geändert hat, indem er den Text von etwas Informativem geändert hat, wie z Project PPP implements the QQQ protocol so you can RRR
, sodass ihre Projekte stattdessen berichteten:
Gepflegt von XXX@XXXX.com. Ищу работу на позиции Application Security, Penetration Tester, Cyber Security Specialist.
Der zweite Satz, halb auf Russisch, halb auf Englisch geschrieben, bedeutet:
Ich suche einen Job in der Anwendungssicherheit usw.
Wir können nicht für alle sprechen, aber was Lebensläufe betrifft, fanden wir diesen nicht besonders überzeugend.
Auch die Packagist-Team sagt dass alle nicht autorisierten Änderungen nun rückgängig gemacht wurden und dass die 14 geklonten GitHub-Projekte nicht auf andere Weise geändert wurden, als dass sie die Stellenausschreibung des Pwners enthielten.
Für das, was es wert ist, ist das GitHub-Konto des angehenden Anwendungssicherheitsexperten immer noch aktiv und enthält immer noch diese „verzweigten“ Projekte.
Wir wissen nicht, ob GitHub noch nicht dazu gekommen ist, das Konto oder die Projekte zu löschen, oder ob die Seite entschieden hat, sie nicht zu entfernen.
Schließlich ist das Forken von Projekten üblich und zulässig (zumindest dort, wo die Lizenzbedingungen dies zulassen), und obwohl es mit dem Text ein Projekt mit nicht bösartigem Code beschreibt Pwned by XXXX@XXXX.com
ist nicht hilfreich, es ist kaum illegal.
Was ist zu tun?
- Tun Sie dies nicht. Sie werden definitiv nicht das Interesse legitimer Arbeitgeber wecken, und (wenn wir ehrlich sind) Sie werden auch nicht einmal irgendwelche Cyberkriminellen da draußen beeindrucken.
- Lassen Sie unbenutzte Konten nicht aktiv, wenn Sie es vermeiden können. Wie wir gestern gesagt haben Weltkennworttag, erwägen Sie, nicht mehr benötigte Konten zu schließen, denn je weniger Passwörter Sie verwenden, desto weniger können gestohlen werden.
- Verwenden Sie Passwörter nicht für mehr als ein Konto erneut. Packagist geht davon aus, dass die in diesem Fall missbrauchten Passwörter in Aufzeichnungen über Datenschutzverletzungen von anderen Konten herumlagen, bei denen die Opfer dasselbe Passwort wie auf ihrem Packagist-Konto verwendet hatten.
- Vergiss deine 2FA nicht. Packagists fordert alle seine eigenen Benutzer auf, 2FA einzuschalten, sodass ein Passwort allein für einen Angreifer nicht ausreicht, um sich bei Ihrem Konto anzumelden, und empfiehlt, dasselbe auch für Ihr GitHub-Konto zu tun.
- Akzeptieren Sie Lieferketten-Updates nicht blind, ohne sie auf Korrektheit zu überprüfen. Wenn Sie ein kompliziertes Netz von Paketabhängigkeiten haben, ist es verlockend, Ihre Verantwortlichkeiten beiseite zu schieben und das System alle Ihre Updates automatisch abrufen zu lassen, aber das setzt Sie und Ihre nachgeschalteten Benutzer nur einem zusätzlichen Risiko aus.
HIER IST DER RAT VOM WORLD PASSWORD DAY
- SEO-gestützte Content- und PR-Distribution. Holen Sie sich noch heute Verstärkung.
- PlatoAiStream. Web3-Datenintelligenz. Wissen verstärkt. Hier zugreifen.
- Die Zukunft prägen mit Adryenn Ashley. Hier zugreifen.
- Kaufen und verkaufen Sie Anteile an PRE-IPO-Unternehmen mit PREIPO®. Hier zugreifen.
- Quelle: https://nakedsecurity.sophos.com/2023/05/05/php-packagist-supply-chain-poisoned-by-hacker-looking-for-a-job/
- :hast
- :Ist
- :nicht
- :Wo
- $UP
- 1
- 14
- 15%
- 2FA
- a
- Über uns
- Absolute
- Akzeptieren
- Konto
- Trading Konten
- erworben
- aktiv
- Hinzufügen
- Zusätzliche
- Beratung
- Alle
- erlauben
- allein
- Alternative
- Obwohl
- an
- und
- jedem
- Anwendung
- Anwendungssicherheit
- Ansatz
- SIND
- um
- AS
- Annahme
- At
- Autor
- Auto
- Im Prinzip so, wie Sie es von Google Maps kennen.
- vermeiden
- Backdoors
- background-image
- BE
- war
- Bevor
- Besser
- zwischen
- größer
- PiependerComputer
- blindlings
- Grenze
- Boden
- Verletzung
- aber
- by
- rufen Sie uns an!
- namens
- CAN
- Häuser
- Center
- Kette
- geändert
- Änderungen
- Ändern
- Schließen
- Code
- Farbe
- COM
- begangen
- gemeinsam
- community
- kompliziert
- betroffen
- Geht davon
- betrachtet
- enthält
- Inhalt
- mitwirkende
- Smartgeräte App
- Kopien
- könnte
- Abdeckung
- erstellen
- erstellt
- CVS
- Cyber-
- Internet-Sicherheit
- technische Daten
- Datenmissbrauch
- Datum
- entschieden
- definitiv
- Details
- Entwickler
- anders
- Display
- do
- Tut nicht
- Dabei
- Nicht
- nach unten
- herunterladen
- Nachteil
- jeder
- Einfache
- entweder
- Arbeitgeber
- Beschäftigung
- Ende
- Englisch
- genug
- Eintrag
- etc
- Sogar
- jedermann
- genau
- erwarten
- Fans
- Eigenschaften
- Kerl
- Weniger
- Reichen Sie das
- Finden Sie
- gefolgt
- Aussichten für
- Gabel
- Gabelung
- gefunden
- vier
- für
- Richte deinen Sinn auf das,
- bekommen
- GitHub
- Go
- gehen
- gehackt
- Hacker
- hätten
- Hälfte
- Haben
- Höhe
- Hilfe
- hilft
- schweben
- HTTPS
- Hybrid
- i
- identifiziert
- if
- illegal
- implementiert
- in
- inaktiv
- das
- Dazu gehören
- unglaublich
- zwangsläufig
- informativ
- beantragen müssen
- Interesse
- in
- IT
- SEINE
- selbst
- JavaScript
- Job
- nur
- Behalten
- Wissen
- am wenigsten
- Verlassen
- links
- legitim
- Bibliothek
- Lizenzierung
- Gefällt mir
- verknüpft
- Links
- leben
- Log
- login
- aussehen
- sah
- suchen
- halten
- MACHT
- Making
- Malware
- verwaltet
- Management
- Manager
- Marge
- max-width
- Mittel
- könnte
- geändert
- mehr
- Need
- Neu
- nicht
- normal
- vor allem
- jetzt an
- of
- bieten
- offiziell
- Alt
- on
- EINEM
- or
- Andere
- UNSERE
- besitzen
- Paket
- Pakete
- Verpackung
- Passwort
- Passwörter
- Alexander
- Eindringen
- PHP
- Plato
- Datenintelligenz von Plato
- PlatoData
- Points
- Position
- BLOG-POSTS
- PPP
- Aufgabenstellung:
- Programmierer
- Projekt
- Projekte
- Protokoll
- bietet
- veröffentlichen
- veröffentlicht
- Versetzt
- wirklich
- empfiehlt
- Aufzeichnungen
- Mitteilungen
- entfernen
- Berichtet
- Quelle
- Verantwortlichkeiten
- Überprüfung
- Risiko
- rund
- russisch
- Said
- gleich
- Zweite
- Sicherheitdienst
- sehen
- scheinen
- scheint
- Satz
- Leistungen
- Single
- am Standort
- So
- Aufforderung
- solide
- etwas
- Quelle
- Quellcode
- sprechen
- Spezialist
- Immer noch
- gestohlen
- gelagert
- Läden
- Schnur
- so
- liefern
- Supply Chain
- SVG
- System
- Team
- AGB
- als
- zur Verbesserung der Gesundheitsgerechtigkeit
- Das
- Die Projekte
- Die Quelle
- ihr
- Sie
- dann
- Dort.
- Diese
- vom Nutzer definierten
- fehlen uns die Worte.
- diejenigen
- obwohl?
- mal
- zu
- auch
- Top
- werfen
- Tracker
- Übergang
- transparent
- WENDE
- XNUMX
- für
- ungenutzt
- Updates
- Gedreht
- Triebe
- URL
- -
- benutzt
- Nutzer
- gewöhnlich
- Version
- Opfer
- wollen
- wurde
- Weg..
- Wege
- we
- Netz
- bekannt
- waren
- Was
- ob
- welche
- WHO
- werden wir
- mit
- ohne
- weltweit wie ausgehandelt und gekauft ausgeführt wird.
- wert
- würde
- geschrieben
- noch
- U
- Ihr
- Zephyrnet