编委会

主编:国家互联网应急中心

联合编制:成都链安科技有限公司

北京长亭科技有限公司

苏州链原信息科技有限公司

杭州派盾信安科技有限公司

天融信科技集团股份有限公司

北京知道创宇信息技能股份有限公司

杭州安恒信息技能股份有限公司

北京众享比特科技有限公司

真相网络科技(北京)有限公司

目录

一、 2020年区块链安全情况总述

1. 2020年区块链安全情况

2. 2020年区块链安全事情监测情况

2.1. 公链安全事情展开趋势

2.2. 智能合约安全事情展开趋势

2.3. 外围系统安全事情展开趋势

二、 区块链严重突发安全事情论说

1. DeFi相关事情

2. 欺诈/垂钓相关事情

3. 勒索软件相关事情

4. 买卖渠道相关事情

5. 数字钱包相关事情

6. 公链相关事情

7. 其它相关事情

三、 进犯原剖析

1. 合约缝隙

2. 事务逻辑缺点

3. DDoS进犯

4. 51%算力进犯

四、 CNVD区块链缝隙例举

1. 高危缝隙

2. 中危缝隙

五、 其他安全问题

1. 弹性供给缝隙

2. 清算缝隙

3. 时刻确定缝隙

六、 对策主张

参考文献 

一、2020年区块链安全情况总述

2020年区块链安全情况

跟着区块链技能的快速展开,以及项目与使用的数量不断增多,与之而来的相关安全事情的产生也变得频频。据国家区块链缝隙库不完全统计显现,2020年度区块链范畴产生的安全事情数量达555起,别离包括DeFi安全事情103起、欺诈/垂钓事情204起、勒索软件事情143起、买卖渠道安全事情31起、数字钱包安全事情41起、公链安全事情17起以及其它安全事情16起,比较于2019年增长了近240%;所形成的经济丢失高达179亿美元,环比2019年增长了130%。综上所述,全年区块链安全威胁危险等级为高,亟需各方高度重视。本章将从微观视点对全球区块链安全态势进行剖析。

2020年区块链安全事情监测情况

1.公链安全事情展开趋势

2020年区块链公链安全事情首要有17起,产生月份首要集中在7月、8月以及11月,其间11月安全事情产生数量最多,有4件。

2020年区块链安全态势感知报告

图 1-2-1 全年区块链公链安全事情统计图 

2.智能合约安全事情展开趋势

2020 年区块链智能合约安全事情共 53 件,首要集中在 4 月、7 月、8 月、9 月、10 月以及 11 月,其间 11 月安 全事情产生数量最多,有 13 件。

2020年区块链安全态势感知报告

图 1-2-2 全年区块链智能合约安全事情统计图 

3. 外围系统安全事情展开趋势

外围系统包括数字财物买卖渠道、中心化钱包、去中 心化钱包、矿池/矿场、矿机这五部分。2020 年全年区块 链外围系统安全事情共 183 起,首要集中在 5 月、6 月、 9 月以及 10 月,其间 5 月份安全事情产生数量最多,有 38 件。

2020年区块链安全态势感知报告

图 1-2-3 全年区块链外围安全事情数量统计图

二、区块链严重突发安全事情论说

本章将针对六个安全事情高发范畴进行要点剖析。全年产生的安全事情多集中在 DeFi 范畴,使用数量多,安 全技能不够完善,运用者安全意识差等都是导致 DeFi 领 域安全事情频发的原因。下面本文将对 DeFi、欺诈/垂钓、 勒索软件、数字财物买卖渠道、钱包、公链和其它等范畴 进行评论并要点剖析各范畴的严重安全事情。

1.DeFi 相关事情

2020 年,据国家区块链缝隙库监测,DeFi 安全事情共 产生 103 起,集中在 7 月、8 月、9 月以及 11 月,首要因 为 DeFi 在 2020 年下半年开端有许多项目以及使用产生, 而跟着项目以及使用增多,导致产生的安全事情明显增 多,其间 11 月安全事情产生数量最多,有 25 件。

2020年区块链安全态势感知报告

图 2-1-1 全年 DeFi 安全事情数量统计图

智能合约还处于展开初期,相关事务逻辑的规划杂乱、 代码实现不谨慎、以及协议的灵敏可组合性带来了许多潜 在的危险。现在智能合约正被敏捷使用到各类 DeFi 项目中,DeFi 已然成为智能合约最大的使用场景。智能合约 的使用加快了去中心化金融的展开进程,可是因为代码开 源彼此引证仿制、功用繁多、运用灵敏、开发者水平参差 不齐等特色,DeFi 项目中各类智能合约安全事情频发, 再加上许多虚拟数字财物存放在 DeFi 项目里边,使 DeFi 成为了黑客进犯的要点方针。

闪电贷本身是 DeFi 范畴的创新,答使用户在无任何抵 押的情况下从中借出任何数量的可用财物,因为其无抵押 的性质,使其成为许多黑客施行进犯的本金。 假如该功用被黑客加以运用,就将导致安全事情的产生。黑客能够运用闪电贷借出高额资金,在某些渠道上进行虚拟财物兑换,因为其数额巨大,致使渠道上虚拟财物 价格反常变化,之后再将其资金换回,使其虚拟财物价格 恢复正常,进犯者在这来回变化的价格基础上,从中进行 巨额套利

本文经过从进犯方法、形成的丢失和组合性危险 3 个 方面,挑选出 6 个具有代表性的进犯事例。前 3 个事例攻 击者经过运用闪电贷,操纵商场价格来进行套利,后 3 个事例是经过重入缝隙对项目进行进犯,下面本文将介绍黑 客具体是怎么主张进犯并终究获利的。(该剖析陈述仅供 技能交流,请勿采用以下方法进行操作,不然后果自负)。 

