Process hollowing: a kártékony kódok futtatására használt technika működésének magyarázata

A "Process Hollowing" egy trükkös módszer, amivel a vírusok álcázzák magukat. Elképzelheted úgy, mint egy üres bábfigurát, amibe a rosszindulatú kód bebújik. Ahelyett, hogy saját, gyanús programot indítana, a vírus egy ártalmatlannak tűnő, létező program helyét foglalja el, így nehezebb észrevenni. Ez a cikk elmagyarázza, hogyan működik pontosan ez a megtévesztő technika.
ITSZÓTÁR.hu
44 Min Read
Gyors betekintő

A process hollowing egy kifinomult technika, amelyet kártékony kódok futtatására használnak. Lényege, hogy egy legitim folyamat tartalmát kicserélik egy rosszindulatú kóddal, így a kártevő a megbízható folyamat nevében fut. Ez a módszer azért hatékony, mert megnehezíti a vírusirtó szoftverek és más biztonsági eszközök számára a kártevő azonosítását és eltávolítását.

A támadó először elindít egy új folyamatot felfüggesztett állapotban. Ezután a memóriatérképét felülírja a saját, rosszindulatú kódjával. Végül a folyamatot újraindítja, így a kártevő a legitim folyamat kontextusában hajtódik végre.

A process hollowing kihasználja az operációs rendszerek működését, amelyek lehetővé teszik a folyamatok létrehozását és memóriájának manipulálását. A technika különösen veszélyes, mert a kártékony kód álcázva van egy megbízható alkalmazás mögött, ami megnehezíti a detektálást. A felfüggesztett állapot kulcsfontosságú a folyamat átvételéhez, mivel megakadályozza az eredeti kód futását a felülírás előtt.

A process hollowing célja, hogy a kártevő tevékenységét egy megbízható folyamathoz kösse, elkerülve a gyanút és a detektálást.

Számos kártevőcsalád alkalmazza ezt a technikát, beleértve a trójai programokat, zsarolóvírusokat és kémprogramokat. A védekezés érdekében fontos a naprakész vírusirtó szoftver használata, a gyanús fájlok futtatásának kerülése és az operációs rendszer biztonsági frissítéseinek telepítése. A process hollowing elleni védekezés összetett feladat, amely többrétegű biztonsági megközelítést igényel.

A Process Hollowing története és evolúciója

A Process Hollowing, mint kártékony technika, nem egy hirtelen ötlet eredménye, hanem a Windows operációs rendszer architektúrájának kihasználásából ered. Eredetileg nem rosszindulatú célokra tervezték, de a támadók hamar felismerték a benne rejlő lehetőségeket.

A technika alapja az, hogy egy futó processzust felülírnak egy másik, rosszindulatú kóddal. A korai verziók egyszerűbb felülírási módszereket alkalmaztak, amelyek viszonylag könnyen detektálhatóak voltak. A támadók azonban folyamatosan finomították a módszereiket, hogy elkerüljék a vírusirtók és más biztonsági megoldások észlelését.

Az evolúció során a Process Hollowing egyre kifinomultabbá vált. A támadók elkezdték alkalmazni a kód obfuscation és encryption technikákat, hogy elrejtsék a rosszindulatú kódot a memóriában. Emellett a Dynamic-link library (DLL) injection is egyre gyakoribbá vált a Process Hollowing részeként, ami lehetővé tette a támadóknak, hogy külső kódot futtassanak a felülírt processzusban.

A Process Hollowing evolúciója szorosan összefügg a vírusirtók és a támadók közötti macska-egér játékkal. Ahogy a védelem egyre hatékonyabbá vált, a támadók is egyre kifinomultabb módszereket fejlesztettek ki.

A modern Process Hollowing technikák már a kernel szintű manipulációkat is magukban foglalhatják, ami még nehezebbé teszi a detektálást. A támadók például módosíthatják a Windows kernel memóriakezelési mechanizmusait, hogy elrejtsék a rosszindulatú kódot.

A különböző variánsok között megkülönböztethetünk például:

  • Classic Process Hollowing: Az eredeti technika, ahol egy legitimenek tűnő processzus tartalmát felülírják.
  • Reflective DLL Injection alapú Process Hollowing: Egy DLL-t injektálnak egy processzusba, amely a hollowing folyamatot végzi.
  • Transacted Hollowing: A memóriaműveletek tranzakciókba vannak foglalva, ami lehetővé teszi az eredeti processzus visszaállítását hiba esetén.

A folyamatos evolúció miatt a Process Hollowing továbbra is egy komoly fenyegetést jelent a számítógépes biztonságra. A védekezéshez elengedhetetlen a folyamatosan frissített vírusirtó szoftverek, a viselkedéselemzésen alapuló detektálási módszerek, és a felhasználók tudatosságának növelése.

A Process Hollowing technikai alapjai: Alacsonyszintű folyamatok működése

A Process Hollowing egy olyan technika, amelyet a kártékony kódok arra használnak, hogy elrejtőzzenek és futtassák magukat egy legitim folyamat kontextusában. A cél az, hogy elkerüljék a biztonsági szoftverek és a felhasználók figyelmét, mert a futó kód egy megbízhatónak tűnő alkalmazás nevében fut. A technika alacsonyszintű folyamatkezelési műveleteken alapul.

A folyamat lényegében a következő lépésekből áll:

  1. Indítás felfüggesztett állapotban: Először egy legitim folyamatot indítanak el, de fontos, hogy ezt felfüggesztett állapotban tegyék. Ez azt jelenti, hogy a folyamat memóriája inicializálódik, de a kód végrehajtása nem kezdődik meg.
  2. Memória felszabadítása: A felfüggesztett folyamat memóriájában lévő kódot (azaz az eredeti, legitim alkalmazás kódját) fel kell szabadítani. Ezt a VirtualAllocEx és NtUnmapViewOfSection API hívásokkal lehet megtenni. Gyakorlatilag a legitim alkalmazás memóriaterületét üressé teszik.
  3. Kártékony kód írása: A felszabadított memóriaterületre a kártékony kód kerül beírásra. Ez a WriteProcessMemory API használatával történik. A támadó alapvetően a legitim folyamat memóriájába „cseréli” a kártékony kódot.
  4. Belépési pont átírása: A folyamat belépési pontját (azaz azt a memóriacímet, ahol a kód végrehajtása elkezdődik) át kell írni úgy, hogy az a kártékony kódra mutasson. Ez a SetThreadContext API hívással érhető el.
  5. Folyamat folytatása: Végül a felfüggesztett folyamatot folytatják a ResumeThread API-val. Mivel a belépési pont már a kártékony kódra mutat, a folyamat a kártékony kódot fogja végrehajtani a legitim alkalmazás nevében.

