Az exploitnak mi a lényege? Mi az mit csinál? Hogyan készítik?
Az exploitok olyan programok, amik más programok sérülékenységeinek(hibáinak) kihasználására szolgál.
A programozó is csak ember, így hibáznak programjaik írása közben. Különösen egy nagyobb -több ezer v 10 ezer soros vagy ennél nagyobb projectek irása közben a hibalehetőség csak nő. A hiba adóthat figyelmetlenségből, vagy hanyagságból, vagy rossz menedzsment( rosszul osztják fel a feladatokat), bár a kódokat sokszor átnézik mégis maradnak benne ilyenek.
Az exploitok ezeket a hibákat használják ki arra a célra, hogy a támadó saját kódot tudjon lefuttatni a megtámadott programon belül.
A hogyan készítik elmagyarázása kicsit bonyolult téma, és bele kellene merülni a programozásba is, de megpróbálom felvázolni hogy hogyan is történik egy exploit megírása.
Első lépés a hiba megtalálása, ez talán a legnehezebb, és legkomolyabb, legidőigényesebb feladat. Ezt úgy kell megtalálni, hogy az adott program bemenetetit különböző értékekkel végig próbálják( de erre léteznek segédprogramok ún. fuzzerek), közben a programot egy debugger segítségével visszafejtik, és megnézik mi az amit nem implementáltak a programozók, milyen értéknél áll le a program egy bizonyos hibával. Mindez elég nehéz, hogy pontosan mit keresnek az attól függ milyen típusú hibát akarnak kihasználni(pl. puffertúlcsordulásnál olyan tömböt, aminek nincsenek kezelve az indexhatárai és az adatot amit beleírnak méretellenőrzés nélkül másolják át, vagy olyan a memóriában lefoglalt területet, amit egyszer már felszabadítottak ám valaki mégis hivatkozik rá, ezt hívják use-after-free sérülékenységnek, de létezik heap overflow, seh based overflow meg hasonlók,).
Ha ez kész a munka úgy kb 2/3-ada megvan, ezután jön a ténlyeges exploit írás. Az exploitok 90%-nak elsődleges célja egy tetszőleges előre megírt programkód lefuttatása a megtámadott programon belül( pl. az internet explorer X. verziójában le akar futtatni egy oda nem illő programot amivel akár a gép felett is át lehet venni az irányítást). Ehhez felülírja a megfelelő memóricímet arra az értékre amire neki szükség van( ez mindig az ő saját kódjának -azaz payloadjának a kezdőcímét jelenti, ez megint elég bonyolult dolog, hogy hogyan, programtól, operációs rendszertől, azoknak verziójától is nagyon függ.
Az internet explorert meg csak azért használtam példának, mert általában innen kerül nyilvánosságra a legtöbb exploit, de a konkurens böngészőkben is ugyanúgy vannak hibák, így vannak rájuk is exploitok
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!