(1) bZx 协议进犯事情北京时刻 2020 年 02 月 15 日,bZx 协议遭受到第一次 进犯,进犯者获利大约 355,880 美元,项目方暂停除了借贷外的其他功用。北京时刻 2 月 18 日,bZx 协议再次遭 到黑客进犯,进犯者经过控制预言机上虚拟财物价格的方 式从中获利。下面本文对第2次进犯进行简略剖析介绍。 根据买卖记载显现,首要进犯者经过闪电贷贷入了 7500 个 WETH,作为进犯的启动资金,如图 2-1-2 所示。

币国际-2020年区块链安全态势感知陈述

然后,进犯者拿出 540 个 WETH 来兑换 sUSD,一共兑换 了 92419.7 个 sUSD,如图 2-1-3。

2020年区块链安全态势感知报告

图 2-1-3 买卖流程

经过本次兑换,使得 sUSD 的价格在 Uniswap 上飙升, 接下来,进犯者以 20 个 WETH 为一组,进行了多次的 sUSD 兑换,如图 2-1-4 所示。

2020年区块链安全态势感知报告

图 2-1-4 买卖流程

然后,进犯者又从Synthetix上购买了 943837.58 个 sUSD,如图 2-1-5,此刻,进犯者手中存在许多 sUSD,sUSD 的价格畸高。币国际-2020年区块链安全态势感知陈述

图 2-1-5 买卖流程

终究,进犯者将兑换来的 1099841.39 个 sUSD 经过 bZx 悉数兑换为 WETH,合计兑换 6796 个 WETH。

币国际-2020年区块链安全态势感知陈述图 2-1-6 买卖流程币国际-2020年区块链安全态势感知陈述图 2-1-7 买卖流程

加上之前剩余的 WETH,进犯者共有 9878 个 WETH;在 偿还完借来的7500WETH今后,进犯者共获利2378个WETH。 整个进犯流程如图 2-1-8 所示。
2020年区块链安全态势感知报告图 2-1-8 进犯进程图

 (2) Harvest Finance 进犯事情

北京时刻 2020 年 10 月 26 日,Harvest Finance 遭受 闪电贷进犯,该进犯事情共形成 2400 万美元的丢失。本 次进犯是因为黑客控制预言机上数字钱银价格导致的。 进犯者首要从闪电贷 UniswapV2 贷出 1800 多万 USDT 和 5000 万 USDC,并将 USDT 经过 Curve 兑换成 USDC,如 图 2-1-9。

2020年区块链安全态势感知报告图 2-1-9 买卖流程

接下来黑客再向 Harvest 中存入 5000 万的 USDC,因为 上一步 USDT 兑换 USDC 的操作,使得 Curve y 池中 USDC 价格上升。与此一起,黑客将取得 Harvest 所铸 fUSDC, fUSDC 的价值将高于当时存入的 5000 万,如图 2-1-10。

2020年区块链安全态势感知报告图 2-1-10 买卖流程

接下来,黑客再次经过 Curve,运用之前兑换的 USDC 将 USDT 换回,并将 USDC 的价格拉回了正常水平。2020年区块链安全态势感知报告

图 2-1-11 买卖流程

终究,黑客将取得的 fUSDC 悉数兑换回 USDC,由图可 以看出,扣除手续费后,黑客终究取得 50,298,684 个 USDC,一共获利近 30 万 USDC,如图 2-1-12 所示。2020年区块链安全态势感知报告

图 2-1-12 买卖流程

在这之后,黑客运用该进犯方法进行多次进犯。2020年区块链安全态势感知报告2020年区块链安全态势感知报告

图 2-1-13 买卖流程

终究经过该进犯手法,黑客获利超 2400 万美元。

(3) Value DeFi 协议进犯事情

北京时刻 2020 年 11 月 15 日,Value DeFi 协议遭受闪 电贷进犯,本次进犯是因为黑客控制 DAI/USDC/USD 池中 的价格引发的。

首要,进犯者经过闪电贷贷出 80000ETH 以备进犯运用。 其次,进犯者先经过 Uniswap V2 兑换出 116,000,000 个 DAI 与 31,000,000 个 USDT,如图 2-1-14。2020年区块链安全态势感知报告

图 2-1-14 买卖流程

再 次 , 攻 击 者 将 2500 万 DAI 充 值 进 ValueMultiVaultBank 合约,如图 2-1-15,核算铸币 时会将 DAI 转换为 3CRV,此处铸了 2495.6 万的 3CRV,并 且进犯者取得与之等价的 mvUSD。2020年区块链安全态势感知报告币国际-2020年区块链安全态势感知陈述

图 2-1-15 买卖流程

此刻,进犯者将剩余的 9100 万 DAI 和 3100 万 USDT 通 过 Curve 兑 换 成 USDC , 如 图 2-1-16 , 这 将 导 致 DAI/USDC/USD 池中 USDC 价格升高。2020年区块链安全态势感知报告

图 2-1-16 买卖流程

完成兑换后,进犯者运用 mvUSD 提出 3CRV,因为上一 步的操作使得 USDC/3CRV 的值抬高,本次兑换将兑换出高 于之前所铸的 2500 万 3CRV,本次兑换取得 3309 万 3CRV, 如图 2-1-17。

2020年区块链安全态势感知报告

图 2-1-17 买卖流程

终究,进犯者紧接着经过 Curve 将 USDT 和 DAI 换回, 并将 3CRV 兑换成 DAI,此次将兑换超 3300 万的 DAI,如 图 2-1-19,比较于之前存入的 2500 万 DAI 进犯者共获利 800 万 DAI。2020年区块链安全态势感知报告

图 2-1-18 买卖流程2020年区块链安全态势感知报告

图 2-1-19 买卖流程

 (4) Pickle Finance 被进犯事情

北京时刻 11 月 22 日,DeFi 项目 Pickle Finance 遭到 黑客进犯,本次进犯事情是因为重入缝隙导致的,丢失金 额高达 2000 万美元。

经国家区块链缝隙库国家区块链缝隙库技能专家团队 剖析 ,合约漏 洞 存 在 于 ControllerV4 合 约 中 的 swapExactJarForJar 函数。从代码中能够看到,该函数共传入了六个参数;前四个参数进犯者别离可控, _fromJar、_toJar、_fromJarAmount、_toJarMinAmount, 经过可控函数,进犯者能够传入不合法参数进行进犯。如图 2-1-20。