A Process Hollowing technikát gyakran használják más technikákkal kombinálva, például a kód befecskendezésével (code injection) vagy a dinamikus link könyvtárak (DLL) manipulálásával.

A technika hatékonysága abban rejlik, hogy a kártékony kód egy legitim folyamat kontextusában fut, ami megnehezíti a biztonsági szoftverek számára a detektálást. A biztonsági szoftverek gyakran a folyamatok viselkedését figyelik, és ha egy legitim folyamat hirtelen gyanús tevékenységet végez, az felkeltheti a gyanút. Azonban a Process Hollowing esetén a kártékony kód már egy megbízható folyamat nevében fut, ami megnehezíti a viselkedés alapú detektálást.

A Process Hollowing lényege, hogy egy legitim folyamatot „kicserélnek” egy kártékony folyamatra anélkül, hogy a folyamat nevét vagy PID-jét (Process ID) megváltoztatnák. Ezáltal a kártékony tevékenység egy megbízható folyamat álcája mögött rejtőzik.

A védekezés a Process Hollowing ellen többrétegű megközelítést igényel. Ide tartozik a viselkedésalapú detektálás, a memória integritásának ellenőrzése és a folyamatok közötti kommunikáció figyelése. A folyamatok integritásának ellenőrzése, azaz annak vizsgálata, hogy a futó kód megegyezik-e azzal, amit a lemezről betöltöttek, kulcsfontosságú a technikák felismerésében.

A folyamat létrehozásának és indításának folyamata a Windows alatt

A folyamat létrehozása után álcázott kódfuttatás indul Windows alatt.
A folyamat létrehozása és indítása Windows alatt rendszerhívások sorozatán alapul, lehetővé téve a folyamat manipulálását.

A Windows operációs rendszerben egy új folyamat létrehozása és elindítása több lépésből áll, melyek kulcsfontosságúak a process hollowing támadások szempontjából. A támadó ugyanis kihasználja ezeket a lépéseket, hogy a saját kártékony kódját egy legitim folyamat memóriájába injektálja.

Az első lépés a folyamat létrehozása. Ezt a CreateProcess API hívással lehet megvalósítani. Ekkor a rendszer létrehoz egy új folyamatot a megadott futtatható fájl alapján. Ez a folyamat azonban még nem futtat semmilyen kódot, csupán a memóriában foglal helyet.

A process hollowing lényege, hogy a támadó leállítja a legitim folyamat eredeti kódjának futtatását, és a saját kódját futtatja helyette.

A következő lépés a folyamat memóriájának kezelése. A VirtualAllocEx és WriteProcessMemory API hívásokkal a támadó képes felülírni a legitim folyamat memóriájában tárolt kódot a saját kártékony kódjával. Ehhez először lefoglal egy memóriaterületet, majd ebbe a területbe bemásolja a kártékony kódot.

Ezután a támadónak módosítania kell a folyamat belépési pontját. A belépési pont az a memóriacím, ahol a folyamat végrehajtása elkezdődik. A támadó a SetThreadContext API hívással átállítja a belépési pontot a saját kártékony kódjának címére. Így amikor a folyamat futni kezd, a kártékony kód fog elindulni.

Végül a támadó elindítja a folyamatot a ResumeThread API hívással. Ekkor a Windows elkezdi végrehajtani a folyamat kódját a megadott belépési ponttól. Mivel a támadó átállította a belépési pontot a saját kártékony kódjának címére, a kártékony kód fog futni a legitim folyamat memóriájában.

A process hollowing sikere azon múlik, hogy a támadó képes-e észrevétlenül végrehajtani ezeket a lépéseket, mielőtt a legitim folyamat elkezdené a saját kódjának futtatását. A védekezés kulcsa a folyamatok viselkedésének monitorozása és az anomáliák észlelése.

A CreateProcess API szerepe a folyamatok létrehozásában

A CreateProcess API kulcsszerepet játszik a process hollowing technikában, mivel ez a függvény felelős új folyamatok létrehozásáért a Windows operációs rendszerben. A process hollowing lényege, hogy egy létező, legitim folyamatot használnak fel a kártékony kód futtatására, elkerülve ezzel a biztonsági mechanizmusokat.

A támadás során a CreateProcess API-t arra használják, hogy felfüggesztett állapotban (CREATE_SUSPENDED flag) elindítsanak egy új folyamatot, tipikusan egy legitim alkalmazást. Ez azt jelenti, hogy a folyamat létrehozódik, de a fő szál végrehajtása nem kezdődik meg azonnal. Ez a felfüggesztett állapot kritikus a process hollowing szempontjából, mivel időt ad a támadónak arra, hogy beavatkozzon a folyamat memóriájába.

A CreateProcess API által létrehozott folyamat kezdeti memóriaterülete (a `.text` szegmens) ezután felülíródik a kártékony kóddal.

A kártékony kód injektálása után a támadó a ResumeThread API segítségével elindítja a felfüggesztett folyamat fő szálát. Ekkor a folyamat a kártékony kódot kezdi el futtatni, mintha az a legitim alkalmazás része lenne.

A CreateProcess API használatának egyik előnye a támadók számára, hogy a létrehozott folyamat örökli a legitim alkalmazás jellemzőit, például a digitális aláírást és a jogosultságokat. Ez megnehezíti a kártékony tevékenység észlelését a biztonsági szoftverek számára.

Röviden, a CreateProcess API lehetővé teszi a támadó számára, hogy egy legitim folyamatot „üresen” hozzon létre, majd feltöltse a saját kártékony kódjával, elrejtve azt a gyanútlan felhasználó és a biztonsági rendszerek elől.

A PROCESS_CREATE_SUSPENDED flag jelentősége a Process Hollowingban

A Process Hollowing során a PROCESS_CREATE_SUSPENDED flag kulcsfontosságú szerepet játszik. Ez a flag a CreateProcess függvény paramétere, és azt eredményezi, hogy az új processz felfüggesztett állapotban jön létre.

Enélkül a flag nélkül a célprocessz azonnal elkezdene futni, ami meghiúsítaná a kártékony kód bejuttatásának kísérletét. A felfüggesztés lehetővé teszi a támadó számára, hogy módosítsa a processz memóriáját, mielőtt az bármilyen kódot végrehajtana.

