3-03-04 08:00
[MS Windows] Svchost.exe u Windowsima
piše BORIS TROJAN
Svchost proces unutar Windows sistema udomljava i pokreće razne sistemske servise čije je izvorište u DLL-ovima, a koji se onda vrte kao programi pod zajedničkim nazivom "Generic Host Process".
Svchost.exe se nalazi u direktoriju %systemroot%\System32. Uvijek se pokreće u nekoliko instanci ili sessiona koji sadrže različite grupe servisa koji se onda mogu podizati ovisno o pokretanju samog svchost procesa. Prilikom podizanja sistema, svchost.exe provjerava registry u potrazi za servisima te organizira listu prema kojoj će ih pokretati. Drugim riječima, ovaj vrijedni program organizira važne i neophodne sistemske procese u grupe, pokreće ih te na taj način omogućava bolju kontrolu i debuggiranje.
Grupe organiziranih servisa se mogu pogledati unutar sljedećeg ključa:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Svchost
Prikazane grupe identične su grupama vidljivima prilikom provjeravanja
aktivnih procesa u komandnoj liniji. Servisi koji se nalaze u ovom ključu izvučeni su iz drugog registry ključa
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ime_servisa
a predstavljaju DLL vrijednost servisa.
Da bismo vidjeli servise koje udomljava Svchost, pokrećemo cmd.exe i
naredbu
tlist -s (w2k)
ili
tasklist/svc (w2k3)
Prekidači -s i /svc nam omogućuju pogled na aktivne servise unutar svakog procesa.
Infrastruktura i sigurnost servisa
Svchost.exe proces uveden je u Windowsima 2000 i predstavlja napredak u organizaciji i sigurnosti rada sistemskih servisa. Prije Windowsa 2000 servisi su mogli dijeliti procese sa drugim servisima ili su radili unutar svog procesa. Cilj Generic Host Processa bio je ujediniti sistemske servise unutar jednog procesa te na taj način reducirati potrebne sistemske resurse.
Nadalje, administratoru je omogućeno pokretati nezavisne servise unutar
vlastitih procesa te na taj način onemogućiti korupciju privatnog servisnog memorijskog prostora.
Svchost procesi rade pod tri različita accounta: System (iliti localsystem), Network Service i Local Service. Zadnja dva predstavljaju dva nova sigurnosna nivoa pod kojima se pokreću servisi. Uvođenjem ova dva accounta reducirane su privilegije pod kojima se pokreću servisi te na taj način je ojačana sigurnost.
Local Service ne zahtjeva zaporku za logiranje, posjeduje malo ovlasti i ne pripada Admin grupi, te u slučaju da je servis pod njegovim ovlastima kompromitiran sistem neće biti ugrožen. Network Service ovlasti jednake su Local Service ovlastima s tom razlikom što imaju prava na izlazne konekcije.
System ovlasti udomljuju dvije grupe servisa. Jedna grupa predstavlja niz od 29 sistemskih procesa a druga grupa predstavljena je samo RPC servisom -ovaj servis je odvojen iz razloga što se u njega učitavaju DLL-ovi na koje korisnici imaju written ovlasti, te zbog svoje važnosti ne treba utjecati na rad preostalih sistemskih servisa.
Network service ovlasti udomljuju samo jedan servis - dns client. Svchost proces koji radi kao Local Service pokreće TCP/IP NetBIOS Helper, Remote registry, Simple Service Discovery Protocol, and Web Client servise.
|