近期區塊鏈領域黑客攻擊事件頻發,其中有一個很讓Cocoa感興趣的就是Wintermute錢包因靚號地址的問題損失約1.6億美元,具體說來話長,可以參見慢霧的這篇分析。
0.背景簡介
關于什么是靚號地址這里簡單解釋一下,以太坊錢包的地址是一個由0x開頭40個隨機字符的16進制字符串,比如V神的錢包地址就是0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B,很難記憶,也沒有個性特色。
因此有人就別出心裁,通過暴力枚舉的方式,試圖找到好看的靚號地址,比如0x888888開頭,或者為了節約合約部署的費用,使用0x00000開頭的地址。
Profanity就是這樣一個靚號地址生成工具。Profanity的特點就是使用了GPU,所以比其他工具更快地找到靚號地址。
新加坡國會將于11月28日專題討論淡馬錫FTX投資失敗事件:11月25日消息,由于淡馬錫是新加坡財政部負責監管的控股投資公司,新加坡國會將于下周一(11月28日)專題討論淡馬錫FTX投資失敗事件,據悉該國議員已就這一事件提出了超過15個問題,包括新加坡政府是否追蹤淡馬錫和新加坡主權財富基金GIC投資范圍、新加坡金融管理局 (MAS) 是否提出過風險建議、以及新加坡投資者FTX風險敞口的具體數據等。(channelnewsasia)[2022/11/25 20:46:02]
總之,原項目因為存在漏洞,目前倉庫已關閉,而且也不推薦使用,但發現漏洞的1inch幫人幫到底、送佛送上天,提供了船新版本的無漏洞Profanity2,繼續滿足大家的虛榮心。
但個人感覺1inch安全功夫了得,文檔水平太爛,Cocoa貴為期末考試滿分的密碼學小王子,都看了5分鐘才理解到底怎么用。廢話少說,以下就是使用教程。
以太坊研究員:Flashbots正在審查Tornado Cash交易:金色財經報道,以太坊研究員發布了一份報告顯示,MEV運營商Flashbots正在審查來自Tornado Cash的所有交易,根據Wahrst?tter的說法,在The Merge之后使用Flashbots的中繼軟件(用于 MEV Boost)在以太坊上生成的所有 19,436 個以太坊區塊中,沒有一個區塊包含與Tornado Cash相關的交易。雖然Flashbots僅占以太坊區塊的23%,但合規以太坊區塊的實際百分比可能要高得多,這意味著至少23%的以太坊區塊符合美國財政部的制裁。[2022/9/28 5:59:13]
1.編譯代碼
考慮到私鑰的安全性,這類項目建議從官方源碼編譯使用,不過Profanity2有個創新改進,下面會提。
神州信息加入數字人民幣產業聯盟:7月26日消息,記者從神州信息獲悉,公司受邀加入數字人民幣產業聯盟成為理事單位。聯盟集結37家成員單位,旨在對接數字中國戰略,推動數字人民幣新基建創新發展,促進數字人民幣產業發展、聯合技術攻關、技術與知識資源共享。神州信息數字人民幣解決方案已在建設銀行、廣發銀行、北京銀行等20多家銀行實現落地建設,并幫助北京市東城區稅務局成功實現了全市首筆數字人民幣繳納委托代征稅款業務。(e公司)[2022/7/26 2:38:25]
1inch這次提供的是Linux下編譯的代碼,在Windows下編譯需要改一個地方,主要是把Dispatcher.cpp中的以下代碼修改掉。
#include<arpa/inet.h>改成#include<Winsock2.h>
前摩根大通銀行家Samir Shah加入Pantera資本擔任COO:金色財經消息,前摩根大通銀行家Samir Shah出任Pantera Capital首席運營官,Shah在加入Pantera之前,曾在摩根大通任職12年,在銷售、戰略和數字領域擔任職務。(Coindesk)[2022/7/5 1:51:29]
另外還涉及到OpenCL的SDK以及編譯環境搭建的問題,總之這里就假設你已經拿到了可執行程序。
2.本地生成密鑰對
Profanity2的一大改進就是將原來直接生成私鑰、再計算公鑰的步驟,改成:
先生成密鑰對然后把公鑰A放到程序去跑,生成私鑰B最后把私鑰A和私鑰B數學相加,得到私鑰C這個私鑰C對應的公鑰C就是你想要的的靚號了。
其中的數學原理Cocoa還沒深入研究,大致猜測就是先用一個安全可靠的工具生成密鑰對,再通過程序暴力試出一個偏差量,使私鑰加上這個偏差量可以導出靚號公鑰。
這樣的一個好處就是Profanity2可以交由第三方或者云端來運行,因為最終的私鑰C,是由私鑰A和私鑰B相加得到的。
因此首先要生成私鑰A和公鑰A,官方提供了命令,在Linux下直接執行即可:
$opensslecparam-genkey-namesecp256k1-text-noout-outformDER|xxd-p-c1000|sed's/41534e31204f49443a20736563703235366b310a30740201010420/PrivateKey:/'|sed's/a00706052b8104000aa144034200/'$'nPublicKey:/'
上述命令執行完成后,屏幕上便會顯示出PrivateKey和PublicKey,分別就是私鑰A和公鑰A,請注意私鑰A一定要保管好。
3.使用公鑰A去跑出私鑰B
將上面步驟得到的PublicKey去掉開頭的04也就是公鑰A,放到Profanity2中去跑,命令如下:
profanity2--matchingc0c0aXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-z公鑰A
稍等一會就會跑出來一個私鑰B,過程和原版Profanity類似。
4.最終計算得到靚號地址對應的私鑰C
拿到私鑰B后,我們只要加上私鑰A,即可得出最終靚號地址對應的私鑰C了。
官方給了兩個命令,分別是shell的和python的,因為我的kali好像沒有bc,所以用了python的那個。其中私鑰A記得前面加上0x。
(echo'ibase=16;obase=10'&&(echo'(PRIVATE_KEY_A+PRIVATE_KEY_B)%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F'|tr''''))|bc
$python3
hex((PRIVATE_KEY_A+PRIVATE_KEY_B)%0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F)
最后就得到一個0x開頭的私鑰C,導入metamask等錢包就可以看到我們的靚號地址啦。
附贈章節:漏洞原理簡介
以太坊的私鑰是32字節的,但是原版Profanity在生成這個256位的私鑰時,僅采用了4字節的隨機數作為偽隨機數生成器的seed。
這是小弟第一篇區塊鏈安全文章,歡迎各位大佬批評指教。我的twitter:@featherye
Meme效應在加密圈有多強?馬斯克就是最好的例子。狗狗幣?和屎幣在馬斯克的一段持續喊單中,從底部上漲超百倍,并迅速火爆出圈,成就一眾造富神話.
1900/1/1 0:00:00MarsBitCryptoDaily2022年10月14日 一、今日要聞 在zkSync上部署UniswapV3的提案獲得通過據相關頁面信息顯示.
1900/1/1 0:00:00XEN大眾的加密貨幣 一般的 XEN的使命是什么? XEN旨在成為一個社區建立加密資產,將志同道合的人聯系在一起.
1900/1/1 0:00:00簡介 在多年尋求監管合規之后,Facebook/Meta的加密支付項目Diem在2022年戛然而止。其資產被出售,包括底層區塊鏈網絡。在它之后,留下了不少人才.
1900/1/1 0:00:00今天TP錢包上面transit閃兌服務鬧得沸沸揚揚,黑客已盜上億資金,我們在web3傲游的同時如何保障資金和隱私安全?看完本篇你應該不會再被盜了吧!一、你所有的操作都有泄露隱私的風險網絡世界的安.
1900/1/1 0:00:002022年第三季度,黑客從Web3.0領域中盜取了總價值約5億美元的資產,這個數字相比上季度減少了32.32%,同時今年的損失總額增長至28.8億美元.
1900/1/1 0:00:00