A PROCESS_CREATE_SUSPENDED flag biztosítja az időt, amire a támadónak szüksége van a legitim processz lecserélésére a saját kártékony kódjával.

A támadó először a GetThreadContext függvény segítségével lekéri a processz főszálának kontextusát. Ez tartalmazza a processzor regisztereinek állapotát, beleértve a program számlálót (EIP/RIP), ami a következő végrehajtandó utasításra mutat. Ezután a támadó feloldja a processz memóriáját a VirtualAllocEx és WriteProcessMemory függvényekkel, hogy a kártékony kód elférjen.

Miután a kártékony kód bekerült a memóriába, a támadó a WriteProcessMemory-val átírja a processz belépési pontját (a program számlálót) az új, kártékony kód címére. Végül a SetThreadContext-el beállítja az új kontextust, és a ResumeThread-el elindítja a processzt. Ekkor a processz a kártékony kódot fogja futtatni, a legitim kód helyett.

A VirtualAllocEx és WriteProcessMemory API-k használata a kód injektálásához

A process hollowing során a VirtualAllocEx és WriteProcessMemory API-k kulcsszerepet játszanak a kártékony kód injektálásában a kiszemelt folyamatba. Ezek az API-k teszik lehetővé a támadó számára, hogy a folyamat memóriájában területet foglaljon és oda adatokat írjon, ami a kártékony kód futtatásának alapja.

Először a támadó a VirtualAllocEx függvényt használja. Ennek a függvénynek a segítségével egy új memóriaterületet foglal le a célfolyamatban. A függvény paraméterei között szerepel a folyamat handle-je, a kívánt memóriaterület címe (általában NULL, hogy a rendszer válassza ki), a lefoglalandó méret, a foglalás típusa (MEM_COMMIT, MEM_RESERVE) és a védelem (pl. PAGE_EXECUTE_READWRITE). A PAGE_EXECUTE_READWRITE védelem engedélyezi a kód futtatását, olvasását és írását a lefoglalt területen, ami elengedhetetlen a kártékony kód végrehajtásához.

A VirtualAllocEx lehetővé teszi, hogy a támadó egy teljesen új, az eredetihez képest üres és futtatható memóriaterületet hozzon létre a célfolyamatban.

Miután a memóriaterület lefoglalásra került, a WriteProcessMemory API lép a színre. Ezzel a függvénnyel a támadó a saját memóriájából adatokat másol át a célfolyamat újonnan lefoglalt területére. A másolandó adatok általában a kártékony kód bináris formája. A függvény paraméterei között szerepel a célfolyamat handle-je, a célmemória címe (a VirtualAllocEx által visszaadott cím), a másolandó adatok címe és a másolandó adatok mérete.

A WriteProcessMemory segítségével a támadó gyakorlatilag felülírja a célfolyamat memóriáját a saját kódjával. Ez a lépés kritikus, mert ezáltal kerül a kártékony kód a célfolyamatba.

Fontos megjegyezni, hogy a sikeres kódinjektálás után a támadónak gondoskodnia kell arról, hogy a vezérlés átkerüljön az újonnan injektált kódra. Ezt többféleképpen meg lehet oldani, például a SetThreadContext API használatával, ami módosítja a célfolyamat szálának regisztereit, beleértve a programszámlálót (EIP/RIP), hogy az az injektált kód kezdőcímére mutasson. Másik módszer a CreateRemoteThread használata, amely egy új szálat hoz létre a célfolyamatban, és az injektált kód kezdőcímén kezdi meg a futtatást.

A támadók gyakran alkalmaznak obfuszkációs technikákat is a kódinjektálás során, hogy megnehezítsék a detektálást. Például titkosíthatják a kártékony kódot, és csak a célfolyamatban dekódolják azt a WriteProcessMemory meghívása előtt.

Az NtUnmapViewOfSection API szerepe a memóriaterület felszabadításában

Az NtUnmapViewOfSection felszabadítja a memóriaterületet a folyamatban.
Az NtUnmapViewOfSection API eltávolítja a memóriaterületet, lehetővé téve a folyamat memóriájának módosítását.

A Process Hollowing során a kártékony kód egy legitim folyamatba kerül injektálásra, hogy elkerülje a detektálást. Ennek a technikának kulcsfontosságú lépése a legitim folyamat memóriaterületének felszabadítása, hogy helyet csináljon a kártékony kódnak. Ebben a folyamatban játszik központi szerepet az NtUnmapViewOfSection API.

Az NtUnmapViewOfSection egy natív API függvény, melynek feladata egy memória szakasz leválasztása egy folyamat címtartományából. Lényegében a folyamat memóriatérképéből távolítja el a megadott szakaszt, így felszabadítva a hozzá tartozó virtuális címeket. A Process Hollowing esetében a támadó ezt az API-t használja a legitim folyamat eredeti kódjának és adatainak tárolására szolgáló memóriaterület eltávolítására.

Az NtUnmapViewOfSection sikeres meghívása után a korábban lefoglalt memóriaterület felszabadul, lehetővé téve a támadó számára, hogy a kártékony kódot az üres területre írja.

A függvény használatakor a támadó megadja a célfolyamat handle-jét és a leválasztandó memóriaterület báziscímét. A sikeres végrehajtás után a megadott címtartományban lévő memória már nem lesz hozzárendelve a folyamathoz, így a korábbi tartalom elveszik.

A támadók gyakran dinamikusan keresik meg az NtUnmapViewOfSection címét a ntdll.dll fájlban, mivel a cím változhat a különböző Windows verziók között. Ennek érdekében a GetModuleHandle és a GetProcAddress függvényeket használják.

Érdemes megjegyezni, hogy az NtUnmapViewOfSection használata a Process Hollowing során nem feltétlenül jelenti a kártékony tevékenység egyetlen indikátorát. A legitim szoftverek is használhatják ezt az API-t különböző célokra. A Process Hollowing detektálásához más technikákat, például a memóriaminták elemzését és a folyamat viselkedésének megfigyelését is alkalmazni kell.

A SetThreadContext API használata az új belépési pont beállításához

A process hollowing során a SetThreadContext API kulcsfontosságú szerepet játszik a kártékony kód végrehajtásának irányításában. Miután egy legitim folyamat memóriájában helyet csináltunk a rosszindulatú kód számára (például a VirtualAllocEx és WriteProcessMemory függvényekkel), a végrehajtás átirányítása a cél.

