Pisali smo o PHP-jih Pakirni ekosistem prej.
Tako kot PyPI za ljubitelje Pythonista, Gems za oboževalce Rubyja, NPM za programerje JavaScript ali LuaRocks za Luaphile, je Packagist repozitorij, kjer lahko sodelavci skupnosti objavijo podrobnosti o paketih PHP, ki so jih ustvarili.
To omogoča drugim kodirjem PHP enostavno pridobitev knjižnične kode, ki jo želijo uporabiti v svojih projektih, in samodejno posodabljanje te kode, če želijo.
Za razliko od PyPI, ki ponuja svoje lastne strežnike, kjer je shranjena dejanska koda knjižnice (ali LuaRocks, ki včasih sam shrani izvorno kodo projekta in se včasih poveže z drugimi repozitoriji), se Packagist povezuje s kodo, vendar sam ne hrani kopij kode, ki jo treba prenesti.
Na ta način je dobra stran, predvsem ta, da projektom, ki se upravljajo prek dobro znanih storitev izvorne kode, kot je GitHub, ni treba vzdrževati dveh kopij svojih uradnih izdaj, kar pomaga preprečiti težavo »prehajanja različic« med nadzorni sistem izvorne kode in sistem pakiranja.
In obstaja slaba stran, predvsem to, da neizogibno obstajata dva različna načina, na katera se lahko paketi ujamejo v mine.
V samega upravitelja paketov bi lahko prišlo do vdora, pri čemer bi lahko bila sprememba enega URL-ja dovolj za napačno usmeritev uporabnikov paketa.
Ali pa bi lahko prišlo do vdora v repozitorij izvorne kode, s katerim je povezana povezava, tako da bi uporabniki, ki so sledili nečemu, kar je bilo videti kot pravi URL, vseeno imeli lažno vsebino.
Stari računi veljajo za škodljive
Ta napad (tako ga bomo imenovali, čeprav zadevni heker ni objavil nobene minirane kode) uporabil, čemur bi lahko rekli hibridni pristop.
Napadalec je našel štiri stare in neaktivne račune Packagist, za katere je nekako pridobil gesla za prijavo.
Nato so identificirali 14 projektov GitHub, s katerimi so bili povezani ti neaktivni računi, in jih kopirali v novo ustvarjen račun GitHub.
Nazadnje so spremenili pakete v sistemu Packagist, da kažejo na nova skladišča GitHub.
Kloniranje projektov GitHub je neverjetno pogosto. Včasih želijo razvijalci ustvariti pristno fork (alternativno različico) projekta pod novim upravljanjem ali ponujajo drugačne funkcije; včasih se zdi, da so razcepljeni projekti kopirani iz razlogov, ki bi jih lahko neprivlačno imenovali »volumetrični razlogi«, zaradi česar so računi GitHub videti večji, boljši, bolj zaposleni in bolj predani skupnosti (če oprostite besedni igri), kot so v resnici.
Čeprav bi lahko heker v kloniran vir GitHub PHP vstavil lažno kodo, kot je dodajanje sledilnikov, zapisovalcev tipk, zakulisnih vrat ali druge zlonamerne programske opreme, se zdi, da je spremenil le en element v vsakem projektu: datoteko z imenom composer.json
.
Ta datoteka vključuje vnos z naslovom description
, ki običajno vsebuje točno to, kar bi pričakovali videti: besedilni niz, ki opisuje, čemu je izvorna koda.
In to je vse, kar je naš heker spremenil, spremenil besedilo iz nečesa informativnega, na primer Project PPP implements the QQQ protocol so you can RRR
, tako da so njihovi projekti namesto tega poročali:
Lastnik XXX@XXXX.com. Ищу работу на позиции Varnost aplikacij, Tester penetracije, Specialist za kibernetsko varnost.
Drugi stavek, napisan pol v ruščini, pol v angleščini, pomeni:
Iščem službo na področju varnosti aplikacij itd.
Ne moremo govoriti v imenu vseh, a kar se tiče življenjepisov, se nam ta ni zdel preveč prepričljiv.
Prav tako je Pakirna ekipa pravi da so bile vse nepooblaščene spremembe zdaj razveljavljene in da 14 kloniranih projektov GitHub ni bilo spremenjenih na noben drug način, kot da vključuje pwnerjevo nagovarjanje k zaposlitvi.
Kar se splača, račun GitHub morebitnega strokovnjaka za varnost aplikacij še vedno deluje in ima v njem še vedno tiste »razcepljene« projekte.
Ne vemo, ali se GitHub še ni odločil za izbris računa ali projektov ali pa se je spletno mesto odločilo, da jih ne bo odstranilo.
Navsezadnje je razcepitev projektov običajna in dopustna (vsaj tam, kjer dovoljujejo licenčni pogoji), in čeprav z besedilom opisujejo projekt brez zlonamerne kode Pwned by XXXX@XXXX.com
ni v pomoč, skoraj ni nezakonito.
Kaj storiti?
- Ne delaj tega. Zagotovo ne boste pritegnili zanimanja zakonitih delodajalcev in (če smo iskreni) niti ne boste navdušili nobenih kibernetskih prevarantov.
- Ne puščajte neuporabljenih računov aktivnih, če lahko pomagate. Kot smo povedali včeraj na Svetovni dan gesla, razmislite o zaprtju računov, ki jih ne potrebujete več, z utemeljitvijo, da manj kot uporabljate gesel, manj jih lahko ukradejo.
- Ne uporabljajte gesel za več kot en račun. Packagist domneva, da so gesla, zlorabljena v tem primeru, ležala v zapisih o kršitvah podatkov iz drugih računov, kjer so žrtve uporabile isto geslo kot na svojem računu Packagist.
- Ne pozabite na 2FA. Packagists poziva vse svoje uporabnike, naj vklopijo 2FA, tako da samo geslo ni dovolj, da bi se napadalec prijavil v vaš račun, in priporoča, da storite enako tudi na svojem računu GitHub.
- Ne sprejmite slepo posodobitev dobavne verige, ne da bi pregledali njihovo pravilnost. Če imate zapleteno mrežo odvisnosti od paketov, je skušnjava, da bi svoje odgovornosti pustili ob strani in pustili sistemu, da samodejno pridobi vse vaše posodobitve, vendar to vas in vaše uporabnike na nižji stopnji postavlja v dodatno tveganje.
TUKAJ JE NASVET SVETOVNEGA DNEVA GESLA
- Distribucija vsebine in PR s pomočjo SEO. Okrepite se še danes.
- PlatoAiStream. Podatkovna inteligenca Web3. Razširjeno znanje. Dostopite tukaj.
- Kovanje prihodnosti z Adryenn Ashley. Dostopite tukaj.
- Kupujte in prodajajte delnice podjetij pred IPO s PREIPO®. Dostopite tukaj.
- vir: https://nakedsecurity.sophos.com/2023/05/05/php-packagist-supply-chain-poisoned-by-hacker-looking-for-a-job/
- :ima
- : je
- :ne
- :kje
- $GOR
- 1
- 14
- 15%
- 2FA
- a
- O meni
- absolutna
- Sprejmi
- Račun
- računi
- pridobljenih
- aktivna
- dodajanje
- Dodatne
- nasveti
- vsi
- omogočajo
- sam
- alternativa
- Čeprav
- an
- in
- kaj
- uporaba
- varnost aplikacije
- pristop
- SE
- okoli
- AS
- predpostavka
- At
- Avtor
- avto
- samodejno
- izogniti
- Skrite
- ozadja, slike
- BE
- bilo
- pred
- Boljše
- med
- večji
- BleepingComputer
- slepo
- meja
- Bottom
- kršitev
- vendar
- by
- klic
- se imenuje
- CAN
- primeru
- center
- verige
- spremenilo
- Spremembe
- spreminjanje
- zapiranje
- Koda
- barva
- COM
- storjeno
- Skupno
- skupnost
- zapleten
- zaskrbljen
- Razmislite
- šteje
- Vsebuje
- vsebina
- sodelavci
- nadzor
- kopije
- bi
- pokrov
- ustvarjajo
- ustvaril
- CVS
- cyber
- kibernetska varnost
- datum
- kršitev varnosti podatkov
- Datum
- odločil
- vsekakor
- Podrobnosti
- Razvijalci
- drugačen
- zaslon
- do
- Ne
- tem
- dont
- navzdol
- prenesi
- slaba stran
- vsak
- lahka
- bodisi
- delodajalci
- zaposlovanja
- konec
- Angleščina
- dovolj
- Vpis
- itd
- Tudi
- vsi
- točno
- pričakovati
- ventilatorji
- Lastnosti
- kolega
- manj
- file
- Najdi
- sledili
- za
- vilice
- Vilice
- je pokazala,
- štiri
- iz
- pristen
- dobili
- GitHub
- Go
- dogaja
- kramp
- heker
- imel
- Pol
- Imajo
- višina
- pomoč
- Pomaga
- držite
- hover
- HTTPS
- Hybrid
- i
- identificirati
- if
- nezakonito
- izvedbe
- in
- neaktiven
- vključujejo
- vključuje
- neverjetno
- neizogibno
- informativni
- Namesto
- obresti
- v
- IT
- ITS
- sam
- JavaScript
- Job
- samo
- Imejte
- Vedite
- vsaj
- pustite
- levo
- legitimno
- Knjižnica
- licenciranje
- kot
- povezane
- Povezave
- v živo
- prijavi
- prijava
- Poglej
- Pogledal
- si
- vzdrževati
- IZDELA
- Izdelava
- zlonamerna programska oprema
- upravlja
- upravljanje
- upravitelj
- Marža
- max širine
- pomeni
- morda
- spremembe
- več
- Nimate
- Novo
- št
- normalno
- predvsem
- zdaj
- of
- ponujanje
- Uradni
- Staro
- on
- ONE
- or
- Ostalo
- naši
- ven
- lastne
- paket
- pakete
- embalaža
- Geslo
- gesla
- paul
- penetracija
- PHP
- platon
- Platonova podatkovna inteligenca
- PlatoData
- Točka
- Stališče
- Prispevkov
- PPP
- problem
- Programerji
- Projekt
- projekti
- protokol
- zagotavlja
- objavijo
- objavljeno
- Postavlja
- res
- priporoča
- evidence
- Izpusti
- odstrani
- Prijavljeno
- Skladišče
- odgovornosti
- pregledovanje
- Tveganje
- krog
- russian
- Je dejal
- Enako
- drugi
- varnost
- glej
- zdi se
- Zdi se,
- stavek
- Storitve
- sam
- spletna stran
- So
- nagovarjanje
- trdna
- Nekaj
- vir
- Izvorna koda
- govorijo
- specialist
- Še vedno
- ukradeno
- shranjeni
- trgovine
- String
- taka
- dobavi
- dobavne verige
- SVG
- sistem
- skupina
- Pogoji
- kot
- da
- O
- Projekti
- Vir
- njihove
- Njih
- POTEM
- Tukaj.
- te
- jih
- ta
- tisti,
- čeprav?
- krat
- do
- tudi
- vrh
- metati
- sledilci
- Prehod
- pregleden
- OBRAT
- dva
- pod
- neuporabljeno
- posodobitve
- Upside
- poziva,
- URL
- uporaba
- Rabljeni
- Uporabniki
- navadno
- različica
- preko
- žrtve
- želeli
- je
- način..
- načini
- we
- web
- dobro znana
- so bili
- Kaj
- ali
- ki
- WHO
- bo
- z
- brez
- svet
- vredno
- bi
- pisni
- še
- jo
- Vaša rutina za
- zefirnet