共用方式為


Microsoft Security Advisory 2915720

Windows Authenticode 簽章驗證中的變更

發佈時間: 2013 年 12 月 10 日 |更新日期:2014 年 7 月 29 日

版本: 1.4

一般資訊

執行摘要

Microsoft 宣佈推出所有支援的 Microsoft Windows 版本更新,以變更使用 Windows Authenticode 簽章格式簽署的二進位檔驗證簽章的方式。 這項變更隨附於安全性布告欄 MS13-098,但只會根據選擇啟用。 啟用時,Windows Authenticode 簽章驗證的新行為將不再允許WIN_CERTIFICATE結構中多餘的資訊,而且 Windows 將不再將不符合規範的二進位檔辨識為已簽署。 請注意,Microsoft 可能會在未來的 Microsoft Windows 版本中將此行為設為預設行為。

建議。 Microsoft 建議可執行檔作者考慮將所有已簽署的二進位檔都符合新的驗證標準,方法是確保它們不包含WIN_CERTIFICATE結構中沒有多餘的資訊。 Microsoft 也建議客戶適當地測試這項變更,以評估其在環境中的行為。 如需詳細資訊,請參閱 此諮詢的建議動作 一節。

諮詢詳細數據

問題參考

如需此問題的詳細資訊,請參閱下列參考:

參考 識別
安全性布告欄 MS13-098 
一般資訊 程式代碼簽署 \ WinVerifyTrust \ 函式 Authenticode 可攜式可執行檔簽章格式簡介
特定資訊 Windows 跟證書計劃 - 技術需求

諮詢常見問題

諮詢的範圍為何? 
此諮詢的目的是通知客戶 Microsoft Windows 驗證 Authenticode 簽署二進位檔的方式選擇性變更。

為什麼這項諮詢於 2014 年 7 月 29 日修訂?
此諮詢已於 2014 年 7 月 29 日修訂,宣佈此處所述的更嚴格的 Windows Authenticode 簽章驗證行為將會以選擇方式啟用,而不會在支援的 Microsoft Windows 版本中做出預設行為。

Microsoft 如何實作更嚴格的 Windows Authenticode 簽章驗證行為?
在 2013 年 12 月 10 日,Microsoft 發行了安全性公告 MS13-098 ,以部署基礎程序代碼,以執行更嚴格的 Authenticode 簽章驗證行為。 此前,此諮詢宣佈,到 2014 年 8 月 12 日,Microsoft 會啟用以 MS13-098 作為預設功能所實作的變更。 不過,當我們與客戶合作來適應這項變更時,我們決定對現有軟體的影響可能很高。 因此,Microsoft 不再計劃將更嚴格的驗證行為強制執行為預設需求。 不過,更嚴格的驗證基礎功能仍已就緒,並可依客戶自行決定啟用。

如何啟用新的簽章驗證行為? 
想要啟用新 Authenticode 簽章驗證行為的客戶可以在系統登錄中設定機碼來執行此動作。 設定密鑰時,Windows Authenticode 簽章驗證將不再辨識具有 authenticode 簽章的二進位檔,其中包含WIN_CERTIFICATE結構中多餘的資訊。 客戶可以隨時藉由停用此登錄機碼來選擇停用功能。 如需指示,請參閱 下面的建議動作

我已啟用這項變更,現在是否需要執行任何動作,它預設不會強制執行?  已啟用更嚴格驗證行為且沒有發生問題的客戶可以選擇將驗證行為保留為啟用狀態。 遇到新行為的應用程式相容性問題的客戶,或只是想要停用新行為的客戶,可以移除 EnableCertPaddingCheck 登錄機碼來停用功能。 如需指示,請參閱 下面的建議動作

我未啟用此變更,現在是否需要執行任何動作,它預設不會強制執行?
否。 與 MS13-098 一起安裝的更嚴格的驗證行為會位於系統上,但會處於休眠功能,直到啟用為止。

新的驗證行為是否會影響已安裝的軟體?
啟用時,新的更嚴格的驗證行為主要適用於以 Windows Authenticode 簽章格式簽署的可攜式可執行檔 (PE) 二進制檔。 未使用此格式簽署或未使用 WinVerifyTrust 來驗證簽章的二進位檔不會受到新行為的影響。 最有可能受到影響的二進位檔是透過因特網散發的PE安裝程式檔案,這些檔案會在下載時自定義。 使用者可能會察覺到影響的最常見案例是在下載和安裝新應用程式期間。 只有當客戶選擇啟用更嚴格的驗證行為時,才會發生這種情況,之後使用者可能會在嘗試安裝具有驗證失敗簽章的新應用程式時觀察到警告訊息。

新的驗證行為會影響AppLocker原則嗎?
對於已選擇啟用更嚴格驗證行為的客戶,任何相依於已簽署檔案或預期特定發行者的 AppLocker 規則,如果檔案上的簽章不符合更嚴格的 Authenticode 簽章驗證需求,可能會受到影響。

