A GitHub 3 800 adattárát lopták el egy rosszindulatú VS Code bővítmény révén

Egy feltört fejlesztői eszköz az utóbbi idők egyik legszembetűnőbb adattár-incidenséhez vezetett. A GitHub jelenleg vizsgál egy biztonsági eseményt, amelynek során egy rosszindulatú Visual Studio Code bővítmény megfertőzte egy alkalmazott eszközét, és végül körülbelül 3 800 belső adattár kiszivárogtásához vezetett. Az ellopott kódot ezt követően egy kiberbűnözői fórumon kínálták eladásra a TeamPCP nevű fenyegetőcsoport által. A biztonsági csapatok és a belső adattárakra támaszkodó fejlesztők számára az incidens éles emlékeztető arra, hogy a fejlesztői eszközök biztonsága és az adattár-feltörés kockázata elválaszthatatlan problémák.

Hogyan kompromittált egy rosszindulatú VS Code bővítmény egy GitHub-alkalmazottat

A Visual Studio Code mára a professzionális szoftverfejlesztés domináns szerkesztőjévé vált, és a bővítménypiaca hatalmas. A legtöbb fejlesztő ugyanúgy kezeli a bővítményeket, mint a mobilalkalmazásokat: telepíti, megbízik benne, és továbblép. Ez a feltételezés pontosan az, amit a támadók kihasználnak.

Ebben az incidensben egy GitHub-alkalmazott egy trójai programmal ellátott VS Code bővítményt telepített. A telepítést követően a rosszindulatú bővítmény ugyanolyan hozzáféréssel rendelkezett a fejlesztő környezetéhez, mint maga a fejlesztő: a fájlrendszerhez, az IDE-ben gyorsítótárazott hitelesítő adatokhoz, az aktív hitelesítési tokenekhez, és potenciálisan az eszköz által fenntartott hálózati kapcsolatokhoz. Ebből az egyetlen belépési pontból a támadó el tudta érni a GitHub belső adattárait, és jelentős mennyiségű saját tulajdonú kódot ki tudott szivárogtatni.

Ez nem elméleti támadási útvonal. A rosszindulatú csomagok és bővítmények egyre növekvő problémát jelentenek a fejlesztői ökoszisztémákban, az npm-től és a PyPI-től kezdve a böngészőbővítmény-áruházakig. A VS Code bővítménypiaca, bár nagy és széles körben használt, történelmileg olyan automatizált vizsgálatokra támaszkodott, amelyeket a kifinomult fenyegetőszereplők kijátszhatnak késleltetett hasznos adat-kézbesítéssel vagy obfuszkációval.

Mi lopták el, és mit árul el a TeamPCP értékesítési listája

A rendelkezésre álló információk szerint az incidens során körülbelül 3 800 belső GitHub-adattárat szivárogtattak ki. A felelősséget vállaló TeamPCP ezt követően kiberbűnözői fórumon listázta az anyagot, ami arra utal, hogy a motiváció pénzügyi jellegű, nem pedig kémkedési indíttatású.

A listázás mértéke figyelemre méltó. Egy olyan vállalat belső adattárai, mint a GitHub, tartalmazhatnak saját fejlesztői eszközöket, belső infrastruktúra-kódot, biztonsági logikát és integrációkat más Microsoft-szolgáltatásokkal. Még ha közvetlenül nem tartalmaznak is ügyféladata, a belső kód feltárhatja az architekturális feltételezéseket, a hitelesítési folyamatokat és rendszerhatárokat, amelyeket kifinomult támadók felhasználhatnak a következő behatolások tervezéséhez.

Az értékesítési listázás maga is fontos jelzést ad: a jogsértést nem sikerült időben megfékezni, mielőtt a támadónak lehetősége lett volna a kiszivárgatásra, szervezett feldolgozásra és az ellopott anyag értékesítésére. Ez a sorrend arra utal, hogy az eredeti kompromittálás jelentős tartózkodási idővel járt, vagy legalábbis hogy a kiszivárgatás elég gyors volt ahhoz, hogy befejeződjön az észlelés és az elhárítás előtt.

Miért a fejlesztői végpontok az adattár-biztonság leggyengébb láncszemei

A vállalati szervezetek általában sokat fektetnek be a határvédelembe, a hálózatfigyelésbe és a termelési rendszerek körüli hozzáférés-vezérlésekbe. Ami gyakran kevesebb figyelmet kap, az maga a fejlesztői végpont – az a laptop vagy munkaállomás, amelyet egy szoftvermérnök minden nap kód írásához, teszteléséhez és feltöltéséhez használ.

A fejlesztői eszközök pontosan azért értékes célpontok, mert milyen hozzáféréssel rendelkeznek. Egyetlen hitelesített fejlesztői munkamenet elérheti a belső adattárakat, a CI/CD folyamatokat, a titkosságkezelő rendszereket és a felhőinfrastruktúra-konzolokat. Ennek az egy eszköznek a kompromittálása hatékonyan előhitelesített átengedést ad a támadónak a vállalati biztonság számos rétegén keresztül.

A bővítmény- és csomag alapú ellátási lánc támadások ebben a kontextusban különösen veszélyesek, mert összeolvadnak a normál fejlesztői viselkedéssel. Egy új eszköz telepítése rutin dolog. A fejlesztőket nem képezik arra, hogy minden IDE-bővítményt potenciális fenyegetési vektorként kezeljenek úgy, ahogyan a biztonsági csapatok ismeretlen futtatható fájlokhoz viszonyulnak. Ez a hozzáállási rés az, amit az olyan fenyegetőcsoportok, mint a TeamPCP, aktívan kihasználnak.

