本文于2018年8月21日由阿尔法公社发布。
一、导语
2018年8月6日,腾讯安全发布《2018上半年区块链安全报告》,报告显示,目前在全球范围内,已出现了1600余种加密数字货币,2018年上半年,区块链领域因安全问题损失超27亿美元,而且因区块链安全事件损失的金额还在不断攀升。从IOTA「邮件门事件」、USDT「假充值漏洞」、EOS「彩虹攻击」,到BEC与SMT「整数溢出攻击漏洞」、BTG「51%算力攻击」等等,这一系列的事件引发了大家的广泛关注与思考。
区块链安全威胁主要有哪些?为什么智能合约的安全问题如此重要,会引起这么多人关注?智能合约的安全类型有多少种?现在主流的安全监测方法有哪些?最有效的方法又是什么?大家如何能获得安全无漏洞的智能合约代码?针对这一系列问题,我们对安比实验室创始人郭宇进行了采访,为大家系统介绍区块链行业安全问题及主流解决方案。
二、区块链安全六大类型
从安全角度来看,区块链技术可分为五层,相应安全问题则为六大类。
区块链2.0版本技术架构
第一层,密码学。密码学是区块链最底层的支撑技术,包含了哈希算法、数字签名、随机数等,如果这些密码学技术存在问题或者漏洞,那么基于此的整个区块链构建的信任将会坍塌。
中国工程院发布区块链“安监链”应用案例:11月12日消息,中国工程院《中国区块链发展战略研究》项目发布“发现100个中国区块链创新应用”栏目之“安监链”应用案例。据了解,近年来工程安全问题频发和“豆腐渣”工程的增加,使工程安全监控逐渐成为人们关注的重点。传统的监控量测工作,一方面存在着工作不规范、人员投入多、监测实施成本高、测量数据易失真等问题;另一方面监测单位和政府监管部门缺乏信息化的数据采集、分析、决策手段,导致监测数据仅以周期性的纸质报告形式存在,对于风险预防和及时响应处理缺乏赋能,同时受到数据可信度的影响,监测报告的公信力未能得到有效保障。
“安监链”创造性地构建了区块链+物联网应用模式。平台将区块链基础设施与物联网设备有机结合。通过“安监链”平台,业主方、施工方、监理方、监测方和政府监管部门,可实时地、可视化地查看各类在建和已建工程项目的监测和数据,数据超过阈值时,系统将自动启动告警策略并通过短信、邮件、系统通知等手段及时告知项目相关干系人,便于及时进行处置和干预。[2021/11/14 6:51:01]
虽然目前密码学技术已经颇为成熟,存在巨大漏洞的可能性比较小,但是仍然不排除一些项目存在问题。2017年7月15日,具有「物联网世界第一币」之称IOTA收到了麻省理工学院附属的学术研究组DCI的邮件,提醒IOTA团队,IOTA的哈希算法Curl-P存在弱点,DCI可以对该系统进行成功的攻击,窃取用户资金。虽然IOTA随后对DCI的邮件进行了质疑和反驳,到目前为止,也没有用户因为此漏洞而发生资金被盗的情况,但这一事件引起了大家对IOTA和其他项目在密码学技术安全上的关注。
沃尔玛加拿大已采用基于区块链的供应链解决方案:沃尔玛加拿大公司(Walmart Canada)已采用基于区块链的供应链平台DL Freight作为其货运发票和支付管理的国家标准,将在60多家运输公司中使用。
尽管Walmart Canada和多伦多区块链公司DLT Labs于2019年11月首次推出基于区块链的供应链自动化平台,但随着时间的推移,DL Freight已经取得相当大的进步。该解决方案甚至被供应链管理专业人士理事会选为供应链创新奖的六个入围者之一,该奖项将在9月的年会上颁发。(Cointelegraph)[2020/9/10]
第二层,用户私钥的生成、使用与保护。用户参与区块链的凭证是一对公私钥,每个人通过区块链产生交互行为的前提就是他拥有安全的私钥、并且能保管好自己的私钥,因此私钥的生成、试用与保护问题就非常重要。
今年7月,EOS就因私钥生成工具存在安全隐患,创建的私钥被黑客发现漏洞,并实施「彩虹」攻击,导致账户数字资产被盗,造成上千万数字资产损失。
第三层,节点系统安全漏洞。这一问题归属于传统安全范畴,比如区块链节点不能存在缓冲区溢出等传统的安全漏洞。另外区块链节点的实现要能忠实地正确实现区块链的共识协议;节点不能暴露不该暴露的API接口,导致黑客可以无障碍的获取一些节点关键信息。无论是以太坊还是EOS都曾经被爆出过比较严重的安全漏洞。这一部分安全也是至关重要的。
动态 | 趣链科技与光大银行合作推动区块链BaaS平台建设:据竹海热线网消息,近日,杭州趣链科技有限公司成功中标中国光大银行股份有限公司“区块链BaaS云平台系统软件产品及实施服务采购项目”。在此项目中,趣链科技将为中国光大银行提供区块链相关技术支持,帮助中国光大银行完善区块链BaaS平台建设,最终实现区块链技术在中国光大银行产品中的应用。[2019/7/27]
第四层,底层共识协议。目前市场上主流的区块链共识协议有以下几种,POW、POS、DPOS、PBFT。底层共识协议决定了区块链整个架构是否可信,能不能真正做到形成一个具有共识的区块链。现在真正被证明安全的共识协议并不多,因为共识协议本身无论从理论、还是从技术实现上都不简单。而经过长时间验证的共识协议是比较安全的,比如像比特币的POW。共识协议有一个不可能实现的三角关系:安全、去中心化和效率,这三者只能同时实现两样。如果追求效率,要么牺牲去中心化,要么牺牲安全。
一个区块链系统的共识协议是不是安全这个问题至关重要。
理论上,基于底层共识协议创建的所有数字货币都是存在51%算力攻击风险。今年上半年,就有至少4种数字货币分别受到了51%算力攻击,分别是Monacoin、BitcoinGold、Verge和Electroneum,给用户造成数千万美元损失。
动态 | 禅城将探索“区块链+养老服务”新模式:据珠江日报消息,昨日上午,佛山市禅城区政协副主席罗振带领约20名政协委员开展养老服务工作视察。禅城区居家养老服务中心有关负责人表示,未来除了统筹各类养老资源,提升服务水平外,还将探索‘区块链+养老服务’,打造养老服务新模式。[2019/5/24]
第五层,智能合约。智能合约是一套以数字形式定义的承诺(promises),包括合约参与方可以在上面执行这些承诺的协议。任何参与方都能在应用层创建合约,也就是所谓的DAPP。这也是目前出现安全问题最多的地方。
智能合约安全隐患包含了三个方面:第一,有没有漏洞。合约代码中是否有常见的安全漏洞。第二,是否可信。没有漏洞的智能合约,未必就安全,合约要保证公平可信。第三,符合一定规范和流程。由于合约的创建要求以数字形式来进行定义承诺,所以如果合约的创建过程不够规范,就容易留下巨大的隐患。
目前市场上很多智能合约均存在安全漏洞问题,比如,6月3日,安比实验室发现Ethereum上出现81个合约带有相同错误,ERC20Token合约中的transferFrom函数存在巨大隐患,一旦部署后出现问题,将造成不可挽回的损失;6月6日,安比实验室发现ERC20代币合约FXE由于业务逻辑实现漏洞,任何人都可以随意转出他人账户中的Token,Token随时面临彻底归零风险。
动态 | 区块链重点实验室落地国家电网:据中国电力新闻网消息,3月28日,国家工信部区块链重点实验室电力应用实验基地在国网电商公司(国网金融科技集团)揭牌成立。实验基地的成立,标志着国家电网有限公司在可信区块链技术领域走在了央企前列,将更好的发挥区块链在泛在电力物联网建设中的基础性和引领性作用。[2019/3/30]
作为区块链行业从业者、智能合约使用者或是加密货币拥有者,应该学习相应的密码学和智能合约编程知识,切不可随意复制使用涉及资金安全的合约和公私钥等的代码。如果恶意攻击者,将带有严重漏洞的代码公开在网络上进行传播,诱导技术开发能力欠缺的组织使用,将会给使用者造成毁灭性打击和不可挽回的损失。
第六层,激励机制设计。智能合约要完成协作,通常是要设计相应的经济激励机制。经济激励是区块链技术里面非常有突破性的一个概念。一个真正健康有活力的区块链生态,需要一个很好的激励机制。但是经济激励设计得不够安全,可能生态就无法建设起来,比如典型的类庞氏游戏,这一点大家要警惕。
三、智能合约三大问题
前面介绍的六层区块链安全问题,都是依托相应的技术层级来划分的,越底层的技术越稳定,比如密码学从一开始选定之后,就不会轻易改动。
智能合约由于比较灵活,任何人都可以创建,所以相对容易出安全问题。
任何用户都能创建一个有共识基础的合约,就好像是每个老百姓都可以基于某部法律写一份合同,这个法律是一种共识机制,这个合同也是有内在的约束条款,使用DAPP就像签订合同,所有行为都要按照这个合同条款执行。因此,智能合约的安全隐患,直接关系到用户的财产损失。
到目前为止,安比实验室发现了市场上智能合约的三大问题:
第一,以整数溢出为代表的安全漏洞。安全漏洞通常是被写代码的人不小心引入的,它可能引起合约某些功能部件失效,最严重的情况,可能导致黑客攻击、用户丢币、甚至黑客凭空造出来很多的币。比如BEC、SMT、EDU,曾经就因整数溢出安全漏洞,被黑客攻击从而导致币值归零。
第二,智能合约权限控制。一般智能合约里会设置一个管理员,管理员一般拥有超级权限,这类合约的安全隐患比较大,因为一旦管理员的私钥被盗用,很容易造成巨大损失。据安比实验室不完全统计,排名前570名的Token合约中,有342个合约存在只有管理员能调用的功能,不少合约更存在管理员任意铸币、烧币、冻结账户、关停转账等过高权限。
今年7月10日,加密货币交易平台Bancor称遭到攻击,丢失了当时折算法币金额为1250万美金的以太坊、1000万美金的Bancor代币和100万美金的Pundix代币。经过我们分析发现,这次Bancor平台被盗事件就是与BancorConverter合约有关,攻击者通过获取了管理员账户的私钥,借用管理员身份盗走用户的Token,给用户造成巨大损失。
第三,规范性问题。现在很多智能合约的实现并没有统一的规范。智能合约是以交互的方式多人协作,如果合约不规范,容易导致不同人对合约的行为产生误解,从而出现大量的安全问题。
比如,今年陆续爆出的「假充值」事件,包括以太坊代币、USDT等,根据一家机构进行的不完全统计显示,市场上的单代币合约有3619份存在「假充值」漏洞风险,其中不乏知名代币。
正常情况下,充值过程中转账不成功,账户将无法充值,账户余额仍然是0。但如果合约存在「假充值」漏洞,在转账不成功的时候,系统并不会显示充值失败,交易所就会误判结果为充值成功。如果有黑客发现这一漏洞,就会一直进行「假」充值,之后再把这笔钱提出,给交易所带来直接损失。
四、形式化验证的重要性
目前,市场上针对智能合约安全问题的检验方式主要有三种,第一是测试,第二是审计,第三是形式化验证。测试需要程序自动跑,通过各种可能性的输入,检测是否存在整数溢出漏洞等问题。但这个测试通常不可能百分之百覆盖,一定会有遗漏存在。审计就是靠专家的专业知识去审核,但再专业的专家也可能会有疏漏。前两种传统的方式,并不能保证合约中没有漏洞,但形式化验证能做到这一点。
形式化验证可以解决三类问题,第一类是安全无漏洞:通过数学推理的方法,捕捉、覆盖合约的所有行为,覆盖所有可能性,从而保证合约没有漏洞。第二类是可信:公开透明。合约的创建者不仅要说明白干了什么事,还要向大家证明代码确实是这么干的。这个也是目前只能用形式化验证才能做得到。第三类是规范性问题。前面提到的假充值漏洞,就是因为以太坊的ERC20规范,写得非常模糊、不完整。那怎么样能写完整呢?这就要求合约的规范就不能用自然语言,或文字描述,而是应该引入形式化规范,用一种数学逻辑语言来严格定义。
形式化验证在工业界、尤其是安全系统相关领域,已经有了大量应用案例,比如航空航天、高铁、核电等行业,都有专门的团队提供形式化验证服务,其作用与效果早就得到了安全行业专家的认可。
目前,形式化验证包括模型检验和演绎推理两种。相对权威和安全的公司,比如Zeppelin和以太坊官网都曾经公布过有问题的智能合约代码。如果能有一个更可信,不依赖权威的智能合约代码库,开放给所有人使用,将能很好地解决这个问题。
9月16日,上海。国际区块链周期间最为引人瞩目的活动之一:「STAKING金秋论道:开启挖矿新时代」在上海世茂滨江酒店外滩宴会厅隆重举行,并圆满落下帷幕.
1900/1/1 0:00:00本文于2020年11月27日发布于MulticoinCapital官网并经链捕手整理,作者为MulticoinCapital合伙人SpencerApplebaum/合伙人MattShapiro以.
1900/1/1 0:00:00随着BRC-20的爆火,一些围绕着比特币网络构建的其他资产标准也开始相继出现。5月7日,跨链互操作性项目Interlay的创始人AlexeiZamyatin提议推出BRC-21标准,以向比特币网.
1900/1/1 0:00:00购买MemeCoin能“致富”吗?近期的PEPE一直在话题热榜上,改变了“不温不火”的市场现状,重新点燃了用户心中靠Crypto一夜暴富的梦想.
1900/1/1 0:00:00本文在2019年7月21日发布于链捕手公众号,并由龚荃宇整理。进入2019年来,无论是传统金融市场还是区块链市场,均出现了二级市场火热,一级市场冷清的鲜明对比.
1900/1/1 0:00:00引言GrayscaleEthereumTrust(ETHE)作为最大的美股上市交易的以太坊产品,持仓量高达300万个ETH,然而目前其二级市场交易价格对比净值存在近50%左右的折价.
1900/1/1 0:00:00