A SetThreadContext függvény lehetővé teszi egy szál kontextusának (regiszterek, verem, stb.) beállítását egy másik folyamatban. Ez azt jelenti, hogy a kártékony kód írója képes arra, hogy a legitim folyamat fő szálának kontextusát úgy módosítsa, hogy az a frissen beillesztett, rosszindulatú kód belépési pontjára mutasson.

A folyamat a következőképpen zajlik:

  • Először meg kell szereznünk a célfolyamat fő szálának handle-jét a OpenThread függvénnyel.
  • Ezután a GetThreadContext API-val kiolvassuk a szál aktuális kontextusát. Ez a kontextus tartalmazza az összes regiszter értékét, beleértve az EIP (Instruction Pointer) regisztert is, ami a következő végrehajtandó utasítás címét tárolja.
  • Módosítjuk a kontextusban található EIP regiszter értékét úgy, hogy az a kártékony kód belépési pontjára mutasson.
  • Végül a SetThreadContext függvény segítségével beállítjuk a módosított kontextust a célfolyamat fő szálában.

Ezzel a módszerrel lényegében „átverjük” a folyamatot, hogy a saját kódja helyett a kártékony kódot kezdje el végrehajtani.

A ResumeThread API meghívása után a célfolyamat a módosított kontextussal folytatja a futást, ami a rosszindulatú kód végrehajtásához vezet.

A ResumeThread API szerepe a kártékony kód futtatásában

A ResumeThread API kulcsfontosságú szerepet játszik a process hollowing támadások során a kártékony kód végrehajtásában. A technika lényege, hogy egy legitim folyamat (pl. Notepad.exe) memóriáját felülírják a támadó kódjával. Ezután a folyamat eredeti belépési pontját a támadó kódjának belépési pontjára cserélik.

Miután a memóriát felülírták és a belépési pontot átírták, a folyamat főszálát általában felfüggesztik (pl. a CreateProcess API CREATE_SUSPENDED flag-jével). Ezt követően, a kártékony kód sikeres injektálása után, a ResumeThread API hivatott újraindítani a felfüggesztett szálat.

A ResumeThread API lényegében a startjelzés a kártékony kód számára, amely így a legitim folyamat kontextusában kezd el futni.

A ResumeThread meghívásával a vezérlés átkerül a támadó kódjához, ami így elkerülheti a védelmi mechanizmusokat, mivel egy megbízható folyamat (a felülírt legitim program) nevében fut. Ezzel a módszerrel a kártékony kód álcázhatja magát, és nehezebben detektálhatóvá válik a biztonsági szoftverek számára.

A Process Hollowing lépésről lépésre: A technika részletes bemutatása

A process hollowing egy kártékony technika, amely lehetővé teszi a támadók számára, hogy egy legitim folyamatba injektálják a rosszindulatú kódjukat, elrejtve azt a biztonsági szoftverek elől. A technika lényege, hogy egy meglévő, általában megbízhatónak tartott processzus memóriájába írják a kártékony kódot, majd átveszik az irányítást a folyamat végrehajtásán.

A process hollowing folyamata több lépésből áll:

  1. Egy új, felfüggesztett állapotú processzus létrehozása: A támadó először létrehoz egy új processzust a CreateProcess API segítségével, a CREATE_SUSPENDED flag-et használva. Ez biztosítja, hogy a processzus ne kezdjen el futni a létrehozás után. Általában egy megbízható alkalmazást választanak ki célpontnak, például a notepad.exe-t.
  2. A memóriaterület felszabadítása: Miután a processzus felfüggesztett állapotban van, a támadó a ZwUnmapViewOfSection API-val felszabadítja a processzus memóriaterületét. Ez eltávolítja az eredeti, legitim kód leképezését a memóriából.
  3. Kártékony kód leképezése: A felszabadított memóriaterületre a támadó a saját kártékony kódját képezi le a VirtualAllocEx és WriteProcessMemory API-k segítségével. Ezzel a kártékony kód kerül a processzus memóriájába.
  4. A belépési pont átírása: A támadó ezután megkeresi a processzus belépési pontját (entry point), és átírja azt, hogy a kártékony kódra mutasson. Ehhez a GetThreadContext és SetThreadContext API-kat használja.
  5. A processzus futtatása: Végül a támadó elindítja a felfüggesztett processzust a ResumeThread API-val. Ekkor a processzus a kártékony kódot kezdi el futtatni.

A process hollowing lényege, hogy a támadó kihasználja a legitim processzus identitását, elrejtve a kártékony tevékenységet a háttérben.

A process hollowing elleni védekezés komplex feladat. A biztonsági szoftvereknek figyelemmel kell kísérniük a processzek létrehozását, a memóriaterületek módosítását és a belépési pontok átírását. Emellett fontos a gyanús tevékenységek észlelésére szolgáló heurisztikák alkalmazása is.

A támadók gyakran alkalmaznak különböző technikákat a process hollowing detektálásának megnehezítésére. Például:

  • Kód obfuscation: A kártékony kód elrejtése, hogy ne legyen könnyen elemezhető.
  • Anti-debugging technikák: A hibakeresés megakadályozása.
  • Dynamic API resolution: Az API címek dinamikus feloldása, hogy ne legyenek statikusan elemezhetők.

A process hollowing elleni védekezés során elengedhetetlen a többrétegű védelem alkalmazása, amely magában foglalja a végpontvédelmet, a hálózati felügyeletet és a felhasználói tudatosság növelését.

A Process Hollowing variációi: RunPE és más technikák

A RunPE módszer a process hollowing gyors és rejtett variánsa.
A RunPE technika a Process Hollowing egy változata, amely új folyamat létrehozása nélkül futtat kártékony kódot.

A Process Hollowing, mint kártékony technika, számos variációban jelenhet meg. Ezek közül a legismertebb a RunPE, de léteznek más, kevésbé elterjedt, de hasonló elven működő módszerek is. A RunPE lényege, hogy egy ártalmatlan folyamat (például a Notepad) indítása után annak memóriáját felülírják a kártékony kód tartalmával. Ezzel a támadó eléri, hogy a kártékony kód egy megbízható folyamat nevében fusson, megnehezítve a detektálást.

A RunPE folyamata általában a következő lépésekből áll:

  1. Egy ártalmatlan folyamat elindítása felfüggesztett állapotban.
  2. A folyamat memóriájának feloldása.
  3. A kártékony kód memóriába másolása.
  4. A folyamat belépési pontjának (entry point) átírása a kártékony kód belépési pontjára.
  5. A folyamat futtatásának folytatása.

