By:?Johan
據慢霧安全團隊情報,2023年3月13日,Ethereum鏈上的借貸項目EulerFinance遭到攻擊,攻擊者獲利約2億美元。
黑客在攻擊完Euler后,為了混淆視聽逃避追查,轉了100ETH給盜取了Ronin6.25億多美金的黑客拉撒路。拉撒路順水推舟將計就計,隨即給Euler黑客發了一條鏈上加密消息,并回禮了2枚ETH:
消息內容是提示EulerExploiter用eth-ecies解密這條消息。
質疑
按道理說在公開的環境下,如果RoninExploiter只是想加密通訊,使?公鑰加密是最簡單的?案。
??公鑰加密:
C={rG,M+rQ}={C1,C2}
????私鑰解密:
M=M+r(dG)?d(rG)=C2?d(C1)
Cronos將于5月10日升級至v0.7.0:5月5日消息,Crypto.com 生態 EVM 兼容鏈 Cronos 計劃于 5 月 10 日升級到 Beta v0.7.0 Huygens 版,升級內容包括節點存儲性能(目標是在升級后的幾周內將鏈容量提高 2 倍)、引入動態交易費用(據網絡利用率自動增加或減少)以及一些修復等。[2022/5/5 2:52:32]
其中密??C,公鑰?Q,私鑰?d,隨機數?r,消息?M。協議很簡單,加密過程不需要?到的私鑰,不存在私鑰泄露的路徑。
使?eth-ecies加密是因為?便還是另有所圖?隨后很快就有?指出eth-ecies存在安全漏洞,RoninExploiter是想竊取EulerExploiter的私鑰。
是否真的如此?且讓我們先分析?下eth-ecies存在的是怎么樣的?個漏洞。
扭曲攻擊漏洞
經過分析,我們發現eth-ecies使?了?"elliptic":"^6.4.0",這是個Javascript橢圓曲線庫,這個版本的庫存在多個安全漏洞,其中?個就是扭曲曲線攻擊漏洞(twistattacks),這個漏洞的成因是在計算ECDH共享密鑰時沒有驗證對?的公鑰是否在曲線上,攻擊者可通過構造??群曲線上的公鑰,誘導受害者計算共享密鑰,從?破解出受害者私鑰。
波場TRON用戶數突破7000萬:2022年1月5日,根據TRONSCAN最新數據顯示,波場TRON賬戶總數達到70,048,480,正式突破7000萬。波場TRON各項數據穩中前進, 波場TRON生態逐漸強大的同時,也將迎來更多交易量。[2022/1/5 8:26:13]
但是這個漏洞的利?難度是很?的,需要有?常契合的場景才能發起攻擊,RoninExploiter是否有機會發起扭曲攻擊呢?
ECDH算法?險
ECDH算法是基于橢圓曲線加密的密鑰交換算法。它與傳統的Diffie-Hellman(DH)算法類似,但是使?的是橢圓曲線上的數學運算來實現密鑰交換,從?提供更?的安全性。
下?是ECDH算法的步驟:
1.?成橢圓曲線:在密鑰交換之前,通信雙?需要選擇?個橢圓曲線,該曲線必須滿??些數學特性,例如離散對數問題。
Andre Cronje更新Rarity代碼庫,已部署“物品(武器)”:9月11日消息,Yearn.finance創始人Andre Cronje更新Fantom鏈上類Loot游戲Rarity的代碼庫。此次部署“物品(武器)”,目前已經完成“商品(Goods)”、“盔甲(Armor)”、“武器(Weapons)”,下一步將是制作MOD。[2021/9/11 23:18:04]
2.?成私鑰和公鑰:每個通信?都需要?成?對私鑰和公鑰。私鑰是?個隨機數,?于計算公鑰。公鑰是?個點,它在橢圓曲線上,并由私鑰計算得出。
3.交換公鑰:通信雙?將??的公鑰發送給對?。
4.計算共享密鑰:通信雙?使?對?發送的公鑰和??的私鑰計算出?個共享密鑰。這個共享密鑰可以?于加密通信中的數據,保證通信的機密性。
為了?便描述下?Alice和Bob分別代表上?雙?,G為基點,假設:
Alice的私鑰是a,則Alice公鑰是A=aG;
Bob的私鑰中b,則Bob公鑰是B=bG。
BitTorrent創始人:Tron幾乎已付清收購BitTorrent的資金:BitTorrent創始人Bram Cohen昨日透露了Tron收購BitTorrent的最終細節,Tron首席執行官孫宇晨已支付1.4億美元收購資金的最后一部款項。他在推特上表示,“經過多次耗時,我最終得到了大部分,但Tron沒有解釋為什么減少了數額。”據悉,Tron在2018年以1.4億美元的價格收購了BitTorrent。在正式完成收購的一年后,Cohen聲稱孫宇晨扣留了雙方約定的最后一部分款項。(Decrypt)[2020/10/2]
核?知識點在共享密鑰計算?法,根據群的乘法交換律,他們只要獲取到對?的公鑰就可以計算出共享密鑰:
????????????????????????S=aB=a(bG)=b(aG)=bA
如果Alice想要刺探Bob的私鑰,她可以選擇?個階數?q??常?的曲線點?H,由于群是循環群,Bob在計算?S′?=bH?時,他得到的?S′?將在這些少量點群以內。Alice不知道Bob的私鑰?b,但可以通過窮舉得到滿??S′=xH?的?x,此時?b≡x?modq?。顯然?x?很?,最?為?q。
動態 | 曼谷銀行宣布與R3財團一起加入Voltron項目:曼谷銀行宣布與R3財團一起加入Voltron項目,利用區塊鏈技術開發信用證服務。據該銀行稱,商業客戶將能夠減少其公司的工作流程,并更容易與貿易伙伴和銀行安排交易。[2018/12/14]
需要多少個扭曲點呢?這取決于每?次選擇的階數?q,需要階數相乘能超過私鑰的最?值,即滿?:
如果我每次選擇的?q???點,那么需要交互的次數?n?就可以少?點,但?q?越?意味著窮舉的難度越?,所以這?需要根據Alice的運算性能做?個取舍。
事件結論
上?我們分析了ECDH算法的?險和攻擊原理,我們再回來看eth-ecies這個庫,實際上它使?的只是?個類似ECDH的算法,它在構造共享私鑰時使?的是臨時密鑰,根本不需要?到加密?的私鑰,所以并不會對加密?構成?險。
那么有沒有可能RoninExploiter是想利?社會?程學引導EulerExploiter使?其它有問題的?具呢??如我們熟知的PGP加密協議?
巧的很,我們很快就發現被?泛使?的開源庫openpgpjs最新版本v5.7.0?還在使?了低版本的?"={1}".format(Gorder,factor(Gorder)))
計算結果:
...=?2?*?3049?*?14821?*?19442993?*?32947377140686418620740736789682514948650410565397852612808537
選擇19442993這個??適中的數,?中國剩余定理創建?個含有19442993個元素的?群:?
x=crt(,)P1=x*G
到這?我們就得到了第?個扭曲的點,把它當作公鑰發送給Bob,Bob就可以計算第?個共享密鑰:
最終得到的結果可表示為:
使?中國剩余定理即可計算出私鑰?b:
x=crt(,)print(x==b)print(hex(x))
總結
本?我們通過?個不同常理的對話開始研究了橢圓曲線加密算法中的扭曲曲線攻擊,分析了漏洞的存在的原因,雖然漏洞利?場景有限,但不失為?個很有價值的漏洞,希望能對?家的學習研究有所啟發。
最后,感謝領先的?站式數字資產?托管服務商Safeheron提供的專業技術建議。
參考資料:
.https://etherscan.io/tx/0xcf0b3487dc443f1ef92b4fe27ff7f89e07588cdc0e2b37d50adb8158c697cea6
.https://github.com/LimelabsTech/eth-ecies
.GitHub-openpgpjs/openpgpjs:OpenPGPimplementationforJavaScript
.Ellipticcurveconstructor-Ellipticcurves
作者?:?@defioasis編輯?:?ColinWuLayerZero于4月4日完成了由a16zCrypto、紅杉資本等投資的1.2億美元B輪融資,融資后估值達到30億美元.
1900/1/1 0:00:00虛擬幣相關犯罪涉案金額認定尤其是違法所得金額的認定一直以來是實務界爭議的難題,這一難題基本上涵蓋了虛擬幣相關犯罪的所有罪名。其中財產犯罪的虛擬幣金額認定問題爭議尤為明顯.
1900/1/1 0:00:00ZK領域頭部專家在本文中分享了零知識證明協議在機制設計和工程建構上的安全原則與新穎方案,以及在設計過程中的種種權衡.
1900/1/1 0:00:00作者丨Dali@Web3CN.Pro2020年3月15日,美聯儲將基準利率下調100個基點至0%-0.25%,并承諾增持至少7000億美元債券.
1900/1/1 0:00:00注:本文主要介紹LSDfi協議0xAcid?,不作任何投資建議以太坊上海升級完成后,ETH的質押收益率可以看作是以太坊的無風險國債利率,基于這一利率衍生出了多種LSDFi協議.
1900/1/1 0:00:00作者:Mike 伴隨著3月23日晚擠爆Arbitrum基金會官網的ARB申領盛況,加密市場的流動性與關注度都在加速涌入Arbitrum生態.
1900/1/1 0:00:00