Microsoft 資訊安全諮詢 4338110

適用於 CBC 對稱式加密安全性功能略過的 Microsoft 指引

發行日期:2018 年 6 月 12 日

版本: 1.0

一般資訊

提要

Microsoft 宣布提供有關如何搭配使用對稱式加密與「加密區塊鏈結」(CBC) 模式的改良指引。在特定情況下,如果未進行其他資料完整性檢查即使用填補的 CBC 區塊編碼器,則可能存在「填補預示」安全性功能略過弱點。這可能會讓攻擊者不知道加密金鑰就能解密並竄改加密的資料。此弱點可能會在本機或網路攻擊形式遭到利用。

弱點是由加密的編碼方式所造成,由於資料無法預測的本質,因此,無法以程式設計方式加以識別而不出現極高比例的誤判。弱點依賴於具有「填補預示」,可隨意回應是否正確填補訊息的查詢。攻擊依賴於變更加密資料及測試預示結果的能力。完全緩和攻擊的唯一方法,就是偵測加密資料的變更,並且拒絕對該資料執行任何動作。執行此操作的標準方法是為資料建立可驗證的簽章,並在執行任何作業之前先驗證該簽章。

潛在的問題可能出現在靜態的資料或傳輸中的資料上,因此,Microsoft 建議任何傳輸中、具有機密性的資料必須透過「傳輸層安全性」(TLS,「安全通訊端層」(SSL) 的接續者) 傳輸。若應用程式無法變更其訊息格式,但能執行未驗證的 CBC 解密,則應嘗試併入緩和措施。根據目前的研究,一般認為 (對於加密的非 AE 模式) 獨立執行驗證和加密步驟時,驗證加密文字 (加密並簽署) 是最佳選項。然而,加密沒有統一的標準,並且這種普遍的做法比不上專業加密人員所指導的建議。

總而言之,若要安全地使用填補的 CBC 區塊編碼器,在嘗試解密資料之前,您必須先將區塊編碼器與您使用常數時間比較來驗證的機碼式雜湊訊息驗證碼 (HMAC) (或其他資料完整性檢查) 結合。由於所有變更的訊息都會花費相同的時間來產生回應,因而免於遭受攻擊。為了協助尋找此弱點的例子,Microsoft 已發行指引,說明如何依照更新版文件所述進行程式碼檢閱:使用填補的 CBC 模式對稱式解密的計時弱點。Microsoft 產品和服務已經過檢查,並未受到影響。

建議動作:

  1. 讓 Microsoft 應用程式保持最新狀態。
  2. 判斷您是否有自訂應用程式執行專屬的加密和解密。
  3. 閱讀參考的文件,以判斷如何識別易受攻擊的程式碼。

其他建議動作

  • 保護您的電腦
    我們持續鼓勵客戶依照「保護您的電腦」中的指引啟用防火牆、取得軟體更新,以及安裝防毒軟體。如需詳細資訊,請參閱 Microsoft 資訊安全中心

  • 讓 Microsoft 軟體保持最新狀態
    執行 Microsoft 軟體的使用者應套用最新的 Microsoft 安全性更新,以確保電腦盡可能受到完善的保護。如果您不確定軟體是否為最新,請造訪 Microsoft Update,掃描電腦尋找可用的更新,並安裝提供給您的任何高優先順序的更新。如果您啟用了自動更新,並將其設成為提供 Microsoft 產品更新,更新就會在發行時傳送給您,但您仍應確認更新程式已確實安裝。

其他資訊

Microsoft 主動保護計畫 (MAPP)

為了增強客戶的安全性保護,Microsoft 將在每月發行安全性更新之前,提前向重要安全性軟體提供者提供弱點資訊。安全性軟體提供者可利用此弱點資訊,透過其安全性軟體或裝置 (如防毒軟體、網路入侵偵測系統、或主機入侵預防系統),為客戶提供更新的保護措施。如果要判斷是否有資訊安全軟體提供者的主動保護可用,請造訪由 Microsoft 主動保護計畫 (MAPP) 合作夥伴 (英文) 上列出的計畫合作夥伴所提供的主動保護計畫網站。

意見反應

支援

  • 美國及加拿大地區客戶可洽詢安全性支援以取得技術支援。如需詳細資訊,請參閱 Microsoft 說明及支援
  • 不同國家/地區的客戶,可以從當地的 Microsoft 分公司取得支援。如需詳細資訊,請參閱多語系支援
  • Microsoft TechNet 資訊安全網站提供 Microsoft 產品安全性的其他相關資訊。

免責聲明

本摘要報告中的資訊係以其「現狀」提供,並不提供任何形式之擔保。Microsoft 不做任何明示或默示的責任擔保,包括適售性以及適合某特定用途之擔保責任。無論任何情況下的損害,Microsoft Corporation 及其供應商皆不負任何法律責任,包括直接、間接、偶發、衍生性、所失業務利益或特殊損害。即使 Microsoft Corporation 及其供應商已被告知此類損害的可能性亦不負任何責任。某些地區不允許排除及限制衍生性或附隨損害賠償責任,因此前述限制不適用於這些地區。

修訂

  • V1.0 (2018 年 6 月 12 日):諮詢發行。