Software Supply Chain Security Fenyegetések a csomag szakaszában

Software Supply Chain Security Fenyegetések a csomag szakaszában

Ahogy a szoftverfejlesztés előrehalad a szoftverellátási lánc életciklusa során, a csomagolási szakasz kulcsfontosságú pontként jelenik meg, amikor a forráskódot terjesztésre előkészített, végrehajtható fájlokká alakítják. Ez a kritikus szakasz azonban nem mentes a sebezhetőségektől, így elsődleges célpontja a rosszindulatú szereplők számára, akik megpróbálják aláásni a szoftver integritását és biztonságát. Ez a blogbejegyzés az ebben a fázisban felmerülő leggyakoribb fenyegetéseket vizsgálja, és hatékony stratégiákat vázol fel ezek enyhítésére. Ez a tartalom a blogbejegyzés-sorozatunk folytatásaként szolgál, amely a következőket vizsgálja: software supply chain security az egész SDLC.

A csomag szakasza a szoftverfejlesztési életciklusban

A szoftverellátási lánc életciklusának csomagolási szakasza magában foglalja a szoftverek csomagolásának és a felhasználóknak való terjesztésre való előkészítésének folyamatát. Ez a szakasz magában foglalja a telepítőcsomagok létrehozását, a függőségek kezelését és a szoftver metaadatainak generálását.

Az összeállítási integritási fenyegetések olyan sebezhetőségek, amelyek lehetővé teszik a támadók számára, hogy jogosulatlan módosításokat hajtsanak végre a szoftverben a csomagolási folyamat során. Ezek a fenyegetések különféle módszerekkel kerülhetnek be, például a csomagjegyzékének feltörésével, a csomagolóeszközök sebezhetőségeinek kihasználásával vagy harmadik féltől származó függőségek manipulálásával.

A modern szoftverek nyílt forráskódú komponensektől való teljes függősége tette ezt a szakaszt a leggyakoribb S-sé.SCA cél. Sok kiberbűnöző álma egy lopakodó rosszindulatú program bevezetése egy népszerű, nyílt forráskódú komponensbe. Ezért több mint 245 000 kártékony csomagot találtak 2023 folyamán

Példák Software Supply Chain Security Fenyegetések a csomag szakaszában

szoftver-ellátási-lánc-biztonsági-csomag-támadások-szoftver-ellátási-lánc-csomag-támadások
Használja a feltört csomagot

Ez egy olyan szoftvercsomag telepítésére vagy használatára utal, amelyet egy támadó manipulált vagy módosított.

Ez akkor történhet meg, miután a csomag elhagyta a hivatalos csomagnyilvántartást, akár a felhasználó rendszeréhez való közvetlen hozzáférés révén, akár olyan társadalmi manipulációs taktikák révén, amelyek ráveszik a felhasználót egy rosszindulatú csomag letöltésére vagy telepítésére. Erre a vektorra példa volt a Böngészés elgépelés Támadás.

Egy támadó, aki Linux és Mac rendszereket próbált meg feltörni, beszivárgott egy népszerű Node.js könyvtár, a Browserify fejlesztési folyamatába. A támadó rosszindulatú kódot csempészett a projekt forráskódjába azzal a szándékkal, hogy azt az NPM csomag beállításjegyzékén keresztül terjessze. Miután a fertőzött Browserify csomagot feltöltötték az NPM-be, a gyanútlan fejlesztők letöltették és telepítették azt, azt gondolva, hogy ez a legitim verzió. A csomagba ágyazott rosszindulatú kód csendben futott, veszélyeztetve a megfertőzött rendszerek integritását. Ez adatlopáshoz, a rendszer instabilitásához vagy akár távoli hozzáféréshez is vezethetett a támadó számára.

Kompromittált csomagok nyilvántartása

A feltört csomagnyilvántartás egy olyan szoftvertárház, amelybe egy támadó behatolt, és jogosulatlan hozzáférést szerzett a nyilvántartás adminisztrációs felületéhez vagy infrastruktúrájához.

Ez lehetővé teszi a támadó számára, hogy legitim szoftvercsomagokat módosítson vagy rosszindulatúakkal helyettesítsen, amelyeket aztán gyanútlanul telepített felhasználókhoz terjeszthet. Az ilyen típusú fenyegetések egyik példája a Támadás a csomagtükrök ellen: Egy kutató a nyílt forráskódú szoftverek népszerűsítése céljából több népszerű csomagregisztrációs adatbázist is feltört, köztük a Maven Centralt, az NPM-et és a RubyGems-et. A regisztrációs adatbázisokhoz való hozzáférés révén a kutató képes volt tükörképeket és az eredeti csomagrepozitóriumok másolatait létrehozni, amelyek kényelmes alternatívát kínáltak a fejlesztők számára a csomagok letöltésére.

Ezek a tükrök azonban baljós célt szolgáltak. A feltört tükrök csatornákként szolgáltak a kutatók számára a rosszindulatú csomagok terjesztésére. Ezek a csomagok lecserélték a legitim csomagokat, amelyeket az elsődleges rendszerleíró adatbázisok nem észleltek, és a gyanútlan fejlesztők tudtukon kívül letöltötték és telepítették őket. A telepítés után ezek a rosszindulatú csomagok szabadjára engedték hasznos adataikat, tetszőleges kódot futtattak, érzékeny adatokat loptak el, vagy megzavarták a műveleteket.

Módosított csomag feltöltése

