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

以太坊JSON-RPC接口多種盜幣揭秘之重放攻擊區(qū)塊鏈

區(qū)塊鏈安全檔案 2018-08-24 04:31
分享到:
導讀

WF曲速未來提醒:對于曾經(jīng)被盜幣,修復方案僅為:關(guān)閉對公網(wǎng)暴露的RPC接口,關(guān)閉后繼續(xù)使用節(jié)點中相關(guān)賬戶的節(jié)點,可能會受到該攻擊。

交易緩存池的重放攻擊

WF曲速未來提醒:對于曾經(jīng)被盜幣,修復方案僅為:關(guān)閉對公網(wǎng)暴露的RPC接口,關(guān)閉后繼續(xù)使用節(jié)點中相關(guān)賬戶的節(jié)點,可能會受到該攻擊。

在之前講到,為了實現(xiàn)攻擊者不停的發(fā)送轉(zhuǎn)賬請求的功能,筆者使用了while True循環(huán),并且在geth終端中看到了多條成功簽名的交易hash。由于交易緩存池擁有一定的校驗機制,所以除了第一筆交易0x4ad68aafc59f18a11c0ea6e25588d296d52f04edd969d5674a82dfd4093634f6外,剩下的交易應該因為賬戶余額不足而被移出交易緩存池。

但是在測試網(wǎng)絡(luò)中卻出現(xiàn)了截然不同的情況,在我們關(guān)閉本地的geth客戶端后,應該被移出交易緩存池的交易在余額足夠的情況下會再次出現(xiàn)并交易成功:

(為了避免該現(xiàn)象的出現(xiàn),可以在成功轉(zhuǎn)賬之后利用break終止相關(guān)的循環(huán))

這個交易奇怪的地方在于:在賬戶余額不足的情況下,查找不到任何Pendding Transactions:

當賬戶余額足夠支付時,被移出交易緩存池的交易會重新出現(xiàn),并且是 Pendding 狀態(tài)。

在部分pendding的交易完成后,剩余的交易將會繼續(xù)消失。

這也就意味著,如果攻擊者能夠在利用偷渡漏洞的過程中,在交易被打包進區(qū)塊,賬號狀態(tài)發(fā)生改變前發(fā)送大量的交易信息,第一條交易會被立即實行,剩余的交易會在受害人賬號余額大于轉(zhuǎn)賬金額 gas 消耗的金額的時候繼續(xù)交易,而且這個交易信息在大多數(shù)情況下不會被查到。

對于這個問題進行分析研究后,我們認為可能的原因是:以太坊在同步交易緩存池的過程中可能因為網(wǎng)絡(luò)波動、分布式的特點等原因,導致部分交易多次進入交易緩存池。這也導致部分應該被移出交易緩存池的交易多次重復進入交易緩存池。

具體的攻擊流程如下:

本地復現(xiàn)過程

對于前面講到的現(xiàn)象進行了多方面的猜測。最終在低版本的geth中模擬復現(xiàn)了該問題。但由于現(xiàn)實環(huán)境的復雜性和不可控性,并不能確定該模擬過程就是造成該現(xiàn)象的最終原因,故該本地復現(xiàn)流程僅供參考。

攻擊復現(xiàn)環(huán)境位于私鏈中,私鏈挖礦難度設(shè)置為0×400000,保證在挖出區(qū)塊之前擁有足夠的時間檢查各節(jié)點的交易緩存池。geth的版本為1.5.0。

被攻擊者的節(jié)點A:通過geth–networkid 233–nodiscover–verbosity6–ipcdisable–datadir data0–rpc–rpcaddr0.0.0.0console啟動。

礦機節(jié)點B,負責挖礦:通過geth–networkid 233–nodiscover–verbosity 6–ipcdisable–datadir data0–port30304–rpc–rpcport 8546 console啟動并在終端輸入miner.start(1),使用單線程進行挖礦。

存在問題的節(jié)點 C:通過geth–networkid 233–nodiscover–verbosity 6–ipcdisable–datadir data0–port 30305–rpc–rpcport 8547 console啟動。

各節(jié)點啟動后通過admin.nodeInfo和admin.addPeer()相互添加節(jié)點。

1. 攻擊者掃描到被攻擊節(jié)點A開放了rpc端口,使用如下代碼開始攻擊:

2.節(jié)點A的用戶由于轉(zhuǎn)賬的需求,使用personal.unlockAccount()解鎖賬戶,導致偷渡漏洞發(fā)生。由于一共進行了三次轉(zhuǎn)賬請求并成功廣播,所以A、B、C交易緩存池中均存在這三筆交易。

3. 由于網(wǎng)絡(luò)波動等原因,此時節(jié)點C與其它節(jié)點失去連接。在這里用admin.removePeer()模擬節(jié)點C掉線。節(jié)點B繼續(xù)挖礦,完成相應的交易。后兩筆交易會因為余額不足從交易緩存池中移除,最終節(jié)點A,B的交易緩存池中將不會有任何交易。

4.上述步驟1-3即是前文說到的偷渡漏洞,被攻擊者A發(fā)現(xiàn)其節(jié)點被攻擊,迅速修改了節(jié)點A的啟動命令,去除了–rpc–rpcaddr 0.0.0.0,避免RPC端口暴露在公網(wǎng)之中。之后繼續(xù)使用該賬戶進行了多次轉(zhuǎn)賬。例如,使用其它賬號給節(jié)點A上的賬號轉(zhuǎn)賬,使的節(jié)點A上的賬號余額為1.980065000882e 24

5.節(jié)點C再次連接進網(wǎng)絡(luò),會將其交易池中的三個交易再次廣播,發(fā)送到各節(jié)點。這就造成已經(jīng)移除交易緩存池的交易再次回到交易緩存池中。

6.由于此時節(jié)點A的賬戶余額足夠,第二個交易將會被打包進區(qū)塊,節(jié)點A中的余額再次被盜。

WF曲速未來提醒:在實際的場景中,不一定會出現(xiàn)節(jié)點 C 失去連接的情況,但由于存在大量分布式節(jié)點的原因,交易被其它節(jié)點重新發(fā)送的情況也是可能出現(xiàn)的。這也可以解釋為什么在前文說到:賬戶余額足夠時,會出現(xiàn)大量應該被移除的pendin交易,在部分交易完成后,pending交易消失的的情況。當賬戶余額足夠時,重新廣播交易的節(jié)點會將之前所有的交易再次廣播出去,在交易完成后,剩余pending交易會因為余額不足再次從交易緩存池中被移除。

除了文章說到的現(xiàn)象外,亦不排除攻擊者設(shè)置了惡意的以太坊節(jié)點,接收所有的交易信息并將部分交易持續(xù)廣播。但由于該猜想無法驗證,故僅作為猜測思路提供。

交易 節(jié)點 緩存 余額 賬戶
分享到:

1.TMT觀察網(wǎng)遵循行業(yè)規(guī)范,任何轉(zhuǎn)載的稿件都會明確標注作者和來源;
2.TMT觀察網(wǎng)的原創(chuàng)文章,請轉(zhuǎn)載時務(wù)必注明文章作者和"來源:TMT觀察網(wǎng)",不尊重原創(chuàng)的行為TMT觀察網(wǎng)或?qū)⒆肪控熑危?br> 3.作者投稿可能會經(jīng)TMT觀察網(wǎng)編輯修改或補充。


專題報道