A RunPE mellett léteznek más variációk is, amelyek eltérő módon érik el ugyanazt a célt. Például egyes technikák nem feltétlenül indítanak új folyamatot, hanem egy már futó folyamatba injektálják a kártékony kódot. Ez történhet a CreateRemoteThread függvénnyel, amely lehetővé teszi, hogy egy másik folyamatban új szálat indítsunk, melynek kódja a kártékony payload.

A Process Hollowing variációk közös jellemzője, hogy a kártékony kód egy legális folyamat kontextusában fut, ami megnehezíti a hagyományos vírusirtók számára a detektálást.

Egy másik megközelítés a DLL injektálás. Ebben az esetben egy dinamikus link könyvtárat (DLL) injektálnak egy futó folyamatba. A DLL tartalmazza a kártékony kódot, amely betöltéskor automatikusan elindul. A DLL injektálás számos módon megvalósítható, például a CreateRemoteThread függvénnyel vagy a SetWindowsHookEx függvénnyel.

Vannak olyan technikák is, amelyek a folyamat memóriájának közvetlen manipulálásával érik el a kártékony kód futtatását. Ez magában foglalhatja a memóriavédelmi attribútumok módosítását (például a VirtualProtect függvénnyel), hogy a memóriaterület írható és futtatható legyen, majd a kártékony kód beleírását és futtatását.

Ezen technikák mindegyike kihasználja a Windows operációs rendszer működését, és célja, hogy a kártékony kód a lehető legészrevétlenebbül futhasson.

A Process Hollowing előnyei a támadók szemszögéből: Lopakodás és elrejtőzés

A process hollowing egy olyan technika, amelyet a támadók a kártékony kódjuk futtatására használnak, kihasználva a legitim folyamatok álcáját. Ennek egyik legfőbb előnye a lopakodás és az elrejtőzés.

A támadó által kiválasztott legitim folyamat (például a notepad.exe) memóriájába injektálják a kártékony kódot. Ezt követően a legitim folyamat eredeti kódja törlésre kerül, és a helyére a támadó által bejuttatott kód kerül. A folyamat neve és más alapvető jellemzői azonban változatlanok maradnak, ami megtéveszti a biztonsági szoftvereket és a rendszergazdákat.

A process hollowing lehetővé teszi a kártékony kód számára, hogy egy megbízható folyamat kontextusában futtassa a tevékenységét, minimalizálva a lebukás kockázatát.

A támadók gyakran választanak olyan folyamatokat, amelyek a rendszer szempontjából általánosan elfogadottak és széles körben használtak. Ez tovább nehezíti a kártékony tevékenység azonosítását, mivel a folyamat normális működésnek tűnik a felszínen.

A technika hatékonysága abban rejlik, hogy a kártékony kód nem közvetlenül a lemezről indul, hanem egy már futó, legitim folyamatba ágyazódik be. Ez megkerüli a fájl alapú víruskeresőket és más biztonsági intézkedéseket, amelyek a végrehajtható fájlok jellemzőit vizsgálják.

Egy másik előnye, hogy a kártékony kód nehezebben nyomon követhető, mivel a tevékenység egy legitim folyamathoz kapcsolódik. A biztonsági elemzőknek mélyrehatóan kell vizsgálniuk a folyamat működését, hogy felfedezzék a mögöttes kártékony tevékenységet.

A Process Hollowing hátrányai és korlátai

A Process Hollowing, bár hatékony technika a kártékony kód rejtett futtatására, számos hátránnyal és korláttal rendelkezik, amelyek befolyásolják a hatékonyságát és a felfedezhetőségét.

Az egyik fő korlát a memóriakezelés. A technika során új folyamatot kell létrehozni, ami erőforrásigényes. Emellett a memóriaterület lecserélése is kockázatokkal jár, például inkompatibilitási problémák léphetnek fel a kód és a futtatókörnyezet között.

A felfedezhetőség is jelentős probléma. A Process Hollowing tevékenység nyomokat hagy a rendszeren, például a folyamatokkal kapcsolatos anomáliákat (eltérő szülőfolyamatok, szokatlan memóriahasználat). Ezek a nyomok detektálhatók a modern víruskeresők és behatolásészlelő rendszerek által.

A Process Hollowing sikeressége nagymértékben függ a célfolyamat kiválasztásától és a bejuttatott kód álcázásától.

Továbbá, a működési hibák is gyakoriak lehetnek. Ha a kártékony kód nem kompatibilis a célfolyamat architektúrájával (pl. 32-bit versus 64-bit), a folyamat összeomolhat, ami azonnal felhívja a figyelmet a támadásra. A kódinjekció során fellépő hibák szintén a támadás lelepleződéséhez vezethetnek.

Végül, a biztonsági szoftverek fejlesztése folyamatosan javul, ami egyre nehezebbé teszi a Process Hollowing sikeres alkalmazását. A viselkedésalapú detektálási módszerek és a gépi tanulás alapú elemzések egyre hatékonyabban azonosítják a gyanús folyamatokat.

A Process Hollowing észlelése: Statikus és dinamikus analízis

A Process Hollowing észlelése során mind statikus, mind dinamikus analízisre szükség van, mivel a kártevő célja a detektálás elkerülése. A statikus analízis a kód vizsgálatára fókuszál a futtatás előtt, míg a dinamikus analízis a kód viselkedését monitorozza futás közben.

Statikus analízis során a következőkre érdemes figyelni:

  • Import táblák: Vizsgáljuk meg, hogy a program importál-e olyan API-kat, mint a CreateProcess, WriteProcessMemory, ResumeThread, VirtualAllocEx, NtUnmapViewOfSection és SetThreadContext. Ezen függvények használata önmagában nem bizonyíték a Process Hollowingra, de gyanús lehet.
  • Kód struktúra: Keressünk olyan kódmintákat, melyek új folyamat létrehozására, memóriaterületek felülírására és a végrehajtás átirányítására utalnak.
  • Packerek és obfuscátorok: A kártevők gyakran használják ezeket a technikákat a kód elrejtésére, ami megnehezíti a statikus analízist. A packer eltávolítása vagy a kód deobfuszkálása elengedhetetlen a valódi viselkedés feltárásához.

