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í.

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ý.

Chybový dialog

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í:

Viz také