Egy támadó módosított csomagot tölt fel egy olyan adattárba vagy terjesztési csatornába, amely rosszindulatú kódot vagy hasznos adatokat tartalmaz. Ez a csomag forráskódjának, csomagolásának vagy metaadatainak módosításával tehető meg.

Az egyik leghírhedtebb ilyen típusú fenyegetés volt a CodeCov támadás 2021-ben. Egy támadó, aki a CodeCov, egy népszerű folyamatos integrációs és folyamatos szállítási (folyamatos integrációs) eszköz használatával próbál szoftverprojekteket feltörni (CI/CD) eszköz kiszivárgott hitelesítő adatokat használt fel jogosulatlan hozzáférés megszerzésére egy projekt Google Cloud Storage (GCS) tárolójához. Miután a támadó hozzáférést kapott a GCS tárolóhoz, feltöltött egy rosszindulatú objektumot, a CodeCov csomag módosított verzióját, amelyet aztán a CodeCov szolgáltatáson keresztül terjesztett a felhasználók között. A gyanútlan fejlesztők az automatikus frissítési funkcióra támaszkodva letöltették és telepítették a rosszindulatú csomagot, azt gondolva, hogy az a legitim. A telepítés után a rosszindulatú kód csendben futott, veszélyeztetve a megfertőzött rendszerek integritását. Ez adatlopáshoz, a rendszer instabilitásához vagy akár távoli hozzáféréshez is vezethetett a támadó számára.

A csomagok regisztrációs adatbázisai elleni támadások annyira gyakoriak, hogy egyes támadási minták nevet kaptak:

In Helyesírás, a rosszindulatú szereplő több rosszindulatú csomagot tölt fel a rendszerleíró adatbázisba apró elgépelési hibákkal vagy a népszerű, legitim csomagokhoz hasonló nevekkel, abban a reményben, hogy a fejlesztők a kívánt csomagnevet egy rosszindulatú névvel írják le. A rosszindulatú csomag gyakran a legitim csomagnak álcázza magát, hogy észrevétlen maradjon, növelve a stargazing támadás valószínűségét. 

Függőségi zavar kihasználja azt a módot, ahogyan egyes csomagkezelők feloldják a kért csomagokat több beállításjegyzékből. Amikor egy szervezet belső komponenseket használ, amelyek egy belső beállításjegyzékben vannak közzétéve, egy támadó, aki tud erről, közzétehet egy rosszindulatú komponenst ugyanazzal a névvel egy nyilvános beállításjegyzékben. Ha a belső komponenshez használt név nincs hatókörbe sorolva, egyes csomagkezelők a rosszindulatú komponenst kérik le a belső helyett.   

A Troyan csomagjai, a kiberbűnöző kártevőt álcáz a hasznos, érvényes kód között. Ezt használhatja a valódi szerző, vagy egy közreműködő, aki felajánlja magát a csomag karbantartására. Ez más néven CsomagfeltörésA támadók számos technikát alkalmaztak egy meglévő csomag eltérítésére, például Domain átvétel ahol a támadó egy elhagyott, lejárt domaint foglalt el, újra létrehozta a régi karbantartói e-mail címet, és jelszó-helyreállítást hajtott végre a karbantartói fiók átvételéhez.

Záró megjegyzések

Mivel a szervezetek egyre inkább olyan szoftverfejlesztési módszertanokat alkalmaznak, amelyek az automatizálást és a folyamatos szállítást helyezik előtérbe, a szoftvercsomag-fázis biztonságossá tételének jelentősége minden eddiginél kiemelkedőbb. Azzal, hogy ebben a kritikus fázisban robusztus biztonsági intézkedéseket vezetnek be, a szervezetek jelentősen csökkenthetik a rosszindulatú támadásoknak való kitettség kockázatát, amelyek veszélyeztethetik szoftvereik integritását és biztonságát.

Az ebben a blogbejegyzésben ismertetett stratégiák a bemutatott példákkal együtt komolyan emlékeztetnek arra, hogy a csomagolási szakasz a szoftverellátási lánc sebezhető pontját képviseli. A szervezeteknek figyelembe kell venniük ezeket a fenyegetéseket, és végre kell hajtaniuk a szükséges biztonsági intézkedéseket szoftvereik támadásokkal szembeni védelme érdekében. Ezáltal garantálhatják szoftverük integritását, biztonságát és megbízhatóságát felhasználóik és ügyfeleik számára.

Csatlakozzon utunkhoz egy biztonságos szoftverökoszisztéma felé

Ne hagyd ki a lehetőséget, hogy egy lépéssel előrébb járj a világban software supply chain securityIratkozzon fel blogunkra még ma, és legyen az elsők között, akik értesülnek legfrissebb információinkról, biztosítva, hogy szervezete ellenálló és biztonságos maradjon a folyamatosan változó fenyegetések közepette. Együtt egy robusztusabb és biztonságosabb szoftver-ökoszisztémát építhetünk mindenki számára.

Ne feledje, software supply chain security egy folyamatban lévő utazás, nem pedig egy célállomás. A biztonsági gyakorlatok folyamatos értékelésével és adaptálásával a szervezetek megvédhetik szoftverellátási láncukat, és megbízható szoftvereket szállíthatnak felhasználóiknak.

Fedezd fel Xygeni funkcióit!
Nézze meg videós demónkat
sca-tools-software-composition-elemző-eszközök
Szoftverkockázatok rangsorolása, elhárítása és biztosítása
Szerezd meg az ingyenes fiókodat.
Nem szükséges hitelkártya.

Biztosítsa szoftverfejlesztését és -szállítását

az Xygeni termékcsomaggal