OWASP 区块链十大安全风险 2019版中国年月区块链安全关于中国开源应用安全项目简称是一个开放的社区致力于帮助各企业组织开发购买和维护可信任的应用程序中国是安全组织在中国的分部是全球近个区域分部之一在中国您可以找到以下免费和开源的信息应用安全工具和参考标准关于应用安全测试安全代码开发和安全代码审查方面的完整书籍演示文稿和视频关于常见风险的标准的安全控制和安全库全国个区域性分会尖端技术研究专业的全球会议邮件列表更多中文信息请访问更多全球信息请访问所有的工具文档论坛和全球各地分会都是开放的并对所有致力于改进应用程序安全的人士开放我们主张将应用程序安全问题看作是人过程和技术的问题因为提高应用程序安全最有效的方法是在这些方面提升区块链安全全球和中国没有商业压力使得我们能够提供无偏见实用低成本的应用安全信息尽管全球和中国支持合理使用商业安全技术但不隶属于任何技术公司和许多开源软件项目一样以一种协作开放的方式制作了许多不同种类的材料几乎每一个与中国相关的人都是一名志愿者这包括了中国的主席副主席各区域分部负责人项目负责人和项目成员我们期待您的加入区块链安全前言近几年区块链技术的发展非常迅猛安全形势也越来越严峻仅安全事件导致的直接经济损失就高达亿美元很多公司甚至因此倒闭给行业带来了巨额的经济损失和惨痛的教训基于此中国成立专门研究小组收集整理和分析了年至年间共个典型区块链安全事件并在本文档中给出了排列和描述希望能帮助到广大的区块链从业者和关注区块链安全的人们在参考了类似等安全威胁评估方法之后本文以每类威胁历史安全事件所导致的直接经济损失总额为依据通过客观数据评估威胁大小直接经济损失总额包含了威胁评估的两个重要因素一是威胁发生的数量即威胁发生的次数二是威胁发生导致的影响即直接经济损失使用直接经济损失表示威胁的大小的好处是数据相对客观避免了主观数据导致评估结果误差较大问题同时这种评估方式更具有良好的解释性阅读本文档时需注意以下三点安全事件导致的经济损失以案件发生时的虚拟币价格计算统计分析过程中只计算了直接经济损失未计算间接经济损失的安全事件个未公布经济损失因而未计入损失统计区块链安全致谢感谢以下为本文档编写做成贡献的个人排名不分先后按姓氏拼音排列项目组长付山阳项目组成员侯欣杰蒋旭宪宋飞王颉张迅迪区块链安全目录关于中国前言致谢一高级可持续威胁风险描述危害描述实际案例案例案例案例二修复方案失控的币值通胀风险描述危害描述实际案例案例区块链安全三修复方案失效的权限控制风险描述危害描述实际案例案例案例案例四修复方案不安全的共识协议风险描述危害描述实际案例案例案例五修复方案考虑不充分的程序逻辑区块链安全风险描述危害描述实际案例案例六修复方案不严谨的业务策略风险描述危害描述实际案例案例七修复方案校验不严格的交易逻辑风险描述危害描述实际案例案例案例区块链安全案例案例八修复方案脆弱的随机数机制风险描述危害描述实际案例案例九修复方案存在缺陷的激励机制风险描述危害描述实际案例案例十修复方案日志记录和监控不足风险描述区块链安全危害描述实际案例修复方案后序参考文献区块链安全一高级可持续威胁风险描述高级可持续威胁类问题往往出现在区块链领域的中心化团队上比如交易所钱包矿池等由于这些区块链团队在基础设施安全建设和安全运营上的欠缺导致基础设施存在安全漏洞从而被攻击者利用实施数字货币的盗窃或者破坏危害描述高级可持续威胁会导致区块链系统被入侵权限被控制最终导致资金被盗取敏感数据被泄露等系列严重问题在年间就共有起高级可持续威胁类安全事件导致的直接经济损失高达亿美元是区块链领域的第一大威胁实际案例案例是区块链领域最著名的入侵事件之一早在年月交易所就遭到黑客攻击据称该公司的一名审计人员的电脑受到了攻击黑客利用这台电脑访问比特币交易所的内网人为的将比特币的名义价值修改为美分然后从该交易所的客户账户转移了大约枚比特币年遭受了更严重的黑客攻击近万的比特币被盗窃攻击手法并没有被披露但据内部人员透露其存在内部组织不一致程序安全性不佳网站源代码泄露等严重的问题甚至有黑客怀疑他们是监守自盗事后又渗透进去可见安全性很差这次的事件导致它们近亿美元的损失并最终走向破产也受到法律的制裁区块链安全案例是另一起著名的区块链领域入侵事件将钱存入热钱包而且不实行多重签名系统最终导致了黑客有机可乘该平台全部亿币新经币被非法转移根据估算这批丢失的新经币价值高达亿美金这是目前历史上最大规模的数字货币盗窃案案例以及类似的游戏等遭受到的攻击是另一类基于以太坊合约的可以称之为区块链高级持续威胁的概念于年提出区别于传统网络安全的在于其攻击目标是区块链的基础设施智能合约等值得一提的是很多加密货币交易所遭受的攻击属于传统范畴攻击是需要长时间的使用特定的合约不停的跟受害合约进行交易内部交易对受害合约进行扫描发现其漏洞然后改进针对其漏洞的攻击合约下图中显示的多笔失败交易就是攻击者的攻击合约漏洞产生的区块链安全等到受害合约开始拥有一定数量的用户同时奖励和资金池开始增长以后便开始大规模的部署和运行攻击合约利用用受害合约的漏洞获得高概率的回报更多信息请参考此链接修复方案不管是交易所钱包还是矿池等团队都需要高度重视产品安全办公安全和内部风险管理等安全方面的建设产品安全可以参考项目提出的最佳安全实践而办公安全侧重入侵检测和数据防泄漏市场上的安全供应商都可以给出较好的方案另外内部的风险管理也都要尽快的建立和完善另外游戏开发者需要对玩家进行评估区别机器玩家合约玩家等非正常类型的玩家这些非正常类型的玩家有很大的概率是用来对一个合约进行漏洞扫描和分析的游戏开发者应该持续分析数据评估可能存在的风险及时作出防护以降低安全风险区块链安全二失控的币值通胀风险描述比特币及其他区块链虚拟货币吸引大家的一个主要原因是其限定了铸币总数从而避免了法币通胀和持币者长期承受经济损失但若铸币总数限制部分的程序设计和实现有漏洞则可能导致铸币总数失控甚至超出设定发币总数多倍致使币值失控通胀危害描述自区块链技术诞生以来币值通胀类威胁导致了亿多美元的直接经济损失占整个区块链安全事件经济损失的而其中智能合约层案件最为突出单的币值通胀事件就损失了近亿美元直接导致了其价值归零实际案例案例币值通胀类最典型的案例就是安全事件主要由于币值控制部分的代码出现了整数溢出漏洞导致出现无限铸币的情况出现问题的代码如下图所示红色框中的与参数分别代表转账费用和转账金额这两个参数都可以由攻击者控制作者的本意是希望通过这行代码检查账户的余额是否足够支付转账金额和转账费用如果不够支付则退出函数不进行支付操作但当的值足够大比如以至于会产生上溢的值等于这样绕过了代码的检查仍然会实施支付操作而实际转账的函数不再检查余区块链安全额是否足够以至于时也可以转账成功攻击者凭空获得大量的数字货币修复方案对整数溢出漏洞导致的币值通胀问题建议使用安全的算术函数做加减乘除处理对币值控制的代码应该谨慎安全的处理区块链安全区块链安全三失效的权限控制风险描述由于权限控制在设计或编码过程中的疏忽和缺陷导致本来应该限制使用范围的重要函数或权限没有控制好范围从而被攻击者调用这些重要函数或者使用权限实施攻击危害描述过去年时间里权限控制失效类问题导致的区块链安全事件共有起但导致的直接经济损失达亿美元其中最著名就是以太坊钱包的库权限没有控制好被越权调用初始化函数重置了钱包的所有者导致了亿美元的直接经济损失实际案例案例导致钱包用户损失亿美元的就是下面这几行代码开发者不应该把初始化函数设置为让其它合约也可以调用攻击者利用了这个漏洞将钱包的所有者修改以致用户损失巨大更多详细的介绍可以参考下面的链接区块链安全案例另一种情况是编译器漏洞如果在编写构造函数过程中不注意也会导致越权调用在小于版本的编译器语法要求中合约构造函数必须和合约名字相等名字受到大小写影响如而在版本以后引入了关键字作为构造函数声明但不需要如果没有按照对应的写法构造函数就会被编译成一个普通函数可以被任意人调用会导致权限被窃取等更严重的后果更多详细的介绍可以参考链接案例是最常用的调用方式调用后内置变量的值会修改为调用者但执行环境为被调用者的运行环境如果合约中有函数以作为关键变量的代码逻辑比如向转账那么就会导致越权操作引发安全问题如下代码所示函数设计的初衷为只能有合约拥有者和合约本身可以发起取款的操作但由于的问题只要用户精心拼接字符序列调用从而调用函数就可以绕过并取款区块链安全利用代码示意检查是否合约拥有者或合约本身修复方案对初始化等重要函数不要设置为权限以致可以被外部调用要注意构造函数编写方式以免被编译成普通函数可以被任意调用注意等的调用对的改变以免导致绕过验证环节被越权执行函数参考项目中有关访问控制的内容参考项目中有关访问控制的内容参考测试指南项目中有关认证测试和授权测试的内容区块链安全四不安全的共识协议风险描述共识协议由于存在某些设计之初未考虑到的漏洞导致漏洞可能被攻击者识别和利用从而损害链上参与者的利益危害描述在总共个安全案例中有个是共识机制漏洞导致的安全事件远高于本中其它类型的安全事件可见这类漏洞是攻击者最为关注的导致的直接经济损失为万美元与被攻击的区块链规模较小使用范围较窄有关往往处于在虚拟或还没发展壮大的时候比如或者是衰落的时候比如共识机制本身的健壮性受到了很大的影响容易被攻击在共识类案例中以共识攻击最为常见而不同类型的共识协议在面对攻击的抵抗力又有所差别虽然和两种共识协议在规模较小时都容易被攻击但是类共识协议比类更容易被攻击从攻击的角度来看租用算力的成本往往比控制权益的成本更低更可控实际案例案例是一个基于以太坊的区块链年月的时候被攻击了这次的攻击分为两部分一部分用至少的算力回滚交易以实现同一个币支付两次另一部分是用攻击网络中的多个节点这次攻击者从租用额外的哈希

pdf文档 OWASP 区块链十大安全风险 2019版

安全报告 > OWASP > > 文档预览
42 页 0 下载 2 浏览 0 评论 0 收藏 3.0分
温馨提示:当前文档最多只能预览 7 页,若文档总页数超出了 7 页,请下载原文档以浏览全部内容。
本文档由 路人甲2022-05-26 20:09:57上传分享
给文档打分
您好可以输入 255 个字符
github5文库的中文名是什么?( 答案:github5 )
评论列表
  • 暂时还没有评论,期待您的金玉良言