ENISA: Szoftver-ellátási lánc védelme

Editors' Pick

Az ENISA jelentése szerint a csomagkezelők kulcsszerepet játszanak a modern szoftverfejlesztésben, ugyanakkor a szoftver-ellátási lánc egyik legkritikusabb támadási pontját jelentik. A biztonságos használat érdekében a szervezeteknek strukturált függőségkezelési gyakorlatokat, SBOM-alapú átláthatóságot, valamint automatizált sérülékenység-monitorozást kell alkalmazniuk a teljes fejlesztési életciklus során. Az EU-ban bevezetésre kerülő termékbiztonsági iránymutatások egyik első technikai ajánlása, amely a fejlesztők számára ad gyakorlati útmutatást a harmadik féltől származó csomagok biztonságos használatához. 

A modern szoftverfejlesztés nagymértékben támaszkodik külső könyvtárakra és csomagokra, amelyeket a csomagkezelők automatikusan töltenek le és integrálnak a projektekbe. Ez jelentős hatékonysági előnyt biztosít, ugyanakkor komoly supply chain kockázatokat is létrehoz. Egy kompromittált csomag vagy rosszindulatú függőség akár több ezer vagy több százezer projektbe is bekerülhet, így a hatás gyorsan kiterjedhet a teljes szoftver-ökoszisztémára. 

Az ENISA részletesen ismerteti a csomagkezelő rendszerekkel kapcsolatos fő fenyegetéseket. Ilyen például a dependency confusion, amikor egy támadó egy nyilvános repository-ban olyan csomagot publikál, amelynek neve megegyezik egy belső csomagéval, így a build-rendszer tévedésből a rosszindulatú csomagot tölti le. Hasonló veszélyt jelent a typosquatting, amikor a támadó egy népszerű csomag nevéhez nagyon hasonló elnevezést használ, abban bízva, hogy a fejlesztők véletlenül ezt telepítik. A jelentés emellett kitér a kompromittált maintainer-fiókokra, a rosszindulatú frissítésekre és a rejtett kódinjekciókra is. 

Az ENISA a kockázatok kezelésére több biztonsági gyakorlatot is javasol a fejlesztési életciklus különböző fázisaiban. A csomag kiválasztásakor ajánlott ellenőrizni a projekt karbantartási aktivitását, a közösségi visszajelzéseket és a biztonsági előzményeket. A fejlesztőknek célszerű minimalizálni a függőségek számát, valamint rendszeresen ellenőrizni a függőségi láncban megjelenő sérülékenységeket. A dokumentum hangsúlyozza a Software Bill of Materials (SBOM)használatának fontosságát is, amely segít nyomon követni a szoftverben használt összes komponens eredetét és verzióját. 

FORRÁS