kernel debugger

kernel Debuggere sunt o multitudine de aplicații. Iată câteva dintre ele:

  • depanare conducător auto. Acest lucru este valabil mai ales drivere kernel-mode
  • Debugging un nucleu sistem de operare. În cadrul procesului a însemnat găsirea erorilor în funcționarea kernel, modificarea codului de nucleu. În cazul sistemelor închise, cum ar fi Windows, o nouă sarcină de documentare structuri de date și funcții de nucleu.
  • Eliminarea și prevenirea BSOD. Debugger vă permite să vedeți codul de asamblare a programelor de probleme, cum ar fi conducătorul auto. și cu cunoștințele necesare pentru a face ajustări pentru a corecta erorile.
  • Debugging cod rău intenționat. Astfel de programe de multe ori afectează în mod activ nucleul sistemului de operare, de a modifica comportamentul funcțiilor sistemului. Pentru a înțelege logica astfel de programe este necesară pentru a controla inclusiv comportamentul kernel-ului. Acest lucru se datorează faptului că debugger modul de utilizare se bazează numai pe cele API oferite de sistemul de operare în sine. Înșiși, aceste API sunt intermediari în legătură cu miez și în cazul în care un program rău intenționat sau orice alt va fi în măsură să preia controlul asupra comportamentului funcțiilor kernel corespunzătoare, debugger va fi sub controlul unui astfel de program.
  • Căutare software-ul vulnerabilități și exploateaza scris. Exploit se bazează pe erorile de program în prelucrarea datelor de intrare, care apare numai în timpul funcționării sale. Astfel, cercetătorul sunt două probleme:
  1. Găsiți locul care conține o vulnerabilitate
  2. Scrieți un cod care ar putea folosi vulnerabilitățile constatate.

Ca de foarte multe ori software-ul nu este inclus cu codul sursă, dar numai în binar formează ele însele vulnerabilități sunt dependente de natura mașină, aceste două probleme necesită unelte speciale. Atunci când instrumente statice de programe de studii, cum ar fi un disassembler, multe detalii cu privire la comportamentul programului nu sunt învățate, de exemplu, acele locații de memorie care sunt accesibile pentru programul mai dificil să se stabilească o modalitate de executare a codului de program. Debugger vă permite să controlați programul în timpul rulării și pentru a studia schimbările care au loc în ea în orice stadiu de implementare. Debugger pentru afișarea stării stiva programului, registre procesor vă permit să știți diverse informații despre reacția programului la anumite evenimente, logica codului. Acest lucru face posibil pentru a rezolva atât prima și cea de a doua problemă menționată mai sus. Un exemplu de modul în care acest lucru se face poate servi ca capitolul 3 din cartea Hacking: Arta de a exploata [1]

Principiile de bază ale funcționării

Pentru funcționarea normală a depanatorul kernel necesită schimbări în nucleul sistemului de operare. Destul de des, acest lucru este rezolvată prin introducerea kernel module suplimentare. De fapt, depanatorul la nivel de kernel interceptează funcțiile sistemului global, care sunt responsabile pentru:

  • memorie cu acces
  • / procesele de creare de finalizare

Doar controalele depanatorul kernel face apel la o varietate de tabele de bază. Un alt punct important este managementul stării procesorului, deoarece procesoarele sunt susținute cu pas urme și puncte de oprire la nivel de hardware.

Cele mai cunoscute reprezentanți ai acestei clase de software

  • SoftIce. depanator patentat dezvoltat de Numega și distribuit cu DriverStudio produsului. asamblare informală SoftIce diferite grupuri de hackeri au fost făcute. SoftIce furnizarea unui cod de depanare de pe diferite versiuni de Windows, și a fost din cauza vaste posibilitățile sale de standard, neoficiale, în cercurile asociate cu software-ul de inginerie inversă. Ulterior, cu toate acestea, sa dovedit a fi abandonată. Acum este folosit mai puțin și mai puțin, ca nu este compatibil cu Windows Vista și 7 [2] În același timp, SoftIce a fost în mare parte fundamentul ideologiei utilizării unor astfel de instrumente. Acesta funcționează numai pe platforma Windows
  • WinDbg, KD, LiveKD. WinDbg depanator c sursă închisă liberă oficială, face parte din Debugging Tools pentru Windows de la Microsoft. Aceasta se concentrează pe interfața GUI. Seturi de caractere permite să exploreze kernel-ul Windows. KD alt depanator de la Microsoft, care este proiectat pentru a studia kernel-ul Windows. LiveKD un depanator nucleu liber de Sysinternals. care vă permite să depana un sistem fără utilizarea unui al doilea calculator, care necesită două depanator anterioare. Mai multe detalii sunt descrise în cartea lui Mark Russinovich și dispozitivul David, Solomon intern Windows. [3]
  • Syser. Moștenitor SoftIce, dezvoltat de programatori din China. Aceasta susține interfață stil SoftIce. Compatibil cu noul sistem de operare Windows care acceptă sistemele multi-procesor. Plătit produs cu un cod sursă închisă.
  • KDB. nucleu Debugger pentru * nix de la compania SGI. Activate prin colare in nucleul [4]. proiect OpenSource.
  • Linice. Un alt depanatorul nucleu OpenSource pentru * nix. Există unele probleme de compatibilitate cu nucleele mai noi Linux

Probleme în aplicarea

Este foarte important ca depanator trebuie să fie compatibil cu nucleul sistemului de operare, care este folosit ca debugger modifică structura de bază a nucleului, care tind să varieze de la o versiune la alta. Utilizarea unei versiuni incorecte a debugger poate duce la un comportament imprevizibil sistem.

Unele problemă destul de gravă este conflictul dintre depanatorul kernel nivelul drivere și alte aplicații. Un exemplu este incapacitatea de programe de Daemon Tools lucra cu depanatorul nucleu activ. Unele programe refuză să funcționeze în cazul în care găsesc prezența debugger în sistem sau încearcă să depanare

articole similare