Aplikácie, ktoré používajú staré názvy úložísk na GitHub ako závislosti, môžu v skutočnosti viesť používateľov k malvéru. Tu je to, čo potrebujete vedieť.

Je čoraz jasnejšie, že repojacking GitHub predstavuje pre vývojárov legitímne riziko. Hackeri môžu využívať výhody používateľov a spoločností, ktoré menia svoje názvy GitHub tým, že ukradnú staré úložisko mená v nádeji, že škodlivé súbory, ktoré pridávajú, môžu získať aplikácie, ktoré používajú kód ako a závislosť.

Preto je dôležité, aby ste podnikli kroky na ochranu svojho vlastného projektu GitHub, ak ste nedávno zmenili svoje používateľské meno alebo ste odkazovali na iné úložiská ako na závislosti.

Čo je RepoJacking?

Repojacking GitHub je typ zneužitia, ku ktorému môže dôjsť po tom, čo vlastník úložiska zmení svoje používateľské meno. Sprístupní sa stará kombinácia používateľského mena a názvu úložiska a repojacker môže využiť svoje závislosti nárokovaním používateľského mena a vytvorenie úložiska s rovnakým názvom.

Repojacking môže predstavovať dva odlišné typy rizika:

instagram viewer
  • Repojacking môže spôsobiť, že inak dôveryhodná aplikácia bude nespoľahlivá. Ak používate aplikáciu, ktorá používa úložisko GitHub ako závislosť a vlastník úložisko premenuje, používanie aplikácie vás zanechá zraniteľným.
  • Repojacking môže ohroziť aplikáciu, ktorú vyvíjate. Ak odkazujete na úložisko GitHub ako na závislosť a nevšimnete si ho alebo ho neaktualizujete, keď sa úložisko premenuje, vaša aplikácia bude zraniteľná voči zneužitiu repojackingu.

Repojacking nepredstavuje pre používateľov obrovské riziko, existuje však legitímny dôvod domnievať sa, že by mohol slúžiť ako mechanizmus vážneho útoku na dodávateľský reťazec. Ak má aplikácia závislosť, ktorá odkazuje na repojacked úložisko, bude vyžadovať a prijímať kód od repojackerov, ktorý môže obsahovať malvér.

Ak vyvíjate na GitHub, viete, ako môžete minimalizovať riziko útokov na dodávateľský reťazec a repojacking – z hľadiska toho, že ide o unesené úložisko aj ako tretia strana so závislosťami – je životne dôležitý.

Ako minimalizovať riziko RepoJacking

Útoky repojackingu sa spoliehajú na mimoriadne predvídateľný mechanizmus: únoscovia prevezmú kontrolu nad nenárokovaným úložiskom a potom využijú všetky aplikácie, ktoré naň odkazujú ako na závislosť. Našťastie je vďaka tomu ľahké bojovať proti repojackingu.

Vytvárajte súkromné ​​klony úložísk

Klonovanie úložiska je vynikajúci spôsob, ako minimalizovať riziko spojené so závislosťami vo vašom projekte, pretože budete mať absolútnu kontrolu nad svojou súkromnou kópiou. Môžete vytvoriť súkromnú kópiu verejného úložiska holým klonovaním a zrkadlovým vložením, ako je zdokumentované GitHub.

Starostlivo sledujte svoje závislosti na projekte

Ak sa rozhodnete, že by ste sa radšej problémom vyhli a odkazovali na verejné úložiská, mali by ste sa uistiť, že často kontrolujete závislosti svojich projektov. Kontrola stavu vašich závislostí niekoľkokrát do roka zaberie nanajvýš menej ako hodinu – a ušetrí vám to veľa stresu.

Zvážte premenovanie svojho účtu

V ideálnom prípade by aktuálnosť vášho používateľského mena nebola dôvodom na obavy. Vzhľadom na riziko repojackingu by ste však mali zvážiť ponechanie svojho zastaraného mena. Ak musíte zmeniť svoje používateľské meno, mali by ste si nárokovať a rezervovať staré meno registráciou iného účtu.

Rozumne používajte externé zdroje

Závislosti predstavujú prirodzené riziko, pretože vo vašej aplikácii vytvárajú prístupové body tretích strán. Aj keď zvyčajne stoja za čas, ktorý ušetria, pravidelné auditovanie závislostí vášho projektu je kľúčové. Mali by ste tiež prijať ďalšie bezpečnostné opatrenia, ako je použitie autentifikácie SSH, aby ste zabránili zneužitiu.