2020年区块链安全态势感知报告

图 2-1-20 合约代码

攻 击 者 首 先 将 自 己 的 合 约 地 址 填 入 _fromJar 与 _toJar,并将_fromJarAmount 的值设为被进犯合约的账 户余额,约 2000 万。函数首要会取出_fromJar 与_toJar 的 token 地址,因为该参数被进犯者控制,进犯者能够调 用_fromJar 的 safeTransferFrom 函数,将数值 2000 万 作为参数传入合约,如图 2-1-21。2020年区块链安全态势感知报告

图 2-1-21 合约代码

随后,程序判别了合约中的 DAI 数量是否能到达进犯 者的兑换要求;假如缺乏,则经过其他方法兑换来补足 DAI 的差值,如图 2-1-22。2020年区块链安全态势感知报告

图 2-1-22 合约代码

终究,程序将账户中的 DAI 转移到进犯者账户上,攻 击者经过此进犯方法获利。如图 2-1-23。2020年区块链安全态势感知报告

图 2-1-23 合约代码 

(5) Lendf.Me 项目被进犯事情

北京时刻 4 月 19 日,DeFi 项目 Lendf.Me 遭到黑客重 入进犯,进犯者不间断的运用合约重入缝隙对其主张攻 击,然后使自己的余额继续翻倍,终究掏空整个 Lendf.Me 的账户。经剖析,该缝隙存在于 Lendf.Me 合约中 supply 函数。该缝隙导致黑客能够在 Lendf.Me 账户中余额不变 的情况下将余额取出。接下来从代码层面来剖析本次进犯 事情产生的根本原因以及进犯流程。

首要浏览整个 supply 函数代码逻辑,能够发现该函数 流 程 首 先 获 取 了 用 户 当 前 的 账 户 余 额 并 保 存 在localResults.userSupplyCurrent 变 量 中 , 紧 接 着 , supply函数将用户当时账户余额与本次传入的参数相加, 得到了用户本次调用 supply 函数后最新余额值,并放在 localResults.userSupplyUpdated 变量中,如图 2-1-24。2020年区块链安全态势感知报告

图 2-1-24 合约代码

接下来 supply 函数调用了 doTransferln 函数,该函 数会调用到用户的钩子函数 tokensToSend,如图 2-1-25。2020年区块链安全态势感知报告

图 2-1-25 合约代码

此刻,进犯者在本身钩子函数中,经过调用 Lendf.Me 合约中的 withdraw 函数,取出了自己的账户余额。 而程序回到 Lendf.Me 合约继续履行,在函数结尾处更 新用户余额,如图 2-1-26。2020年区块链安全态势感知报告

图 2-1-26

合约代码 因为之前程序已将进犯者最新余额赋值给了暂时变 量,所以此刻程序所用数据是进犯者取出余额之前的数 值,而并非当时最新余额值。因而,该合约履行完毕后, 进犯者余额并未削减,然后到达了窃取财物的目的。整个 进犯进程如图 2-1-27 所示。2020年区块链安全态势感知报告

图 2-1-27 进犯进程图

(6) OUSD 遭“经典重入进犯”事情

在本次进犯中,首要,进犯者经过 dYdX 闪电贷贷出 7 万枚 ETH,并将 ETH 兑换成了相应的 USDT 和 DAI。

其次,进犯者向 Vault 中转入 750 万的 USDT,然后使 自己的财物在 Vault 中占比到达 50%以上。

接下来,进犯者调用合约中的 mintMultiple()函数, 并将 2,050 万枚 DAI 与歹意合约中的虚假参数传入,铸币 函数接纳到 2,050 万枚 DAI,可是在拜访另一个参数时其 实调用的是进犯者的歹意合约,为了触发 rebase(),攻 击者在进犯合约中再次存入 2,000 枚 USDT。正常合约在 转账之后,会进行结算,更新 Vault 总价格,然后经过 rebase()进行分配,但此刻合约被劫持,还未将这 2,050 万的 DAI 算入 Vault 总价格,所以在进行 rebase()的时 候,会将这 2,050 万枚 DAI 悉数当作收益进行分配。

因为进犯者在 Vault 中占比超越 50%,所以进犯者会在 没有任何付出的情况下分配到超 1,025 万的 DAI;之后合 约正常履行,进犯者又取得由 oUSD.mint 所铸的 OUSD, 其价格与存入 DAI 持平。 终究,进犯者换回之前存入的资金,并将取得的资金 偿还闪电贷。终究,进犯者获利大约 33,27 万枚 OUSD。 进犯进程如下图 2-1-28 所示。2020年区块链安全态势感知报告

图 2-1-28 进犯进程图 

2.欺诈/垂钓相关事情

2020 年,据国家区块链缝隙库监测,欺诈/垂钓安全事 件共产生 204 起,产生月份首要集中在 4 月、5 月以及 9 月,其间 4 月安全事情产生数量最多,有 40 件。2020年区块链安全态势感知报告

图 2-2-1 全年欺诈/垂钓安全事情数量统计图

现在区块链技能展开时刻较短,并且对于用户有一定 门槛要求,大多用户缺乏相关技能知识或者安全意识相对 薄弱,给了欺诈分子待机而动。下面本文选出了具有代表 性的 3 个欺诈事情进行剖析和评论。

 (1) PIEXGO 欺诈事情

PIEXGO 是由一名叫做大空翼的人所兴办的一家买卖平 台,这位创始人之前在两年的时刻内经过 IOTA 众筹到达 了 3.6 万倍的收益率,当时运用单价 0.001 元众筹了 10 万元的 IOTA,两年之后涨至单价 36 元。PIEXGO 渠道吸引了许多追随者,短短一个月的时刻, 大空翼就经过该渠道的 PXG 币征集到约 1.5 亿人民币的 ETH。但在 PXG 上线买卖前,原定的 10 亿发行量忽然增发 10 倍,共发行了 100 亿,这使得 PXG 的价格呈现断崖式跌落, 原本 0.06 元的征集价格,一度跌落至 0.01 元甚至归零。