Dinamikus analízis során a hangsúly a program futás közbeni viselkedésének megfigyelésén van:

  • Folyamat létrehozás: Figyeljük meg a létrehozott folyamatokat. Ha egy folyamat gyanúsan gyorsan jön létre és szűnik meg, vagy ha a szülőfolyamat és a gyermekfolyamat tevékenységei nem egyeznek, az Process Hollowingra utalhat.
  • Memóriaírás: Monitorozzuk a folyamatok által végzett memóriaírási műveleteket. Ha egy folyamat egy másik folyamat memóriájába ír, különösen a kódszegmensbe, az gyanús.
  • API hívások: Kövessük nyomon az API hívásokat, és figyeljük meg a sorrendet és a paramétereket. A CreateProcess után a WriteProcessMemory és a SetThreadContext hívások kombinációja erősen gyanús.
  • Hálózati tevékenység: A Process Hollowing során betöltött kártevő gyakran hálózati tevékenységet végez. Figyeljük meg a program által kezdeményezett kapcsolatokat és a küldött/fogadott adatokat.

A dinamikus analízis során a legfontosabb a szokatlan folyamat viselkedésének azonosítása, különös tekintettel a memóriakezelésre és az API hívásokra.

Mindkét analízis típust kombinálva lehet a leghatékonyabban azonosítani a Process Hollowing technikát alkalmazó kártevőket. A statikus analízis segít a gyanús kódminták felkutatásában, míg a dinamikus analízis a valós viselkedés feltárásában.

Signature-alapú észlelések korlátai

A signature-alapú észlelés könnyen kikerülhető változó kódokkal.
A signature-alapú észlelés könnyen kijátszható, mivel a kártékony kódok gyorsan módosíthatók és álcázhatók.

A process hollowing technika kihasználja a meglévő, legális folyamatok memóriáját kártékony kód futtatására. Ez komoly kihívást jelent a signature-alapú észlelési módszerek számára, mivel a kártékony kód nem egy önálló fájlként jelenik meg a rendszerben.

A signature-alapú megoldások a kártékony kódra jellemző mintákat, vagyis a „signature”-öket keresik a fájlokban. Mivel a process hollowing során a kártékony kód egy már létező, megbízható folyamat memóriájába kerül, a fájl, amit a víruskereső vizsgál, legálisnak fog tűnni.

A signature-alapú detektálás hatékonysága jelentősen csökken, ha a kártékony kód dinamikusan változik, vagy ha a process hollowing technikát alkalmazzák, mivel a kód nem a lemezen, hanem a memóriában fut, és a memóriában lévő kód gyakran titkosított vagy tömörített.

Ezért a támadók könnyen elkerülhetik a signature-alapú védelmet azáltal, hogy a kártékony kódot egy legális folyamatba injektálják. A hagyományos víruskeresőknek nehézséget okoz a futó folyamatok memóriájának mélyreható elemzése, ami a process hollowing elleni védekezés kulcsa lenne.

A heurisztikus elemzés és a viselkedésalapú detektálás hatékonyabb lehet a process hollowing által elrejtett kártékony kódok észlelésére, mivel ezek a módszerek a programok viselkedését figyelik, nem pedig a kódjukat.

Viselkedésalapú észlelések előnyei és hátrányai

A viselkedésalapú észlelések előnye, hogy képesek azonosítani azokat a process hollowing támadásokat is, amelyek új, ismeretlen kártevőket használnak. Mivel a technika lényege a legitim folyamatok átvétele, a viselkedésalapú rendszerek figyelhetik a szokatlan memóriakezelést, a kód injektálását, vagy a jogosulatlan folyamatok létrehozását, függetlenül a kártevő aláírásától.

Ugyanakkor jelentős hátrányuk is van: a téves riasztások magas aránya. A jogos szoftverek is végezhetnek hasonló műveleteket, mint például a dinamikus kódgenerálás vagy a folyamatok közötti kommunikáció, ami a viselkedésalapú rendszereket könnyen megtévesztheti.

A process hollowing észlelése viselkedés alapon hatékony lehet, de a finomhangolás elengedhetetlen a téves riasztások minimalizálása érdekében.

Egy másik kihívás a kártevők kifinomultabbá válása. A támadók folyamatosan keresik a módját a viselkedésalapú detektálás megkerülésére, például a legitim folyamatok viselkedésének utánzásával, vagy a támadások lassításával és elosztásával, hogy azok kevésbé tűnjenek fel.

Mindezek ellenére a viselkedésalapú észlelések elengedhetetlenek a modern védekezési stratégiákban, különösen a nulladik napi támadások ellen, ahol az aláírás alapú megoldások hatástalanok.

A Process Hollowing megelőzése: Hardening technikák és best practices

A process hollowing elleni védekezés kulcsa a proaktív megközelítés. Számos hardening technika és bevált gyakorlat létezik, melyek alkalmazásával jelentősen csökkenthető a támadás sikeres végrehajtásának valószínűsége.

A process hollowing megelőzésének leghatékonyabb módja a szigorú jogosultságkezelés és az alkalmazások viselkedésének folyamatos monitorozása.

Először is, minimalizálni kell az alkalmazások által igényelt jogosultságokat. Egy alkalmazásnak csak a működéséhez feltétlenül szükséges engedélyekkel szabad rendelkeznie. A felesleges jogosultságok csökkentése korlátozza a támadó mozgásterét egy esetleges sikeres behatolás esetén.

Másodszor, a szoftverek naprakészen tartása elengedhetetlen. A szoftvergyártók folyamatosan javítják a termékeikben található biztonsági réseket, ezért a frissítések rendszeres telepítése kritikus fontosságú.

Harmadszor, a végpontvédelmi megoldások (EDR) használata segít a gyanús tevékenységek detektálásában és blokkolásában. Ezek a megoldások képesek felismerni a process hollowing-ra utaló tipikus viselkedésmintákat, például egy ártalmatlan folyamat hirtelen memóriájának módosítását.

Negyedszer, a kód aláírásának ellenőrzése biztosítja, hogy csak megbízható forrásból származó kód fusson a rendszeren. Ez megakadályozza a hamisított vagy módosított binárisok futtatását.

Végül, a rendszeres biztonsági auditok és penetrációs tesztek segítenek azonosítani a gyenge pontokat és a potenciális támadási felületeket.

A felhasználói jogosultságok korlátozásának fontossága

A process hollowing egy olyan technika, ahol a kártékony kód egy legitim folyamat memóriájába injektálódik, majd a folyamat eredeti kódja felülírásra kerül. Ez lehetővé teszi a támadónak, hogy elkerülje a detektálást, mivel a rosszindulatú kód egy megbízható alkalmazás kontextusában fut.

