Oracle 修復(fù) Java “年度加密漏洞”

作者:oschina
來源:oschina.net/news/192162/signatures-in-java
甲骨文于昨日推送了安全更新修復(fù)了一個(gè)漏洞,該漏洞允許攻擊者偽造某些種類的 SSL 證書和握手、雙因素認(rèn)證信息,以及由一系列廣泛使用的開放標(biāo)準(zhǔn)產(chǎn)生的授權(quán)憑證。這使得攻擊者可以輕松地對文件和其他數(shù)據(jù)進(jìn)行數(shù)字簽名。
該漏洞影響了 Java 15 及以上版本中對 ECDSA(橢圓曲線數(shù)字簽名算法)的實(shí)現(xiàn)。ECDSA 是一種利用橢圓曲線密碼學(xué)原理對信息進(jìn)行數(shù)字認(rèn)證的算法。與 RSA 或其他加密算法相比,ECDSA 的一個(gè)關(guān)鍵優(yōu)勢是它生成的密鑰較小,非常適合用于包括基于 FIDO 的 2FA、SMAL 和 OpenID 等標(biāo)準(zhǔn)。
這個(gè)漏洞的 CVE ID 為 CVE-2022-21449,最初是由 ForgeRock 安全研究員 Neil Madden 所發(fā)現(xiàn)的,他在漏洞說明中寫道:
如果你在這些安全機(jī)制中使用 ECDSA 簽名,并且如果你的服務(wù)器在 2022 年 4 月關(guān)鍵補(bǔ)丁更新(CPU)之前運(yùn)行任何 Java 15、16、17 或 18 版本,攻擊者就可以輕而易舉地完全繞過它們。如今幾乎所有的 WebAuthn/FIDO 設(shè)備(包括 Yubikeys)都使用 ECDSA 簽名,許多 OIDC 提供商也在使用 ECDSA 簽名的 JWT。
Madden 指出,上述這些受影響的 Java 版本主要是因?yàn)樗鼈兾茨軝z查 ECDSA 中的兩個(gè)關(guān)鍵變量,以確保它們是非零的。
ECDSA 簽名依賴于一個(gè)偽隨機(jī)數(shù),通常表示為 K,用于推導(dǎo)兩個(gè)額外的數(shù)字 R 和 S。要驗(yàn)證簽名是否有效,必須檢查涉及 R 和 S 的等式。當(dāng)?shù)仁絻蛇呄嗟葧r(shí),簽名才有效。為了使過程正常工作,R 和 S 都不能為零。
這是因?yàn)槿绻刀际?0,等式兩邊將始終相等,簽名也就一直有效。這意味著只需提交一個(gè)空白簽名即可成功通過驗(yàn)證檢查。
這個(gè) bug 是由相關(guān)代碼從 C++ 改寫成 Java 時(shí)引入的,漏洞最早可以追溯到 2020 年 Java 15 發(fā)布的時(shí)候。該 bug 在去年 11 月就已被發(fā)現(xiàn)并報(bào)告給了甲骨文,而甲骨文在推出的 4 月關(guān)鍵補(bǔ)丁更新(CPU)中修復(fù)了該問題。
甲骨文在通用漏洞評分系統(tǒng)(Common Vulnerability Scoring System)中將該漏洞的嚴(yán)重性評級為 7.5(滿分 10 分),但 Madden 根據(jù)他自己的評估,認(rèn)為該漏洞的嚴(yán)重性評級為 10 分。除了 Madden 認(rèn)為該漏洞十分嚴(yán)重,另一位安全專家 Thomas Ptacek 更是將該漏洞評為 “年度加密漏洞”(crypto bug of the year)。

目前 Java 15 及以上版本并沒有像 Java 早期版本那樣被開發(fā)者廣泛使用。安全公司 Snyk 在 2021 年統(tǒng)計(jì)的數(shù)據(jù)顯示,當(dāng)時(shí) Java 15 僅占了 12% 的份額。
推薦閱讀
你好,我是程序猿DD,10年開發(fā)老司機(jī)、阿里云MVP、騰訊云TVP、出過書、創(chuàng)過業(yè)、國企4年互聯(lián)網(wǎng)6年。10年前畢業(yè)加入宇宙行,工資不高、也不算太忙,業(yè)余堅(jiān)持研究技術(shù)和做自己想做的東西。4年后離開國企,加入永輝互聯(lián)網(wǎng)板塊的創(chuàng)業(yè)團(tuán)隊(duì),從開發(fā)、到架構(gòu)、到合伙人。一路過來,給我最深的感受就是一定要不斷學(xué)習(xí)并關(guān)注前沿。只要你能堅(jiān)持下來,多思考、少抱怨、勤動手,就很容易實(shí)現(xiàn)彎道超車!所以,不要問我現(xiàn)在干什么是否來得及。如果你看好一個(gè)事情,一定是堅(jiān)持了才能看到希望,而不是看到希望才去堅(jiān)持。相信我,只要堅(jiān)持下來,你一定比現(xiàn)在更好!如果你還沒什么方向,可以先關(guān)注我,這里會經(jīng)常分享一些前沿資訊,幫你積累彎道超車的資本。
