TMT观察网_独特视角观察TMT行业

以太坊JSON-RPC接口多種盜幣揭秘之知識篇區塊鏈

區塊鏈安全檔案 2018-08-21 21:31
分享到:
導讀

WF曲速未來表示:以太坊,作為區塊鏈2.0時代的代表,通過智能合約平臺,解決比特幣拓展性不足的問題,在金融行業有了巨大的應用。

前面寫的話:

以太坊,作為區塊鏈 2.0 時代的代表,通過智能合約平臺,解決比特幣拓展性不足的問題,在金融行業有了巨大的應用。

通過智能合約進行交易,不用管交易時間,不用管交易是否合法,只要能夠符合智能合約的規則,就可以進行無限制的交易。在巨大的經濟利益下,總會有人走上另一條道路。

在2018年6月29日,以太坊黑色情人節事件(即偷渡漏洞)新型攻擊手法被發現。該攻擊手法在本文中亦稱之為:離線攻擊。在結合蜜罐數據復現該攻擊手法的過程中發現,在真實場景中,還存在另外兩種新型的攻擊方式:重放攻擊和爆破攻擊,由于此類攻擊方式出現在偷渡漏洞曝光后,我們將這些攻擊手法統一稱為后偷渡時代的盜幣方式。

下面將會在介紹相關知識點后,針對偷渡漏洞及后偷渡時代的盜幣方式,模擬復現盜幣的實際流程,對攻擊成功的關鍵點進行分析。

關鍵知識點

1.1 RLP 編碼

RLP(遞歸長度前綴)從名字可以看出它的特點:一個是遞歸,被編碼的數據是遞歸的結構,編碼算法也是遞歸進行處理的;二是長度前綴,也就是RLP編碼都帶有一個前綴,這個前綴是跟被編碼數據的長度相關的,RLP提供了一種適用于任意二進制數據數組的編碼,RLP已經成為以太坊中對對象進行序列化的主要編碼方式。

RLP編碼會對字符串和列表進行序列化操作,具體的編碼流程如下圖:

在此,也以3.4.1節中eth_signTransaction接口返回的簽名數據為例,解釋該簽名數據是如何經過tx編碼后得到的。

根據RLP編碼的規則,我們對tx字段當作一個列表按順序進行編碼(hash 除外)。由于長度必定大于55字節,所以采用最后一種編碼方式。

暫且先拋開前兩位,對所有項進行RLP編碼,結果如下:

合并起來就是:

一共是214位,長度是107比特,也就意味著第二位是0x6b,第一位是0xf7 len(0x6b)=0xf8, 這也是最終raw的內容:

1.2 keystore 文件及其解密

keystore文件用于存儲以太坊私鑰。為了避免私鑰明文存儲導致泄漏的情況發生,keystore文件應運而生。讓我們結合下文中的keystore文件內容來看一下私鑰是被如何加密的:

在此,將結合私鑰的加密過程說明各字段的意義:

加密步驟一:使用aes-128-ctr對以太坊賬戶的私鑰進行加密

開頭那里已經說到,keystore文件是為了避免私鑰明文存儲導致泄漏的情況發生而出現的,所以加密的第一步就是對以太坊賬戶的私鑰進行加密。這里使用了aes-128-ctr方式進行加密。設置解密密鑰和初始化向量iv就可以對以太坊賬戶的私鑰進行加密,得到加密后的密文。

keystore文件中的cipher、cipherparams、ciphertext參數與該加密步驟有關:

加密步驟二:利用kdf算法計算解密密鑰

經過加密步驟一,以太坊賬戶的私鑰已經被成功加密。我們只需要記住解密密鑰就可以進行解密,但這里又出現了一個新的問題,解密密鑰長達32位且毫無規律可言。所以以太坊又使用了一個密鑰導出函數(kdf)計算解密密鑰。在這個keystore文件中,根據kdf參數可以知道使用的是scrypt算法。最終實現的效果就是:對我們設置的密碼與kdfparams中的參數進行scrypt計算,就會得到加密步驟 1中設置的解密密鑰.

