共用方式為


安全性布告欄

Microsoft 安全性公告 MS01-033 - 重大

索引伺服器 ISAPI 擴充功能中未核取的緩衝區可能會啟用網頁伺服器入侵

發佈時間: 2001 年 6 月 18 日 |更新日期:2003 年 11 月 4 日

版本: 1.6

最初張貼: 2001 年 6 月 18 日
更新日期: 2003 年 11 月 4 日

摘要

神秘 應該閱讀此公告:
使用 Microsoft® Windows NT® 4.0 或 Windows® 2000 之網頁伺服器的系統管理員。

弱點的影響:
執行攻擊者選擇的程序代碼。

建議:
Microsoft 強烈敦促所有網頁伺服器管理員立即套用修補程式。

受影響的軟體:

  • Microsoft Index Server 2.0

  • Windows 2000 中的索引服務

    注意: 在候選版本 1 之前的 Windows XP 版本中編製索引服務也會受到弱點的影響。 如常見問題中所述,Microsoft 正直接與在生產環境中使用 RC1 Beta 版的少數客戶合作,為他們提供補救。

一般資訊

技術詳細資料

技術描述:

在安裝程式中,IIS 會安裝數個 ISAPI 擴充功能,-- .dll 提供擴充功能。 其中idq.dll,這是索引伺服器(在 Windows 2000 中稱為索引服務)的元件,並提供系統管理腳本 (.ida 檔案) 和因特網數據查詢 (.idq 檔案) 的支援。

安全性弱點結果,因為idq.dll在處理輸入 URL 的程式代碼區段中包含未核取的緩衝區。 攻擊者可以與安裝idq.dll的伺服器建立 Web 工作階段,可能會進行緩衝區滿溢攻擊,並在網頁伺服器上執行程式代碼。 Idq.dll在系統內容中執行,因此惡意探索弱點可讓攻擊者完全控制伺服器,並允許他採取任何所需的動作。

緩衝區滿溢會在要求任何索引功能之前發生。 因此,即使idq.dll是索引伺服器/索引服務的元件,服務也不需要執行,攻擊者就能利用弱點。 只要 .idq 或 .ida 檔案的腳本對應存在,而且攻擊者能夠建立 Web 會話,他就可以利用弱點。

顯然,這是一個嚴重的弱點,Microsoft 敦促所有客戶立即採取行動。 無法安裝修補程式的客戶可以透過 IIS 中的 Internet Services Manager 移除 .idq 和 .ida 檔案的腳本對應來保護其系統。 不過,如常見問題中所述,如果新增或移除其他系統元件,這些對應可能會自動恢復。 因此,Microsoft 建議使用 IIS 的所有客戶安裝修補程式,即使腳本對應已移除也一樣。

緩和因素:

  • 只有在 Web 工作階段可以與受影響的伺服器建立時,才能惡意探索此弱點。 已安裝 Index Server 或 Index Services 但不是 IIS 的客戶不會有風險。 這是 Windows 2000 Professional 的預設案例。
  • 如果 Internet Data 管理員 istration (.ida) 和 Internet Data Query (.idq) 檔案的腳本對應不存在,就無法利用此弱點。 拿掉對應的程式會在 IIS 4.0 和 IIS 5.0 安全性檢查清單中討論,並可透過 Windows 2000 因特網伺服器安全性工具自動移除。 不過,客戶應該注意,後續新增或移除系統元件可能會導致對應恢復,如常見問題中所述。
  • 攻擊者將控制權從遭入侵的網頁伺服器延伸至其他計算機的能力,將在很大程度上取決於網路的特定組態。 最佳做法建議網路架構會考慮機器在不受控制的環境中的固有高風險,例如因特網,透過將 DMZ 等量值、以最少的服務操作,以及與內部網路隔離接觸等量值,將整體暴露程度降到最低。 這類步驟可能會限制整體暴露,並阻礙攻擊者擴大可能入侵範圍的能力。

弱點標識碼:CAN-2001-0500

測試版本:

Microsoft 在 Windows 2000 和 Windows XP 中測試了 Index Server 2.0 和 Index Service,以評估它們是否受到這些弱點的影響。 舊版不再受到支援,而且可能會或可能不會受到這些弱點的影響。

常見問題集

