溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

CVE-2020-0601 Windows CryptoAPI驗(yàn)證繞過(guò)漏洞原理的示例分析

發(fā)布時(shí)間:2021-12-20 17:58:00 來(lái)源:億速云 閱讀:117 作者:柒染 欄目:大數(shù)據(jù)

CVE-2020-0601 Windows CryptoAPI驗(yàn)證繞過(guò)漏洞原理的示例分析,針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

0x00 漏洞原理分析

ECC橢圓曲線(xiàn)加密(Elliptic curve cryptography)是一種建立公開(kāi)密鑰加密的算法,基于橢圓曲線(xiàn)數(shù)學(xué),于1985年由Neal Koblitz和Victor Miller分別獨(dú)立提出的。ECC的主要優(yōu)勢(shì)在于某些情況下比其他方法使用更小的密鑰(如RSA加密算法)來(lái)提供相當(dāng)或更高等級(jí)的安全。

ECC橢圓曲線(xiàn)加密原理在于:設(shè)G為曲線(xiàn)上一點(diǎn),d為一個(gè)整數(shù)令點(diǎn)Q = d.G,若給定d和G,很容易求出Q,若給定G和Q ,很難求出d。其中Q為公鑰,d為私鑰。

CVE-2020-0601漏洞原理在于 win10 增加了對(duì)帶參數(shù)ECC密鑰的支持,但在 crypt32.dll 中做簽名驗(yàn)證時(shí),只檢查匹配的公鑰 Q,而沒(méi)有檢查生成元 G。公鑰 Q = dG,d 是私鑰。由于 win10 支持自定義生成元 G',攻擊者可以提供 G' = Q,d' = e(單位元),使得 公鑰Q = dG = d'G'。這兩對(duì)(Q, G)-(Q, G')中 公鑰Q 相同,G 與 G' 不同,由于驗(yàn)證缺陷,只檢測(cè) 公鑰Q。從而,攻擊者用自己的私鑰 d' 簽名,會(huì)被驗(yàn)證通過(guò),認(rèn)為是官方私鑰d 做出的簽名。

偽造的Q = d'G',在驗(yàn)證簽名時(shí)過(guò)程如下:假設(shè)exe文件 A 的hash值是 X,用偽造的私鑰 d' 簽出的值是 Y,驗(yàn)證時(shí),用公鑰Q 求解 Y 得到 X,和exe的hash值一致,認(rèn)證通過(guò),系統(tǒng)認(rèn)為簽名正確,完成繞過(guò)。

利用此漏洞可以使用偽造的證書(shū)對(duì)惡意的可執(zhí)行文件進(jìn)行簽名,使文件看起來(lái)來(lái)自可信的來(lái)源,或者進(jìn)行中間人攻擊并解密用戶(hù)連接到受影響軟件的機(jī)密信息。

0x01 時(shí)間線(xiàn)

2020-01-14 微軟官方發(fā)布安全公告

2020-01-15 360CERT發(fā)布通告

2020-01-16 360CERT發(fā)布漏洞原理分析

關(guān)于CVE-2020-0601 Windows CryptoAPI驗(yàn)證繞過(guò)漏洞原理的示例分析問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI