Packagist paketų saugyklos administratoriai atskleidė informaciją apie ataką, kurios metu buvo suvaldytos 14 PHP bibliotekų paskyros, įskaitant tokius populiarius paketus kaip instantiator (iš viso 526 mln. diegimų, 8 mln. diegimų per mėnesį, 323 priklausomi paketai), sql. - formatavimas (iš viso 94 mln. diegimų, 800 tūkst. per mėnesį, 109 priklausomi paketai), doktrinų talpyklos paketas (iš viso 73 mln. diegimų, 500 tūkst. per mėnesį, 348 priklausomi paketai) ir kodo detektorius-dekoderis (iš viso 20 mln. įrenginių, 400 tūkst per mėnesį, 66 priklausomi paketai).
Pažeidęs paskyras, užpuolikas modifikavo failą composer.json, projekto aprašymo lauke įtraukė informaciją, kad ieško su informacijos sauga susijusio darbo. Kad pakeistų failą composer.json, užpuolikas originalių saugyklų URL pakeitė nuorodomis į modifikuotas šakes (Packagist pateikia tik metaduomenis su nuorodomis į projektus, sukurtus GitHub; kai diegiama naudojant „composer install“ arba „composer update“ komandą, paketai atsisiunčiami tiesiai iš „GitHub“). Pavyzdžiui, acmephp paketui susieta saugykla buvo pakeista iš acmephp/acmephp į neskafe3v1/acmephp.
Matyt, ataka buvo įvykdyta ne siekiant atlikti piktavališkus veiksmus, o pademonstruoti, kad nepriimtinas neatsargus požiūris į pasikartojančių įgaliojimų naudojimą skirtingose svetainėse. Tuo pačiu metu užpuolikas, priešingai nusistovėjusiai „etiško įsilaužimo“ praktikai, apie vykdomą eksperimentą iš anksto nepranešė bibliotekos kūrėjams ir saugyklų administratoriams. Vėliau užpuolikas paskelbė, kad po to, kai jam pavyks gauti darbą, jis paskelbs išsamią ataskaitą apie atakoje naudotus metodus.
Remiantis „Packagist“ administratorių paskelbtais duomenimis, visos paskyros, kurios valdė pažeistus paketus, naudojo lengvai atspėjančius slaptažodžius, neįjungus dviejų veiksnių autentifikavimo. Teigiama, kad įsilaužtose paskyrose buvo naudojami slaptažodžiai, kurie buvo naudojami ne tik „Packagist“, bet ir kitose tarnybose, kurių slaptažodžių duomenų bazės anksčiau buvo pažeistos ir tapo viešai prieinamos. Paskyrų savininkų, susietų su nebegaliojančiais domenais, el. laiškų fiksavimas taip pat gali būti naudojamas kaip prieigos gavimo parinktis.
Sugadinti paketai:
- acmephp / acmephp (124,860 XNUMX diegimų per visą paketo naudojimo laiką)
- acmephp/core (419,258 XNUMX)
- acmephp/ssl (531,692 XNUMX)
- doktrina/doktrina-cache-bundle (73,490,057 XNUMX XNUMX)
- doktrina / doktrinos modulis (5,516,721 XNUMX XNUMX)
- doctrine/doctrine-mongo-odm-module (516,441 XNUMX)
- doktrina/doktrinos-orm-modulis (5,103,306 XNUMX XNUMX)
- doktrina / instantiatorius (526,809,061 XNUMX XNUMX)
- augimo knyga / augimo knyga (97,568 XNUMX
- jdorn/file-system-cache (32,660 XNUMX)
- jdorn/sql-formatter (94,593,846 XNUMX XNUMX)
- khanamiryan/qrcode-detector-decoder (20,421,500 XNUMX XNUMX)
- object-calisthenics/phpcs-calisthenics-rules (2,196,380 XNUMX XNUMX)
- tga/simhash-php, tgalopin/simhashphp (30,555 XNUMX)
Šaltinis: opennet.ru
