我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:六合生肖表 > 反编译程序 >

你玩的Dapp真的安全吗?Trustlook反编译平台给程序员风险提示

归档日期:05-10       文本归类:反编译程序      文章编辑:爱尚语录

  只要谈到区块链、以太坊就必定离不开“智能合约”(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 使用时间戳来生成随机数,会造成博彩类应用结果可预测,这样攻击者可以直接赢得博彩的奖励。

  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),加好友烦请备注姓名、单位、职务和事由。

本文链接:http://oms15.com/fanbianyichengxu/208.html