Az Amerikai Egyesült Államok Nemzetbiztonsági Ügynöksége (NSA) az ausztrál hírszerzési ügynökséggel (ASD) közösen tájékoztatót adott ki a web shell típusú káros kódokról, tapasztalataik szerint ugyanis ezek alkalmazása az utóbbi időben gyakoribbá vált. Ezek a káros kódok főképp webszervereken kerülnek telepítésre, és tetszőleges kódok futtatását tehetik lehetővé a kompromittált rendszereken, valamint folyamatos kapcsolatot biztosíthatnak a támadó számára, azaz backdoorként is funkcionálhatnak.
A kibertámadók a web shelleket jellemzően webes alkalmazások sérülékenységeinek kihasználásával, vagy más módon már korábban kompromittált rendszerekre telepítik. Tipikusan hibás elképzelés, hogy csak a közvetlenül az Interneten keresztül elérhető rendszerek kitettek az ilyen típusú támadásokkal szemben, ugyanis gyakran a belső tartalomkezelő rendszerek, vagy a hálózati eszközök is célponttá válnak, főképp az ezekre jellemző hiányos patch menedzsment, illetve engedékenyebb biztonsági elvárások miatt.
Habár a “web shell” kifejezés főleg káros kódokkal összefüggésben használt, utalhat adminisztrátorok által alkalmazott, legitim, webalapú rendszerfelügyeleti eszközökre is. Jelen anyag nem tekinti céljának ez utóbbi mélyebb tárgyalását, azonban az mindenképp megjegyzendő, hogy ezen szoftverek esetleges sérülékenységei komoly kockázati tényezőt jelentenek. Adminisztrátorok számára tehát javasolt vállalati autentikációs megoldások, biztonságos kommunikációs csatornák és biztonsági hardening alkalmazása a rendszerfelügyeleti szoftverekkel összefüggésben.
A kockázatokat enyhítő intézkedések (ÉSZLELÉS)
A web shell malware-ek észlelése sok esetben nem könnyű feladat, mivel a támadók könnyen módosíthatják őket, emellett a rejtőzködéshez sok esetben fejlett módszereket ─ titkosítás, enkódolás, obfuszkálás ─ is alkalmaznak. Emiatt többféle észlelési technika együttes alkalmazása javasolt, azzal a megjegyzéssel, hogy fals pozitív jelzésekre is számítani kell. Észlelési technikák alatt az alábbiakat értjük:
- Megbízható változattal való összehasonlítás
A web shell malware-ek elsődleges célpontjai a webalkalmazások, amelyeken módosításokat hajtanak végre, ezért a leghatékonyabb detektálási mód a vizsgálat alá vont webalkalmazás összehasonlítása egy megbízható változattal, az eltérések vizsgálata azonban manuális ellenőrzést igényel. A diszkrepanciák értékelésekor nem javasolt nagy jelentőséget tulajdonítani az időbélyegeknek, ugyanis ismertek olyan támadók, akik az ún. “timestomping” technikát alkalmazva képesek az időbélyegek manipulálására, így ezek nem tekinthetőek minden kétséget kizáróan hiteles információknak. A témában bővebb információ az eredeti tájékoztató “A” függelékében található.
- Anomália-detekció a webes forgalomban
Habár a támadók célja a web shell malware-ek kommunikációjának elrejtése a legitim forgalomban, ez sok esetben csak az adott környezetre vonatkozó részletes ismeretek esetében lehetséges. Bizonyos jellemzőkről (például user agent sztringek, használt IP tartomány) azonban csak akkor tud információt szerezni a támadó, ha már jelen van a hálózatban, tehát a kezdeti szakaszban a web shell kérések anomáliaként jelentkezhetnek. Mindemellett a támadók sok esetben megfeledkeznek a referer HTTP fejléc álcázásáról, ennélfogva a szokatlan, vagy hiányzó referer fejléceket tartalmazó kérések web shell jelenlétére utalhatnak, amelyek központi logelemző képességekkel rendelkező rendszerek (pl. SIEM) segítségével detektálhatóak. Splunk®2 lekérdezés példák a “B”, logok elemzésére szolgáló szkriptek pedig az eredeti tájékoztató “C” függelékben találhatóak.
- Szignatúra alapú detekció
Alapesetben a szignatúra alapú észlelés hoszt oldalról megbízhatatlan, ugyanis a web shelleken többnyire obfuszkálást alkalmaznak. Mindazonáltal a támadók sok esetben jól ismert web shelleket (pl. China Chopper, WSO, C99, B374K, R57) alkalmaznak minimális módosítással, azaz egyes esetekben a lenyomat (fingerprint) alapú észlelés lehetséges lehet. A gyakori web shell fájlok észlelésére szolgáló Snort szabályok gyűjteménye itt érhető el, további kiegészítő információkkal együtt.
Hálózati szempontból a szignatúra-alapú detekció az obfuszkálás és titkosítás miatt szintén megbízhatatlan, azonban egyes ismert web shellek esetében a másodlagos fertőzések nyomainak észlelésében segítségül szolgálhat. Erre vonatkozó mintákat az eredeti tájékoztató “D” függeléke tartalmaz.
- Váratlan hálózati forgalom
Esetenként a támadók a web shelleket nem webszervereken alkalmazzák, hanem például munkaállomásokon. Ebben az esetben a web shellek a jól menedzselt hálózatokon detektálhatóak, ugyanis korábban nem használt portokon kommunikálnak. Továbbá előfordulhat, hogy egy támadó a peremhálózaton webszervert hoz létre a káros forgalom legitim hálózati forgalomba történő becsatornázására, így kapcsolatok épülnek fel a perimeteren lévő eszköz és egy belső hálózati node között. Ha a hálózat üzemeltetője tudja, hogy mely node-ok működnek webszerverként, a hálózatelemzés felfedheti a szokatlan hálózati forgalmakat. A nem engedélyezett webszerverek felfedezésére több eszköz is alkalmas, például a sérülékenységvizsgáló scannerek (pl. Nessus), IDS-ek (pl. Snort), illetve a hálózatbiztonsági monitorozó eszközök (pl. Zeek [korábban: Bro]). Sokat segíthet az is, amennyiben részletes és naprakész információval rendelkezünk a legitim hálózati forgalomról. A témához kapcsolódó Snort szabályok az eredeti tájékoztató “E” függelékben találhatók.
- Végponti detektálás és reagálás (EDR)
Egyes EDR és hoszt alapú naplózó megoldások képesek a web shellek észlelésére rendszerhívási és folyamat leszármazási anomáliák alapján. A webszerverek esetén szokatlan jelenségnek számít például az ipconfig segédprogram meghívása, azonban a web shellek részéről ez gyakorta alkalmazott a támadások felderítési szakaszában. A web shellek detektálásával kapcsolatban az EDR-ek eltérő automatizálási képességei és lekérdezési interfészei miatt a szervezetek számára javasolt az adott termék dokumentációjához, vagy egyenesen a gyártóhoz fordulni bővebb információért. Az eredeti tájékoztató “F” függeléke bemutatja, hogy a Sysmon kiterjesztett folyamat logolása hogyan járulhat hozzá az anomália-detekcióhoz Microsoft Windows környezetben. A “G” függelék pedig ugyanezt teszi az auditd kapcsán Linux környezetre vonatkozóan.
- Egyéb hálózati anomália indikátorok
A web shellek hálózati forgalma egyéb detektálható karakterisztikákat is hordozhat, például különösen nagy méretű válasz csomagok (lehetséges adatlopás), munkaidőn kívüli, rendszeresen visszatérő hozzáférések (lehetséges nem lokális hozzáférés) és földrajzilag eltérő válaszok (lehetséges külföldi operátor) képében. Azonban megjegyzendő, hogy ezek könnyen eredményezhetnek fals pozitív találatot, ezért az üzemeltetők számára akkor javasolt ezen jellemzők monitorozása, amennyiben az adott környezetben megállapítható egy alapszintű karakterisztika, ami a teljes környezetre jellemző.
A kockázatokat enyhítő intézkedések (PREVENCIÓ)
A web shellek elleni védelem kialakítását célszerű mind az Internet felől elérhető, mind a belső hálózati webszerverek esetében magas prioritású feladatként kezelni. Az alábbiakban ismertetett intézkedések jelentősen emelhetik a védelmi szintet.
- Webes alkalmazások frissítése
A támadások esetenként a webes alkalmazások biztonsági frissítéseit követő 24 órán belül történnek, ezért az ilyen frissítések telepítését javasolt a lehető legrövidebb időn belül elvégezni, például az automatikus frissítés engedélyezésével, amit célszerű ─ legalább ─ napi gyakoriságúra konfigurálni. Ha az automatikus frissítés nem lehetséges, végezzünk gyakran manuális frissítést. Az eredeti tájékoztató “H” függelékben információt találhat néhány gyakran kihasznált sérülékenységről.
- Webes alkalmazások jogosultságai
A webes szolgáltatások esetén javasolt a “legkisebb jogosultság” elvének alkalmazása. Webalkalmazások számára nem javasolt közvetlen írás-jogosultságot biztosítani webes elérésű könyvtárakon, vagy webes kódok módosítását engedélyezni. A funkcionalitás megőrzése miatt azonban a webalkalmazások esetenként konfigurációs változtatásokat igényelnek, hogy a feltöltött fájlokat egy közvetlen webes elérés nélküli tárhelyre mentsék. Ilyen módosítások elvégzése előtt javasolt az alkalmazás dokumentációjának áttekintése, vagy a gyártóval történő konzultáció.
- Fájlintegritás monitorozása
A fentiekben ismertetett jogosultság-menedzsmenthez hasonló eredményhez vezethet a fájlintegritás monitorozása. A fájlok változásának nyomon követésére szolgáló szoftverek képesek a módosítási próbálkozások blokkolására és riasztás generálására a webes hozzáférésű könyvtárakon. Ezek szűrési lehetőséggel is bírnak, azaz van lehetőség bizonyos fájlműveletek kivételként történő engedélyezésére. Az eredeti tájékoztató “I” függelékben McAfee HIPS szabályokat találhat.
- Behatolásmegelőzés
Mind az IPS-ek (Intrusion Perevention System), mind a WAF-ok (Web Application Firewall) képesek egyes támadások blokkolására, így további védelmi réteget képezhetnek a webalkalmazások számára. Az adminisztrátorok számára javasolt az OWASP “Core Rule Set” implementálása, azzal a megjegyzéssel, hogy egyéb szignatúra-alapú észlelő megoldásokhoz hasonlóan ez önmagában csupán részleges védelmet képes nyújtani.
- Hálózat szegmentálás
A web shellek terjedése megakadályozható különböző, egymással kapcsolatban nem álló hálózati szegmensek kialakításával. Legegyszerűbb formája az internet felől elérhető szerverek ún. DMZ (demilitarized zone) alhálózatba történő elhelyezése. Fejlettebb megoldás az ún. SDN (software-defined networking) által megvalósított “Zero Trust” architektúra, amelyben explicit engedély szükséges a node-ok közti kommunikációhoz. Mindez nem az egyes webszerverek elleni támadások megakadályozására szolgál, hanem annak megelőzésére, hogy kompromittálódás esetén a támadó a hálózaton keresztül további node-okat érjen el. További információ érhető el az nsa.gov oldal “Segregate Networks and Functions” szekciójában.
- Webszerverek biztonsági hardeningje
Webkiszolgálók és webalkalmazások biztonsági konfigurálása védelmet jelenthet a web shellekkel szemben. Az üzemeltetők számára javasolt a nem használt portok és szolgáltatások elérésének tiltása, a használatban lévő szolgáltatások elérését pedig ─ amennyiben lehetséges ─ korlátozni szükséges adott kliensekre. Emellett rutinszerűen végrehajtott sérülékenységvizsgálatok is fontos szereppel bírhatnak, egyes hoszt alapú biztonsági rendszerek pedig olyan fejlett funkciókat is alkalmazhatnak, mint a gépi tanulás, vagy a fájl reputáció ellenőrzés.
A kockázatokat enyhítő intézkedések (VÁLASZ és HELYREÁLLÍTÁS)
Egy web shell észlelésekor mindig annak felmérését kell fókuszba helyezni, hogy a támadó milyen mértékben volt képes kompromittálni az adott hálózatot. A fertőzött node-ok megtalálásához csomagelemző szoftverek szolgálhatnak segítségül.
Az eredeti tájékoztató függelékeiben szereplő információk az itt található Git tárolóban, naprakész formában elérhetőek.
Forrás: media.defense.gov