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:
  1. Keresse meg a helyet, amely tartalmazza a biztonsági rést
  2. Í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




Kapcsolódó cikkek