线上智能合约问题频出,安全开发亟待规范

2010年8月,比特币发生了一次整数溢出漏洞攻击(CVE-2010-5139),使得攻击者产生了2笔输出92233720368.54277039个比特币的交易,远超中本聪设定的21000000上限。

2018年4月,以太坊上的智能合约也接连发生2起整数溢出漏洞攻击(CVE-2018-10299,CVE-2018-10376),攻击者凭空增发了大量的token,使得投资者的资产被严重稀释。

为了分析当前最流行的以太坊智能合约的安全性,SECBIT实验室安全团队深度扫描检测了当前正在运行的23357个智能合约源代码,通过AI智能合约安全审计模型扫描,实验室安全专家发现其中大量合约代码存在着不同程度的安全隐患。

合约代码问题占比

扫描结果显示,这23,357个智能合约源代码中共有405882处不符合安全开发规范,平均每个合约有超过17个规范违反项。尽管这些点不会立即导致智能合约出现安全漏洞,但是对于保护巨量数字资产的代码,这些问题都有可能成为黑客的分析和攻击方向,作为项目方的开发人员,不能忽视这些隐患,应保持清晰的思路,尽可能严格按照安全开发规范要求进行开发,这样才能避开潜在的攻击威胁。

扫描结果显示,低级别(Low)的安全问题有26,821个,主要集中在未指明版本号以及高GAS消耗等问题。未指明版本号可能会在将来新版本编译器上遇到不兼容问题。高GAS消耗会在网络拥堵时使用户负担过高的手续费,因此SECBIT实验室的安全专家建议开发者在开发过程中为优化函数的GAS消耗。

另外中级(Medium)安全问题有7,202个,主要集中在整数溢出、除法、依赖时间戳、区块哈希的运算。整数溢出问题在BEC、SMT的Token发行合约上已经展现出了危害性,在此不再赘述。EVM目前不支持浮点数,除法运算在EVM上表现为向下取整,开发者在智能合约上应当尽量避免,从而杜绝安全隐患。另外如果将时间戳、区块哈希作为随机数来源,有一定被矿工操纵的风险,开发者应该注意设计安全的交互协议。

扫描结果中高危(high)安全问题有572个,主要集中在代码重入、短地址攻击、强制转账、使用合约余额来做判断、高地址脏数据、tx-origin的误用上。代码重入漏洞曾经导致以太坊历史上震惊世界的 DAO 攻击。其它几个问题也可能导致类似的严重安全问题。

这些问题都有重演类似严重安全事件的可能。

除了上文提到的使攻击者受益的一类安全问题,还有一类漏洞,虽然不会使任何一方收益,但是仍然会给用户带来巨额损失,例如Parity多重签名钱包问题。

为了了解当前智能合约的发展现状,SECBIT实验室安全团队监控扫描了以太坊上所有的历史数据,并统计分析了自创世区块以来,以太坊上所有创建的智能合约信息。

合约创建频率统计

图中横轴表示日期,纵轴表示当日智能合约创建数量

如图所示,以太坊智能合约每日创建数量总体呈现上升趋势,并且合约代码的复杂程度也随之增高 。

据Amberdata网站监控统计,目前以太坊上每小时交易所涉及的金额已经达到1.6亿美元,每天可达40亿美金,其中53.5%的交易涉及智能合约。随着智能合约数量的进一步增多,DApp的广泛应用,其管理的数字资产数量提升,面临的安全威胁也随之增长,由于智能合约难以通过传统的升级、打补丁等方式填补漏洞,通常只能在开发期间或合约部署前进行完备的安全检查。

然而由于一般开发人员的安全意识仍然不够,可能在开发时无法意识到自己造成了安全隐患,这极有可能给智能合约带来相当大程度的安全风险。每一个暴露在开放网络上的智能合约都有可能成为专业黑客团队的金矿和攻击目标。

不同于传统的闭源软件,区块链上的智能合约代码是完全公开透明、并且开源的,因此引入代码安全审计是不可缺少的重要安全举措,通过第三方专业的审计这才能保证合约在虚拟机、语言、业务逻辑等多方面的稳定可靠,并具备抵御攻击能力。作为管理巨量数字资产的智能合约,透过专业的第三方团队来进行安全审计是保障资产安全的负责任的措施。

据SECBIT智能合约安全审计平台实时追踪,以太坊上部署的合约数量已经达到6,081,658个(统计截止到块高度为5,460,050),而真正经过第三方安全审计的智能合约数量可能还不足1%,未来随着智能合约数量的进一步爆发式增长,如果智能合约依然未经安全审计而上链运行,区块链安全乌云仍无法褪去。

如需深入了解智能合约安全开发与安全审计的细节,请与SECBIT实验室联系:info@secbit.io.


SECBIT实验室 由一群热爱区块链技术的极客组建,专注于可信智能合约与安全共识协议研究。实验室成员遍布在全球多个国家,专业领域涉及区块链底层架构、智能合约语言、形式化验证、密码学与安全协议、编译与分析技术、博弈论与加密经济学等诸多学科。SECBIT实验室目前着重于研究区块链智能合约的安全问题,助力区块链团队提高智能合约的可靠性与安全性,开展构建智能合约安全框架的理论探索与技术研发,参与共建共识、可信、有序的区块链经济体。

SECBIT.IO
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,132评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,802评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,566评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,858评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,867评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,695评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,064评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,705评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,915评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,677评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,796评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,432评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,041评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,992评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,223评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,185评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,535评论 2 343

推荐阅读更多精彩内容

  • 1 伟大的开拓者-比特币 1) 比特币产生 2008年,中本聪(Satoshi Nakamoto)发表了一...
    金子_c38e阅读 7,330评论 0 18
  • 每一天,每一秒,我都是希望自己是快快乐乐、开开心心的。这其实本就是一个简简单单的愿望,然而不论是我还是你们对于这一...
    阿俊xi阅读 242评论 0 0
  • 作者:周纵苇 微博:@MrGiovanni 邮箱:zongweiz@asu.edu Please cite thi...
    MrGiovanni阅读 45,263评论 7 32
  • 拜水都江堰, 问道青城山。 碧漪毓秀无限, 纵情山水间。 遥望江天一色, 回首处处芳园, 雨后归锦帆。 翠竹绕春痕...
    xueshuai阅读 667评论 0 7
  • 我又一次回到南城,带着长途奔波后尚未散去的疲惫,和一丝对这座故乡小城的怀念。 我已经有5年没有回过南城了。 提着重...
    安可安阅读 1,980评论 10 9