国产av一二三区|日本不卡动作网站|黄色天天久久影片|99草成人免费在线视频|AV三级片成人电影在线|成年人aV不卡免费播放|日韩无码成人一级片视频|人人看人人玩开心色AV|人妻系列在线观看|亚洲av无码一区二区三区在线播放

網(wǎng)易首頁 > 網(wǎng)易號 > 正文 申請入駐

V8團(tuán)隊(duì)花3個(gè)月造了一把"雙向鎖":防住攻擊的同時(shí)還要能秒開

0
分享至


2026年3月,Node.js安全團(tuán)隊(duì)修復(fù)了一個(gè)編號CVE-2026-21717的漏洞。攻擊者只需構(gòu)造少量惡意輸入,就能讓服務(wù)器哈希表退化成鏈表,單線程事件循環(huán)被徹底卡死。這不是理論風(fēng)險(xiǎn)——V8作為Node.js的引擎,在瀏覽器里崩潰只關(guān)一個(gè)標(biāo)簽頁,在服務(wù)器上就是整臺機(jī)器停擺。

修復(fù)方案的核心矛盾讓人頭疼:哈希函數(shù)既要足夠隨機(jī)、讓攻擊者猜不到碰撞點(diǎn),又要能被V8自己快速還原。前者防HashDoS,后者保性能優(yōu)化。谷歌工程師形容這"像給保險(xiǎn)箱裝一把鎖,壞人打不開,但主人不能用鑰匙——得用念力秒開"。

哈希表的阿喀琉斯之踵

哈希表的設(shè)計(jì)承諾是O(1)平均時(shí)間復(fù)雜度。理想情況下,插入n個(gè)元素的總成本是O(n)。但當(dāng)大量鍵被映射到同一槽位,查找變成線性掃描,最壞情況會退化為O(n2)。

這種退化在客戶端只是卡頓,在服務(wù)器端就是武器。攻擊者不需要海量流量,幾十條精心構(gòu)造的字符串就能讓單線程事件循環(huán)陷入長時(shí)間計(jì)算,其他請求全部餓死。Node.js的安全團(tuán)隊(duì)把這種攻擊命名為"哈希洪水"——小規(guī)模輸入引發(fā)結(jié)構(gòu)性潰壩。

V8對此并非毫無防備。2012年,團(tuán)隊(duì)引入過隨機(jī)化種子讓哈希值不可預(yù)測。但舊方案有個(gè)副作用:某些性能優(yōu)化需要知道原始字符串,而哈希不可逆意味著額外存儲開銷。V8選擇了性能,把原始值存了下來——這為后來的攻擊留下了縫隙。

雙向鎖的設(shè)計(jì)困局

CVE-2026-21717的修復(fù)要求同時(shí)滿足兩個(gè)目標(biāo)。第一,哈希函數(shù)必須是密碼學(xué)強(qiáng)度的偽隨機(jī)置換,攻擊者在不知道密鑰的情況下,無法找到碰撞輸入。第二,V8運(yùn)行時(shí)持有密鑰,必須能高效逆運(yùn)算,還原出原始整數(shù)用于內(nèi)部優(yōu)化。

標(biāo)準(zhǔn)加密哈希如SHA-256滿足第一條,但不可逆。簡單線性同余生成器可逆,但太容易被預(yù)測。團(tuán)隊(duì)需要造一把"雙向鎖":對外是混沌黑箱,對內(nèi)是透明管道。

最終方案基于Feistel網(wǎng)絡(luò)結(jié)構(gòu)——一種被DES、AES等算法反復(fù)驗(yàn)證的設(shè)計(jì)。核心思想是把輸入分成兩半,通過多輪輪函數(shù)交替混淆。V8的實(shí)現(xiàn)選了4輪,每輪用不同的64位隨機(jī)密鑰與數(shù)據(jù)塊進(jìn)行算術(shù)運(yùn)算。輪函數(shù)本身不可逆,但整輪流程是置換,只要按逆序應(yīng)用輪密鑰就能還原。


密鑰空間被刻意限制在運(yùn)行時(shí)內(nèi)部。編譯后的V8二進(jìn)制不攜帶密鑰,每次啟動時(shí)由操作系統(tǒng)熵源重新生成。攻擊者即使拿到相同版本的Node.js,也無法復(fù)現(xiàn)哈希值。

統(tǒng)計(jì)檢驗(yàn)與工程取舍

設(shè)計(jì)完成后,團(tuán)隊(duì)用NIST SP 800-22測試套件對哈希輸出進(jìn)行檢驗(yàn)。15項(xiàng)統(tǒng)計(jì)測試中,該函數(shù)全部通過,包括頻率檢驗(yàn)、游程檢驗(yàn)、矩陣秩檢驗(yàn)等。特別針對哈希攻擊場景,團(tuán)隊(duì)還測試了雪崩效應(yīng):輸入改變1比特,輸出平均50%比特翻轉(zhuǎn),符合密碼學(xué)哈希的混淆要求。

性能數(shù)據(jù)同樣關(guān)鍵。可逆性帶來的開銷被控制在1%以內(nèi)。在典型的字符串哈希緩存場景中,新方案相比舊方案內(nèi)存占用增加約12%,但消除了存儲原始值的必要——總體仍算節(jié)省。

