Udostępnij za pośrednictwem


Zabezpieczenia podczas zdalnego debugowania

W tym temacie opisano różne techniki zwiększania bezpieczeństwa podczas zdalnego debugowania.

Kontrolowanie dostępu do sesji debugowania

Jeśli przeprowadzasz debugowanie zdalne za pośrednictwem debugeralub korzystasz z serwera przetwarzania bądź serwera połączenia KD , dowolny komputer w sieci lokalnej może próbować dołączyć do sesji debugowania.

Jeśli używasz protokołów TCP, COM lub nazwanych potoków, możesz wymagać od klienta debugowania podania hasła. Jednak to hasło nie jest szyfrowane podczas transmisji, dlatego te protokoły nie są bezpieczne.

Jeśli chcesz, aby serwer debugowania był bardziej odporny na zagrożenia, musisz użyć protokołu Secure Sockets Layer (SSL) lub bezpiecznego potoku (SPIPE).

Uniemożliwianie połączeń nieautoryzowanym użytkownikom

Jeśli wykonujesz debugowanie zdalne za pośrednictwem remote.exe, możesz użyć parametru /u, aby uniemożliwić nawiązywanie połączeń z nieautoryzowanymi użytkownikami.

Izolacja segmentów sieci

Aby uniknąć ataków na łącza protokołu, rozważ izolację segmentu sieci, na którym działają klient i serwer. Na przykład można użyć przełącznika sieci lokalnej, aby połączyć dwa systemy, upewniając się, że nie jest połączony z Internetem lub pozostałą częścią sieci LAN

Korzystanie z najbezpieczniejszego dostępnego transportu

Użyj najbezpieczniejszej i najnowszej dostępnej wersji transportu. Aby uzyskać więcej informacji na temat bezpiecznych protokołów transportu dostępnych w systemie Windows, zobacz protokoły w protokole TLS/SSL (SSP Schannel).

Użyj bezpiecznego trybu w trybie jądra

Podczas debugowania w trybie jądra można uruchomić debuger w trybie bezpiecznym . Pomaga to zapobiec wpływowi debugera na komputer hosta, ale nie znacznie zmniejsza swobody debugowania komputera docelowego. Tryb bezpieczny jest zalecany, jeśli zezwolisz klientom zdalnym na dołączenie do sesji debugowania. Aby uzyskać więcej informacji, zobacz Funkcje trybu bezpiecznego i Aktywowanie trybu bezpiecznego.

Ograniczanie uprawnień klienta w trybie użytkownika

W trybie użytkownika tryb bezpieczny jest niedostępny. Możesz powstrzymać intruzującego klienta od wydawania poleceń Microsoft MS-DOS i uruchamiania programów zewnętrznych, wydając polecenie .noshell (Zakaz poleceń powłoki). Istnieje jednak wiele innych sposobów, aby klient ingerował w komputer.

Należy pamiętać, że zarówno tryb bezpieczny, jak i .noshell uniemożliwi zarówno klientowi debugowania, jak i serwerowi debugowania wykonywanie pewnych akcji. Nie ma możliwości wprowadzenia ograniczenia na kliencie, ale nie na serwerze.

Zabij zapomniane serwery przetwarzania

Po uruchomieniu serwera przetwarzania na maszynie zdalnej serwer przetwarzania działa w trybie dyskretnym. Jeśli wykonasz zdalne debugowanie za pośrednictwem tego serwera przetwarzania, a następnie zakończ sesję, serwer przetwarzania będzie nadal działać. Zapomniany serwer przetwarzania jest potencjalnym celem ataku. Zawsze należy zamknąć niepotrzebny serwer przetwarzania. Aby zakończyć działanie serwera przetwarzania, użyj Menedżera zadań lub narzędzia Kill.exe.

Zobacz też

zabezpieczenia podczas debugowania Kernel-Mode

zabezpieczenia podczas debugowania User-Mode