在今年 5 月 26 日渠道发布公告称其技能团队无法满足 渠道展开,需将其封闭,并且渠道 CTO 不配合交接而导致 无法提币,用户无法在其封闭之前将财物提出。

 (2) DCFplus 跑路事情

“DCFplus”项目上线后,最开端以 0.15 美元的价格 认购,可是 DCFplus 币大多被内部人员购走。 之后项目方经过场外大肆宣扬炒作,以 4 美元左右的 价格卖给别人,之后项目策划者又以 1 美元左右的价格进 行收买。一来一回,就骗取了投资人 70%左右的资金。最 后项目方携带骗取的赃款跑路。

 (3) Twitter 大规模侵略欺诈事情

北京时刻 2020 年 7 月 15 日,Twitter 遭受到了史上最 为严重的安全事故,黑客经过侵略 Twitter 系统然后取得 用户账户权限。受害人群包括政界与商界名人,如:奥巴 马、拜登、比尔盖茨、巴菲特等,还包括大型互联网公司, 如:苹果、优步等。黑客经过他们的 Twitter 账号向外发送推文,称将比特币发送到特定地址,发送者将取得双倍 比特币的返还,这条推文其实是一条垂钓信息。

截止事情产生当日,该特定地址现已收到超越 12 枚比 特币。折合人民币 80 多万元。

3.勒索软件相关事情

2020 年,据国家区块链缝隙库监测,勒索软件安全事 件共产生 143 起,产生月份首要集中在 6 月、8 月、9 月、 10 月、11 月以及 12 月,其间 10 月安全事情产生数量最 多,有 18 件。

2020年区块链安全态势感知报告图 2-3-1 全年勒索软件安全事情数量统计图

勒索软件挑选的进犯方针大多是一些国有企业、大型 私人企业等,如加油站、医院、军队、校园等,这些组织 具有数据量大、数据机密、数据时效紧迫等特色,一旦被 勒索软件进犯,大多企业为了削减丢失,会挑选付出赎金。 而因为区块链上用户都是匿名的特性,资金转移后也很难 追回,所以大多黑客运用勒索软件进行勒索时往往都采用 加密钱银的付出方法,这也为案子侦破带来了极大的困 难。下面本文选出了具有代表性的 2 个安全事情进行扼要 剖析。

 (1) 美国差旅公司 CWT 遭到黑客勒索软件进犯

美国差旅公司 CWT 受到勒索软件进犯,导致该公司 30 万台电脑被黑客确定,该公司已向黑客付出了 450 万美元 的比特币赎金。 该黑客运用的是一款名为 Ragnar Locker 的勒索软件, 该软件经过加密核算机的文件来进行勒索进犯,被勒索软 件加密的文件将无法运用,只能经过黑客给出的密钥才能 够解密,而进犯者给出密钥的条件就是付出相应赎金。最 后 CWT 公司付出了 450 万美元的赎金。

 (2) 加州大学旧金山分校被勒索软件进犯。

加州大学旧金山分校被一个名为 Netwalker 的黑客团 伙进行了勒索软件进犯,被进犯后,该进犯者经过邮件向 该校发送赎金告诉,并要求对方付出 300 万美元的赎金。 加州大学因为新冠疫情的影响,回复进犯者只能付出 78 万美元。终究经过两边谈判,加州大学付出了 116.4 个比特币(约 114 万美元),之后黑客也将解密程序发送给 了该校。

4.买卖渠道相关事情

2020 年,据国家区块链缝隙库监测,买卖渠道安全事 件共产生 31 起,产生月份首要集中在 2 月、5 月、9 月以 及 10 月,其间 5 月安全事情产生数量最多,有 5 件。2020年区块链安全态势感知报告

图 2-4-1 全年买卖渠道安全事情数量统计图

买卖渠道具有买卖频频、资金流动量大、系统庞大等 特色,系统维护难度相对较大,使得进犯者针对买卖渠道 进行进犯的频率相对较高。本文归纳了 4 个热点事情。

 (1) 买卖渠道 Travelex 遭受歹意软件进犯

坐落伦敦的买卖渠道 Travelex 受到歹意软件进犯,导 致该网络系统长时刻坚持脱机状况,并且影响到了其服务 的相关企业,致使某些企业网络服务也处于脱机状况。黑 客要求其付出 230 万美元的赎金。

(2) 加密买卖渠道 Liquid 遭侵略

北京时刻 11 月 13 日,Liquid 买卖渠道遭黑客侵略, 进犯者经过更改 DNS 记载,控制了内部许多电子邮件账 户,导致进犯者能够破坏部分基础设施以及拜访买卖渠道 的文档。 现在,进犯者或许现已窃取了用户名字、地址、电子 邮件、暗码等信息。所幸用户资金未被窃取,相对安全。

 (3) 库币热钱包被盗

北京时刻 9 月 26 日,库币热钱包产生盗窃事情,本次 事情共形成约 1.5 亿美元的虚拟财物丢失,事情产生首要 原因是因为钱包私钥被走漏。 而与平常黑客不同的是,本次黑客在盗出许多虚拟资 产后,并未依照平常黑客那样隐姓埋名或经过各种方法洗 币,而是将虚拟财物别离转到各大买卖渠道进行套现,随 后库币在联络各大中心化买卖渠道后,对黑客所盗的资金 进行了冻住。

 (4) 买卖渠道 Eterbase 遭到黑客进犯

加密钱银买卖渠道 Eterbase 被黑客进犯,其间六个钱 包被侵略,其内 540 万美元的资金被盗走。 黑客将盗取的资金经过买卖渠道兑换成其他虚拟资 产;而买卖渠道表明,他们有足够的资金来弥补此次丢失。

5.数字钱包相关事情

2020 年,据国家区块链缝隙库监测,数字钱包安全事 件共产生 41 起,产生月份首要集中在 3 月、7 月、8 月以 及 10 月,其间 8 月安全事情产生数量最多,有 13 件。2020年区块链安全态势感知报告

