Web 應用程式安全威脅概述 (Visual Studio)

來源:互聯網
上載者:User

如果未知使用者可以訪問您的 Web 應用程式,則幾乎可以確定惡意使用者將嘗試擷取對您的應用程式的未經授權的訪問。對於允許公眾在 Internet 上訪問的伺服器,通常每天都會有人探測其是否存在安全性漏洞。因此,建議您做好預防措施,並在所有 Web 應用程式中建立安全系統。

有關編寫安全的程式碼和確保應用程式安全的最佳做法的更多詳細資料,請參見由 Michael Howard 和 David LeBlanc 編寫的書籍《編寫安全的程式碼》以及由 “Microsoft Patterns and Practices”(Microsoft 模式和實踐)提供的指導。

安全性技術只是解決方案的一部分

實現安全性只是解決方案的一部分。另一個重要部分是警惕性。即使您的系統具有許多安全性保護措施,您也需要以下列方式嚴密地監視它:

  • 監視您系統的事件記錄。監視對系統的重複登入嘗試或對 Web 服務器的過多請求。

  • 使用 Microsoft Windows 和 Internet 資訊服務 (IIS) 的最新安全更新,以及其他任何 Microsoft SQL Server 更新或應用程式可能使用的其他資料來源更新,使應用程式伺服器持續處於最新的狀態。

威脅模型

開發更安全的應用程式的重要部分是瞭解對它的威脅。Microsoft 已經開發了一種對威脅進行分類的方法:電子欺騙、竄改、否認、資訊泄露、拒絕服務和特權升級 (STRIDE)。以下幾節將簡要說明這些威脅以及它們如何應用於 Web 應用程式。

電子欺騙

“電子欺騙”是指以未經授權的方式類比使用者或進程。簡單講,電子欺騙可以是指鍵入其他使用者的憑據。惡意使用者還可能更改 Cookie 的內容以假裝他是其他使用者或 Cookie 來自其他伺服器。

一般來說,您可以通過使用嚴格的身分識別驗證防止電子欺騙。每當有人請求訪問非公用資訊時,都要確保他們的身份與所聲稱的一致。您還可以通過對憑據資訊採取安全措施來防止電子欺騙。例如,不將密碼或其他敏感資訊儲存在 Cookie 中,因為惡意使用者可以輕鬆地在其中找到或修改它。

篡改

“篡改”是指在未經授權的情況下更改或刪除資源。例如,惡意使用者進入您的網站並變更檔,從而使網頁變得面目全非。進行篡改的間接方法是使用指令碼利用。惡意使用者設法擷取要執行的代碼(指令碼),方法是將其屏蔽為表單中的使用者輸入或屏蔽為連結。

防止篡改的主要方法是使用 Windows 安全性鎖定檔案、目錄和其他 Windows 資源。應用程式還應使用最少的提高權限執行。不信任來自使用者甚至資料庫的任何資訊有助於防止指令碼利用。每當您從不可信的源獲得資訊時,都要確保它不包含任何可執行代碼方可進行處理。

否認

“否認”威脅是指在進行交易處理時,在交易處理涉及的主體作出交易處理的事實後無法進行證明。在 Web 應用程式中,這可以是類比無辜使用者的憑據。您可以使用嚴格的身分識別驗證來防止否認。另外,使用 Windows 的日誌記錄功能來儲存伺服器上任何活動的審核追蹤。有關詳細資料,請參見 記錄應用程式、伺服器和安全性事件。

資訊泄露

資訊泄露僅指偷竊或泄露應該保密的資訊。一個典型的樣本是偷竊密碼,但它可以涉及對伺服器上的任何檔案或資源的訪問。

防止資訊泄露的最佳方法是沒有要泄露的資訊。例如,如果您不儲存密碼,惡意使用者就無法竊取。(儲存密碼的另一種方法是只儲存密碼的雜湊。當使用者提供憑據時,您可以散列使用者的密碼並僅比較二者的雜湊。)

如果您確實要儲存敏感資訊,請使用 Windows 安全性以確保其安全。就像始終採取的操作一樣,您應該使用身分識別驗證來確保只有經過授權的使用者能夠訪問受限制的資訊。如果必須公開敏感資訊,建議您在儲存資訊時將其加密,並使用安全通訊端層 (SSL) 在將資訊發送到瀏覽器或從瀏覽器發送時將其加密。

拒絕服務

“拒絕服務”攻擊是指故意導致應用程式的可用性降低。典型的樣本是:讓 Web 應用程式負載過度,使其無法為普通使用者服務。或者,惡意使用者可能只是試圖導致您的伺服器出現故障。

IIS 允許您調節應用程式,即,它會限制將為其提供服務的請求的數量。您也許能夠拒絕已知的惡意使用者或 IP 位址的訪問。保持應用程式聯機就是要運行強大的代碼。應該全面測試您的應用程式,並在可能的地方對出現的錯誤條件作出適當的響應。

特權升級

“特權升級”攻擊是指使用惡意手段擷取比正常分配的許可權更多的許可權。例如,在成功的特權升級攻擊中,惡意使用者試圖擷取對 Web 服務器的系統管理權限,使它們能夠訪問伺服器上的任何資料以及控制伺服器功能。

為便於防止特權升級,請在特權最少的上下文中運行應用程式(如果切實可行)。例如,建議您不要以 SYSTEM(管理)使用者身份運行 ASP.NET 應用程式。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.