偵錯工具安全性

偵錯其他處理序的功能可以讓您獲得在他處無法得到的多樣化功能,特別是在遠端偵錯時。 惡意偵錯工具可能會在被偵錯的電腦上散佈更廣泛的損害。 因為這個原因,執行偵錯的人會有一些限制。 如需詳細資訊,請參閱Remote Debugging Permissions

然而,許多開發人員並不了解也可能會有反向的安全性威脅。 偵錯項目處理序中的惡意程式碼可能會危及偵錯電腦的安全性:有一些必須防範的安全性漏洞。

安全性最佳作法

在偵錯的程式碼和偵錯工具之間有隱含的信任關係。 如果您願意對其進行偵錯,應該也願意加以執行。 底限是您必須能夠信任要偵錯的項目。 如果不能信任它,則您不應該進行偵錯,或是應該在隔離環境中從能夠容忍危害的電腦上進行偵錯。

為了降低潛在攻擊面,實際執行電腦上應該停用偵錯。 基於相同的原因,應該永遠不啟用偵錯。

ms242231.collapse_all(zh-tw,VS.110).gifManaged 偵錯安全性

以下列出幾項適用所有 Managed 偵錯的一般建議:

如需詳細資訊,請參閱偵錯 Managed 程式碼

ms242231.collapse_all(zh-tw,VS.110).gif遠端偵錯安全性

本機偵錯通常比遠端偵錯安全。 遠端偵錯會增加能夠探查的整體表面範圍。

遠端偵錯會使用「Visual Studio 遠端偵錯監視」(msvsmon.exe),並且在設定方面有幾個安全性建議。 設定驗證模式的慣用方法是「Windows 驗證」,因為「非驗證」模式並不安全。

[記錄] 對話方塊

當您使用 Windows 驗證模式,請注意授與不受信任的使用者的權限連線到 msvsmon 是危險的因為所有您在電腦上的權限授與使用者。.

請勿在遠端電腦上偵錯未知的處理序:可能會有潛在弱點影響執行偵錯工具的電腦,或是危害 Visual Studio 遠端偵錯監視 (msvsmon.exe)。 如果您一定要偵錯未知的處理序,請嘗試在本機偵錯並使用防火牆以避免任何潛在的威脅。

如需詳細資訊,請參閱遠端偵錯安裝

ms242231.collapse_all(zh-tw,VS.110).gifWeb 服務偵錯安全性

在本機偵錯比較安全,但是因為在 Web 伺服器上可能並未安裝 Visual Studio,所以本機偵錯並不實用。 一般來說,偵錯 Web 服務會在遠端完成 (除了在開發期間以外),因此遠端偵錯安全性的建議也適用於 Web 服務偵錯。 這裡有幾個額外的最佳作法。 如需詳細資訊,請參閱Debugging XML Web Services

  • 請勿在受到危害的 Web 伺服器上啟用偵錯

  • 在偵錯前請確定 Web 伺服器是安全的。 如果不確定是否安全,請勿進行偵錯

  • 如果要偵錯公開在網際網路上的 Web 服務要特別小心

ms242231.collapse_all(zh-tw,VS.110).gif外部元件

請留意程式進行互動的外部元件之信任狀態,特別是如果您並未撰寫其程式碼。 同時留意 Visual Studio 或偵錯工具會使用的元件。

ms242231.collapse_all(zh-tw,VS.110).gif符號和原始程式碼

需要考慮安全性的兩個 Visual Studio 工具如下所示:

請參閱

參考

安全性警告:附加至未受信任的使用者帳戶所擁有的處理序可能會造成危險。如果下面的資訊看起來有問題,或者您並不確定,請不要附加至此處理序

安全性警告:偵錯工具必須執行未受信任的命令

其他資源

偵錯設定和準備

偵錯工具資料表