弱點的範圍為何?
這是 緩衝區溢出 弱點。 成功惡意探索此弱點的攻擊者可能會完全控制受影響的網頁伺服器。 這可讓攻擊者能夠在伺服器上採取任何所需的動作,包括變更網頁、重新格式化硬碟或將新使用者新增至本機系統管理員群組。 只有在系統上有特定系統元件時,才會惡意探索此弱點-建議移除安全性檢查清單和工具的弱點。 不過,這是嚴重的弱點,Microsoft 建議網頁伺服器管理員立即採取行動。

造成弱點的原因為何?
此弱點是 WINDOWS NT 4.0 中與 Windows NT 4.0 中索引伺服器和 Windows 2000 中索引服務相關聯的 ISAPI 擴充功能中未核取緩衝區的結果。 藉由將特別建構的要求傳送至 ISAPI 擴充功能,攻擊者可能會導致程式代碼在本機系統內容中的網頁伺服器上執行。

什麼是索引伺服器和索引服務?
索引伺服器 2.0 和索引服務是全文搜索和索引引擎,分別與 Windows NT 4.0 和 Windows 2000 搭配使用。 它們提供在網站或伺服器上搜尋數據的能力。 這可讓使用者透過輸入關鍵詞、詞組或屬性來搜尋檔。 Index Server 2.0 不會隨附為 Windows NT 4.0 的一部分,而是會作為 Windows NT 4.0 選項套件的一部分提供。 索引服務是 Windows 2000 中的原生服務,並隨附為平臺的一部分

什麼是 ISAPI 擴充功能?
ISAPI(Internet Services 應用程式開發介面)是一種技術,可讓開發人員擴充 IIS 伺服器所提供的功能。 ISAPI 延伸模組是一種動態連結庫(.dll),使用 ISAPI 來提供一組以上和超越 IIS 原生提供的 Web 函式。 當使用者需要使用 ISAPI 擴充功能公開的其中一個函式時,他們會將要求傳送至伺服器。 在某些情況下,可以直接呼叫 ISAPI 擴充功能,但使用者更常見地要求伺服器上包含要處理之命令的檔案。 當使用者要求這類檔案時,IIS 會藉由諮詢腳本對應數據表來判斷應該使用哪一個 ISAPI 延伸模組來剖析檔案,以列出伺服器上每個 ISAPI 擴充功能相關聯的擴展名。

哪個 ISAPI 擴充功能與此弱點相關聯?
包含弱點的 ISAPI 擴充功能idq.dll,可提供兩種類型的函式:

  • 它支援 Internet Data 管理員 istration (.ida) 檔案,這些檔案是可用來管理編製索引服務的腳本。 此功能很少使用,因為 Microsoft Management Console 提供更佳的系統管理介面。
  • 它會處理用來實作自定義搜尋的因特網數據查詢 (.idq) 檔案。

idq.dll有什麼問題?
在處理傳入要求的程序代碼中,有一個未核取的緩衝區。 如果傳送了特殊格式不正確的要求給它,則會產生緩衝區滿溢,結果有兩個結果之一:

  • 如果要求包含隨機數據,則會導致伺服器上的 Web 服務失敗。 如果伺服器上正在使用 IIS 4.0,系統管理員可以重新啟動服務以繼續正常作業;如果 IIS 5.0 正在使用中,Web 服務會自動重新啟動本身。
  • 如果要求包含特別選取的數據,它可以用來造成攻擊者選擇在伺服器上執行的程式代碼。

如果攻擊者利用弱點在伺服器上執行程式碼,則會執行哪些安全性內容?
它會以本機系統許可權執行。 惡意探索弱點的效果實際上是在執行時修改idq.dll;因為idq.dll在操作系統中執行,所以攻擊者的程序代碼也是如此。

這可讓攻擊者執行什麼動作?
惡意探索此弱點的攻擊者將完全控制網頁伺服器。 這可讓他採取任何所需的行動,包括但不限於:

  • 變更 Web 內容
  • 執行作業系統命令
  • 重新設定伺服器
  • 將其他軟體載入伺服器並加以執行。

惡意探索弱點是否會讓攻擊者完全控制整個網路?
最佳做法有助於限制入侵的範圍。 由於其公開的位置,網頁伺服器,特別是公用伺服器,一律是攻擊的特殊目標,網路設計應該反映這一事實。 事實上,網路架構設計人員的主要目標之一應該是確保網路設計會限制使用遭入侵網頁伺服器完成的工作。 特別應遵循的兩個做法如下:

  • Web 伺服器應該在 DMZ 內隔離。 這不僅會將伺服器與因特網分開,也會將它們與網路的其餘部分分開。
  • 可能的話,網頁伺服器應該設定為獨立計算機。 如果絕對有必要將它們設為網域的一部分,網域應該只包含位於 DMZ 上的機器。 網頁伺服器不應該是較大網路網域的成員。

