A behatolás nem a végcél, csupán a kezdőpont. Olyan, mintha egy hatalmas épület alagsori ablakán másztál volna be. Bent vagy, de egy sötét, jelentéktelen helyiségben, korlátozott mozgástérrel. A valódi célpontok – a szerverszoba, a vezérigazgatói iroda, a trezor – még messze vannak. A következő lépés a kijutás ebből a szobából és a kulcskártyák megszerzése, amelyek minden ajtót kinyitnak.
Miután egy támadó lábat vetett a rendszerben (például egy sebezhető webalkalmazáson vagy egy konténeren keresztül), szinte soha nem rendelkezik azonnal a végső céljához szükséges hozzáféréssel. Az első belépési pont általában egy alacsony jogosultságú felhasználói fiók egy perifériás rendszeren. Innen kell elindulnia a terjeszkedésnek, ami két fő irányban történhet: vertikálisan és horizontálisan. Ez a fejezet e két mozgás dinamikáját és a mögöttük álló támadói logikát mutatja be.
A támadói döntési fa: Merre tovább?
A támadó helyzete egy döntési fához hasonlítható. Az első kérdés, amit feltesz magának a sikeres behatolás után: „Milyen jogosultságaim vannak, és hol vagyok?” A válasz meghatározza a következő lépést.
- Ha a jelenlegi fiók alacsony jogosultságú (pl. egy `www-data` felhasználó egy webszerveren, vagy egy sima `user` egy Docker konténerben), az elsődleges cél a vertikális mozgás, azaz a jogosultságkiterjesztés (Privilege Escalation).
- Ha a fiók már magas jogosultságú (pl. `root` vagy `admin`), de a gép maga nem a végső célpont, a fókusz a horizontális mozgásra, vagyis az oldalirányú terjeszkedésre (Lateral Movement) helyeződik.
Ez a két mozgásforma gyakran egymást váltja egy komplex támadási lánc során. A támadó eszkalálja a jogosultságait egy gépen, majd az így szerzett kredenciálékkal átlép egy másikra, ahol a folyamat kezdődhet elölről.
A terjeszkedés logikai folyamata
Vertikális mozgás: Jogosultságkiterjesztés (Privilege Escalation)
A cél egyszerű: egy alacsonyabb szintű felhasználói fiókból egy magasabb szintű, ideális esetben `root` vagy `Administrator` jogosultságú fiókhoz jutni ugyanazon a rendszeren belül. Ez azért kritikus, mert a magasabb jogosultságok lehetővé teszik a rendszer mélyebb rétegeihez való hozzáférést, például:
- Védett fájlok olvasása (pl. konfigurációs fájlok, jelszó hash-ek).
- Más felhasználók nevében történő műveletek végrehajtása.
- Hálózati forgalom lehallgatása.
- Perzisztencia mechanizmusok telepítése (pl. cron jobok, systemd service-ek).
- Biztonsági szoftverek (pl. EDR, antivírus) leállítása.
Gyakori technikák AI környezetben
Bár a klasszikus technikák (pl. kernel sebezhetőségek) itt is relevánsak, az AI/ML infrastruktúrák sajátos gyengeségeket is felvonultatnak.
Környezeti változókban és logokban felejtett titkok
A fejlesztők gyakran hagynak érzékeny adatokat – API kulcsokat, adatbázis jelszavakat, felhőszolgáltatói hozzáférési kulcsokat – környezeti változókban vagy a konténerek logjaiban.
Egy támadó, aki hozzáfér egy alacsony jogosultságú shellhez egy modell-kiszolgáló konténerben, könnyedén kiolvashatja ezeket.
# Egy konténeren belüli shellből futtatva
# Keresünk API kulcsokat vagy jelszavakat a környezeti változók között
env | grep -i -E 'KEY|SECRET|TOKEN|PASSWORD|PASS'
# Lehetséges kimenet, ami egy magasabb jogosultságú szolgáltatáshoz adhat kulcsot
# AWS_SECRET_ACCESS_KEY=aBcDeFgHiJkLmNoPqRsTuVwXyZ1234567890
# DATABASE_PASSWORD=SzuperTitkosJelszo!
# MLFLOW_TRACKING_TOKEN=...
Az itt talált `AWS_SECRET_ACCESS_KEY` egy olyan IAM szerepkörhöz tartozhat, amely teljes hozzáférést biztosít az S3 bucketekhez, ahol a tréning adatok vagy a modellek vannak tárolva. Ez egy azonnali és hatékony jogosultságkiterjesztés.
Túlzott jogosultságokkal futó szolgáltatások
Gyakori hiba, hogy a kényelem érdekében egy adatfeldolgozó pipeline vagy egy modell-kiszolgáló folyamat `root` felhasználóként fut. Ha a támadó képes sebezhetőséget találni ebben a szolgáltatásban (pl. egy parancsinjektálási hiba egy API végponton), akkor az általa futtatott kód is `root` jogosultságokkal fog lefutni.
Horizontális mozgás: Oldalirányú terjeszkedés (Lateral Movement)
Amikor a támadó már elegendő jogosultsággal rendelkezik egy gépen, a következő célpont a hálózat többi, értékesebb része. Az oldalirányú terjeszkedés célja, hogy az egyik kompromittált rendszerről átjusson egy másikra, anélkül, hogy a jogosultsági szintje szükségszerűen emelkedne. A cél a kritikus rendszerek – adatbázisok, modellező szerverek, MLOps vezérlősíkok – felderítése és elérése.
Tipikus módszerek és AI-specifikus példák
Megszerzett hozzáférések újrahasznosítása
A leggyakoribb technika. A támadó az első kompromittált gépen jelszavakat, SSH kulcsokat, API tokeneket, cookie-kat keres. Ezeket megpróbálja felhasználni a hálózat más rendszerein. Egy adatelemző gépén talált `~/.ssh/id_rsa` kulcs könnyen hozzáférést adhat a teljes számítási fürthöz, ha a kulcsot jelszó nélkül, több rendszeren is használják.
Bizalmi kapcsolatok kihasználása
Az AI rendszerek gyakran komplex, elosztott architektúrák, ahol az egyes komponensek megbíznak egymásban.
- Egy adat-előkészítő (ETL) node lehet, hogy jelszó nélküli SSH hozzáféréssel rendelkezik a Hadoop/Spark clusterhez. Ha a támadó kompromittálja az ETL node-ot, ezt a bizalmi kapcsolatot kihasználva tovább tud lépni.
- Egy Jupyter Notebook szerver, amelyet a data scientistek használnak, rendelkezhet olyan tokenekkel, amelyek hozzáférést biztosítanak a központi modellregiszterhez (pl. MLflow, Vertex AI Model Registry). A szerver kompromittálásával a támadó is hozzáfér ezekhez a tokenekhez, és képes lehet modelleket manipulálni vagy letölteni.
| Mozgás Típusa | Cél | Példa Technika | AI/ML Kontextus |
|---|---|---|---|
| Vertikális (Privilege Escalation) | Magasabb jogosultságok szerzése ugyanazon a rendszeren. | `sudo` szabályok kihasználása, kernel exploit, szolgáltatás sebezhetőség. | Egy `www-data` userként futó modell API-n keresztül `root` shell szerzése a konténerben. |
| Horizontális (Lateral Movement) | Más rendszerek elérése a hálózaton. | SSH kulcsok, jelszavak, tokenek újrahasznosítása. | Egy kompromittált adatelemző laptopról a benne tárolt felhő kredenciálékkal elérni a tréning adatokat tartalmazó S3 bucketet. |
A sikeres terjeszkedés után a támadó már nem egyetlen, elszigetelt ponton van jelen a rendszerben, hanem egyre szélesebb körű és mélyebb hozzáféréssel rendelkezik.
Ezzel megteremtette a feltételeket a következő, és egyben legpusztítóbb fázishoz: a tényleges kihasználáshoz, ahol a megszerzett hozzáférést a végső céljainak elérésére fordítja.