Ez az incidens egy tágabb mintát tükröz: a támadók már nem próbálnak közvetlenül áttörni a tűzfalakon. Helyette a megbízható emberi végpontokat kompromittálják, amelyek már rendelkeznek jogszerű hozzáféréssel.

Réteges védelem: VPN-ek, zero-trust és MFA a belső kódhozzáférés védelméhez

Egyetlen vezérlő sem előzi meg teljesen ezt a kategóriájú támadást, de a réteges védelem jelentősen csökkentheti a robbanási sugarat, ha egy eszköz kompromittálódik.

A zero-trust hálózati hozzáférés a leginkább releváns architekturális váltás ebben az összefüggésben. A zero-trust modell keretein belül az eszközmegbízhatóságot folyamatosan értékelik, nem pedig feltételezik. Még ha a támadónak érvényes munkamenet-tokenje is van, az anomális viselkedés (például tömeges adattár-klónozás szokatlan időpontokban) újrahitelesítést vagy automatikus munkamenet-megszüntetést válthat ki. A zero-trust és az erős végpontészlelés párosítása láthatóságot biztosít a biztonsági csapatok számára arról, hogy mely folyamatok indítanak hálózati hívásokat, beleértve a gazember bővítményeket is.

A többfaktoros hitelesítés hardverhez kötött kulcsokkal további akadályt jelent. Az adathalászatnak ellenálló MFA (FIDO2/passkeys) biztosítja, hogy még egy teljesen kompromittált eszköz sem tud csendesen hitelesíteni új munkameneteket a felhasználó fizikai beavatkozása nélkül.

A VPN-ek specifikus és gyakran alábecsült szerepet játszanak ebben a veremben. Amikor a fejlesztők távolról érik el a belső rendszereket, az adatforgalom egy adatvédelmi szempontból ellenőrzött, szigorú naplózás-mentes elveket alkalmazó VPN-en keresztül történő irányítása csökkenti a munkamenet-lehallgatás kockázatát, és korlátozza a hálózati szintű láthatóságot, amely egy részlegesen kompromittált eszközzel vagy hálózati útvonalon lévő támadó számára elérhető. A lehetőségeket értékelő fejlesztői csapatok számára érdemes megvizsgálni a Mullvadot: regisztrációhoz nem kér e-mail-címet, anonim fiókszámokat használ, és a naplómentességi állítása valós körülmények között igazolódott be, amikor a svéd rendőrség razziát hajtott végre, és nem talált lefoglalható adatot. Alkalmazásai teljesen nyílt forráskódúak, ami fontos tulajdonság a fejlesztőközpontú csapatok számára, amelyek szeretnék auditálni, mit futtatnak.

Azok a csapatok számára, amelyek a független auditálású infrastruktúrát helyezik előtérbe, a Private Internet Access naplómentességi állításait szövetségi bírósági eljárásokban igazolták, és teljesen nyílt forráskódú alkalmazásokat tart fenn, amelyeket harmadik fél auditjai is alátámasztanak.

A VPN-eken túl a szervezeteknek érvényesíteniük kell a bővítmény-engedélyezési listát a fejlesztői eszközökhöz, kód-aláírást vagy szervezeti jóváhagyást kell megkövetelniük az IDE-bővítmények vállalati eszközökre történő telepítése előtt, és részletes auditnaplókat kell fenntartaniuk az adattár-hozzáférési mintákról a tömeges kiszivárgatás korai észleléséhez.

Mit jelent ez az Ön számára

Ha Ön fejlesztő, vagy olyan mérnöki csapat tagja, amely távolról fér hozzá belső adattárakhoz, ez az incidens közvetlen jelzés a végponti helyzetének felülvizsgálatára.

Elvihető tanulságok:

  • Vizsgálja meg az összes jelenleg a munkaeszközére telepített VS Code bővítményt. Távolítson el mindent, amit nem szándékosan telepített, vagy amelyet már nem használ aktívan.
  • Kezelje az IDE-bővítményeket ugyanolyan szkepticizmussal, mint ismeretlen futtatható fájlok telepítésekor alkalmazna. Telepítés előtt ellenőrizze a kiadói hitelesítést és az értékelések számát.
  • Szorgalmazza, hogy szervezete vezessen be bővítmény-engedélyezési listát a felügyelt fejlesztői eszközökön.
  • Győződjön meg róla, hogy a belső adattár-hozzáférése adathalászatnak ellenálló MFA-val védett, nem csupán jelszó plusz SMS kombinációval.
  • Ha csapata nyilvános vagy nem ellenőrzött hálózatokon keresztül fér hozzá belső rendszerekhez, adjon hozzá egy adatvédelmi szempontból ellenőrzött VPN-t egy zero-trust távoli hozzáférési verem egyik rétegeként.
  • Dolgozzon együtt biztonsági csapatával, hogy alaplista-riasztásokat állítsanak be a tömeges adattár-hozzáférésre vagy szokatlan klónozási viselkedésre.

A GitHub-incidens még vizsgálat alatt áll, és a hozzáfért tartalmak teljes terjedelme esetleg még egy ideig nem kerül nyilvánosságra. Ami már most egyértelmű: a fejlesztői végpontok magas értékű, alulvédett felületet képviselnek a legtöbb szervezetben. Ennek a résnek a kezelése nem igényel teljes infrastruktúra-átalakítást. Azzal kezdődik, hogy a fejlesztői munkaállomást önálló biztonsági határként kezeljük.