然而,即使已經採取這些預防措施,重要的是不要低估可以通過這種弱點造成的損害。 即使網路設計拒絕攻擊者使用一般系統作業來擴充控制,她還是可以使用遭入侵的伺服器作為啟動點,嘗試透過其他已知弱點攻擊其他計算機。

神秘 可能會利用此弱點嗎?
若要利用弱點,攻擊者只需要在idq.dll時徵收要求的能力。 只要有將 .idq 和 .ida 檔案與idq.dll建立關聯的腳本對應,而且攻擊者能夠與伺服器建立 Web 會話,他就可以利用弱點。

索引伺服器或索引服務是否需要執行,才能惡意探索弱點?
否。 雖然 idq.dll 所提供的功能支援索引伺服器和索引服務,但每當安裝 IIS 時,就會安裝.dll,而且會在 IIS 執行時公開。 因此,即使伺服器上無法使用索引編製,只要 IIS 在機器上執行,弱點仍會存在。

因此,如果 IIS 不在我的電腦上執行,我就不會受到弱點的影響?
正確。 即使您已安裝索引伺服器或索引服務,只有在 IIS 執行時,才會惡意探索此弱點。

我以為 .ida 檔案是系統管理腳本。 攻擊者不應該是系統管理員,才能對 .ida 檔案提出要求?
Idq.dll會先檢查要求 .ida 檔案的人員認證,再處理其中的任何命令。 不過,緩衝區滿溢會在進行這項檢查之前發生。 因此,任何使用者都可以要求 .ida 檔案並惡意探索弱點。 即使情況並非如此,任何使用者通常都可以要求 .idq 檔案。

我遵循 IIS 安全性檢查清單,並停用 .ida 和 .idq 檔案的腳本對應。 我是否易受攻擊?
如果 .ida 和 .idq 檔案的腳本對應不存在,就無法惡意探索弱點。 IIS 4.0IIS 5.0 安全性檢查清單會提供執行這項作業的指示。 此外,除非您明確要求保留對應, 否則 Windows 2000 因特網伺服器安全性工具 將會移除對應。 不過,請務必注意,有可能恢復對應。 具體而言,每當使用 控制台 中的「新增/移除程式」小程式來新增或移除 Windows 元件時,Windows 會執行系統重新設定,以恢復 .idq 和 .ida 對應。 因此,我們建議即使是已移除對應的客戶,也會套用修補程式作為保護。

我正在執行 Windows NT 4.0。 我是否易受攻擊?
Windows NT 4.0 的預設安裝並不易受攻擊。 IIS 4.0 不會安裝為 Windows NT 4.0 的一部分- 它必須透過 Windows NT 4.0 選項套件安裝。 不過,如果您已安裝 IIS 4.0,就會受到攻擊,因為Idq.dll會安裝為 IIS 4.0 安裝程式的一部分。

我正在執行 Windows 2000 Server。 我是否易受攻擊?
Windows 2000 Server 的預設安裝易受 攻擊。 IIS 5.0 預設會安裝為 Windows 2000 伺服器產品的一部分,而Idq.dll會安裝為 IIS 5.0 安裝程式的一部分。

如果我執行 Windows 2000 專業版,我是否容易受到攻擊?
Windows 2000 專業版的預設安裝並不易受攻擊。 相較於 Windows 2000 Server,IIS 5.0 不會安裝為 Windows 2000 Professional 的一部分。 不過,如果您已安裝 IIS 5.0,就會受到攻擊,因為Idq.dll會安裝為 IIS 5.0 安裝程式的一部分。

修補程式有何用途?
修補程式會藉由在 ISAPI 擴充功能中建立適當的輸入檢查來消除弱點。

我聽說 Windows XP 很脆弱,但沒有修補程式。 這是真的嗎?
候選版 1 之前的 Windows XP 版本會受到弱點的影響。 和所有 Beta 產品一樣,它只應該用於評估用途,而且不應該安裝在生產伺服器上。 Windows XP 候選版 1 中已消除此弱點,且不會出現在任何後續版本中,包括產品的最終發行版本。 有少數客戶與 Microsoft 密切合作,使用受影響的 Windows XP Beta 版本進行有限的生產部署。 Microsoft 已直接連絡這些客戶,並提供可消除弱點的更新組建。

修補程式可用性

下載此修補程式的位置