Ebben a kontextusban a felhasználói jogosultságok korlátozása kulcsfontosságú védelmi vonalat jelent. Ha egy felhasználó nem rendelkezik rendszergazdai jogosultságokkal, a kártékony kód kevésbé valószínű, hogy végrehajthatóvá válik egy legitim folyamatban. Ugyanis a legtöbb process hollowing támadás emeltszintű jogosultságokat igényel a célfolyamat memóriájának módosításához.

A legfontosabb: a felhasználói fiókokat a legszükségesebb jogosultságokkal kell ellátni.

A jogosultságok korlátozása megakadályozza, hogy a támadó teljes mértékben kihasználja a process hollowing adta lehetőségeket. Ezáltal a rendszer kevésbé lesz sebezhető a kártékony szoftverekkel szemben, amelyek ezt a technikát alkalmazzák a végrehajtás során.

A szoftverek naprakészen tartásának szerepe

A naprakész szoftverek megakadályozzák a process hollowing támadásokat.
A szoftverek naprakészen tartása megakadályozza a kártékony kódok, például a process hollowing sikeres végrehajtását.

A process hollowing elleni védekezés egyik alapvető eleme a szoftverek, különösen az operációs rendszer és a futtatókörnyezetek naprakészen tartása. A frissítések gyakran tartalmaznak biztonsági javításokat, amelyek célja a kártékony kódok által kihasználható sebezhetőségek megszüntetése.

Ezek a javítások létfontosságúak, mivel a process hollowing technikát alkalmazó támadók gyakran élnek a régi, javítatlan hibákkal.

A szoftverek frissítése során a fejlesztők megszüntetik a kód azon pontjait, ahol a támadók be tudnák injektálni a saját kódjukat egy legitim folyamatba. Tehát, ha a rendszereinket frissen tartjuk, jelentősen csökkentjük a sikeres támadás kockázatát.

A memória védelmének technikái: DEP, ASLR

A process hollowing technikát alkalmazó kártékony kódok gyakran próbálják meg kijátszani a memória védelmi mechanizmusokat. Két ilyen fontos mechanizmus a DEP (Data Execution Prevention) és az ASLR (Address Space Layout Randomization).

A DEP célja, hogy megakadályozza a memóriának azokat a területeit, amelyek adatok tárolására szolgálnak, kód végrehajtására való használatát. A process hollowing során a kártékony kód a jogos alkalmazás memória területére másolja magát, így a DEP megakadályozhatja a kód futtatását, ha az eredeti terület nem rendelkezik végrehajtási jogokkal. A támadók ezt gyakran ROP (Return-Oriented Programming) technikákkal próbálják megkerülni, amelyek már meglévő, végrehajtható kód darabjait láncolják össze.

Az ASLR minden egyes program futtatásakor véletlenszerűen helyezi el a memóriában a program kódját, a könyvtárakat és más kritikus adatokat. Ez megnehezíti a támadók számára, hogy előre meghatározott memóriacímekre hagyatkozzanak, például a ROP láncok építésekor. Az ASLR hatékonysága függ a véletlenszerűség mértékétől. Minél nagyobb a véletlenszerűség, annál nehezebb a támadás.

Az ASLR és a DEP együttes alkalmazása jelentősen megnehezíti a process hollowing technikát használó kártékony kódok sikeres futtatását.

Fontos azonban, hogy ezek a védekezési mechanizmusok sem tökéletesek, és a támadók folyamatosan új módszereket keresnek a kijátszásukra. Például, a memóriaszivárgás kihasználásával a támadók információt szerezhetnek az ASLR által véletlenszerűen generált címekről.

Valós példák Process Hollowing támadásokra

A Process Hollowing támadások a valóságban is gyakran előfordulnak, különböző kártékony szoftverek alkalmazzák a rejtőzködés és a detektálás elkerülése érdekében. Például, a Zeus trójai egy korai, de hatékony példa erre a technikára. A Zeus gyakran a explorer.exe vagy más legitim folyamatokat használta fel a kártékony kód befecskendezésére és futtatására.

Egy másik példa az APT (Advanced Persistent Threat) csoportok által használt támadások. Ezek a csoportok kifinomult technikákat alkalmaznak, beleértve a Process Hollowing-ot is, hogy hosszú távon behatoljanak a célpont rendszereibe. Gyakran használnak fel legitim szoftvereket, mint például a Microsoft Office alkalmazásait, hogy elrejtsék a kártékony kódjukat.

A Process Hollowing lehetővé teszi a támadók számára, hogy elkerüljék a hagyományos víruskereső szoftverek detektálását, mivel a kártékony kód egy legitim folyamat memóriájában fut, nem pedig egy önálló, gyanús fájlban.

A Ransomware támadások során is megfigyelhető a Process Hollowing használata. A támadók a zsarolóvírus kódját egy legitim folyamatba injektálják, ami lehetővé teszi a fájlok titkosítását anélkül, hogy a víruskereső azonnal észlelné a fenyegetést. Ezáltal a kártékony kód nagyobb valószínűséggel hajtja végre a titkosítási folyamatot, mielőtt a védelem aktiválódna.

A Dridex malware is gyakran alkalmazza a Process Hollowing technikát a banki adatok ellopására. A Dridex a svchost.exe vagy más rendszerfolyamatokat használja fel a kártékony kód futtatására, ami megnehezíti a nyomkövetést és az eltávolítást.

A Process Hollowing és a modern malware: Összefüggések

A process hollowing egy olyan technika, amelyet a kártevők arra használnak, hogy elrejtsék a tényleges tevékenységüket. Lényege, hogy egy létező, legitim folyamatot (process) indítanak el, majd annak memóriatartalmát felülírják a saját, kártékony kódjukkal.

A folyamat a következőképpen zajlik: a malware először létrehoz egy új, felfüggesztett állapotú folyamatot. Ezt követően feloldja a memóriaterületet, amelyet eredetileg a legitim program használt, majd ide bemásolja a saját, rosszindulatú kódját. Végül, átirányítja a program belépési pontját (entry point) a kártékony kódra, így amikor a felfüggesztett folyamat folytatódik, a malware kódja fog futni a legitim program nevében.

Ezáltal a kártevő elkerülheti a detektálást, mivel a biztonsági szoftverek a legitim folyamatot fogják látni, nem pedig a benne futó kártékony kódot.

