区块链下一个热点:如何创建无漏洞的区块链应用程序

  虽然所有开发人员都在努力寻找无漏洞代码,但在区块链部署中,在交换敏感数据或其他机密信息(如医疗保健或金融领域)时,这一点尤其重要。然而,一些企业以惨痛的代价吸取了这一教训。最近,加密货币交易所Binance最近披露了一个毁灭性的安全漏洞,造成了超过4000万美元的损失。虽然这是个大数目,但对于那些丢失私人信息、机密合同等的公司来说,安全漏洞的代价可能更大。

  

  组织不应该把时间花在重建(和重新获得客户信任)上。更好的方法是公司领导层从一开始就强制实行区块链测试自动化策略。

  虽然大多数软件测试人员都熟悉测试网络应用程序,但他们可能不确定如何处理区块链测试。好消息是,web测试的一些相同的焦点领域也适用于区块链测试(功能、性能和安全性)。然而,区块链涉及更多的测试、工作和焦点领域,例如基础结构编排、在分布式环境中执行和模拟场景,这需要更高水平的专业知识。

  因为有了这些添加,在区块链应用中修复漏洞需要几个额外的步骤,因此比修复其他应用程序中的漏洞花费更多的时间和成本。例如,要复制错误或验证代码,开发人员应该多次执行以下步骤:

  形成一个新的端点。

  将新代码部署到新端点。

  将当前数据迁移到新的后端。

  将旧的后端挂起。

  将所有前端更新到当前版本。

  之后,验证由测试人员或持续集成(CI)工具执行的漏洞修复将再次需要这些步骤。这种复杂性使得发布无漏洞的区块链应用程序很困难,但这样做会使组织及其客户面临财务损失的风险。由于部署区块链应用程序的高风险性,将测试包含在管理远景和策略中至关重要。

  要发布没有缺陷代码的区块链应用程序,企业应该遵循以下准则:

  测试自动化可以减轻测试人员手工执行数千个编排测试的负担,这既困难又低效。一个好的系统架构应该是可伸缩的、可维护的和可测试的,这样团队就可以独立地测试组件和模拟组件。如果一个测试需要一个不同的环境或基础设施,那么作为代码的基础设施(IaC,如Puppet、Chef、Ansible和AWS)在设置适当的测试环境时非常有用。该策略的另一个关键部分是为基础设施提供声明性定义,并允许开发人员实现支持测试自动化的代码。

  运行单元和集成测试以覆盖后端和前端代码

  区块链应用程序至少包含一个后端(一组在区块链上运行的智能契约或链码)和一个前端(用户可以在前端与存储在区块链中的数据交互)。执行单元测试将涵盖后端和前端代码,并且,由于其对区块链应用程序的关键作用,其主要焦点应该是链码。但是,集成测试应该涵盖各种类型的oracle和前端应用程序。通过验证UI和链码之间的集成,执行额外的测试将消除任何可能威胁后端的漏洞。

  在本地基础架构中执行测试

  虽然公共区块链(如比特币或以太坊)有多个测试网,但最好是在本地基础设施中执行测试。对于单元测试和集成测试来说,本地基础设施是轻量级的、更快的和更稳定的。例如,在一个Ganache本地基础架构中,可以在5个以太坊智能契约上运行1000多个单元测试,一个小时内部署大约3000个。

  持续更新安全系统测试套件

  区块链是一个多方基础设施,在某些情况下,它是一个公共网络。因此,这些应用程序对于许多利益相关者来说都是可见的,甚至可以向全世界开放源代码。这种程度的透明度意味着黑客能够研究程序,并根据特定的系统来计划攻击。持续更新安全系统测试套件将确保应用程序受到保护,免受所有常见安全漏洞的影响。

  为开发过程的每个阶段最小化连续测试管道

  在本地基础结构中的分层集成和单元测试通过对安全系统测试套件的持续更新创建一个连续的测试管道,这对于高质量的块链代码来说是必不可少的。在本地块链和测试网等多种环境中持续验证代码更改,确保将高质量的代码交付给生产区块链。但是,这些测试可以为每个代码更改持续几个小时或几天,因此对于团队来说,最大限度地减少和创建精益管道非常重要,这些管道关注测试阶段、测试类型和测试环境,并在开发过程的每个阶段开发多个代码管道。

  构建定制的测试套件以消除潜在的欺骗漏洞

  测试团队还需要定制管道中的测试套件,以涵盖功能测试和安全性测试。涵盖安全性案例是很重要的,但是单元测试模块也应该执行智能契约单元的潜在安全威胁,例如溢出和重入,以尽可能多地消除潜在的欺骗漏洞。

  由于底层基础结构的去中心化和编排的特性,为区块链应用程序开发无缺陷代码比其他应用程序带来了更多的挑战。通过从传统软件测试,特别是测试自动化中汲取最佳实践,并将它们定制为区块链开发,企业可以实现无错误的区块链编码,并保护他们最脆弱的应用程序。

