2018年区块链智能合约安全审计研究报告.doc

返回 相关 举报
2018年区块链智能合约安全审计研究报告.doc_第1页
第1页 / 共29页
2018年区块链智能合约安全审计研究报告.doc_第2页
第2页 / 共29页
2018年区块链智能合约安全审计研究报告.doc_第3页
第3页 / 共29页
2018年区块链智能合约安全审计研究报告.doc_第4页
第4页 / 共29页
2018年区块链智能合约安全审计研究报告.doc_第5页
第5页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
2018年区块链智能合约安全审计研究报告目录 | 1 | 概述 . 1 |1.1| 以太坊介绍 . 1 |1.2| 智能合约介绍 . 1 |1.3| 以太坊智能合约安全风险 . 2 | 2 | 智能合约安全检测 . 3 |2.1| 智能合约安全检测内容说明 . 3 |2.2| 智能合约 安全漏洞分类与评级 . 4 |2.3| 快速扫描引擎介绍 . 5 |2.3.1| BSCSCS 快速扫描引擎的验证流程 . 6 |2.3.2| BSCSCS 快速扫描引擎支持扫描漏洞种类 . 8 | 3 | 安全检测结果及分析 . 8 |3.1| 安全漏洞分布 . 8 |3.1.1| 智能合约安全漏洞类型分布图 . 8 |3.1.2| 智能合约安全漏洞严重等级分布图 . 9 |3.2| call 安全漏洞 . 10 |3.3| 条件竞争漏洞 . 12 |3.4| 重 入攻击漏洞 . 13 |3.5| 权限控制漏洞 . 14 |3.6| 数值溢出漏洞 . 16 |3.7| 事务顺序依赖漏洞 . 17 |3.8| 账户冻结及绕过漏洞 . 17 |3.9| 逻辑设计缺陷漏洞 . 18 |3.10| 错误使用随机数漏洞 . 19 | 4 | 典型分析案例 . 21 | 5 | 结束语 . 22 前言 2018 上半年,以太坊全球日均新增合约地址数量超过 3500 个, 日均新增个人地址数量超过 85000 个。受数字货币行情的影响,一季度新增数量明显高于二季度,二季度日均新增合约数量超过 1000。 以太坊智能合约数量与日俱增,并受到越来越多的关注及运用, 而其安全问题也随之暴露,攻击者利用安全漏洞对智能合约进行攻击,导致数字资产发生丢失或被盗取。故加强区块链智能合约的安全 性随着以太坊合约的增加逐步进入大众视野,成为了区块链智能合约 开发中工作中的一个难题。 区块链安全研究中心由此对区块链智能合约安全检测平台 ( sjtubsrc)内 31276 份智能合约进行检测,得出智能安全合约在九大安全漏洞的 类型分布并对每种类型的漏洞严重等级进行评级。希望能加强区块链行业从事着对智能合约安全漏洞的了解, 引起相关人群对智能合约安全的重视,促进区块链行业发展。 区块链安全研究中心 BSRC 由上海掌御信息科技有限公司与上海交通大学网络空间安全学院、中国信息通信研究院泰尔终端实验室共同组建。 BSRC 致力于区块链安全领域的基础研究,开展包括但不限于区块链安全技术研发、安全行业标准制定、区块链应用场景安全研究、区块链金融应用合规性研究等工作。 上海交通大学网络空间安全学院 (原信息安全工程学院 ) ,是由国家教育部、科技部 、上海市政府和上海交通大学共同建设的国内首 家学院建制的国家信息安全专业人才培养基地,拥有一支包括教授、 副教授、兼职教授等 60 余名青年骨干教师和 200 多名博士、硕士 研究生构成的高水平科研学术团队,先后承担了 300 余项国家重要 科研项目及横向项目,取得了包括国家科技进步二等奖等一系列重要科研成果,并参与国家一系列重要的信息安全标准制定和法规建设等。 中国泰尔实验室 (CTTL)始建于 1981 年,行政隶属于工业和信息化部中国信息通信研究院 (CAICT), 由工业和信息化部和国家质量监 督检验检疫总局授权设立。实验室经历了不断的发展和融合,现在的 实验室是由工业和信息化部中国信息通信研究院所属的电信传输研 究所、通信计量中心、邮电工业标准化研究所和保定泰尔通信设备抗 震研究所通过业务重组和资源整合而组成的。中国泰尔实验室是集信 息通信技术发展研究,信息通信产品标准、测试方法、通信计量标准、 计量方法研究,国内外产品的测试、验证、技术评估、测试仪表计量、 通信软件的评估、验证为一体的高科技组织。 上海掌御信息科技有限公司是专业的区块链安全服务提供商,由国际顶尖的白帽子技术团队 和密码学博士组成,曾是银联云闪付底层 白盒密码引擎的技术供应商,也参与了多个国家标准和行业标准的制定,并与工信部中国泰尔终端实验室、上海交通大学网络空间安全学 院共同成立了区块链安全研究中心,致力于区块链基础链、智能合约、 应用客户端的黑盒安全测试和白盒代码审计,同时也提供加密数字热 钱包和冷钱包的底层安全解决方案和身份验证方案。 中国区块链应用研究中心、杭州加密谷区块链科技有限公司和上海淳粹文化传媒有限公司是本白皮书联合发布方。 中国区块链应用研究中心是公益机构,由互联网金融博物馆联合部分区块链业界的领袖机构成立 ,其宗旨是与监管机构密切合作,共 同推动区块链行业的培训认证和规范发展,鼓励区块链在实体经济中 的场景应用,防范金融风险,促进中国区块链业界与全球同行的交流, 建立行业规则。 杭州加密谷区块链科技有限公司加密谷 Live( CryptoValley Live) 是具有全球视野的区块链新媒体品牌,关注全球加密经济产业趋势,以图文、视频、直播、会议等形式报道全球区块链前沿资讯与深度思考。加密谷在瑞士楚格、旧金山、上海、香港、东京均设有记 者站,运营中心设立在上海。 上海淳粹文化 传媒有限公司 ( 简称:淳粹传媒 ) 以数据为基础, 以知识为核心,以媒介为渠道,借助数知媒外部数据集成服务平台和 资源管理系统,通过数据应用和资源整合为客户提供核心人物 IP 打 造、风险与危机管理等整体解决方案。 | 1 | 概述 |1.1| 以太坊介绍 以太坊 ( 英文 Ethereum)是一个开源的有智能 合约功能的公共区块链平台,目前已经发展成为仅次于比特币的全球第二大区块链, 通过其专用加密货币以太币 ( Ether) 提供去中心化的虚拟机 EVM( “ 以太虚拟机 ” Ethereum Virtual Machine)来处理点对点合约,基于以太坊的智能合约是全球最主流的智能合约。 以太坊虚拟机 ( EVM)是以太坊的核心, EVM 可以执行任意算法复杂度的代码。在计算机科学的术语中,以太坊是图灵完备的。开发者可以使用语法上类似 JavaScript 和 Python 的编程语言 ( Solidity) 创建运行于 EVM 上 的应用程序。 以太坊虚拟机( EVM) 使用了 256 比特长度的机器码,是一种基于堆栈的虚拟机,用于执行以太坊智能合约。由于 EVM 是针对以太坊体系设计的,因此使用了以太坊账户模型( Account Model)进行价值 传输。 EVM(以太坊虚拟机)的特性如下: 1、是一个完全基于栈结构的虚拟机 2、无寄存器的简单虚拟机 3、每个字节为 256 位长度 4、由以太坊黄皮书作为规范 5、每一步操作都需要花费一定的 gas |1.2| 智能合约介绍 智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。 基于区块链技术的智能合约不仅可以发挥智能合约在成本效率方面的优势,而且可以避免恶意行为对合约正常执行的干扰。将智能合 约以数字化的形式写入区块链中,由区块链技术的特性保障存储、读 取、执行整个过程透明可跟踪、不可攥改。同时,由区块链自带的共 识算法构建出一套状态机系统,使得智能合约能够高效地运 行。但是, 区块链上的所有用户都可以看到基于区块链的智能合约,这会导致包 括安全漏洞在内的所有漏洞都可见,并且可能无法迅速修复。 |1.3| 以太坊智能合约安全风险 目前,以太坊智能合约的编程语言 solidity 和以太坊智能合约运行的虚拟环境 EVM 的设计还不完善,不排除出现安全漏洞的情况。 如果智能合约开发者稍有疏忽或者测试不充分,就有可能造成智能合约的代码存在漏洞。这对项目 安全来说就像一颗隐藏的炸弹,一旦爆炸,后果将不堪设想。目前以太坊智能合约的安全漏洞容易导致用户资产贬值,被冻结,被非法转移等重大问题。 根据 Token Club 研究院对近年来区块链安全事件统计数据显示, 易受攻击点被攻击次数共计 123 次,其中智能合约占比 21.14%,易受攻击点带来的经济损失共计 347984.08 万美元,其中智能合约占比 %。重大安全事件数量与安全事件造成的经济损失也在 2018 年到达一个新值。 | 2 | 智能合约安全检测 |2.1| 智能合约安全检测内容说明 本白皮书是区块链安全研究中心以区块链智能合约安全检测平台 ( sjtubsrc) 内 31276 份智能合约为数据样本以以太坊ERC20 Token 标准进行检测,检测技术采用区块链智能合约安全检测平台的快速扫描引擎,检测时间为 2 周,最终得出智能安全合约在call 安全漏洞、条件竞争漏洞、重入攻击、权限控制漏洞、数值溢出、事务顺序依赖 、账户冻结及绕过、逻辑设计缺陷、错误使用随机 3 数等九大安全漏洞类型的分布,并对每种类型的漏洞严重等级进行了评级。 检测的智能合约相关数据如下: 检测智能合约数 :31276 检测智能合约代码行数 :9407593 检测智能合约函数数: 371655 检测智能合约的交易笔数: 87608190 检测智能合约价值 : |2.2| 智能合约安全漏洞分类与评级 智能合约安全漏洞及其严重等级定义如下: 类型 名称 严重等级 call 安全漏洞 DAOMethodCall 3 DelegateCallWithUserInput 3 UnsafeCallTarget 1 条件竞争漏洞 TODAmount 2 TODReceiver 2 TODTransfer 2 重入攻击 DAO 3 DAOConstantGas 2 权限控制漏洞 UnprivilegedSuicide 3 UnrestrictedEtherFlow 3 UnrestrictedWrite 3 UseOfOrigin 2 数值溢出 IntegerOverflow 3 事务顺序依赖 DivisionBeforeCallvalue 2 DivisionBeforeMultiply 2 冻结账户绕过 LockedEther 3 逻辑设计缺陷 MissingInputValidation 2 UnhandledException 2 WriteOnly 2 错误使用随机数 UnsafeDependenceOnBlock 2 UnsafeDependenceOnGas 2 |2.3| 快速扫描引擎介绍 快速扫描引擎应用在区块链安全研究中心推出的国内首个智能合约自动化检测系统 BSCSCS( 在线平台 sjtubsrc)目前已经上线。利用快速检测引擎平台平均一分钟内可以完成一个智能合约的自动化检测,并公布所有的潜在风险点、漏洞细节以及相关的代码位置。平台现已面向所有用户开放注册和测试。 快速扫描引擎为基于事实推理的符号执行。本引擎根据 EVM 的特性创建了一套自定义的约束语句、根据当前已存在的常见合约漏洞创建了一套自定义的约束规则,通过对导入的智能合约代码进行约束转 换、约束校验等,来判断其中的某些数据流是否能被证明安全或不安 5
展开阅读全文
相关资源
相关搜索
资源标签

copyright@ 2017-2022 报告吧 版权所有
经营许可证编号:宁ICP备17002310号 | 增值电信业务经营许可证编号:宁B2-20200018  | 宁公网安备64010602000642