kernel debugger
Debuggers rendszermag több alkalmazások. Íme néhány közülük:
- vezető hibakeresés. Ez különösen igaz a kernel módú illesztőprogramok
- Hibakeresés egy operációs rendszer kernel. Az eljárás célja, megtalálni a hibákat a kernel működését módosítjuk a kernel kódot. Abban az esetben, zárt rendszerek, mint a Windows, az új feladat dokumentálása adatstruktúrák és a kernel függvények.
- A kiküszöbölését és megelőzését BSOD. A debugger lehetővé teszi, hogy a szerelő kódot a probléma programok, mint például a sofőr. és a megfelelő tudás kiigazítja azt kijavítani a hibákat.
- Hibakeresés rosszindulatú kódot. Az ilyen programok gyakran aktívan befolyásolja az operációs rendszer magja, módosítsa a viselkedését a rendszer működését. Ahhoz, hogy megértsük a logikáját az ilyen programok vezérléséhez szükséges, beleértve a viselkedését a kernel. Ez azért van, mert a felhasználói mód hibakereső alapja kizárólag azok API által kínált maga az operációs rendszer. Magukat, az API közvetítők vonatkozásában a mag, és ha egy rosszindulatú program vagy bármely más lesz képes átvenni az irányítást a viselkedése a megfelelő kernel funkciók, a hibakereső lesz ellenőrzése alatt egy ilyen program.
- Keresés szoftver sérülékenységek és írás hasznosítja. Hasznosítja támaszkodnak a program a hibákat a feldolgozás a bemeneti adatok csak akkor jelenik meg a működése során. Így a kutató két probléma:
- Keresse meg a helyet, amely tartalmazza a biztonsági rést
- Írja kód, amely használja a sebezhető pontok találhatók.
Mivel nagyon gyakran a szoftver nem tartalmazza a forráskódot, de csak bináris formában magukat sebezhetőség gépfüggő természet, a két problémát speciális szerszámokra van szükség. Ha statikus tanulmányi program eszközök, mint például a bontó, sok részletet a viselkedését a program nem tanult, például azok memóriahelyek, amelyek hozzáférhetők a program nehezebb megállapítani a végrehajtás a program kódját. A debugger segítségével ellenőrzik a program futási időben és tanulmányozzák a változásokat, amelyek előfordulnak benne bármely szakaszában a végrehajtás. A hibakereső megjelenítésére állapotát a program stack, processzor regiszterek tudd különböző információkat a program reakció bizonyos események, a logikája a kódot. Ez lehetővé teszi, hogy megoldja az első és a második fent említett problémát. Egy példa arra, hogyan ez megtörtént szolgálhat 3. fejezet a könyv Hacking: The Art of the kihasználni [1]
Alapvető működési elvek
A normális működését a kernel hibakereső változtatásokat igényel az operációs rendszer kernel. Elég gyakran, ez megoldható a bevezetése a kernel kiegészítő modulok. Tény, hogy a kernel-szintű debugger elfogja a globális rendszer funkcióit, amelyek felelősek:
- Memória-hozzáférés
- Creation / befejezése folyamatok
Csak kernel hibakereső ellenőrzés fellebbezni a különböző mag asztal. Egy másik fontos pont a menedzsment az állam a processzor, mivel a feldolgozók által támogatott lépés nyoma és töréspontok hardver szintű.
A legismertebb képviselői ennek a csoportnak a szoftver
- softICE. Szabadalmaztatott hibakereső által kifejlesztett és forgalmazott Numega a termékkel DriverStudio. Informális szerelvény softICE különböző hacker csoportot képeztünk. softICE nyújt hibakereső kód különböző Windows-verziók, és volt köszönhető, hogy a hatalmas lehetőségeit hivatalos szabvány körökben kapcsolatos reverse engineering szoftver. Később azonban kiderült, hogy elhagyott. Most azt egyre kevésbé használják, mivel nem kompatibilis a Windows Vista és 7 [2] Ugyanakkor softICE nagyrészt az alapja az ideológia az ilyen eszközök alkalmazását. Úgy működik, csak a Windows platformon
- WinDbg, KD, LiveKD. WinDbg debugger c hivatalos ingyenes zárt forráskódú, része a hibakeresés Tools for Windows a Microsoft. Arra összpontosít, hogy a grafikus felület. Karakterkészletek lehetővé teszi számára, hogy vizsgálja meg a Windows kernel. KD másik debugger a Microsoft, amelynek célja, hogy tanulmányozza a Windows kernel. LiveKD szabad kernel nyomkövetőt Sysinternals. amely lehetővé teszi, hogy debug rendszer használata nélkül egy második számítógép, amely szükséges a két előző debugger. További részletek a könyvben leírt Mark Russinovich és David Solomon Belső eszköz a Windows. [3]
- Syser. Örökös softICE által kifejlesztett kínai programozók. Támogatja felület SoftICE stílusban. Kompatibilis az új Windows operációs rendszer, amely támogatja a többprocesszoros rendszerek. Fizetett termék zárt forráskód.
- KDB. Debugger kernel * nix SGI. Által aktivált folt a sejtmagba [4]. Nyílt forráskódú projekt.
- Linice. Tovább nyílt forráskódú kernel hibakereső * nix. Vannak bizonyos kompatibilitási problémák újabb Linux kernelek
Problémák az alkalmazása
Nagyon fontos, hogy a hibakereső összeegyeztethetőnek kell lennie az operációs rendszer magja, amelyet a debugger módosítja az alapvető szerkezetét a mag, amely eltérnek verziójukban. A használata helytelen változata a debugger vezethet kiszámíthatatlan rendszer viselkedését.
Néhány nagyon komoly probléma a konfliktus a vezetők szintjén kernel hibakereső és más alkalmazásokat. Ennek egyik példája a képtelenség Daemon Tools program működik az aktív kernel debugger. Néhány program megtagadja működését, ha úgy találják, a jelenléte a debugger a rendszerben, vagy megpróbálja hibakeresés