此修補程式的其他資訊

安裝平臺:

  • Windows NT 4.0 修補程式可以安裝在 Windows NT 4.0 Service Pack 6a 上。
  • Windows NT Server 4.0 終端機伺服器版本安全性匯總套件可以安裝在 Windows NT 4.0 終端機 Service Pack 6 上。
  • Windows 2000 修補程式可以安裝在 Windows 2000 Gold、Windows 2000 Service Pack 1Service Pack 2 上。

包含在未來的 Service Pack 中:

此問題的修正將會包含在 Windows 2000 Service Pack 3 中。

取代的修補程式:

  • Windows NT Sever 4.0 終端機伺服器版本安全性匯總套件會取代下列安全性公告中提供的修補程式:

確認修補程式安裝:

Windows NT 4.0:

  • 若要確認電腦上已安裝修補程式,請確認電腦上已建立下列登錄機碼:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Hotfix\Q300972。

  • 若要確認個別檔案,請參閱知識庫文章中的檔案指令清單Q300972。

Windows NT 4.0 終端機伺服器版本:

  • 若要確認計算機上已安裝 Windows NT Server 4.0,終端機伺服器版本安全性匯總套件,請確認電腦上已建立下列登錄機碼:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Hotfix\Q317636。

Windows 2000:

  • 若要確認電腦上已安裝修補程式,請確認電腦上已建立下列登錄機碼:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\更新\Windows 2000\SP3\Q300972。

  • 若要驗證個別檔案,請使用下列登錄機碼中提供的日期/時間和版本資訊:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\更新\Windows 2000\SP3\Q300972\Filelist

警告:

雖然移除 .ida 和 .idq 腳本對應可以防範此弱點,但系統可能會恢復這些對應,如常見問題中所述。 Microsoft 建議移除這些對應的客戶套用修補程式作為保護。

當地語系化

此修補程式的當地語系化版本可從標題為「修補程式可用性」一節所列的下載位置取得。

取得其他安全性修補程式:

其他安全性問題的修補程式可從下列位置取得:

  • 安全性修補程式可從 Microsoft 下載中心取得,而且透過搜尋 「security_patch」 關鍵詞,即可輕鬆找到。
  • 您可以從 WindowsUpdate 網站取得取用者平臺的修補程式。

其他資訊:

確認

Microsoft 感謝 eEye Digital Security (https://www.eeye.com) 向我們回報此問題,並與我們合作來保護客戶。

支援:

  • Microsoft 知識庫文章Q300972討論此問題,並將於本公告發行后的大約 24 小時提供。 您可以在 Microsoft Online 支援網站上找到知識庫文章。
  • Microsoft產品支援服務提供技術支援。 與安全性修補程式相關聯的支援呼叫不收取任何費用。

安全性資源:Microsoft TechNet 安全性網站提供 Microsoft 產品中安全性的其他資訊。

免責聲明

Microsoft 知識庫中提供的資訊會「如實」提供,而不會提供任何類型的擔保。 Microsoft 不表示明示或隱含的所有擔保,包括適銷性及適合特定用途的擔保。 任何情況下,Microsoft Corporation 或其供應商都不得承擔任何損害責任,包括直接、間接、附帶、衍生性、業務利潤損失或特殊損害,即使 Microsoft Corporation 或其供應商已獲告知可能遭受此類損害。 某些州不允許排除或限制衍生性或附帶性損害的責任,因此可能不適用上述限制。

變更:

  • V1.0 (2001 年 6 月 18 日):布告欄已建立。
  • V1.1 (2001 年 6 月 18 日):已取代的修補程式清單,以指出 MS00-006 和 MS01-025 不會被本公告中提供的修補程式取代。
  • V1.2 (2001 年 8 月 6 日):已更新 Windows XP 的特定 Beta 資訊。
  • V1.3 (2001 年 8 月 20 日):修補程式可用性區段已更新,表示這裡提供的修補程式已由 MS01-044 中提供的修補程式取代。
  • V1.4 (2001 年 8 月 21 日):發行了可在所有 Windows 2000 版本上安裝的修補程式版本,包括 Gold 和更新的安裝平臺一節以符合。
  • V1.5 (2002 年 5 月 6 日):公告更新為建議 Windows NT 4.0 伺服器、終端機伺服器版本安全性匯總套件的可用性。
  • V1.6 (2003 年 11 月 4 日):已更新其他資訊中 Windows Update 的連結。

建置於 2014-04-18T13:49:36Z-07:00