主站蜘蛛池模板: 电缆隧道在线监测-智慧配电站房-升压站在线监测-江苏久创电气科技有限公司 | 济宁工业提升门|济宁电动防火门|济宁快速堆积门-济宁市统一电动门有限公司 | 政府园区专业委托招商平台_助力企业选址项目快速落地_东方龙商务集团 | 锂辉石检测仪器,水泥成分快速分析仪-湘潭宇科分析仪器有限公司 | uv固化机-丝印uv机-工业烤箱-五金蚀刻机-分拣输送机 - 保定市丰辉机械设备制造有限公司 | 上海盐水喷雾试验机_两厢式冷热冲击试验箱-巨怡环试 | 恒温恒湿箱(药品/保健品/食品/半导体/细菌)-兰贝石(北京)科技有限公司 | 神马影院-实时更新秒播| 京马网,京马建站,网站定制,营销型网站建设,东莞建站,东莞网站建设-首页-京马网 | 真空搅拌机-行星搅拌机-双行星动力混合机-广州市番禺区源创化工设备厂 | 钢格板|镀锌钢格板|热镀锌钢格板|格栅板|钢格板|钢格栅板|热浸锌钢格板|平台钢格板|镀锌钢格栅板|热镀锌钢格栅板|平台钢格栅板|不锈钢钢格栅板 - 专业钢格板厂家 | 车牌识别道闸_停车场收费系统_人脸识别考勤机_速通门闸机_充电桩厂家_中全清茂官网 | 福州时代广告制作装饰有限公司-福州广告公司广告牌制作,福州展厅文化墙广告设计, | 雷蒙磨,雷蒙磨粉机,雷蒙磨机 - 巩义市大峪沟高峰机械厂 | 不锈钢闸阀_球阀_蝶阀_止回阀_调节阀_截止阀-可拉伐阀门(上海)有限公司 | 铝板冲孔网,不锈钢冲孔网,圆孔冲孔网板,鳄鱼嘴-鱼眼防滑板,盾构走道板-江拓数控冲孔网厂-河北江拓丝网有限公司 | 工程管道/塑料管材/pvc排水管/ppr给水管/pe双壁波纹管等品牌管材批发厂家-河南洁尔康建材 | 专业深孔加工_东莞深孔钻加工_东莞深孔钻_东莞深孔加工_模具深孔钻加工厂-东莞市超耀实业有限公司 | 硫酸亚铁-聚合硫酸铁-除氟除磷剂-复合碳源-污水处理药剂厂家—长隆科技 | 帽子厂家_帽子工厂_帽子定做_义乌帽厂_帽厂_制帽厂 | 佛山市钱丰金属不锈钢蜂窝板定制厂家|不锈钢装饰线条|不锈钢屏风| 电梯装饰板|不锈钢蜂窝板不锈钢工艺板材厂家佛山市钱丰金属制品有限公司 | 活性氧化铝球|氧化铝干燥剂|分子筛干燥剂|氢氧化铝粉-淄博同心材料有限公司 | 电解抛光加工_不锈钢电解抛光_常州安谱金属制品有限公司 | 寮步纸箱厂_东莞纸箱厂 _东莞纸箱加工厂-东莞市寮步恒辉纸制品厂 | atcc网站,sigma试剂价格,肿瘤细胞现货,人结肠癌细胞株购买-南京科佰生物 | 生物制药洁净车间-GMP车间净化工程-食品净化厂房-杭州波涛净化设备工程有限公司 | 济南ISO9000认证咨询代理公司,ISO9001认证,CMA实验室认证,ISO/TS16949认证,服务体系认证,资产管理体系认证,SC食品生产许可证- 济南创远企业管理咨询有限公司 郑州电线电缆厂家-防火|低压|低烟无卤电缆-河南明星电缆 | 电梯装饰-北京万达中意电梯装饰有限公司 | 茶楼装修设计_茶馆室内设计效果图_云臻轩茶楼装饰公司 | 河南正规膏药生产厂家-膏药贴牌-膏药代加工-修康药业集团官网 | 知企服务-企业综合服务(ZiKeys.com)-品优低价、种类齐全、过程管理透明、速度快捷高效、放心服务,知企专家! | 电镀标牌_电铸标牌_金属标贴_不锈钢标牌厂家_深圳市宝利丰精密科技有限公司 | AGV叉车|无人叉车|AGV智能叉车|AGV搬运车-江西丹巴赫机器人股份有限公司 | 恒温油槽-恒温水槽-低温恒温槽厂家-宁波科麦仪器有限公司 | 太空舱_民宿太空舱厂家_移动房屋太空舱价格-豪品建筑 | 北京翻译公司-专业合同翻译-医学标书翻译收费标准-慕迪灵 | 探鸣起名网-品牌起名-英文商标起名-公司命名-企业取名包满意 | 「钾冰晶石」氟铝酸钾_冰晶石_氟铝酸钠「价格用途」-亚铝氟化物厂家 | 六维力传感器_三维力传感器_二维力传感器-南京神源生智能科技有限公司 | 大_小鼠elisa试剂盒-植物_人Elisa试剂盒-PCR荧光定量试剂盒-上海一研生物科技有限公司 | 氢氧化钙设备_厂家-淄博工贸有限公司 |