Analiza Rootkit tdss

intrare

Trusa de rootkit TDSS este, de asemenea, cunoscută sub numele de Tidserv, TDSServ și Alureon. Unele componente sunt detectate de antivirusuri sub alte nume, cum ar fi Trojan.Win32.DNSChanger și Trojan.FakeAlert.







Prezentare generală a familiei

TDSS este cunoscut pentru capacitatea sa remarcabilă de ocolire a protecției active (antivirus, HIPS, firewall), dezactivare puternică și funcționalitate rootkit. Caracteristicile tipice observate în sistem sunt ferestrele pop-up, precum și problemele legate de lansarea și actualizarea produselor antivirus. În practică, poate avea loc orice funcționare, care este asigurată de încărcarea dinamică a modulelor suplimentare.

În sine, TDSS nu este altceva decât un downloader puternic cu o arhitectură modulară. Principala sa sarcină este să pătrundă mașina utilizatorului ocolind protecția, să obțină un punct de sprijin în sistem și să furnizeze controlul de la distanță asupra resurselor mașinii infectate, inclusiv încărcarea modulelor funcționale suplimentare.

Caracteristici speciale

Diversitatea intraspecifică

Primele versiuni ale rootkit utilizate patching advapi32.dll serviciu de bibliotecă încarcă Microsoft Installer, în timpul instalării. Versiunile mai noi utilizează patch-ul din biblioteca msi.dll. Poate că această schimbare este o reacție la noile semnături comportamentale ale sistemelor de apărare.

Analiza codului

Algoritmul general pentru funcționarea TDSS, care este caracteristic familiei ca întreg, a fost deja descris [10]. precum și mecanismele principale ale componentelor rootkit din ring3. O listă generală de rezumat la nivel înalt a funcționalității unui anumit fișier poate fi găsită prin căutarea MD5 în arhivă a oricărui spațiu public (de exemplu, ThreatExpert). Prin urmare, voi descrie numai cele mai importante mecanisme și funcționalitatea nivelului kernel-ului.

Instalarea rootkit-ului și ocolirea protecției

Procedura de instalare a rootkit-ului este demnă de menționat, deoarece oferă o modalitate eficientă de a ocoli protecțiile comportamentale și firewall-urile. Ideea cheie a algoritmului de bypass este executarea unui cod rău intenționat, ca parte a unei biblioteci de sistem modificate încărcată automat cu un serviciu de sistem legitim. Ca urmare a manipulării firewall-ul de rețea trece de activitate cod rău intenționat, datorită faptului că procesul său de sursă - serviciul de sistem Windows - implicit este inclusă în „lista albă“ și, în consecință, are toate privilegiile posibile pentru a descărca și a instala fișierele. Cele mai proactive protecții, de asemenea, dor de comportamentul de rootkit, pentru că nu se încadrează în modele tipice de comportament nedorit.

Din punct de vedere tehnic, acest algoritm este implementat după cum urmează. Modificarea sistemului bibliotecii - advapi32.dll sau, în versiunile ulterioare ale rootkit, Msi.dll - efectuat o copie a bibliotecii de pe disc, care este apoi încărcat în directorul \ KnownDLLs în memorie. După aceasta, Microsoft Installer pornește automat cu uneltele standard, care încarcă automat biblioteca modificată din \ KnownDLLs. [11] În această schemă, modificarea codului Msi.dll minimal, și oferă doar o secțiune de execuție cod \ KnownDLLs \ dll.dll, care cuprinde procedura de instalare rootkit. Patch-ul în sine - - elegant:







Funcționalitatea secțiunii dll.dll este prezentată în Fig.

Fig. 1. Principala sarcină a acestei biblioteci este de a descărca și instala driverul rootkit.

TDSS nu are propriul proces în spațiul utilizator. Funcțiile de bază sunt furnizate de șofer, care este încărcat automat la început. Funcții suplimentare la nivel înalt sunt furnizate de module separate DLL introduse în procesele specificate.

Mecanicul funcțional include:
  • ascunderea rădăcinilor
  • furnizând "portalul" în modul kernel
  • prevenind încărcarea antivirusurilor enumerate în cheia de configurare a registrului
  • Implementați modulele DLL în procesele listate în cheia de configurare
  • instalarea de noi module DLL.

Rootkit-funcțional

Rootkit interceptează următoarele funcții în spațiul kernelului folosind metoda de splicing:
IofCallDriver
IofCompleteRequest
NtFlushInstructionCache
NtQueryVlaueKey
NtEnumerateKey

Portal în spațiul kernelului

Interceptarea NtFlushInstructionCache ceva mai interesant, deoarece servește ca un portal pentru modulele de utilizator ring0 rootkit. Pentru a utiliza portalul, această funcție este numită cu un set specific de argumente, care includ valoarea magică, comanda și parametrul. Setul de comenzi procesate de interceptorul NtFlushInstructionCache este foarte limitat și nu permite controlul rootkit-ului. Comenzile disponibile asigură transferul variabilelor de bază în modul personalizat, opri procesul sau firul specificat de nucleu (prin punerea în aplicare a sarcinii în nucleul coada APC-apel) și lansarea noilor proceduri de instalare dll-module.

Stabilitatea în sistem

Driver-ul apelează funcția ExQueueWorkItem pentru a porni mai multe fire în kernel. Firele sunt bucle cu o perioadă mai mică de o secundă. Astfel, există o continuă re-conducător auto în sistem ( 'registru \ mașină \ sistem \ \ CurrentControlSet \ servicii \ gaopdxserv.sys'), dezactivarea sistemului firewall ( '\ registru \ mașină \ sistem \ CurrentControlSet \ servicii \ SharedAccess \ parametrii \ firewallpolicy \' ) și alte funcții.

Blocarea antivirusurilor

Driverul rootkit, folosind PsSetLoadImageNotifyRoutine, instalează o procedură de notificare care primește controlul la încărcarea unui modul în memorie. În cadrul procedurii, numele modulului descărcat este verificat în funcție de lista modulelor interzise listate în cheia "nepermis" a setărilor de rootkit din registru. Descărcarea modulelor interzise este blocată.

Ștergerea manuală a TDSS

Următoarele instrucțiuni constituie un algoritm universal pentru eliminarea oricărei variante a rootkit-ului TDSS. Pentru implementarea algoritmului, nu sunt necesare cunoștințe speciale sau utilități specifice.
  1. În Device Manager (Computer → Device Management), sub secțiunea Driver non-PnP, dezactivați și eliminați driverul de rootkit. Acesta poate fi localizat după nume (tdsserv.sys, quadraserv.sys, etc.). Pentru că bazându-se pe numele conducătorului auto nesigur - este mai bine să se determine sigur de orice anti-rootkit (GMER și Rootkit Unhooker preferat; Avira antirootkit, de asemenea, până la sarcină). După aceste manipulări, toate fișierele și cheile de registry ale rootkit-ului devin vizibile și accesibile pentru ștergere manuală.
  2. Ștergeți fișierul care corespunde acestui driver.
  3. Ștergeți toate cheile de registry care se referă la acest driver și fișierele module suplimentare listate în cheia de configurare.
  4. Ștergeți (dacă există) fișierele autorun.inf și RECYCLER \ * Com pe toate discurile.
  5. Reboot.
  6. Utilizați antivirusul pentru a curăța în sfârșit sistemul de eventuale fișiere lipsă.
Pașii 1-4 ar trebui să fie executați fără ajutorul programelor antivirus, deoarece, în absența unei semnături pentru un fișier, dezinfecția nu va avea succes.

Concluzii și concluzii

aplicaţii







Articole similare

Trimiteți-le prietenilor: