Zabezpečení ladicího programu
Možnost ladit jiný proces vám poskytne velmi široké pravomoci, které byste jinak neměli mít, zejména při vzdáleném ladění. Škodlivý ladicí program může způsobit rozšířenou škodu v laděném počítači.
Mnoho vývojářů ale neuvědomuje, že ohrožení zabezpečení může také přesměrovat v opačném směru. Škodlivý kód v procesu laděného procesu může ohrozit zabezpečení ladicího počítače: existuje několik zneužití zabezpečení, která musí být chráněná proti.
Doporučené postupy zabezpečení
Mezi kódem, který ladíte, existuje implicitní vztah důvěryhodnosti a ladicí program. Pokud jste ochotni něco ladit, měli byste ho také ochotni spustit. Dolním řádkem je, že musíte být schopni důvěřovat, co ladíte. Pokud ji nemůžete důvěřovat, neměli byste ji ladit nebo byste ji měli ladit z počítače, který si můžete dovolit ohrozit, a v izolovaném prostředí.
Aby se snížila potenciální plocha pro útok, mělo by být ladění na produkčních počítačích zakázané. Z tohoto důvodu by nebylo možné ladění nikdy povolit po neomezenou dobu.
Zabezpečení spravovaného ladění
Tady jsou některá obecná doporučení, která platí pro všechna spravovaná ladění.
Buďte opatrní při připojování k procesu nedůvěryhodného uživatele: Pokud tak učiníte, předpokládá se, že je důvěryhodný. Když se pokusíte připojit k procesu nedůvěryhodného uživatele, zobrazí se dialogové okno upozornění zabezpečení s dotazem, zda se chcete připojit k procesu. "důvěryhodní uživatelé" zahrnují vás a sadu standardních uživatelů, kteří jsou obvykle definováni v počítačích s nainstalovaným .NET Framework, jako jsou aspnet, localsystem, networkservice a localservice. Další informace najdete v tématu Upozornění zabezpečení: připojení k procesu, který vlastní nedůvěryhodný uživatel, může být nebezpečné. Pokud tyto informace vypadají podezřele nebo si nejste jistí, nepřipojujte se k tomuto procesu.
Buďte opatrní při stahování projektu z Internetu a jeho načtení do Visual Studio . To je velice riskantní, aby se dokonce i bez ladění. Když to uděláte, předpokládá se, že projekt a kód, který obsahuje, jsou důvěryhodné.
Další informace naleznete v tématu ladění spravovaného kódu.
Zabezpečení vzdáleného ladění
Místní ladění je obecně bezpečnější než vzdálené ladění. Vzdálené ladění zvyšuje celkovou plochu, která může být sonda.
Visual Studio Sledování vzdáleného ladění (msvsmon.exe) se používá při vzdáleném ladění a existuje několik doporučení pro zabezpečení při jejich konfiguraci. upřednostňovaný způsob, jak nakonfigurovat režim ověřování, je Windows ověřování, protože žádný režim ověřování není nezabezpečený.

při použití režimu ověřování Windows mějte na paměti, že udělení oprávnění nedůvěryhodného uživatele pro připojení k msvsmon je nebezpečné, protože uživateli jsou udělena všechna vaše oprávnění v počítači hostujícím msvsmon.
Neladit neznámý proces na vzdáleném počítači: existují potenciální zneužití, která by mohla ovlivnit počítač, na kterém je spuštěný ladicí program, nebo který může ohrozit msvsmon. Pokud nezbytně potřebujete ladit neznámý proces, zkuste ladění provést místně a pomocí brány firewall Udržujte potenciálně lokalizovanou hrozby.
Informace o konfiguraci msvsmon najdete v tématu Nastavení vzdáleného ladicího programu.
Zabezpečení ladění webových služeb
Je bezpečnější je ladit místně, ale vzhledem k tomu, že jste to pravděpodobně Visual Studio nenainstalovali na webový server, nemusí být místní ladění praktické. Obecně se ladění webových služeb provádí vzdáleně, s výjimkou vývoje, takže doporučení pro vzdálené ladění se vztahují také na ladění webových služeb. Tady jsou některé další osvědčené postupy. Další informace najdete v tématu ladění webových služeb XML.
Nepovolujte ladění na webovém serveru, u kterého došlo k ohrožení zabezpečení.
Před laděním je nutné, abyste věděli, že je webový server zabezpečený. Pokud si nejste jisti, že je zabezpečená, neprovádějte ladění.
Buďte obzvláště opatrní při ladění webové služby, která je vystavená na internetu.
Externí komponenty
Mějte na paměti stav důvěryhodnosti externích komponent, se kterými komunikuje váš program, zejména v případě, že jste kód nezapsali. Také je třeba znát komponenty, které Visual Studio může použít ladicí program.
Symboly a zdrojový kód
Toto Visual Studio jsou dva nástroje, které vyžadují přemýšlení o zabezpečení:
Zdrojový server, který poskytuje verze zdrojového kódu z úložiště zdrojového kódu. To je užitečné v případě, že není k dispozici aktuální verze zdrojového kódu programu. Upozornění zabezpečení: ladicí program musí spustit nedůvěryhodný příkaz.
Symbol server, který slouží k poskytnutí symbolů potřebných k ladění selhání během volání systému.
Viz také
- Nastavení a příprava ladicího programu
- První seznámení s ladicím programem
- Upozornění zabezpečení: připojení k procesu, jehož vlastníkem je nedůvěryhodný uživatel, může být nebezpečné. Pokud tyto informace vypadají podezřele nebo si nejste jistí, nepřipojujte se k tomuto procesu.
- Upozornění zabezpečení: ladicí program musí spustit nedůvěryhodný příkaz.