图 2-5-1 全年数字钱包安全事情数量统计图

数字钱包存有许多财物,一旦被黑客掌握,不必经过 各种杂乱的进犯方法,就可将其间的资金洗劫一空,下面 选出了 2 个具有代表性的安全事情进行扼要剖析。 

(1) 巨鲸账号“zhoujianfu”遭受黑客进犯

2020年钱包被盗事情中,最为有目共睹的是巨鲸账号 “zhoujianfu”遭受黑客进犯事情。但是本事情并非为链 上进犯,而是经过 SIM 卡进行假冒身份进犯。 当黑客得知了受害人真实身份信息后,经过某些手法 具有了受害人的 SIM 卡权限,经过 SIM 的验证码机制,将 其钱包账号权限劫持,随后将其财物盗出,一共盗出财物 价值约 2.6 亿人民币。

被盗出的 BTC 被进犯者经过杂乱的手法进行洗币,使 得资金的追踪难度大大增加。据消息称,在进行资金转移 的进程中其间一些虚拟财物已流向买卖渠道。

 (2) Nexus Mutual 创始人个人钱包被进犯

2020 年 12 月 14 日,DeFi 保险渠道 Nexus Mutual 创 始人私人钱包遭受到黑客的进犯,此次进犯是因为黑客修 改了受害人核算机上的 MetaMask 插件所导致的,形成了 800 万美元的丢失。

当受害人运用硬件钱包进行买卖的时分,被进犯者修 改的 MetaMask 插件呈现了一笔歹意买卖,使受害人误以 为此笔买卖是自己将要进行的买卖,就将此笔买卖进行了 批准,随后这笔资金就转到了进犯者的地址中。

虽然进犯者并未盗取到受害人的钱包私钥,也未盗取 受害人的身份信息,但进犯者经过技能手法加上带有拐骗 的进犯方法,成功的施行了进犯。

6.公链相关事情

2020 年,据国家区块链缝隙库监测,公链相关安全事 件共产生 17 起,产生月份首要集中在 7 月、8 月以及 11 月,其间 11 月安全事情产生数量最多,有 4 件。

2020年区块链安全态势感知报告

图 2-6-1 全年公链安全事情数量统计图

跟着量子核算机的呈现,以及挖矿硬件租借商场的存 在,使得 51%进犯成为或许。本小节选出了 3 个具有代表 性的公链安全事情进行扼要剖析。

 (1) Filecoin 测验网无限增发缝隙

2020 年 5 月 28 日,某技能团队发现 Filecoin 测验网 存在无限增发缝隙。之后,该技能团队经过该缝隙实现了 48 亿枚 FIL 的增发,然后验证了缝隙的有效性。在无限 增发缝隙原理发布之后,现已有用户增发了 93 亿枚 FIL 在测验网上。前后一共增发量超 198 亿枚 FIL。FileCoin 团队在发现该缝隙后及时修正了缝隙。

 (2) Aeternity 遭 51%进犯

2020 年 12 月 7 日,Aeternity 遭受到 51%进犯,此次 进犯黑客共进行了 3 步操作。首要黑客在 12 月 3 日收集 许多 AE 作为进犯本钱,总额高达 2900 万;12 月 6 日, 进犯者挖出了一条未公开的链,此链善于公链,并在较长 链上向自己的账户转入 2752 万 AE,随后在公链将 AE 花 掉;12 月 7 日,进犯者将较长链广播出去,然后较长链 得到了认可,进犯者向自己转入 2752 万 AE 的买卖被正常 打包,使得财物再次回到自己账户中,而之前花费的 AE 失效。本次进犯形成近 400 万美元的丢失。

 (3) ETC 遭受 51%进犯

2020 年 8 月,ETC 共遭受到了 3 次 51%进犯。8 月 1 日, ETC 遭受到第一次进犯,此次进犯导致 3000 多个区块重 组,进犯者获利超 560 万美元;8 月 6 日,ETC 遭受到第 二次进犯,此次进犯导致 4000 多个区块重组,进犯者获 利超 170 万美元;8 月 30 日,ETC 遭受到第三次进犯,此次进犯导致 7000 多个区块重组,进犯者第三次获利尚不 清晰。 

7.其它相关事情

2020 年,据国家区块链缝隙库监测,其它区块链相关 安全事情共产生 16 起,这些事情首要集中在 6 月和 8 月, 别离产生 3 件。2020年区块链安全态势感知报告

图 2-7-1 全年其它安全事情数量统计图

 (1) 俄罗斯宪法批改案电子投票系统的区块链遭到进犯

2020 年 6 月 27 日,基于区块链技能的俄罗斯宪法批改 案电子投票系统遭到进犯。受到进犯之后俄国政府表明, 网络安全专家现已在努力对所受进犯的节点进行修正,但 尚不清晰是否修正成功。虽然遭到黑客进犯,但本次电子 投票也将成功写入区块链上,该事情并未形成系统故障。 

(2) ICON 软件更新呈现缝隙

2020 年 8 月 22 日,ICON 发布了一个新版本软件,该 软件存在缝隙,一个名叫 Shin 的用户运用该缝隙为自己 铸造了大约 1400 万个 ICX。随后 ICON 联络买卖渠道冻住 了他的帐户,并称他为“歹意进犯者”。但 Shin 表明他 并未违背任何规定,因而他的行为并不归于核算机欺诈和 滥用行为。 

(3) Plus Token 网络传销案子

2020 年 11 月 26 日,“Plus Token”网络传销案在江 苏省盐城市宣判。犯罪团伙成员被判处 2-11 年不等的有 期徒刑并处罚金 12 万至 600 万不等。该案子是公安机关 破获的首起以数字钱银为买卖媒介网络传销案,涉案资金 总额高达 400 亿元。 

三、进犯原理剖析