一個(gè)細(xì)節(jié)暴露了工程現(xiàn)實(shí)的復(fù)雜性。V8內(nèi)部有種"數(shù)字字符串"優(yōu)化:純數(shù)字字符串會被直接解析為整數(shù)哈希,避免完整字符串哈希計(jì)算。新方案必須兼容這個(gè)捷徑,否則大量JSON解析場景會性能暴跌。團(tuán)隊(duì)最終讓數(shù)字字符串走同一套Feistel流程,但用固定密鑰派生路徑,既保安全又不破壞優(yōu)化。

Node.js的修復(fù)時(shí)間線

漏洞披露到修復(fù)上線歷時(shí)87天。2025年12月,安全研究員通過HackerOne提交報(bào)告,演示了用200個(gè)特定字符串讓Node.js事件循環(huán)阻塞超過30秒。Node.js安全工作組確認(rèn)影響后,協(xié)調(diào)V8團(tuán)隊(duì)共同開發(fā)修復(fù)。

2026年2月,修復(fù)方案進(jìn)入Node.js 18.x、20.x、22.x的LTS分支。3月安全發(fā)布日,三個(gè)版本同步更新。由于涉及V8引擎底層,Electron、Deno等依賴項(xiàng)目也收到提前通知。

值得玩味的是瀏覽器端的處理。Chrome團(tuán)隊(duì)評估后認(rèn)為,同源策略和站點(diǎn)隔離已足夠緩解風(fēng)險(xiǎn),未同步更新哈希方案。同一套V8代碼,在客戶端和服務(wù)器端走上了不同的安全策略——這解釋了為什么Node.js需要獨(dú)立的安全發(fā)布流程,而非簡單跟隨Chrome更新。

修復(fù)發(fā)布后,有開發(fā)者在GitHub issue下提問:如果攻擊者通過側(cè)信道(如時(shí)序分析)推測輪函數(shù)結(jié)構(gòu),F(xiàn)eistel的4輪設(shè)計(jì)是否足夠?V8工程師回復(fù)稱,當(dāng)前威脅模型假設(shè)攻擊者只能進(jìn)行黑盒查詢,物理側(cè)信道不在考慮范圍內(nèi)——但留下一句"歡迎提交新的安全報(bào)告"。

這把"雙向鎖"的鑰匙,現(xiàn)在握在每個(gè)Node.js進(jìn)程啟動時(shí)的系統(tǒng)熵池手里。而攻擊者面對的,是一個(gè)每次重啟都換鎖芯的保險(xiǎn)箱。下一個(gè)問題或許是:當(dāng)量子計(jì)算讓64位密鑰變得可窮舉,V8的第5輪設(shè)計(jì)該留多少性能余量?

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點(diǎn)推薦
沙特:若對伊開戰(zhàn)將啟動巴基斯坦核保護(hù)傘

沙特:若對伊開戰(zhàn)將啟動巴基斯坦核保護(hù)傘

Nee看
2026-03-25 19:07:00
特朗普殺了他全家!他會當(dāng)伊朗張學(xué)良嗎?

特朗普殺了他全家!他會當(dāng)伊朗張學(xué)良嗎?

烏鴉校尉
2026-03-25 18:19:47
馬筱梅眼含淚水回應(yīng)!買房真因不是自私,汪小菲第一次和張?zhí)m同隊(duì)

馬筱梅眼含淚水回應(yīng)!買房真因不是自私,汪小菲第一次和張?zhí)m同隊(duì)

潮鹿逐夢
2026-03-24 13:13:55
研究所所長猥褻下屬后續(xù),女主多張高清照曝光,知情人再爆料

研究所所長猥褻下屬后續(xù),女主多張高清照曝光,知情人再爆料

觀察鑒娛
2026-03-26 09:25:28
不得不說,面相真的能看出一個(gè)人的路子。停播快兩個(gè)月的李亞鵬,

不得不說,面相真的能看出一個(gè)人的路子。停播快兩個(gè)月的李亞鵬,

小光侃娛樂
2026-03-26 17:05:03
為什么只有革命衛(wèi)隊(duì)與美以干,而伊朗40萬國防軍沉默觀戰(zhàn)?

為什么只有革命衛(wèi)隊(duì)與美以干,而伊朗40萬國防軍沉默觀戰(zhàn)?

廖保平
2026-03-17 09:04:38
連蔡依林都在玩,“雪山救狐貍”到底是什么梗?對話視頻原創(chuàng)作者:最初只是為了賣醬板鴨,特意設(shè)置反轉(zhuǎn)劇情,沒想到會這么火

連蔡依林都在玩,“雪山救狐貍”到底是什么梗?對話視頻原創(chuàng)作者:最初只是為了賣醬板鴨,特意設(shè)置反轉(zhuǎn)劇情,沒想到會這么火

極目新聞
2026-03-25 19:37:57
露出了狐貍尾巴?朱立倫主動邀約國民黨“立委”,或?yàn)楸茖m鄭麗文

