Microsoft Security Advisory 4338110

CBC 對稱加密安全性功能的 Microsoft 指導方針略過

發佈時間: 2018 年 6 月 12 日

版本: 1.0

一般資訊

執行摘要

Microsoft 宣佈已改善使用加密-區塊鏈結 (CBC) 模式與對稱加密的指導方針。 如果使用填補的 CBC 區塊加密,而不需要額外的數據完整性檢查,在某些情況下,可能會有「填補 Oracle」安全性功能略過弱點。 這可讓攻擊者在不知道加密密鑰的情況下解密和竄改加密的數據。 此弱點可以在本機和網路型攻擊中使用。

此弱點源於加密編碼的方式,而且由於數據無法預測的性質,因此無法以程式設計方式識別誤判。 此弱點依賴具有「填補 Oracle」,可自由回應有關訊息是否已正確填補的查詢。 攻擊依賴變更加密數據的能力,並使用 Oracle 來測試結果。 完全減輕攻擊的唯一方法是偵測加密資料的變更,並拒絕對其執行任何動作。 若要這樣做,標準方式是建立數據的可驗證簽章,並在執行任何作業之前驗證簽章。

潛在的問題可以套用至待用數據或傳輸中的數據,而 Microsoft 建議傳輸中具有機密性的任何數據都必須透過傳輸層安全性傳輸(TLS,安全套接字層(SSL)的後續任務。 鼓勵無法變更其傳訊格式但執行未經驗證的 CBC 解密的應用程式嘗試納入防護功能。 根據目前的研究,人們普遍認為,當驗證和加密步驟獨立執行時(針對非 AE 加密模式),驗證加密文本(加密時簽署)是最佳一般選項。 不過,對密碼編譯沒有一個大小適合的正確答案,這種一般化不像專業密碼編譯工具的指示建議那麼好。

總而言之,若要安全地使用填補的 CBC 區塊加密,您必須將它們與密鑰哈希訊息驗證碼 (HMAC) (或其他數據完整性檢查) 結合,您必須先使用常數時間比較來驗證,再嘗試解密數據。 由於所有變更的訊息都會花費相同的時間來產生攻擊的回應。 為了協助尋找此弱點的實例,Microsoft 已發行指引,指出如何使用填補進行程式代碼檢閱: 使用填補搭配 CBC 模式對稱解密的計時弱點。 已檢閱 Microsoft 產品和服務,且不會受到影響。

  1. 讓 Microsoft 應用程式保持更新。
  2. 判斷您是否有自定義應用程式執行自己的加密和解密。
  3. 閱讀參考的檔,以判斷如何識別易受攻擊的程序代碼。

其他建議的動作

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

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

其他資訊

Microsoft Active Protections 計劃 (MAPP)

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

Feedback

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

支援

免責聲明

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

修訂記錄

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