当前位置: 首页 > 科技观察

区块链开发中的DeFi协议安全问题

时间:2023-03-16 13:45:02 科技观察

译者|朱宪忠审稿人|孙淑娟介绍,2021年,由于DeFi产品的欺诈和盗窃,价值超过100亿美元的用户资金将被盗。这是去年的七倍。2022年,HMRC发起了20起涉及数字资产的刑事调查。该行动是由洗钱和欺诈活动激增引发的。根据另一份报告,基于加密货币的犯罪在2021年创下历史新高,通过非法地址收到的货币价值超过140亿美元。去中心化金融的和平存在似乎是一种幻想。尽管这些数字与加密世界的乌托邦背道而驰;但是,它们仍然不能反映整个DeFi应用领域的安全性和合法性的全貌。话虽如此,让我们深入探讨去中心化金融的安全问题和目前已知的常见在线诈骗。DeFi历史回顾如果这是你第一次阅读去中心化金融,我将根据我们之前的一篇博文带你了解DeFi的世界。去中心化金融或DeFi是一套基于区块链技术的专业化应用和金融服务。此外,它经常被吹捧为使金融去中心化并为所有人所用的运动。也就是说,DeFi交易不需要银行等中介机构或任何其他类型的中心化处理。在这方面,DeFi依赖于使用智能合约、加密和区块链来自动化流程和协议,使其比传统的银行结构更加高效和安全。正式意义上,你甚至可以成为自己的银行,提供贷款、借入资金、保险等方面的金融服务,无需繁琐的文书工作。综上所述,目前DeFi产品包括但不限于以下几种:去中心化交易所(DEX)、点对点借贷平台、稳定币预测市场等。大多数DeFi产品都建立在以太坊上,因为区块链平台支持Solidity有助于创建高级智能合约的编程语言。在撰写本文时,去中心化金融持有的加密货币数量已攀升至超过8000万美元,这无疑使其成为一种具有稳固用户基础的可行金融现象。然而,DeFi基础设施及其监管技术仍在发展,这使其极易受到攻击,庞氏骗局(指欺骗人们投资虚假公司,并将后来投资者的钱支付给初始投资者作为快速利润)吸引更多人们被愚弄)和其他安全威胁。因此,在最好的情况下,智能合约可以提供无与伦比的非定制金融服务。但是,它们的安全程度取决于它们的代码。因此,智能合约经常受到允许黑客窃取钱包的漏洞的困扰。我们不要忘记开源和可组合性的力量,这可能是好的也可能是坏的。顶级DeFi黑客风格在过去两年中,加密社区受到网络钓鱼计划的打击,许多人质疑其基础。结果,由于加密货币犯罪的增长,DeFi应用程序越来越多地与加密货币的“开拓时代”联系在一起。让我们来看看当今普遍存在的一些攻击类型。FlashLoan攻击FlashLoan是许多流行的DeFi协议中的一项功能,它允许你在没有抵押品的情况下借入加密资产,前提是贷款将在同一交易块中偿还。在这种情况下,网络窃贼能够通过从DeFi协议中获得闪电贷来操纵市场,然后通过超额滑点将借入代币的价值压低以进行套利。之后,黑客迅速归还贷款,并通过在其他市场以实际价格出售代币,将利润据为己有。让我们重温区块链项目CreamFinance及其对黑客的致命吸引力。2021年,该公司使用闪电贷获得了价值1.3亿美元的流动性提供者代币。那年早些时候,黑客在2月赚取了3750万美元,在8月通过其他闪贷违规行为赚取了1880万美元。Rugpulls和庞氏骗局Rugpulls(一种加密货币骗局的通俗术语)是一种DeFi骗局。区块链开发商首先抽出项目的代币,然后放弃项目,拿走投资者资金并留下一文不值的代币。此类骗局的主要类型包括流动性窃取、限价卖单和倾销。据区块链分析公司ChainAnalysis称,这种特殊类型的恶意操作在2021年使受害者损失了近30亿美元。OneCoin是加密市场有史以来最大的一揽子骗局之一。结果,开发商从毫无戒心的投资者那里拿回了超过40亿美元。SquidGameToken是另一个庞氏骗局。《token》是一款以Netflix电视剧为灵感的赚钱电视剧,吸引了超过43,000名投资者做空。重入攻击像上面这样的网络攻击是对Solidity智能合约最具破坏性的攻击之一,因为它可以完全耗尽你的智能合约资金。在这种情况下,攻击合约调用受害者合约的方式可以更好地控制代码执行,从而破坏受害者合约并获得未经授权的访问。当受害者的合约无法更新其状态时,攻击者调用提款功能来轻松赚钱。但困难在于,由于智能合约的实现方式不同,可能出现的场景不同,重入漏洞很难发现。此外,由于智能合约中没有特定模式,因此无法准确识别此漏洞。使用简单直接的模式进行分析可能会产生误报,而严格模式可能无法检测到重入漏洞的存在。最著名的重入攻击例子是DAO黑客攻击,其中价值7000万美元的以太币被黑客吸走。51%攻击如果恶意行为者控制了加密货币网络一半以上的处理能力,就会发生51%攻击。通过对网络拥有多数控制权,该参与者可以双花代币、审查交易,甚至完全接管网络。51%攻击的风险是真实存在的,并且过去曾针对较小的加密货币网络发生过。此外,这种攻击允许攻击某些网络节点,以防止新交易被确认为合法网络。这意味着合法区块链的增长速度比恶意区块链慢,允许攻击者重写分布式账本的内容。目前,51%攻击因为成本高昂,所以没有被广泛使用。2020年,DeFi平台PegNet遭遇51%攻击,顶级矿工一度造假670万美元的稳定币(Stablecoins)。然而,这些只是困扰DeFi平台和应用程序的安全问题的一小部分。DeFi有这么脆弱吗?这个问题的简短回答是:不。现在,让我们更深入地了解一下细节。密码学在安全货币交易的世界中是司空见惯的。DeFi真正具有颠覆性的概念是完全彻底的去中心化;在那里,再次出现受感染的节点。而DeFi的大部分脆弱性也源于其去中心化和开放的基础。拥有无限可能,作为用户,我们可以获得完全透明的智能合约;但另一方面,漏洞也成为众所周知的知识。此外,鉴于DeFi结构极其复杂,相关应用可能涉及跨多个协议连接的多个智能合约;因此,一个漏洞可能会拖累无数协议。但这并不全是厄运和沮丧。像任何其他新生儿一样,DeFi需要成长并展翅高飞。与任何新技术一样,都可能存在陷阱,您需要权衡是否值得利用相关技术的总体平衡。在去中心化金融领域,安全取决于你使用的开发技术。2P2金融服务是一个安全的选择。在专家和政府讨论DeFi监管的同时,我们都应该遵循买方谨慎的态度——在进入这个领域之前进行尽职调查。话虽如此,让我们来看看一些目前公认的安全实践,以降低DeFi应用程序的漏洞率。如何保护你的DeFi资产?虽然市场上已经有相当多的针对每种黑客风格的保护措施,但我特意整理了当今最流行的安全实践,以确保您的DeFi资产安全无虞。利用完整的单元测试覆盖率单元测试是任何高质量项目所必需的重要测试技术,包括去中心化金融应用程序等方面。这种类型的测试功能在智能合约的各个部分都存在问题。为什么要为“无聊”的测试烦恼呢?一旦部署,智能合约就变得不可变;也就是说,你的代码在进入DeFi平台之前必须没有错误。最重要的是,合同要求全面的测试范围;这意味着不应有任何“灰色”区域。智能合约安全审计全单元测试覆盖率高,但无法预测意外漏洞或所有可能的交互路径。相比之下,安全审计允许开发人员分析可能被威胁行为者操纵的区域。除了明显的安全优势外,审计还可以帮助团队提高整个DeFi应用程序的效率。然而,审计可能会占用大量的财务和时间资源,这对一些公司来说可能是“令人生畏的”。但是,必须防止重入攻击和其他类型的攻击。没有剽窃部署智能合约不应该是手动复制/粘贴。由于网络上每个合约的字节码都是公开的,因此很容易将其用于另一个合约。除非你完成了整个项目(这通常不是最好的场景);否则,您最终会得到可能与其余代码不兼容的单独代码片段。此外,很难在代码中更改或添加任何稍微有意义的内容。因此,简单的复制和粘贴对安全性极为有害,并使您的DeFi应用程序面临潜在的攻击。结论目前,DeFi协议是相对年轻但复杂的系统,区块链也是如此。不成熟和进步使两者都容易受到伤害。因此,在对DeFi项目实施安全防护之前,需要对可能存在的威胁和安全策略有一个全面准确的认识。反过来,获得如此准确的计划需要进行全面的安全审计。如果做得好,DeFi项目有可能从脆弱的系统转变为独特、透明和直接的交易应用程序,而无需依赖第三方监督。译者介绍朱宪忠,51CTO社区编辑,51CTO专家博主,讲师,潍坊某高校计算机教师,自由编程资深人士。早期专注于各种微软技术(编译成三本与ASP.NETAJX和Cocos2d-X相关的技术书籍)。/ESP32/RaspberryPi等物联网开发技术和Scala+Hadoop+Spark+Flink等大数据开发技术。原标题:DeFi的黑暗面:去中心化的狂野西部,作者:PavelTantsiura