keystore文件中的kdf、kdfparams參數與該加密步驟有關:

加密步驟三:驗證用戶密碼的正確性

假設用戶輸入了正確的密碼,只需要通過步驟一二進行解密就可以得到正確的私鑰。但我們不能保證用戶每次輸入的密碼都是正確的。所以引入了驗算的操作。驗算的操作十分簡單,取步驟二解密出的密鑰的第十七到三十二位和ciphertext進行拼接,計算出該字符串的sha3_256的值。如果和mac的內容相同,則說明密碼正確。

keystore文件中的mac參數與該步驟有關:

綜上所述,要從keystore文件中解密出私鑰,所需的步驟是:

流程圖如下:

1.3 以太坊交易的流程

根據源碼以及網上已有的資料總結了以太坊的交易流程如下:

1.用戶發起轉賬請求。

2.以太坊對轉賬信息進行簽名

3.校驗簽名后的信息并將信息加入交易緩存池 (txpool)

4.從交易緩存池中提取交易信息進行廣播

對本文來說,步驟2:以太坊對轉賬信息進行簽名對于理解3.4節利用離線漏洞進行攻擊十分重要。

從上文中我們可以知道,私鑰已經被加密在keystore文件中,所以在步驟2進行簽名操作之前,需要將私鑰解密出來。在以太坊的操作中有專門的接口用于解鎖賬戶:personal.unlockAccount

在解鎖對應的賬戶后,我們將可以進行轉賬操作。在用私鑰進行簽名前,存在一些初始化操作:

這里可以注意一點:Transaction結構體中是不存在from字段的。這里不添加from字段和后面的簽名算法有著密切的關系。

使用私鑰對交易信息進行簽名主要分為兩步:

對構造的列表進行RLP編碼,然后通過sha3_256計算出編碼后字符串的hash值。

由于以太坊的地址是公鑰去除第一個比特后經過sha3_256加密的后40位,所以在交易信息中不包含from的情況下,我們依舊可以知道這筆交易來自于哪個地址。這也是前文說到Transaction結構體中不存在from的原因。

在簽名完成后,將會被添加進交易緩存池(txpool),在這個操作中,from將會被還原出來,并進行一定的校驗操作。同時也考慮到交易緩存池的各種極端情況,例如:在交易緩存池已滿的情況下,會將金額最低的交易從緩存池中移除。

最終,交易緩存池中存儲的交易會進行廣播,網絡中各節點收到該交易后都會將該交易存入交易緩存池。當某節點挖到新的區塊時,將會從交易緩存池中按照gasPrice高低排序交易并打包進區塊。

所謂磨刀不誤砍柴功,只有清楚地掌握了關鍵知識點,才能在理解下面的漏洞原理時游刃有余。

進行 交易 編碼 加密 解密
分享到:

1.TMT觀察網遵循行業規范,任何轉載的稿件都會明確標注作者和來源;
2.TMT觀察網的原創文章,請轉載時務必注明文章作者和"來源:TMT觀察網",不尊重原創的行為TMT觀察網或將追究責任;
3.作者投稿可能會經TMT觀察網編輯修改或補充。


專題報道

