Udostępnij za pośrednictwem


Zabezpieczenia debugera

Możliwość debugowania inny proces zapewnia bardzo szeroki uprawnień, które nie w przeciwnym razie będzie, zwłaszcza wówczas, gdy zdalnego debugowania.Złośliwego debuger może spowodować uszkodzenie powszechnie stosowanych na komputerze jest debugowane.

Jednak wielu deweloperów nie pamiętać, że zagrożeniem dla bezpieczeństwa może również przechodzić w przeciwnym kierunku.Istnieje możliwość złośliwego kodu w proces obiekt debugowany zagrozić bezpieczeństwa maszynę debugowania: liczbę zabezpieczeniach, które musi być zabezpieczona przed.

Najlepsze praktyki w zakresie zabezpieczeń

Ma relacji zaufania niejawnych między kod, który debugowania i debuger.Jeśli użytkownik jest gotowa do debugowania coś, należy także wolę ją uruchomić.Dolna linia jest, że użytkownik musi mieć możliwość zaufania są debugowania.Jeśli nie ufasz, następnie użytkownik powinien nie go zdebugować lub należy go zdebugować z komputera, na którym można zapewnić, aby zagrozić, a w środowisku izolowanym.

Aby zmniejszyć potencjalne ataku, debugowanie powinno zostać wyłączone na komputerach produkcyjnych.Z tego samego powodu debugowanie powinno nigdy nie można włączyć nieskończoność.

Zarządzane debugowania zabezpieczeń

Poniżej przedstawiono ogólne zalecenia mające zastosowanie do wszystkich zarządzanych debugowania.

Aby uzyskać więcej informacji, zobacz Debugowanie zarządzanego kodu.

Zdalnego debugowania zabezpieczeń

Debugowanie lokalnego jest zazwyczaj bezpieczniejsze niż zdalnego debugowania.Zdalne debugowanie zwiększa całkowitej powierzchni, który może być sondowany.

Visual Studio zdalnego debugowania Monitor (msvsmon.exe) jest używany podczas zdalnego debugowania i istnieje kilka zaleceń zabezpieczeń do konfigurowania go.Preferowany sposób, aby skonfigurować tryb uwierzytelniania jest uwierzytelnianie systemu Windows, ponieważ tryb uwierzytelniania nie jest niebezpieczne.

Okno dialogowe błędu

Podczas korzystania z trybu uwierzytelniania systemu Windows, należy pamiętać, że przyznawania uprawnień niezaufany użytkownik, aby nawiązać połączenie msvsmon jest niebezpieczne, ponieważ użytkownik otrzymuje Twoje uprawnienia na komputerze...

Nie debugowanie nieznany procesu na komputerze zdalnym: istnieją potencjalne oprogramowanie, które mogą mieć wpływ na komputerze, na którym debuger lub które mogłyby naruszyć msvsmon.exe, programu Visual Studio zdalnego debugowania monitora.Jeśli można całkowicie debugować nieznany proces, spróbuj debugowanie lokalnie i korzystanie z zapory, aby zachować wszelkie potencjalnymi zagrożeniami zlokalizowany.

Aby uzyskać więcej informacji, zobacz Zdalne debugowanie i diagnostyka.

Debugowanie zabezpieczeń usługi sieci Web

Jest bezpieczniejsze do debugowania lokalnie, ale od tego czasu prawdopodobnie nie masz Visual Studio zainstalowane na serwerze sieci web, debugowanie lokalny może nie być praktyczne.Ogólnie rzecz biorąc debugowania usługi sieci Web jest wykonywane zdalnie, z wyjątkiem podczas tworzenia aplikacji, więc zalecenia dla zdalnego debugowania zabezpieczeń odnoszą się również do debugowania usługi sieci Web.Oto kilka dodatkowych najlepszych rozwiązań.Aby uzyskać więcej informacji, zobacz Debugging XML Web Services.

  • Unikanie włączania debugowania na serwerze sieci Web, którą przejął.

  • Upewnij się, że masz pewność, że serwer sieci Web są bezpieczne, przed jej debugowanie.Jeśli nie masz pewności, że jest bezpieczne, nie go zdebugować.

  • Należy zachować szczególną ostrożność, jeśli debugowania usługi sieci Web, który jest dostępny w Internecie.

Składniki zewnętrzne

Należy pamiętać o stanu zaufania składniki zewnętrzne, które program współdziała z, zwłaszcza, jeśli nie pisania kodu.Również znać składniki który Visual Studio lub debuger może użyć.

Symbole i kod źródłowy

Dwa Visual Studio narzędzi, które wymagają zastanawiać zabezpieczeń są następujące:

  • Źródło serwera, który zapewnia wersji kodu źródłowego z repozytorium kodu źródłowego.Jest przydatna, jeśli nie masz bieżącej wersji programu kodu źródłowego.Ostrzeżenie o zabezpieczeniach: Debuger musi wykonać niezaufaną komendę.

  • Symbol serwera, który jest używany do dostarczania symbole niezbędne do debugowania do awarii podczas połączenia z systemu.

Zobacz Określanie plików symboli (.pdb) i plików źródłowych w debugerze programu Visual Studio.

Zobacz też

Informacje

Ostrzeżenie o zabezpieczeniach: Dołączanie do procesu niezaufanego użytkownika może być niebezpieczne. Jeżeli następujące informacje wydają się podejrzane lub niepewne, nie należy podłączać się do procesu.

Ostrzeżenie o zabezpieczeniach: Debuger musi wykonać niezaufaną komendę

Inne zasoby

Ustawienia debugowania i przygotowanie

Plany rozwoju debugera