新的驗證行為會影響軟體限制原則嗎?
對於已選擇啟用更嚴格驗證行為的客戶,任何相依於已簽署檔案或預期特定發行者的軟體限制原則,如果檔案上的簽章不符合更嚴格的 Authenticode 簽章驗證需求,可能會受到影響。

新的更嚴格的驗證行為認為我的二進位不符合規範。 我有哪些選擇?
如果二進位檔被視為不符合更嚴格的 Authenticode 簽章驗證行為,這不會是未啟用新驗證行為的系統上的問題,因為 Microsoft 預設不會強制執行更嚴格的行為。 不過,若要更正已啟用新驗證行為之系統上二進位失敗驗證的問題,該二進位檔必須以嚴格遵循 Windows Authenticode 簽章格式重新簽署,特別是不包含WIN_CERTIFICATE結構中多餘的資訊。

如果我使用非 Microsoft 提供的簽署工具簽署,是否有可能將簽章辨識為不符合更嚴格的驗證程式?
是。 對於選擇啟用更嚴格的驗證行為的客戶,使用非 Microsoft 提供的簽署工具簽署二進制檔會執行將簽章辨識為不符合更嚴格驗證行為的風險。 使用 Microsoft 產品或 Microsoft 提供的簽章工具,例如signtool.exe,有助於確保簽章可辨識為符合規範。

什麼是 Windows Authenticode? 
Windows Authenticode 是一種數位簽名格式,用來判斷軟體二進位檔的來源和完整性。 Authenticode 使用公鑰密碼編譯標準 (PKCS) #7 簽署的數據和 X.509 憑證,將 Authenticode 簽署的二進位檔系結至軟體發行者的身分識別。 「Authenticode 簽章」一詞是指使用 WinVerifyTrust 函式產生和驗證的數位簽名格式。

什麼是 Windows Authenticode 簽章驗證?
Windows Authenticode 簽章驗證包含兩個主要活動:指定物件上的簽章檢查和信任驗證。 這些活動是由 WinVerifyTrust 函式所執行,它會執行簽章檢查,然後在存在時,將查詢傳遞給支援動作識別碼的信任提供者。 如需有關 WinVerifyTrust 函式的詳細資訊,請參閱 WinVerifyTrust 函式

如需 Authenticode 簡介,請參閱 程式代碼簽署簡介。

建議的動作

  • 檢閱 Microsoft 跟證書計劃技術需求

    有興趣深入瞭解此諮詢所涵蓋主題的客戶,應檢閱 Windows 跟證書計劃 - 技術需求

  • 修改二進位簽署程式

    在檢閱 Authenticode 簽章驗證行為變更背後的技術詳細數據之後,Microsoft 建議客戶確保其 Authenticode 簽章不會在WIN_CERTIFICATE結構中包含多餘的資訊。 Microsoft 也建議可執行檔作者考慮將其 Authenticode 簽署的二進位檔符合新的驗證標準。 已修改其二進位簽署程式的作者,而且想要啟用新行為可能會根據加入加入來執行此動作。 如需指引,請參閱 Windows 跟證書計劃 - 技術需求

  • 測試 Authenticode 簽章驗證的改進

    Microsoft 建議客戶在完全實作 Authenticode 簽章驗證之前,先測試這項變更在其環境中的行為。 若要啟用 Authenticode 簽章驗證改善,請修改登錄以新增 EnableCertPaddingCheck 值,如下所示。

    警告 執行這些步驟以啟用 MS13-098 更新中包含的功能變更,將導致不符合規範的二進位檔出現未簽署,因此轉譯它們不受信任。

    注意 如果您未正確使用註冊表編輯器,可能會造成嚴重問題,而可能需要重新安裝操作系統。 Microsoft 無法保證您可以解決使用註冊表編輯器不正確所造成的問題。 請自行承擔使用登錄編輯程式的風險。

    安裝 MS13-098 更新之後,請執行下列動作:

    針對 32 位版本的 Microsoft Windows

    在文本編輯器中貼上下列文字,例如 記事本。 然後,使用.reg擴展名儲存盤案(例如,enableAuthenticodeVerification.reg)。

    Windows Registry Editor Version 5.00  
    [HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Wintrust\Config]   
    "EnableCertPaddingCheck"="1"  
    

    您可以按兩下此檔案,將此.reg檔案套用至個別系統。

    注意 您必須重新啟動系統,您的變更才會生效。

    適用於 64 位版本的 Microsoft Windows

    在文本編輯器中貼上下列文字,例如 記事本。 然後,使用.reg擴展名儲存盤案(例如,enableAuthenticodeVerification64.reg)。

    Windows Registry Editor Version 5.00  
    [HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Wintrust\Config]   
    "EnableCertPaddingCheck"="1"
    
    [HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Cryptography\Wintrust\Config] 
    "EnableCertPaddingCheck"="1"
    

    您可以按兩下此檔案,將此.reg檔案套用至個別系統。

    注意 您必須重新啟動系統,您的變更才會生效。

    啟用 MS13-098 更新中包含的功能變更的影響。 不符合規範的二進位檔會顯示為未簽署,因此會轉譯為不受信任。

    如何停用功能。 執行下列命令以刪除先前新增的登錄值。

    若為 32 位版本的 Microsoft Windows,請在文字編輯器中貼上下列文字,例如 記事本。 然後,使用.reg擴展名儲存盤案(例如,disableAuthenticodeVerification.reg)。

    Windows Registry Editor Version 5.00  
    [HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Wintrust\Config]   
    "EnableCertPaddingCheck"=-
    

    您可以按兩下此檔案,將此.reg檔案套用至個別系統。

    注意 您必須重新啟動系統,您的變更才會生效。

    若為64位版本的 Microsoft Windows,請在文字編輯器中貼上下列文字,例如 記事本。 然後,使用.reg擴展名儲存盤案(例如,disableAuthenticodeVerification64.reg)。

    Windows Registry Editor Version 5.00  
    [HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Wintrust\Config]   
    "EnableCertPaddingCheck"=-
    
    [HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Cryptography\Wintrust\Config]   
    "EnableCertPaddingCheck"=-
    