2020年区块链安全事情的进犯原理首要有合约缝隙、 DDoS 进犯、51%算力进犯以及事务逻辑缺点等,其间,合约缝隙进犯产生最多,达 45 次,占比 66%;事务逻辑缺 陷产生 12 起,占比 16%;DDOS 进犯产生 9 次,占比 12%; 51%进犯产生了 8 次,占比 11%。

2020年区块链安全态势感知报告

图 3-0-1 进犯事情原理分布图

1.合约缝隙

智能合约在区块链系统扮演重要的角色,因为合约代 码的开源性、合约中承载了许多的虚拟数字财物等特性, 使得智能合约成为越来越多黑客的进犯方针。下面本文选 出了合约缝隙中的 3 个经典缝隙进剖析和评论并给出了 相关的防护主张。 

(1) 重入缝隙

以太坊答应在一个智能合约中调用另一个合约,而如 果调用的合约是进犯者的歹意合约,那么进犯者能够从头 主张对该合约的调用,然后导致在合约第一次还未履行完 的情况下,就过错的进入到一些歹意操作中。比方,在经过正常合约进行资金转入操作的时分,假如正常合约未对进犯者传入的参数进行查看,就极易产生 重入进犯。当进犯者传入的是自己的歹意合约地址,在调 用外部合约的时分,则会进入进犯者的歹意合约履行;之后,歹意合约能够再次调用正常资金转入合约,此刻合约 经过进犯者的余额增量来为进犯者核算所供给铸币数量, 进犯者在第一次调用正常合约时能够传入 0,而在歹意合 约第2次调用正常合约时传入 100,那么第2次调用的正 常合约将为进犯者供给相应数量的铸币,但因为第2次调 用的正常合约操作完毕时,第一次调用到正常合约操作尚 未完毕,进犯者的余额增量现已是 100 了,而非第一次传 入的0,因而正常合约再次为进犯者供给相同数量的铸币。 终究,就将导致进犯者存入一次资金,却取得了两份相同 价值的铸币。进犯流程如下图 3-1-1 所示.2020年区块链安全态势感知报告图 3-1-1 重入进犯原理图

再比方,同样运用上述方法,若资金转入合约在调用 外部合约之前,将进犯者的余额存放于变量,则进犯者就 能够在进犯合约中调用相关余额提取函数,在正常合约执 行完毕之前将余额提出,而终究正常合约函数运用之前的 余额变量将进犯者余额进行更新,这就将导致黑客取出了 财物,但余额并未改动。进犯流程如下图 3-1-2。2020年区块链安全态势感知报告

图 3-1-2 重入进犯原理图

重入缝隙产生的原因首要有两方面:一是未对参数进 行查看和筛选,二是代码先后逻辑规划不谨慎。怎么降低 重入进犯危险?开发者需求在规划以及编写代码进程中 时刻坚持谨慎的心态,并加强安全审计工作的展开。例如, 能够在合约中增加查验标志,用来表明合约是否履行完 毕,若检测到该合约现已被用户调用过且还未完毕,则退出合约履行;对于第一种一份资金取得两份等价铸币进犯 方法,可在合约最开端算出所需供给铸币的数量,而非在 调用了外部合约之后再进行核算,这样就能够避免将第2次存入的资金当作第一次存入资金来核算需求供给的铸 币数量;而对于第二种取出余额但余额不变的进犯方法, 可在合约终究再核算用户余额值,这样当进犯者中途取出 余额后,合约也能依照当时最新余额来进行核算,而非攻 击者除掉余额前的值进行核算。 

(2) 整数溢出缝隙

程序中每个变量在储存数据时,都有一个数据类型, 而一般数据类型都有一个特定的长度,这个长度能表明出 该变量能存储数据的最大值;超越该最大值,则会导致溢 出。例如,当需求运用加法或乘法来核算转账总额时,若 运算方法只是简略的赋值运算,而不对其进行溢出查看, 则或许引发整数溢出缝隙,如 2^255*2 或 2^255+2^255, 因为 uint256 所能存储的最大值为 2^256-1,这两个运算 都将导致向上溢出,最高位的数据会被丢掉,所得成果均 为 0。2020年区块链安全态势感知报告

图 3-1-3 溢出原理图

另一方面是向下溢出,例如运用赋值运算核算转账之 后的余额,如不将转帐前余额与转账额度进行对比或对运 算进行溢出查看,将导致在运算进程中转账额度大于转帐 前的账户余额,当被减数小于减数的情况下,将会产生向 下溢出。

2020年区块链安全态势感知报告

图 3-1-4 溢出原理图

在进行数据核算的进程中,务必要注意并防备数据溢 出危险,在进行代码审计时,因为代码量巨大,所以不论 在代码编写仍是安全审计进程中,都必须尤为细致。例如, 在进行运算之前能够先对成果进行一个判别,假如发现存 在溢出,则不再进行核算,如判别两数相加后是否大于原 来的数,或者两数相减时被减数是否大于减数等;还能够 运用 SafeMath 库,能够避免溢出产生。

 (3) 拜访权限缝隙

在编写智能合约进程中,某些私有变量及函数是不能 在权限之外进行拜访、调用、修正的;但在代码编写进程中,因修饰符运用不妥、函数调用逻辑不谨慎等过失行为, 都会导致权限进犯的产生。 例如,在进行管理员设置的函数中,若没有对函数的 拜访进行约束,如运用 public 修饰函数,那么黑客将可 以自行调用该函数,为自己赋予管理员权限,然后进行其 他不合法操作。 要想避免拜访权限进犯,最首要的就是要有合理的权 限分配规划,以及正确的拜访联系模型,谨慎地运用权限 修饰符。 

2.事务逻辑缺点

DeFi 项目的事务逻辑规划杂乱,运用闪电贷这种新式 产品进行进犯的 DeFi 安全事情在过去的一年里层出不 穷。这些安全问题的深层次原因在于,在规划事务逻辑时, 未考虑到某些关键性要素,如:弹性供给机制、增发机制、 清算机制规划不合理、链上价格及其他信息可被低本钱操 控等,导致了歹意套利、歹意增发等问题。

