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

WF曲速未來 安全課堂| Solidity安全之delegatecall 的濫用問題區塊鏈

曲速未來安全區 2018-08-09 21:25
分享到:
導讀

WF曲速未來:Soildity作為編寫智能合約的語言,已經被廣泛的應用。但同時,開發者和用戶也得到了慘痛的教訓,智能合約的安全問題層出不窮。因此,我們總結了一些常見的Solidity安全問題。前車之鑒,后車之師,希望后來者能有所警惕。

區塊鏈安全公司WF曲速未來 安全開課:

Soildity 作為編寫智能合約的語言,已經被廣泛的應用。但同時,開發者和用戶也得到了慘痛的教訓,智能合約的安全問題層出不窮。因此,我們總結了一些常見的Solidity安全問題。前車之鑒,后車之師,希望后來者能有所警惕。

delegatecall 「濫用」問題

在 Solidity 中提供了delegatecall函數來實現合約之間相互調用及交互。各種調用,導致了delegatecall函數被合約開發者“濫用”,甚至“肆無忌憚”提供任意調用“功能”,導致了各種安全漏洞及風險。

Delegatecall是一種常用的調用函數,它的特點是調用后內置變量 msg 的值不會修改為調用者,但執行環境為調用者的運行環境。

代碼分析

在智能合約的開發過程中,合約的相互調用是經常發生的。開發者為了實現某些功能會調用另一個合約的函數。比如下面的例子,調用一個合約 A 的 test() 函數,這是一個正常安全的調用。

但是在實際開發過程中,開發者為了兼顧代碼的靈活性,往往會有下面這種寫法:

這將引起任意 public 函數調用的問題:合約中的 delegatecall 的調用地址和調用的字符序列都由用戶傳入,那么完全可以調用任意地址的函數。

相關事件

7 月 19 日,Parity發布安全警報,警告其錢包軟件1. 5 版本及之后的版本存在一個漏洞。據該公司的報告,確認有153,000ETH(大約價值 3000 萬美元)被盜。

因為initWallet函數是公開函數( public function) , 攻擊者調用initWallet,重新初始化錢包會把之前合約錢包所有者覆蓋, 即可改變錢包所有者。 

漏洞代碼:

攻擊過程技術分析還原:

第一步:成為合約的owner

通過往這個合約地址轉賬一個value = 0 ,msg.data.length > 0 的交易, 執行到_walletLibrary.delegatecall的分支,該函數能無條件的調用合約內的任何一個函數,黑客調用了一個叫做 initWallet的函數:

這個函數再次調用initMultiowned函數:

不幸的是,initWallet沒有檢查以防止攻擊者在合同初始化后調用到initMultiowned, 這個函數使得這個合約的所有者被改為攻擊者,相當于從unix中獲得了root權限。

第二步: 轉賬, 剩下的事情就很清晰了,通過調用execute函數轉賬到黑客的地址:

第一個參數: address to= 0xb3764761e297d6f121e79c32a65829cd1ddb4d32, 轉賬額度116779808c03e4140000是為以Wei為單位的的eth,即 82189000000000000000000,可以通過如下的代碼獲得具體數值。

區塊鏈安全公司WF曲速未來 表示:

作為已經有過被利用先例的漏洞,開發者在智能合約在部署前必須通過嚴格的審計和測試,在編寫時使用delegatecall要更加小心。

調用 合約 函數 安全 開發者
分享到:

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


專題報道