您可以按兩下此檔案,將此.reg檔案套用至個別系統。

注意 您必須重新啟動系統,您的變更才會生效。

其他建議的動作

  • 保護您的電腦

    我們繼續鼓勵客戶遵循我們的「保護您的計算機」指引,以啟用防火牆、取得軟體更新及安裝防病毒軟體。 如需詳細資訊,請參閱 Microsoft 保管庫 ty & 資訊安全中心

  • 讓 Microsoft 軟體更新保持更新

    執行 Microsoft 軟體的使用者應套用最新的 Microsoft 安全性更新,以協助確保電腦盡可能受到保護。 如果您不確定您的軟體是否為最新狀態,請造訪 Microsoft Update、掃描您的電腦是否有可用的更新,並安裝您提供的任何高優先順序更新。 如果您已啟用自動更新並設定為提供 Microsoft 產品的更新,則更新會在發行時傳遞給您,但您應該確認它們已安裝。

其他資訊

Microsoft Active Protections 計劃 (MAPP)

為了改善客戶的安全性保護,Microsoft 會在每個每月安全性更新版本之前,為主要安全性軟體提供者提供弱點資訊。 然後,安全性軟體提供者可以使用此弱點資訊,透過其安全性軟體或裝置,例如防病毒軟體、網路型入侵檢測系統或主機型入侵預防系統,為客戶提供更新的保護。 若要判斷是否可從安全性軟體提供者取得主動保護,請流覽由計劃合作夥伴所提供的使用中保護網站,列在 Microsoft Active Protections 方案 (MAPP) 合作夥伴

Feedback

  • 您可以完成 Microsoft 說明及支援表單、客戶服務與我們連絡以提供意見反應。

支援

  • 美國和加拿大的客戶可以從安全性支援收到技術支援。 如需詳細資訊,請參閱 Microsoft 說明及支援
  • 國際客戶可以從其當地 Microsoft 子公司獲得支援。 如需詳細資訊,請參閱國際支援
  • Microsoft TechNet 安全性 提供 Microsoft 產品中安全性的其他資訊。

免責聲明

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

修訂記錄

  • V1.0 (2013 年 12 月 10 日):已發佈諮詢。
  • V1.1 (2013 年 12 月 13 日):更正了測試 Authenticode 簽章驗證改進建議動作中的登錄機碼資訊。 已套用或計劃套用建議動作的客戶,應檢閱修訂后的資訊。
  • V1.2 (2014 年 2 月 11 日):重新發行諮詢提醒客戶,MS13-098 實作的休眠變更將於 2014 年 6 月 10 日啟用。 在此日期之後,Windows 將不再將不符合規範的二進制檔辨識為已簽署。 如需詳細資訊,請參閱此諮詢的建議和建議動作章節。
  • V1.3 (2014 年 5 月 21 日):修訂後的諮詢,以反映 2014 年 8 月 12 日的新截止日期,當不符合規範的二進制檔不再被確認為已簽署。 現在,除了 2014 年 6 月 10 日截止日期外,使用 MS13-098 實作的休眠變更將會於 2014 年 8 月 12 日啟用。
  • V1.4 (2014 年 7 月 29 日):已修訂的諮詢,宣佈 Microsoft 不再計劃對支援的 Microsoft Windows 版本強制執行更嚴格的驗證行為作為預設功能。 它仍可做為選擇加入功能。 如需詳細資訊,請參閱諮詢常見問題一節。

頁面產生的 2014-07-29 14:38Z-07:00。