这些问题并非 是由单纯的代码编写过错导致的,更多与事务逻辑规划紧 密相关,因而在项目上线前要进行严厉的操作/事务流程 测验,仔细剖析事务规划中的薄弱环节,避免类似问题发 生。

3. DDoS 进犯

2020 年各个范畴 DDoS 进犯事情中,首要是针对于各个 中心化买卖渠道主张的。DDoS 进犯名为分布式拒绝服务 进犯,是指进犯者经过技能手法控制多台傀儡机,经过这 些傀儡机,进犯者能够向某个或某些网络方针结构并发送 许多恳求,这将导致方针主机功能或网络带宽耗费殆尽, 使得受害系统无法正常运转并且无法对外供给服务。DDoS 进犯比一般 DoS 进犯更具有破坏性且更难防备。

2020年区块链安全态势感知报告

图 3-3-1 进犯方法

想要避免 DDoS 进犯难度比较大。主张 DDoS 进犯的主 机所发出恳求的目的是为了占满带宽以及方针主机资源, 单个恳求并无进犯性,并且该进犯手法归于分布式进犯, 这使得防护系统很难察觉且不容易对进犯地址进行阻拦。

4. 51%算力进犯

51%进犯指的是进犯者掌握了全网 50%以上的哈希核算 算力,具有超越 50%的算力,进犯者就能修正自己的买卖 记载、废弃其他矿工开采的区块、阻挠买卖承认等行为。 例如,进犯者花费一笔虚拟钱银购买了一件产品,一起,将虚拟钱银发送给了自己另一个账户。当购买产品的 买卖被承认后,会被打包到 A 链的区块中,付出的虚拟货 币转到商家的账户。此刻,进犯者主张 51%进犯,将转到 自己另一个账户的那笔买卖打包进 B 链上的区块,并在之 后 B 链组合成一条最长合法链,而矿工也将从 B 链后面继 续挖矿,之前 A 链的区块就将被丢掉,商家账户的虚拟货 币也将无法运用。2020年区块链安全态势感知报告

图 3-4-1 进犯原理图

四、CNVD 区块链缝隙例举

国家区块链缝隙渠道 2020 年全年收录缝隙 373 条。其 中高危缝隙 86 个,占比 23%;中危缝隙 273 个,占比 73%; 低危缝隙 14 个,占比 4%。2020年区块链安全态势感知报告

图 4-1-1 缝隙等级分布图

1.高危缝隙 2020 年国家区块链缝隙共享渠道共收录区块链高危漏 洞 86 个。

(1)双生树缝隙

2020 年 11 月 10 日,国家区块链缝隙渠道收录了双生树缝隙(CNVD-2020-66571),进犯者能够运用此缝隙在 不影响区块哈希的前提下,篡改部分区块数据。 

(2)Sinoc 公链拒绝服务缝隙

2020 年 9 月 29 日,国家区块链缝隙渠道收录了 Sinoc 公链拒绝服务缝隙(CNVD-2020-55001),进犯者能够利 用此缝隙主张拒绝服务进犯。

(3)底层网络恳求处理不妥拒绝服务缝隙

2020 年 3 月 22 日,国家区块链缝隙渠道收录了底层网 络恳求处理不妥拒绝服务缝隙(CNVD-2020-30134),攻 击者能够运用此缝隙主张拒绝服务进犯。 

(4)Bitool 文件上传缝隙

2020 年 2 月 13 日,国家区块链缝隙渠道收录了 Bitool 文件上传缝隙(CNVD-2020-30138),进犯者能够经过上 传歹意木马对服务器进行进犯,形成严重丢失。

(5)Neo CLI 节点客户端拒绝服务缝隙

2020 年 12 月 08 日,国家区块链缝隙渠道收录了 Neo CLI 节点客户端拒绝服务缝隙(CNVD-2021-02009),攻 击者经过结构歹意脚本发送到公链上,能够形成悉数一致 节点进程溃散,终究形成主网拒绝服务。

2.中危缝隙 2020 年国家区块链缝隙共享渠道共收录区块链中危漏 洞 273 个。

(1)GasToken2 缓冲器溢出缝隙2020 年 2 月 18 日,国家区块链缝隙渠道收录了 GasToken2 缓冲器溢出缝隙(CNVD-2020-30136),因为 该缓冲器未运用 safemath 函数,进犯者能够对其发起整 数溢出进犯。

(2)Sinoc 公链逻辑缺点缝隙 2020 年 6 月 19 日,国家区块链缝隙渠道收录了 Sinoc 公链逻辑缺点缝隙(CNVD-2020-55002),进犯者能够在 未取得身份认证的情况下进行歹意操作,例如:删除地址 账户导致资金丢失、增加新地址、查看系统日志记载信息 和 RPC 调用示例等。

(3)ETHLend 逻辑缺点缝隙 2020年6月30日,国家区块链缝隙渠道收录了ETHLend 逻辑缺点缝隙(CNVD-2020-35586),进犯者能够运用该 缝隙形成整数溢出,然后绕过关键判别,导致超额购买虚 拟数字财物。

(4) BIXToken 智能合约逻辑缺点缝隙 2020年6月3日,国家区块链缝隙渠道收录了BIXToken 智能合约逻辑缺点缝隙(CNVD-2020-31663),此缝隙会 导致被进犯的账户永久无法解锁其被锁仓的代币

(5)AsacCoin 智能合约整数溢出缝隙 2020 年 3 月 22 日,国家区块链缝隙渠道收录了 AsacCoin 智能合约整数溢出缝隙(CNVD-2020-30135),合约能够结构一个较大的数据向某一地址增发虚拟数字 财物,因为其缝隙将导致整数溢出,终究使该接纳虚拟数 字财物地址余额变为 0 或很小。 

五、其他安全问题

除了上述常见缝隙以外,还存在一些其它类型的缝隙, 本章将对其间三种常见缝隙导致的安全问题进行介绍。

1. 弹性供给缝隙

