你玩的Dapp真的安全吗?Trustlook反编译平台给程序员风险提示
编者按:本文来自36氪战略合作区块链媒体“Odaily星球日报”(公众号ID:o-daily,APP下载)
只要谈到区块链、以太坊就必定离不开“智能合约”(Smart contract)这个词,由于具备了最基本的图灵完备性,开发者可以基于以太坊完成各种应用的开发。据 Odaily星球日报 2 月 25 日发布的 ETH 周报显示,目前 ETH 链上 Dapp 开发累计至 1602 个,“博彩类”、“交易所”仍然是目前 ETH Dapp 生态中日活以及交易额最高的两大应用。
智能合约为以太坊社区注入了生机,促成了生态的繁荣,但也带来了各种各种各样的安全问题。基于智能合约的各类 Dapp 真的靠谱吗?博彩类游戏真的就如其说明书所言的公平吗?
Odaily星球日报最近接触的安全公司 Trustlook 在 2019 年 1 月发布了基于二进制智能合约反编译开放平台 Smart Contract Insight。据 Trustlook 创始人 Allan Zhang 介绍,他们认为,让区块链变得更安全的唯一路径是从工具的角度重建区块链社区——打造一个可用的工具,让区块链代码可读,漏洞可被发现,从而做到真正的开源和共建。很多 Dapp 的合约都没有开源,或是处于半开源状态,对用户来说,代码是否安全需要考量。
机器语言是用二进制代码表示的一种计算机能直接识别和执行的一种机器指令,在智能合约中,业界称为二进制的 EVM 代码。也就是说,在目前的状况下,社区里的开发者如果对某一份智能合约产生了兴趣,想要去了解它的功能甚至查找漏洞,只能够接触到二进制代码,对于大部分程序员而言,这是较大的障碍。
未编译的机器代码长这样
“反编译开放平台”这个概念听起来有点拗口,简单来讲就是将二进制的机器代码或通过合约地址逆向成人类可读的计算机高级语言,并根据结果作出风险提示。目前提出的漏洞包括:整数数值溢出漏洞、重入攻击漏洞、外部调用返回值未校验漏洞、tx.origin依赖漏洞以及时间戳依赖漏洞等,用灰底的 “//ISSUE:” 提醒。
据介绍,整数数值漏洞说明币有无限增发风险;
重入攻击最有名,著名的 DAO attack 就是这个漏洞造成的,它最造成攻击者重复调用取款函数,一直将合约账户中的所有代币取走;
外部调用返回值是指,智能合约在地址上执行操作的底层方法,比如: address.call()、address.callcode()、 address.delegatecall() 和 address.send。这些底层方法不会抛出异常 (throw) ,只是会在遇到错误时返回 false 。在合约中调用外部合约时,应该对返回值进行判断。如果没有判断,那么调用者可能会误判交易是否成功,对于交易所造成财产损失;
tx.origin 依赖漏洞是指,不慎使用 tx.origin 进行鉴权认证有可能带来钓鱼攻击。
时间戳依赖漏洞指的是一些赌博类的 Dapp 使用时间戳来生成随机数,会造成博彩类应用结果可预测,这样攻击者可以直接赢得博彩的奖励。
举个例子,我们从以太坊上选择一个 211b 合约地址,如:0x20B5c52d43a87ae8B375670d47D572681753211b,将这个合约地址用 Smart Contract Insight 平台“破解”,可以得到:
编译后的高级语言及风险提示
Smart Contract Insight 平台在提醒时用提醒风险或异常,方便判别合约安全性。我们可以看到,刚刚的合约地址反编译后得到的代码有整数溢出风险,也就是说,如果这是一个发币平台,就意味着这个币有无限增发的风险。
目前 Smart Contract Insight 平台免费开放,但如果对二进制合约有更详尽的了解需求,平台也提供人工审核部分,收部分安全费用。目前该平台支持以太坊或基于 EVM 代码的合约检测。作为工具,操作非常简单,但如果能根据编译结果沉淀出一些分析结果或许更好。
智能合约的安全问题一直被行业关注。此前,安全公司 CertiK 发布智能合约自动检测引擎 CertiK AutoScan Engine(CASE ) ,并对Etherscan平台进行了技术集成与大规模的通证安全检测;评级机构 RatingToken 面向 C 端上线其智能合约查询检测功能,同时为 B 端提供智能合约实时监测功能。
Trustlook 是位于硅谷的移动安全解决方案提供商,多年来服务于华为、亚马逊、高通等一线软硬件厂商,创始人 Allan Zhang 曾是 Palo Alto Network 的创始安全工程师,团队目前 17 人,均属研发团队。公司于 2015 年完成 1700万 美元 A 轮融资,挚信资本领投,星元资本、线性资本等跟投。
我是Odaily星球日报记者遂心(微信号wsuixin12),加好友烦请备注姓名、单位、职务和事由。
相关推荐
你玩的Dapp真的安全吗?Trustlook反编译平台给程序员风险提示
这些APP在偷窥你的隐私
“996”还是幸福吗?阿里给程序员的股权激励减半了
iPhone应用的评分,你以为真的是你说了算吗?
“助力链”真的被玩坏了
朋友圈可以删除好友评论了,你真的需要这功能吗
iPhone应用评分,你以为真的是你说了算吗?
大数据时代下,“匿名化”真的能保护我们的隐私安全吗?
美国程序员想要逃离硅谷,他们还有别的选择吗?
在中国,程序员这行能干一辈子吗?
网址: 你玩的Dapp真的安全吗?Trustlook反编译平台给程序员风险提示 http://www.xishuta.com/newsview924.html
推荐科技快讯
- 1问界商标转让释放信号:赛力斯 94837
- 2人类唯一的出路:变成人工智能 18304
- 3报告:抖音海外版下载量突破1 17856
- 4移动办公如何高效?谷歌研究了 17572
- 5人类唯一的出路: 变成人工智 17409
- 62023年起,银行存取款迎来 10014
- 7网传比亚迪一员工泄露华为机密 8007
- 8顶风作案?金山WPS被指套娃 6471
- 9大数据杀熟往返套票比单程购买 6446
- 1012306客服回应崩了 12 6376