主站蜘蛛池模板: 世界箱包品牌十大排名,女包小众轻奢品牌推荐200元左右,男包十大奢侈品牌排行榜双肩,学生拉杆箱什么品牌好质量好 - Gouwu3.com | 一路商机网-品牌招商加盟优选平台-加盟店排行榜平台 | 即用型透析袋,透析袋夹子,药敏纸片,L型涂布棒-上海桥星贸易有限公司 | 气象监测系统_气象传感器_微型气象仪_气象环境监测仪-山东风途物联网 | 缠膜机|缠绕包装机|无纺布包装机-济南达伦特机械设备有限公司 | 车牌识别道闸_停车场收费系统_人脸识别考勤机_速通门闸机_充电桩厂家_中全清茂官网 | 急救箱-应急箱-急救包厂家-北京红立方医疗设备有限公司 | Magnescale探规,Magnescale磁栅尺,Magnescale传感器,Magnescale测厚仪,Mitutoyo光栅尺,笔式位移传感器-苏州连达精密量仪有限公司 | 合肥抖音SEO网站优化-网站建设-网络推广营销公司-百度爱采购-安徽企匠科技 | 世纪豪门官网 世纪豪门集成吊顶加盟电话 世纪豪门售后电话 | 物联网卡_物联网卡购买平台_移动物联网卡办理_移动联通电信流量卡通信模组采购平台? | 英国雷迪地下管线探测仪-雷迪RD8100管线仪-多功能数字听漏仪-北京迪瑞进创科技有限公司 | 船用锚链|专业锚链生产厂家|安徽亚太锚链制造有限公司 | 铝机箱_铝外壳加工_铝外壳厂家_CNC散热器加工-惠州市铂源五金制品有限公司 | 小型手持气象站-空气负氧离子监测站-多要素微气象传感器-山东天合环境科技有限公司 | 土壤墒情监测站_土壤墒情监测仪_土壤墒情监测系统_管式土壤墒情站-山东风途物联网 | 报警器_家用防盗报警器_烟雾报警器_燃气报警器_防盗报警系统厂家-深圳市刻锐智能科技有限公司 | 进口便携式天平,外校_十万分之一分析天平,奥豪斯工业台秤,V2000防水秤-重庆珂偌德科技有限公司(www.crdkj.com) | 市政路灯_厂家-淄博信达电力科技有限公司 | 金环宇|金环宇电线|金环宇电缆|金环宇电线电缆|深圳市金环宇电线电缆有限公司|金环宇电缆集团 | 臭氧老化试验箱,高低温试验箱,恒温恒湿试验箱,防水试验设备-苏州亚诺天下仪器有限公司 | 盘装氧量分析仪-防爆壁挂氧化锆分析仪-安徽吉帆仪表有限公司 | 油缸定制-液压油缸厂家-无锡大鸿液压气动成套有限公司 | 全自动在线分板机_铣刀式在线分板机_曲线分板机_PCB分板机-东莞市亿协自动化设备有限公司 | 酶联免疫分析仪-多管旋涡混合仪|混合器-莱普特科学仪器(北京)有限公司 | 东莞市踏板石餐饮管理有限公司_正宗桂林米粉_正宗桂林米粉加盟_桂林米粉加盟费-东莞市棒子桂林米粉 | 真空冷冻干燥机_国产冻干机_冷冻干燥机_北京四环冻干 | 工作心得_读书心得_学习心得_找心得体会范文就上学道文库 | CTAB,表面活性剂1631溴型(十六烷基三甲基溴化铵)-上海升纬化工原料有限公司 | 网站seo优化_seo云优化_搜索引擎seo_启新网络服务中心 | 创客匠人-让IP变现不走弯路 | 环氧树脂地坪_防静电地坪漆_环氧地坪漆涂料厂家-地壹涂料地坪漆 环球电气之家-中国专业电气电子产品行业服务网站! | 煤矿支护网片_矿用勾花菱形网_缝管式_管缝式锚杆-邯郸市永年区志涛工矿配件有限公司 | ★店家乐|服装销售管理软件|服装店收银系统|内衣店鞋店进销存软件|连锁店管理软件|收银软件手机版|会员管理系统-手机版,云版,App | 篷房[仓储-婚庆-展览-活动]生产厂家-江苏正德装配式帐篷有限公司 | 欧美日韩国产一区二区三区不_久久久久国产精品无码不卡_亚洲欧洲美洲无码精品AV_精品一区美女视频_日韩黄色性爱一级视频_日本五十路人妻斩_国产99视频免费精品是看4_亚洲中文字幕无码一二三四区_国产小萍萍挤奶喷奶水_亚洲另类精品无码在线一区 | 冷藏车厂家|冷藏车价格|小型冷藏车|散装饲料车厂家|程力专用汽车股份有限公司销售十二分公司 | 不锈钢水箱生产厂家_消防水箱生产厂家-河南联固供水设备有限公司 | 东莞猎头公司_深圳猎头公司_广州猎头公司-广东万诚猎头提供企业中高端人才招聘服务 | 蔬菜清洗机_环速洗菜机_异物去除清洗机_蔬菜清洗机_商用洗菜机 - 环速科技有限公司 | 国际高中-国际学校-一站式择校服务-远播国际教育 |