主站蜘蛛池模板: 碎石机设备-欧版反击破-欧版颚式破碎机(站)厂家_山东奥凯诺机械 高低温试验箱-模拟高低温试验箱订制-北京普桑达仪器科技有限公司【官网】 | 青岛侦探调查_青岛侦探事务所_青岛调查事务所_青岛婚外情取证-青岛狄仁杰国际侦探公司 | 数控走心机-双主轴走心机厂家-南京建克 | 北京网络营销推广_百度SEO搜索引擎优化公司_网站排名优化_谷歌SEO - 北京卓立海创信息技术有限公司 | 小程序开发公司-小程序制作-微信小程序开发-小程序定制-咏熠软件 | 卫生人才网-中国专业的医疗卫生医学人才网招聘网站! | 真空泵维修保养,普发,阿尔卡特,荏原,卡西亚玛,莱宝,爱德华干式螺杆真空泵维修-东莞比其尔真空机电设备有限公司 | 消防设施操作员考试报名时间,报名入口,报考条件 | 【灵硕展览集团】展台展会设计_展览会展台搭建_展览展示设计一站式服务公司 | 大型低温冷却液循环泵-低温水槽冷阱「厂家品牌」京华仪器_京华仪器 | 雾度仪_雾度计_透光率雾度仪价格-三恩时(3nh)光电雾度仪厂家 | 【星耀裂变】_企微SCRM_任务宝_视频号分销裂变_企业微信裂变增长_私域流量_裂变营销 | 低噪声电流前置放大器-SR570电流前置放大器-深圳市嘉士达精密仪器有限公司 | 振动时效_振动时效仪_超声波冲击设备-济南驰奥机电设备有限公司 北京宣传片拍摄_产品宣传片拍摄_宣传片制作公司-现像传媒 | 岸电电源-60HZ变频电源-大功率变频电源-济南诚雅电子科技有限公司 | 轴流风机-鼓风机-离心风机-散热风扇-罩极电机,生产厂家-首肯电子 | 低浓度恒温恒湿称量系统,强光光照培养箱-上海三腾仪器有限公司 | 深圳品牌设计公司-LOGO设计公司-VI设计公司-未壳创意 | 郑州爱婴幼师学校_专业幼师培训_托育师培训_幼儿教育培训学校 | 金属波纹补偿器厂家_不锈钢膨胀节价格_非金属伸缩节定制-庆达补偿器 | 高防护蠕动泵-多通道灌装系统-高防护蠕动泵-www.bjhuiyufluid.com慧宇伟业(北京)流体设备有限公司 | 集装箱展厅-住人集装箱住宿|建筑|房屋|集装箱售楼处-山东锐嘉科技工程有限公司 | 武汉创亿电气设备有限公司_电力检测设备生产厂家 | led太阳能路灯厂家价格_风光互补庭院灯_农村市政工程路灯-中山华可路灯品牌 | 西安耀程造价培训机构_工程预算实训_广联达实作实操培训 | 南京交通事故律师-专打交通事故的南京律师 | 喷播机厂家_二手喷播机租赁_水泥浆洒布机-河南青山绿水机电设备有限公司 | 衢州装饰公司|装潢公司|办公楼装修|排屋装修|别墅装修-衢州佳盛装饰 | 插针变压器-家用电器变压器-工业空调变压器-CD型电抗器-余姚市中驰电器有限公司 | 重庆小面培训_重庆小面技术培训学习班哪家好【终身免费复学】 | 石家庄律师_石家庄刑事辩护律师_石家庄取保候审-河北万垚律师事务所 | 3D全息投影_地面互动投影_360度立体投影_水幕灯光秀 | 广东银虎 蜂窝块状沸石分子筛-吸附脱硫分子筛-萍乡市捷龙环保科技有限公司 | 生物除臭剂-除味剂-植物-污水除臭剂厂家-携葵环保有限公司 | 净水器代理,净水器招商,净水器加盟-FineSky德国法兹全屋净水 | 专注提供国外机电设备及配件-工业控制领域一站式服务商-深圳市华联欧国际贸易有限公司 | 接地电阻测试仪[厂家直销]_电缆故障测试仪[精准定位]_耐压测试仪-武汉南电至诚电力设备 | 工业设计,人工智能,体验式3D展示的智能技术交流服务平台-纳金网 J.S.Bach 圣巴赫_高端背景音乐系统_官网 | 成都热收缩包装机_袖口式膜包机_高速塑封机价格_全自动封切机器_大型套膜机厂家 | 小港信息港-鹤壁信息港 鹤壁老百姓便民生活信息网站 | 济南拼接屏_山东液晶拼接屏_济南LED显示屏—维康国际官网 | 避光流动池-带盖荧光比色皿-生化流动比色皿-宜兴市晶科光学仪器 东莞爱加真空科技有限公司-进口真空镀膜机|真空镀膜设备|Polycold维修厂家 |