露出了狐貍尾巴?朱立倫主動邀約國民黨“立委”,或?yàn)楸茖m鄭麗文

承受之重
2026-03-25 12:45:53
1981年,彭真獄中見江青,江青出言不遜提出:我要見華國鋒鄧小平

1981年,彭真獄中見江青,江青出言不遜提出:我要見華國鋒鄧小平

微野談寫作
2026-01-27 06:00:03
人情薄如紙!丈夫住院100天沒人探望,出院當(dāng)天大伯突然打來電話

人情薄如紙!丈夫住院100天沒人探望,出院當(dāng)天大伯突然打來電話

水泥土的搞笑
2026-03-26 17:37:27
15戰(zhàn)14勝,加時(shí)掀翻東部第一!新鷹王27+8+12證明賤賣特雷楊有理

15戰(zhàn)14勝,加時(shí)掀翻東部第一!新鷹王27+8+12證明賤賣特雷楊有理

鍋?zhàn)踊@球
2026-03-26 11:25:55
充電樁市場價(jià)格戰(zhàn)慘烈!每度電服務(wù)費(fèi)收三毛 利潤只有4分錢

充電樁市場價(jià)格戰(zhàn)慘烈!每度電服務(wù)費(fèi)收三毛 利潤只有4分錢

快科技
2026-03-24 00:22:40
江蘇擬建一條過江通道,或?qū)⒃倨啤笆澜缂o(jì)錄”

江蘇擬建一條過江通道,或?qū)⒃倨啤笆澜缂o(jì)錄”

水泥土的搞笑
2026-03-26 14:04:59
到底是誰讓馬景濤穿這身衣服的?簡直是災(zāi)難現(xiàn)場!

到底是誰讓馬景濤穿這身衣服的?簡直是災(zāi)難現(xiàn)場!

西樓知趣雜談
2026-03-25 23:41:24
美軍發(fā)布戰(zhàn)果,摧毀中國產(chǎn)戰(zhàn)機(jī),伊朗空軍損失殆盡

美軍發(fā)布戰(zhàn)果,摧毀中國產(chǎn)戰(zhàn)機(jī),伊朗空軍損失殆盡

愛吃醋的貓咪
2026-03-22 22:29:08
利空突襲,全線殺跌!

利空突襲,全線殺跌!

中國基金報(bào)
2026-03-26 13:16:51
周杰倫的INS被網(wǎng)友沖爆,新歌MV里手表調(diào)到“83”,疑用舊戀情炒作賣新唱片

周杰倫的INS被網(wǎng)友沖爆,新歌MV里手表調(diào)到“83”,疑用舊戀情炒作賣新唱片

回旋鏢
2026-03-25 20:38:44
延壽9年,心臟病風(fēng)險(xiǎn)降60%!悉尼大學(xué)最新:飲食、睡眠、運(yùn)動最佳組合出爐,小改變也大有益

延壽9年,心臟病風(fēng)險(xiǎn)降60%!悉尼大學(xué)最新:飲食、睡眠、運(yùn)動最佳組合出爐,小改變也大有益

醫(yī)諾維
2026-03-24 17:02:18
廣東:力爭到2026年底 建成50個(gè)以上特色鮮明、功能突出的生產(chǎn)性服務(wù)業(yè)集聚區(qū)

廣東:力爭到2026年底 建成50個(gè)以上特色鮮明、功能突出的生產(chǎn)性服務(wù)業(yè)集聚區(qū)

財(cái)聯(lián)社
2026-03-26 10:15:09
中國軍事專家送日本3句話,太絕了,真不是嚇唬他們

中國軍事專家送日本3句話,太絕了,真不是嚇唬他們

安安說
2026-03-26 11:21:19
2026-03-26 20:03:00
像素與芯片
像素與芯片
有態(tài)度網(wǎng)友ytd
466文章數(shù) 2關(guān)注度
往期回顧 全部

科技要聞

Meta高管狂分百億期權(quán),700名員工卻下崗

頭條要聞

張雪峰留巨額遺產(chǎn):二婚妻子或拿50% 剩下的女兒占1/3

頭條要聞

張雪峰留巨額遺產(chǎn):二婚妻子或拿50% 剩下的女兒占1/3

體育要聞

申京努力了,然而杜蘭特啊

娛樂要聞

劉曉慶妹妹發(fā)聲!稱姐姐受身邊人挑撥

財(cái)經(jīng)要聞

油價(jià)"馴服"特朗普?一到100美元就TACO

汽車要聞

一汽奧迪A6L e-tron開啟預(yù)售 CLTC最大續(xù)航815km

態(tài)度原創(chuàng)

游戲
教育
時(shí)尚
健康
本地

《迷你金屬2》4月開啟開發(fā)版測試 軍事題材戰(zhàn)略模擬

教育要聞

2026人工智能時(shí)代下的教育課堂變革

皮衣+裙,高級到炸

轉(zhuǎn)頭就暈的耳石癥,能開車上班嗎?

本地新聞

救命,這只醬板鴨已經(jīng)在我手機(jī)復(fù)仇了一萬遍

無障礙瀏覽 進(jìn)入關(guān)懷版