Share via


偵錯工具安全性

更新:2007 年 11 月

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

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

安全性最佳作法

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

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

Managed 偵錯安全性

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

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

遠端偵錯安全性

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

遠端偵錯會使用「Visual Studio 遠端偵錯監視」(msvsmon.exe),並且在設定方面有幾個安全性建議。設定驗證模式的慣用方法是「Windows 驗證」,因為「非驗證」模式並不安全。當使用「Windows 驗證」模式時,請留意授予未受信任使用者連接至 msvsmon 的權限是危險的,這點將會透過對話方塊警告指示。

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

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

Web 服務偵錯安全性

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

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

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

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

外部元件

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

符號和原始程式碼

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

請參閱

參考

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

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

其他資源

偵錯設定和準備

偵錯工具資料表