《2022DAPP安全指南手册.docx》由会员分享,可在线阅读,更多相关《2022DAPP安全指南手册.docx(37页珍藏版)》请在优知文库上搜索。
1、DAPP安全指南手册目录1. DAPP与安全概述611 DApp概述612 DApp安全简介713 DAPP安全攻防82. DeFi的安全821 DeFi概述822 DeFi的功能特性923 DeF14二1124 DeFi项目的安全概述1225 DeFi的智能合约安全案例分析1426 DeFi通证经济设计方面的安全案例分析2627 DeFi监管安全的案例分析323. DApp安全测试建议与工具3431 木勾3432 3533 /IJ3634 T3.13735生产环境中的测试与追踪3736针对智能合约的安全测试工具384. DAPP安全最佳实践与案例3941DAPP的基本架构3942安全开发与测
2、试的要点4043DApp开发采用DevSecOps流程4144加强安全审计4143参考资料1.DApp与安全概述1.1DApp概述DAPP是DeCentraliZedAPPliCation的缩写,是基于区块链的应用程序。这些类型的应用程序的身份数据和资产由用户控制,程序的运行和数据的管理不受任何中心化的管控。一个应用程序需要有一组特定的特征才能成为DAppo具体包括:去中心化:使用一种类似区块链的加密技术。不依赖中心服务器,不需要专门的通信服务器传递消息,也不需要中心数据库来管理数据。开放生态系统:任何人都可以针对特定区块链平台的接口和协议开发应用程序,它的发布不受任何机构限制。各种创意与创新
3、可以自由表达和实现。算法及协议:交易发生的顺序由共识算法决定。DAPP参与者信息一般存储在参与者的手机。可以保护数字资产,有利于产权不会泄露、被破坏。DApp也在演变不断进化,通证化是今天DApp的显著特点。在区块链的时代,任何“价值”的流动,都可以通证化。通证需要具备三要素:权益、加密、流通,通证的三个要素缺一不可。通证化后的DApp只需聚焦在应用前端和智能合约之间的业务逻辑上。美国证监会(SEC)将加密货币划分为两类:实用型通证(IItiIitytOken)和证券型通证(SeCUritytoken)0证券型通证被用来支付红利、收益、利息,或者通过投资其他通证为通证持有人带来利益。他们是具有
4、货币价值的可交易金融工具。公共股本、私人股本、房地产、管理基金、交易所基金、债券,这些都是证券型通证的常见示例。这类通证也被细分为两类:权益通证(EquityToken)和资产通证(ASSetToken)实用型通证也被称为应用通证(apptoken)或用户通证(usertoken)o这类通证大多都是企业针对自己提供的服务或者产品为项目募资而发行的。实用型通证的价值是以项目概念的未来实用价值来评估的。与证券型通证相比,实用型通证更具体地强调自己的开发平台或生态系统,它的价值与平台或生态系统内参与者的活跃度成正比。实用型通证被细分为两类:产品或服务通证(USeOfPrOdUCt)和奖励通证(ReW
5、ardTOken)1.2DApp安全简介DAPP安全具有一些内置安全性、又可以通过密码学增加其鲁棒性。但由于DAPP直接操作数字资产,而且往往开放源代码,应用程序的源代码是所有人都可见,已经成为备受黑客关注的攻击目标。黑客的攻击手段从最初的“溢出攻击”到“假EOS攻击”、“重放攻击”、“假转账通知攻击”,而后到屡试不爽的“随机数攻击”和“交易回滚攻击”,黑客的攻击手法正在不断演变且愈发复杂。以下是Peckshield发布的波场、以太坊、EOS三大生态DAPP安全事件报告:根据PeCkShieId报告指出,从2018年7月至2019年6月,EOS上的DApp安全事件数量最多,共109起,损失EO
6、S总数约93万枚。波场(Tron)上的DApp安全事件数量为11起,损失TRX约2900万枚,而仅2019年5月波场发生的安全事件所引起是TRX损失就超2700万枚,占总统计数据的约93%0而以太坊安全事件(注:仅统计DApp的安全,不包括Token(如常规ERC20)相关的安全事件)有5起,共损失2.4万枚以太坊。下面的图介绍总结安全事件和攻击手段。1. 3DApp安全攻防根据区块链安全公司厦门慢雾科技有限公司(以下简称:慢雾科技)总结的安全攻防图对DApp的安全进行了总结。慢雾科技攻防图的总结,除了利用区块链上的常见的手段还总结了利用区块链下的传统安全的手段进行风险分析包括但不限于:链上攻
7、防:包括但不限于:逻辑设计、溢出、未初始化、假充值、条件竞争、随机数、资源优化、假通知、回调安全、拒绝服务、内存吞噬、假账号、权限控制、恶意事件、硬件编码、假币、重放攻击、第三方模块、显现编码、编译器版本等问题。“1-=链下攻防:包括但不限于XSS、CSRF.SQL注入、中间人劫持、私钥存储、SSRF、加密传输、权限控制、命令执行、认证授权、第三方组件、ATT&CK.终端安全、后端安全、Web安全、节点安全等问题,除了考虑智能合约安全,还需要考虑节点的安全。除了考虑数据的加密还需要考虑共识算法的安全。Gotrv Pentynodoos共识gwIawwwIa*bm三声Iwm-IInMt-|wmI
8、iflwa-IaraBMIE-1IW-IWMw-LI权WgMW/口件Ia三wIro_IIWgIBJtIautaMWMXSSIICSRFIISQCaAlt0gfflWMI私WIJTWISSRF后嫡安全IIngWIeawaw|命行I认atgIIllmMSW=IATT&CKWeb安金(2. DeFi的安全2.1 DeFi概述DeFi是DecentralizedFinance(以下简称),可以翻译为去中心化金融,也可以理解为开放式金融(OPenFinance),它是利用去中心化协议和智能合约提供普惠的、不需要准入条件的金融服务。由于区块链的金融属性,全球参与属性和DAO(社区自治)属性,DApp的最重
9、要的应用就是DeFi.应该说,2020年区块链整个行业的发展是聚焦在DeFi的应用。DeFi是相对于CeFi(传统的中心化金融,比如银行)而言的,我们现有的银行业、保险业、信托业、证券业、租赁业等几乎都是CeFi,它们能不能满足我们的需求?可以,但是也存在下面例举的痛点。1 .不够普惠性:以门槛最低的银行账户为例,据不完全统计,目前全球大约仍有17亿人没有银行账户。其中东南亚地区大约4.6亿人、非洲大约有3.5亿人、中国大约有2.25亿人都是没有银行账号的。即便在美国这个最发达的资本主义国家,目前仍有大约5500万人没有银行账号。2 .费用高:无论是CeFi还是DeFi,我们在使用各种金融服务
10、时,一般都会产生一定的费用。但在CeFi中,这个费用有时会很高昂。以跨境转账为例,目前每笔的平均服务费用是4.4%+0.3美元。也就是说如果从中国汇款100万元美元到美国,我们需要支付高达44000.3美元的手续费。再以贷款为例,大额贷款一般都要收取发放费、手续费,在美国这个费率一般是2%o比如,贷款100万元,一般就要支付2万元左右的费用。3 .效率低:还是以跨境转账为例,目前国际上普遍使用SWlFT平台,其转账的周期是T+2,也就是在一笔交易完成后,还需要再等2天的时间才能到账。4 .中心化安全问题:这个问题不言而喻,传统金融机构都会有中心化的数据库,一旦出现黑客拖库后果将不堪设想。当然现
11、在银行等金融机构的安全防控级别都很高,但中心化的数据存储让机构作恶成为可能,比如用户隐私泄露早已成为社会的顽疾,恶意篡改用户数据也不无可能。2.2DeFi的功能特性针对CeFi的不足进行了理解,那么DeFi相较之下有哪些特性?以下是DeFi拥有的10个特性:1 .普惠性:只要一部可以联网的手机或者电脑,在世界任何一个角落任何一个人都可以访问DeFi协议,从而享受各种的金融服务。比如用UniSWaP进行去中心化交易,比如利用COmPoUnd平台进行去中心化借贷,或者通过ImTOken钱包访问DeFi应用进行去中心化理财等。2 .可控性:相较于CeFi将资产交给金融机构托管,DeFi的一大优势是用
12、户始终对自己的资产拥有绝对的控制权。并且在DeFi中,用户在金融交易中可以任意扮演买方或卖方,既可以是服务方也可以是被服务方,而且没有什么门槛。3 .透明性:DeFi协议代码都是开源的,因此任何人都可以验证其安全性、交互规则以及实际网络使用情况。4 .抗审查性:在DeFi中系统对所有的交易都是一视同仁的,同时还能保护交易者的隐私。5 .可编程性:DeFi是通过智能合约来实现的,所以可以根据功能需要对智能合约进行编程调整,从而实现不同的金融逻辑。6 .可组合性:可以利用不同的底层协议与上层应用进行组合,从而产生各种新的应用。7 .可互操作性:DeFi可以将数字资产与法币、物理资产的价值进行交互。
13、比如在以太坊上的SynthetiX项目就可以实现这一点,这种可以交互的资产也称之为合成资产。8 .高利息性:在传统中心化金融中,我们将把钱存入银行,或者放贷得到的利息往往非常低,甚至在某些国家还可能是负利息。相较而言,在DeFi生态中的利息就要高的多。一个好的项目会将贷款发放费、交易费拿出来作为利息,分发给参与者。9 .零费用性:在传统金融中,除去交易费用外,往往还存在账户费用。比如信用卡的年费,储蓄卡存款额度很小时,银行会收取小额管理费等等。另外,前段时间美国石油期货价格出现了史无前例的负价格,其根本原因也是因为存储、运输都需要费用,从而导致期货价格为负的可能。但在DeFi中即便你的账户里只
14、有0.000001个ETH,也不需要支付任何账户费用。而且根据数字货币的属性,它的价格也不可能出现负值。10 .可分散性:DeFi可以分散风险。例如在今年新冠疫情等因素的影响下,全球资产市场出现危机。我们可以将传统投资与数字货币进行组合,从而分散投资风险。综上可见,相较于CeFi而言,DeFi拥有众多独特的属性与优势,并且随着技术的不断成熟,其应用范围将会越来越广泛,甚至带来整个金融行业的革命。也正是基于这些原因,即便目前DeFi并不够成熟,但其发展与前景依然被广泛看好。2. 3DeFi的生态堆载从技术、功能角度,DeFi项目可以划分为不同的层次,比如公链、钱包属于底层技术,DEX、借贷属于不同层次的应用。同时,不同层次可以相互组合产生新的应用。目前行业内很少有人去做这个划分,我们初步把DeFi的生态应用划分为6个层次:1 .底层技术:包括公链(比如以太坊,元界DNA)和钱包(比如库神,imToken,元界钱包)等等。底层公链技术主要为DeFi生态提供价值存储和价值共识的基础。2 .DEX(去中心化交易所):比如Uniswap、OX、Kyber等等。去中心化交易所