A process hollowing különösen hatékony, mert kihasználja az operációs rendszer megbízható folyamatait, így nehezebbé teszi a kártevő azonosítását. A támadók gyakran használják ezt a technikát más módszerekkel kombinálva, például shellcode injektálással vagy DLL-ek bejuttatásával a rendszerbe.

A Process Hollowing a zsarolóvírusok (ransomware) terjesztésében

A Process Hollowing elrejti a zsarolóvírus kódját álcázva futtatva.
A Process Hollowing lehetővé teszi a zsarolóvírusok számára, hogy észrevétlenül futtassanak kártékony kódot ártalmatlan folyamatokban.

A Process Hollowing egy olyan technika, amelyet a zsarolóvírusok előszeretettel használnak a működésük leplezésére. Lényege, hogy a támadók egy legitim folyamatot (pl. egy ártalmatlan rendszerfolyamatot) indítanak el.

Ezt követően a legitim folyamat memóriáját felülírják a zsarolóvírus kódjával. Így a futó folyamat látszólag ártalmatlan, miközben valójában a kártékony kód futtatásáért felelős.

A Process Hollowing lehetővé teszi a zsarolóvírus számára, hogy elkerülje a víruskeresők és más biztonsági szoftverek észlelését, mivel a kártékony tevékenység egy megbízható folyamat kontextusában zajlik.

Ezáltal a zsarolóvírus rejtve maradhat a rendszerben, miközben titkosítja a fájlokat és zsarolja az áldozatot.

A Process Hollowing és az APT csoportok

A process hollowing egy olyan technika, amelyet kártékony kódok futtatására használnak, gyakran APT (Advanced Persistent Threat) csoportok által. Lényege, hogy egy legitim, de üres folyamatot hoznak létre, majd annak memóriájába injektálják a kártékony kódot.

A támadók először elindítanak egy ártalmatlan programot (pl. a jegyzettömböt) szüneteltetett állapotban. Ezután a program memóriájában lévő kódot felülírják a saját kártékony kódjukkal. Végül a szüneteltetett folyamatot újraindítják, így valójában a kártékony kód fut a legitim program álcája alatt.

Ezáltal a támadók elkerülhetik a hagyományos víruskeresők és biztonsági megoldások figyelmét, mivel a futó folyamat látszólag megbízható forrásból származik.

Az APT csoportok előszeretettel alkalmazzák ezt a módszert, mert segítségével hosszú ideig rejtve maradhatnak a rendszerben, és észrevétlenül gyűjthetnek adatokat vagy végezhetnek egyéb kártékony tevékenységeket. A process hollowing különösen hatékony a fájl nélküli malware terjesztésében.

Jövőbeli trendek a Process Hollowing elleni védekezésben

A Process Hollowing elleni védekezés jövője a viselkedésalapú detektálás irányába mozdul el. A hagyományos, szignatúrákon alapuló módszerekkel szemben, melyek a már ismert kártevők felismerésére fókuszálnak, az új megközelítések a folyamatok abnormális viselkedését figyelik.

Ez a paradigma váltás lehetővé teszi a korábban ismeretlen, vagy éppen a szignatúrákat elkerülő támadások azonosítását.

Növekvő hangsúlyt kap a gépi tanulás alkalmazása, mely képes a normál folyamatműködés mintáinak megtanulására, és az attól való eltérések észlelésére. Emellett egyre fontosabb a processz-integritás védelme, például a kód-aláírások ellenőrzésével és a memóriavédelemmel. A jövőben a runtime elemzési technikák, amelyek futás közben vizsgálják a folyamatokat, szintén kulcsszerepet játszanak majd a Process Hollowing elleni védekezésben.

A gépi tanulás szerepe a Process Hollowing észlelésében

A gépi tanulás jelentős szerepet játszik a process hollowing észlelésében. Az anomália-észlelési modellek képesek felderíteni a normálistól eltérő folyamatviselkedést, ami a process hollowing tipikus jellemzője.

A modellek rendszerhívások (system call) szekvenciáit, memóriaműveleteket és egyéb folyamatattribútumokat elemeznek. Az eltérések mintázatai, például egy legitim folyamat memória-területének váratlan felülírása, riasztást generálhatnak.

A gépi tanulás algoritmusai, mint a felügyelet nélküli tanulás (unsupervised learning), képesek azonosítani a kártékony process hollowingra jellemző csoportosulásokat anélkül, hogy előzetes ismerettel rendelkeznének a támadási mintákról.

A viselkedésalapú elemzés, melyet gépi tanulási módszerekkel valósítanak meg, hatékonyabb lehet a statikus szignatúrákon alapuló megoldásoknál, mivel képes alkalmazkodni az új, változó kártevőkhöz.

A homokozók (sandboxes) használata a kártékony kódok elemzésére

A homokozók izolált környezetben biztonságosan elemzik a kártékony kódokat.
A homokozók izolált környezetet biztosítanak, így a kártékony kódok elemzése biztonságosan és hatékonyan történhet.

A homokozók (sandboxes) kulcsszerepet játszanak a process hollowing technikát alkalmazó kártékony kódok elemzésében. Mivel a process hollowing során a kártékony kód egy legitim folyamatba injektálja magát, a statikus elemzés gyakran nem elegendő.

A homokozók dinamikus elemzést tesznek lehetővé, azaz a kód futtatása közben figyelik a viselkedését. Ezáltal a szakértők láthatják, hogyan használja a kártékony kód a process hollowingot, melyik folyamatot célozza meg, és milyen műveleteket hajt végre a rendszeren.

A homokozók elszigetelt környezetet biztosítanak, megakadályozva, hogy a kártékony kód valódi károkat okozzon a rendszerben.

A homokozók elemzőeszközei képesek API hívásokat, memóriaműveleteket és hálózati tevékenységeket rögzíteni, így feltárva a kártékony kód rejtett funkcióit. Ezen információk alapján a szakemberek azonosíthatják a kártevő célját, terjedési módját, és a védekezéshez szükséges lépéseket.

További források és tanulási lehetőségek a Process Hollowing témában

A Process Hollowing elleni védekezéshez elengedhetetlen a téma alapos ismerete.

Online kurzusok, szakmai blogok és kártevőelemző oldalak kínálnak mélyebb betekintést a technikába.

A Microsoft dokumentációja és a SANS Institute anyagai kiváló források lehetnek.

Ezenfelül érdemes reverse engineering feladatokat megoldani, hogy gyakorlati tapasztalatot szerezzünk a process hollowing működéséről.

Share This Article
Leave a comment

Vélemény, hozzászólás?

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük