Microsoft 安全性摘要報告 (954462)
利用未驗證的使用者資料輸入執行 SQL 資料隱碼攻擊的情況已有增加
Published: 2008 年 6 月 24 日
Microsoft 最近發現,使用 Microsoft ASP 和 ASP.NET 技術、但未遵循網頁應用程式開發安全性最佳做法的網站,受到攻擊的情況愈來愈多。 這些 SQL 資料隱碼攻擊不會利用特定的軟體弱點,而將攻擊目標鎖定於存取與操作關聯式資料庫所存放資料時,未遵循安全編碼實務的網站。 當 SQL 資料隱碼攻擊成功時,攻擊者就可以竊取這些資料庫所儲存的資料,並可能執行遠端程式碼。 而瀏覽到受侵害伺服器的用戶端,則可能會在不知情的情況下轉寄到惡意的網站,該網站可能會在用戶端電腦上安裝惡意軟體。
緩和因素:
網頁應用程式只要遵循一般採用的網頁應用程式開發安全性最佳作法,並驗證使用者資料輸入,,攻擊者就無法利用這個弱點。
摘要報告目的: 協助系統管理員識別未遵循網頁應用程式開發安全性最佳作法、且容易遭受攻擊的 ASP 和 ASP.NET 網頁應用程式程式碼,並加以修正 。
摘要報告狀態: Microsoft 安全性摘要報告和相關工具已發行。
建議: 查閱建議採取的行動並作適當設定。 另外,建議伺服器系統管理員評估所討論工具的有效性,並視需要利用這些工具。
本次摘要報告討論下列軟體:
Microsoft ASP 和 ASP.NET 技術 |
摘要報告的範圍為何?
這份摘要報告旨在協助網站系統管理員識別其網頁應用程式程式碼遭受 SQL 資料隱碼攻擊的可能性,並提供權宜性解決方案,以減輕在修正應用程式時,針對伺服器所發動的 SQL 資料隱碼攻擊。
這是需要 Microsoft 發行安全性更新的安全性弱點嗎?
否。 遵循一般所採用最佳安全性作法的任何網頁應用程式程式碼,可大幅減少遭受 SQL 資料隱碼攻擊的可能性。 雖然這並不是安全性弱點,但本摘要報告的發行目的是要警告易遭受攻擊之網站的系統管理員,並提供額外的協助。
造成這個威脅的原因為何?
若無法適當驗證使用者輸入,攻擊者就可以在輸入欄位中插入 SQL 命令,然後針對資料來源執行該命令,進而損毀資料庫或在伺服器上執行程式碼。
攻擊者可能會利用這項功能採取什麼行動?
攻擊者可製造自動化攻擊,在未遵循網頁應用程式開發安全性最佳作法的網頁中,利用 SQL 資料隱碼弱點。 攻擊者入侵網站後,就可以在伺服器上執行許多惡意的作業,例如刪除資料庫,並將瀏覽到這部伺服器的用戶端重新導向到惡意網站,而惡意網站可能會在用戶端電腦上安裝惡意軟體。
Microsoft 已找出一些可幫助系統管理員的工具。 這些工具可偵測、防禦與識別攻擊者可能利用的程式碼。
| • | 偵測 – HP Scrawlr Hewlett Packard 已開發出免費的掃描工具,該掃描工具可識別網站是否容易遭受 SQL 資料隱碼攻擊。 您可以在 HP 安全性中心 (英文) 的使用 Scrawlr 發現 SQL 資料隱碼 (英文) 一文中,找到此工具及其使用支援。 詳細描述: 此工具將是一個黑盒子分析工具 (即不需要原始程式碼)。 使用者輸入啟動 URL 後,工具就會: | • | 遞迴搜尋該 URL 中的超連結,以建立網站樹狀目錄。 | | • | 傳送表單欄位、Querystring 參數和 Cookie 值中包含 SQL 資料隱碼攻擊字串的 HTTP 要求,以測試所有探索到的連結是否存在不該有的 SQL 資料隱碼。 | | • | 檢查伺服器的 HTTP 回應,找出是否有表示 SQL 資料隱碼弱點的 SQL 錯誤訊息。 | | • | 向使用者報告任何所發現易受攻擊的網頁,以及相關的輸入欄位。 例如,工具可能報告 “foo.asp” 網頁的 [使用者名稱] 和 [密碼] 欄位容易遭到攻擊。 |
|
| • | 防禦 – UrlScan 3.0 Beta 版 UrlScan 3.0 Beta 版是一個 Microsoft 安全性工具,可限制 Internet Information Services (IIS) 將處理的 HTTP 要求類型。 UrlScan 可封鎖特定的 HTTP 要求,以協助避免可能有害的要求送達伺服器上的網頁應用程式。 UrlScan 3.0 將安裝在 IIS 5.1 和更新版本上,包括 IIS 7.0。您可以在 URLScan Tool 3.0 Beta 中找到 UrlScan 3.0。
詳細描述: 您可以使用 UrlScan 3.0 版工具來實作許多不同的規則,為伺服器上的網頁應用程式提供更好的保護,避免受到 SQL 資料隱碼攻擊。 這些功能包括: | • | 您可以實作個別套用到 URL、查詢字串、所有標題、一個特定標頭,或以上任意組合的拒絕規則。 | | • | 您可以運用一個全域 DenyQueryString 區段,以新增查詢字串的拒絕規則,以及用來檢查不含逸出序列之查詢字串的選項。 | | • | 您可在拒絕規則中使用逸出序列,以拒絕 CRLF 及設定中其他無法列印的字元序列。 | | • | 多個 UrlScan 例項可安裝成網站篩選器,每一個篩選器都有其專屬的設定和記錄選項 (urlscan.ini)。 | | • | 設定 (urlscan.ini) 變更通知將會傳播到工作者處理序,而不必予以回收。 日誌設定則不適用這種情況。 | | • | 記錄功能已提升,以便提供設定錯誤描述。 |
|
| • | 識別 – Microsoft Source Code Analyzer for SQL Injection 我們已開發出 SQL Source Code Analysis Tool。 這個工具可用來偵測容易遭受 SQL 資料隱碼攻擊的 ASP 程式碼。 您可以在 Microsoft 知識庫文件編號 954476 中找到這個工具。 詳細說明: Microsoft Source Code Analyzer for SQL Injection 是獨立的工具,客戶可在其擁有的 ASP 原始程式碼上執行這個工具。 除了這個工具之外,另有文件說明如何修正工具在分析時於程式碼中所發現的問題。 下列是這個工具的一些主要功能: | • | 掃描 ASP 原始程式碼,找出可能會造成 SQL 資料隱碼弱點的程式碼。 | | • | 產生輸出,來顯示編碼問題。 | | • | 在傳統的 ASP 程式碼中,這個工具只會識別弱點。 此工具不適用於 ASP.NET 程式碼。 |
|
| • | 其他資訊 Microsoft 提供了其他資源,協助系統管理員識別和修正利用此弱點所產生的問題。 |
居住於美國及加拿大的客戶,如認為已受到此潛在弱點的影響,可電洽 1-866-PCSAFETY,以獲得 Microsoft 產品支援服務的技術支援。 與安全性更新問題或病毒有關的支援服務不另外收費。 國際客戶可使用 Microsoft 說明與支援所列出的任何方法獲得支援服務。
所有客戶都應套用 Microsoft 發行的最新安全性更新,以協助確保系統受到保護,避免遭受攻擊。 已經啟用 [自動更新] 的客戶將自動收到所有 Windows 更新。 如需更多關於安全性更新的資訊,請造訪 Microsoft 資訊安全首頁。
資源:
免責聲明:
本摘要報告中的資訊係以其「現狀」提供,並不提供任何形式之擔保。 Microsoft 不做任何明示或默示的責任擔保,包括適售性以及適合某特定用途之擔保責任。 無論任何情況下的損害,Microsoft Corporation 及其供應商皆不負任何法律責任,包括直接、間接、偶發、衍生性、所失業務利益或特殊損害。即使 Microsoft Corporation 及其供應商已被告知此類損害的可能性亦不負任何責任。 某些地區不允許排除及限制衍生性或附隨損害賠償責任,因此前述限制不適用於這些地區。
修訂: