Kontrola dostępu w systemie Windows jest włączona dla poszczególnych obiektów. Jeśli chcesz zabezpieczyć obiekt procesu, musisz ustawić listę ACL obiektu procesu, albo po utworzeniu procesu (przez lpProcessAttributes CreateProcess), albo później (poprzez SetKernelObjectSecurity). Jeśli dodasz wpis "odmawiaj wszystkim" do listy ACL, próby otwarcia procesu przez atakującego zakończą się niepowodzeniem.
Oczywiście właściciel procesu (a tym samym dowolny złośliwy kod uruchamiany przez użytkownika) może zmienić listę ACL z powrotem do tego, co było - złośliwy kod może nie być na to przygotowany. Aby skutecznie zapobiegać atakom z przestrzeni użytkownika, należy uruchomić proces jako użytkownik nieinteraktywny (np. Jako system lokalny).
Żadna kwota zabezpieczenia może zapobiec atakom z przestrzeni jądra, więc ktoś, kto może instalować sterowniki można również włamać dowolnego procesu w systemie.
Sformułowanie tego pytania może być lepsze, ale samo pytanie warto zadać. +1 –
powiązane: http://stackoverflow.com/questions/869320/how-would-i-go-about-prevent-dll-injection/869466 –
Sformułowanie jest w porządku !!! +1 za to i za dobre pytanie! – Narek