据国家区块链缝隙库监测,北京时刻 2020 年 8 月 12 日,DeFi 项目 YAM Finance 因为项目机制进行弹性供给 Rebase 时存在缝隙,使得在第2次 Rebase 时额定铸造了 许多虚拟财物,而维护管理需求提交与总额成正比的虚拟 财物,额定铸造了许多虚拟财物使得维护管理需求提交的 虚拟财物也就大幅增加,这将导致无人能供给足够的虚拟 财物来对其进行维护管理,若无法管理,其间的虚拟财物 将被确定且无法运用。

2.清算缝隙

据国家区块链缝隙库监测,流动性挖矿项目 Soda 被人 发现存在一个清算缝隙,该缝隙可导致项目中 20000 个虚 拟财物被清算掉,缝隙发现者向项目开发组提出该缝隙但 未引起开发组重视,故发现者将其间的一个虚拟财物清算掉,并发文正告。之后开发人员敏捷中止了该项目告贷功 能。 3.时刻确定缝隙 据国家区块链缝隙库监测,DeFi 项目 BaconSwap 和 shroom.finance存在时刻确定缝隙,该缝隙能导致项目所 有者能够绕过时刻锁来无限增发虚拟财物。对此缝隙,项 目方暂时没有供给相应解决方案。

 六、对策主张

一是在系统上线前进行专业的安全与操作/事务流程 审计工作,切勿为了节省时刻与本钱而匆促上线;

二是系 统上线后做好数据监控维护工作,能保证第一时刻发现异 常并进行处理;

三是加强安全意识与完善应急流程,能在 发现反常的情况下及时止损,修正系统,将丢失降到最低;

四是个人应加强安全意识,进步对区块链技能的了解,切 勿相信涉嫌不合法金融活动的宣传,如包括一夜暴富、稳赚 不赔、躺赚等相关字眼;

五是妥善保管好钱包私钥,触及 大额资金能够经过硬件钱包进行存储,并在运用钱包的过 程中注意安全防护;

六是加强对区块链技能系统安全危险 和防护手法的研讨,推动习惯区块链技能机制的安全保障 系统建造;

七是积极展开区块链系统安全评估和智能合约 形式化验证,提前发现安全隐患;八是加强区块链缝隙库建造和使用,进步区块链安全事情的发现、剖析、预警和 应急处置才能。

参考文献 

[1] 国家区块链缝隙库.《区块链缝隙定级细则》,2020 

[2] 国家区块链缝隙库.《区块链技能架构安全要求》, 2020 

[3] 国家区块链缝隙库.《DeFi 网络安全态势陈述》, 2020 

[4] 信通院.《区块链安全白皮书-技能使用篇》,2018 

[5] 信通院.《区块链安全白皮书(1.0 版)》,2019 

[6] 信通院.《区块链白皮书(2019 年)》,2019 

[7] 信通院.《全球区块链使用十大趋势》,2017 

[8] 中国移动,中国电信,中国联通.《区块链电信职业应 用白皮书(1.0 版)》[R],2019 

[9] Muhammad Izhar Mehar,Charles Louis Shier,Alana Giambattista,Elgar Gong,Gabrielle Fletcher,Ryan Sanayhie,Henry M Kim,Marek Laskowski. 《Understanding a revolutionary and flawed grand experiment in blockchain: the DAO attack》,Journal of Cases on Information Technology (JCIT) 21 (1), 19-32,2019 

[10] Congcong Ye,Guoqiang Li,Hongming Cai,YonggenGu,Akira Fukuda. 《 Analysis of security in blockchain: Case study in 51%-attack detecting》,2018 5th International Conference on Dependable Systems and Their Applications (DSA), 15-24,2018 

[11] Dey Somdip. 《 A proof of work: Securing majority-attack in blockchain using machine learning and algorithmic game theory》,International Journal of Wireless and Microwave Technologies (IJWMT), 1-9, 2018 

[12] Muhammad Saad,Jeffrey Spaulding,Laurent Njilla,Charles Kamhoua,Sachin Shetty,DaeHun Nyang,David Mohaisen. 《 Exploring the attack surface of blockchain:A comprehensive survey》,IEEE Communications Surveys & Tutorials 22 (3),1977-2008,2020

视野开拓

可以说,听取专家意见已成为政府官员推卸责任的一个重要的原因。第二个办法就是忠实执行上级政府的政策,中央号召做什么我就做什么,或者跟风,别人(其他地区)做什么我就做什么。 许多假装捍卫“自由企业”的人,实际上是一群捍卫他们自己特权的卫道士和要求政府采取有利于他们的行动的鼓吹者,而非一切特权的反对者。他认为,除非反对国家控制运动的领导人以身作则,随时准备用他们要求大众接受的竞争市场节律来约束自己,否则我们就无望回到一个较为自由的制度中。 需要特别强调的是,中国目前弥漫着一种过度自信的气氛,一方面反对普世价值,另一方面期望把中国的经验变成普遍的规律用来指导其他国家。 政府官员的优势并不在于能够更准确地判断未来,而在于能够在现有的官僚主义下循规蹈矩地做好本职工作。 市场的优越性正是来自不完全信息,因为市场以分工和专业化为基础,分工和专业化的价值就来自信息不对称。 信奉新古典范式的经济学家有时也使用“企业家”这个词,但他们说的“企业家”不过是一个计算器:给定目标和手段,按照“边际收入等于边际成本”的规则计算出最优投入和产量。制定这样的决策不需要想象力,不需要机敏,不需要判断力。但对真正的企业家来说,想象力、机敏和判断力才是最重要的。 概言之,产业政策之所以失败,一是由于人类认知能力的限制,二是因为激励机制扭曲。更通俗地讲,一是由于人的无知,二是由于人的无耻。 在原有体制下,由政府进行结构调整的根本问题在于:结构扭曲往往就是由体制缺陷和政策偏差造成的,而且政府没有办法判定什么样的结构才是好的结构。 不能因为政策设计可能失误,贯彻机制可能走偏,就完全对产业政策、供给管理弃而不用,那是一种无所作为的状态。-《政府的边界》

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注