文章内容系本站作者个人观点,不代表本站对其观点赞同或支持,文章的版权归该作者所有。如需转载,请注明文章来源。本文地址:http://www.cis.net.cn/kejikuaixun/42925.html
留言与评论(共有 条评论)
验证码:

最新文章

如何创建无漏洞的区块链应用程序

科技快讯
虽然所有开发人员都在努力寻找无漏洞代码,但在区块链部署中,在交换敏感数据或其他机密信息(如医疗保健或金融领域)时,这一点尤其重要。然而,一些企业以惨痛的代价吸取了这一教训。最近,加密货币交易所Binance最近披露了一个毁灭性的安全漏洞,造成了超过4000万美元的损失。虽然这是个大数目,但对于那些丢失私人信息、机密合同等的公司

魔法狗 NWC首款落地应用区块链游戏

科技快讯
魔法狗是NWC第一款落地应用游戏,是基于区块链2.0技术研发打造的一款集娱乐休闲,人脉养成,资源共享,经济普惠为一体的价值互联网络游戏。NWC是基于区块链技术研发游戏应用类底层公链,以去中心化的理念重新塑造游戏行业结构体系,打造全球去中心化的游戏生态圈。魔法狗的核心特点光速传播:

苏州高铁新城成全国首个区块链技术黄金试验场

科技快讯
区块链技术,多方共同维护一个不断增长的分布式数据记录,这些数据通过密码学技术保护内容和时序,使得任何一方难以篡改、抵赖、造假,未来市场应用非常广泛。但这门技术在我国目前却还处于“婴儿”期,能够自主研发区块链操作系统

区块链日报:BTC跌破7900美元支撑位,HADAX将上线GVE

科技快讯
要闻精选马绍尔群岛签署法案,推出加密货币作为主权货币CNBCCryptotrader主持人RanNeuNer在Twitter上称,联合国成员国马绍尔群岛签署了一项里程碑式的法案,将其主权货币(solesovereigncurrency)定为一种加密货币,这意味着该国加密货币合法化。该国银行等机构必须支持该种加密货币。陀螺短评:马绍尔群

企业级区块链系统常见模块与Hyperledger Fabric 1.0特点的知识汇总!

科技快讯
区块链技术在不同的企业,需求是不同的。各行各业在扩展性、可信度、合法性工作流复杂度以及安全等级等方面的需求和用途都是不一样的。但目前来说,企业级区块链系统中常见的模块主要有:成员管理、智能合约、共识机制、应用程序、系统集成、系统管理、密钥管理、加解密算法、分布式账本、事件机制等。在此,对于用户可能主要关注的

从“SEC关于数字资产证券声明”看美国数字资产监管:拥抱创新,合法有序

科技快讯
摘要三大核心要点:(1)SEC对数字资产的监管参考的仍是传统的联邦证券法体系,只要数字资产符合联邦法律定义的“证券”,即被纳入全面监管。而判别是否会被纳入监管,除判断是否属于“证券”外,还有三大重要原则,源自SEC发布的著名调查报告—“DAOReport”:第一,只要涉及向美国公民销售证券或提供相关服务,即受监管;第二,去中心化组织亦可以成

数字经济在布局试验区时有何总体考虑 预期目标有哪些?

科技快讯
据了解,根据国家重大区域战略部署,综合考虑各地数字经济发展基础,在前期工作较深入、数字化转型走在前列、代表性引领性较强的区域,开展先行先试。其中,新区重点探索数字经济生产要素充分流通机制,以政企数据机制化融通利用,加快智慧城市建设,为推动京津冀协同发展和建设京津冀世界级城市群提供支撑。省重点探索构建数字经济新型生产

加密货币的经济学市值问题(从零开始学区块链)

科技快讯
加密货币一直是投机炒作的热点,这篇译文讨论了加密货币的相关经济学问题,同时探讨加密货币市值和其网络价值测度方式之间的可感知联系,可通过原文链接查看原文市值一词最初来源于股票市场。为简化描述,股票即赋予其所有者的某些公司所有权。在这种情况下,所有权有着非常具体的含义:其一方面指有权以股息形式分配公司未来收入的

委内瑞拉最高院在一工伤案件中判决下令用石油币支付赔偿金

科技快讯
委内瑞拉最高法院在一起工伤案件中判决某研究所需支付266个Petro的赔偿金。同时,委内瑞拉政府已经启动Petro储蓄计划,由400万数字货币支持。委内瑞拉最高法院承认Petro据当地媒体上周五报道,委内瑞拉最高法院(TSJ)日前在一起工伤案件中,下令以Petro或等值的货币进行进行精神损失的赔偿。TSJ