艾贝链动叶新:去中心化金融存在协议和资产安全双重考验

article-photo

艾贝链动|2021-10-22 16:36:59


10月20日晚,财经·链新举办了“看见新未来”——国际观察线上沙龙第四期,主题为“去中心化金融是什么?它的发展趋势会是怎样?”


本次沙龙活动特邀了艾贝链动CEO叶新围绕《去中心化金融的安全风险与挑战》做了系统性的分享,此外一同参与活动的还有清华大学经管学院数字金融资产研究中心主任罗玫、北京链通律师事务所主任丁飞鹏律师两位重量级嘉宾,他们分别从金融、法律另外两个角度分别阐述了观点。


本文将重点围绕去中心化金融即DeFi存在的安全问题展开分享和探讨:



分享人:艾贝链动CEO 叶新    主题:《去中心化金融的安全风险与挑战》     


去中心化金融即DeFi,本质上是把我们常见的一些金融服务,比如,交易、借贷等搬到公链上,并通过智能合约这种程序化的方式自动执行的金融形式。用户在自己保管数字资产的前提下,自主与DeFi协议进行交互,参与到相应的金融活动中去。

从2017年第一个DeFi协议MakerDAO诞生以来,仅3年多的时间,据不完全统计已经有十多条主链上运行着超500个DeFi协议,总锁仓资产已经超过了1600亿美元相,比传统金融银行系统的,这样的发展速度是不可思议的。

不过,去中心化金融还是一个野蛮生长的初期市场,发展很快,但由于它代码开源、离钱近,自然变成黑客关注的焦点,成了各种行业安全事件的漩涡中心。

整体而言,我认为去中心化金融的发展有两个关键的安全因素:一、去中心化金融协议的安全性,二、用户资产管理的安全性。

一、去中心化金融的协议安全性

根据分析机构CipherTrace8月最新报告统计:截止到2021年8月,DeFi协议总锁仓量再次超过千亿美元。而与DeFi相关的黑客攻击事件已经占到了占所有数字资产领域主要黑客攻击的76%。DeFi黑客攻击事件相比2020年增长了近2.8倍,总损失达 3.61 亿美元,DeFi 欺诈事件也比2020年增长2倍多,诈骗资金达 1.13 亿美元。

总而言之,以智能合约来承载的各种去中心化协议,其安全性,无论是项目开发者的开发漏洞造成的被黑客攻击,还是开发者的主观作恶,比如一些诈骗分子利用DeFi的热度开展的诈骗行为,都有可能造成平台资产被一扫而空,造成参与用户血本无归。

一般来说,DeFi协议的攻击事件主要是由几类原因造成的:

1)项目之间Fork现象较为普遍,代码“抄袭”会招致风险。

由于大部分DeFi项目之间Fork现象比较普遍,一旦某个项目遭到黑客攻击,其他关联的项目也会受到连带性威胁。况且本身金融市场就有相对复杂的业务逻辑,同一份代码在不同的业务场景下可能会触发新的风险;开源特性,看似可以前人栽树后人乘凉,但这其实是把双刃剑,在黑客攻击面前如果新项目不能对原代码有深刻的理解,很容易招致祸患。比如最近一个项目,就是在uniswap v2的基础上修改手续费,结果没改对,造成每次交易都可以取走所有的流动性。

2)DeFi项目间业务组合会产生大量未知的“可组合漏洞”风险

DeFi行业之所以能快速发展,得益于项目之间可以多元组合,共享市场和用户。一个新项目只要技术开发完毕,甚至不需要过多运营和推广,和已经成熟运营的项目一组合就能收获很大一部分市场。这是DeFi行业区别于传统金融的最大特性,也是造成DeFi行业安全事件不断的罪魁祸首。简单来说,由于DeFi项目之间的可组合特性,一些单独使用没有问题的代码特性,会在组合使用时成为漏洞被攻击。Lendf.me就是个典型案例,Lendf.me和imBTC进行业务组合,单看imBTC使用的ERC777标准并没有问题,但到了Lendf.me项目这边,黑客就利用了tokensToSend()接口调用实施了重入攻击。

3)由于预言机的喂价机制导致的风险

因为智能合约的触发或执行,可能会参考外部条件,例如MakerDAO, Compound 這些借贷类型DeFi,会参考资产的报价,决定是否要清算某个用户的贷款。而类似这样的资产报价,是来自于另一个世界的“信源”。而当这个“信源”不可信或者被黑客操控时,就会引发攻击事件,比如,经常出现的闪电贷攻击多数是与“信源”在短时间内被操控产生巨大波动有关。

闪电贷通俗来讲就是在一笔交易内实现借款和还款,原本是为了方便用户更高效的利用链上借贷。但黑客通过利用链上某些交易池的交易深度,造成个别资产价格短时间内出现大幅异常波动,而交易中的后续流程参考了这个被操控的数据当做喂价,从而实现以小博大的套利。


以上三类是比较常见的攻击类型。除此之外,还会存在一些项目方故意在代码里留后门、项目方人为私钥泄露以及涉及链下服务器遭攻击等等众多潜在安全威胁。不过,整体来看,现在DeFi项目方普遍安全意识都有提高,在项目上线前会做安全审计,也会切入一些DeFi风控预警相关的熔断服务,这对降低DeFi协议的安全风险有非常大的好处。用户参与的话,协议是否经受市场时间考验(也一位置经受各种攻击考验),是否由专业安全公司审计,都是重要考量点。


二、用户资产管理的安全性


用户参与去中心化金融的一个前提条件是,用户要能够安全的管理好自己的数字资产从存储到授权使用的全过程。

我们知道在区块链的数字世界,私钥实际上代表的是主体的数字身份所有权。当数字资产仅用于价值存储时,这个时候私钥代表了特定数字身份对价值转移的权利,即转账。而去中心化金融的发展,扩展了数字资产在价值存储以外的场景,扩展到了交易、借贷、甚至保险等场景,那么这个时候,私钥所代表的数字身份就有了更多的权利,比如进行授权、抵押等操作。

基于此,那么对于用户而言,要注意以下几点:

1)要保管好私钥的存储不要泄露,比如,不要将私钥信息储存在邮箱、Google Doc等云存储上,或是通过通信软件发送、泄露给钓鱼网站等。有条件的话,使用具有安全芯片的硬件钱包保管私钥是一种更稳妥的做法。

2)用户在与DeFi协议的交互过程中,会有协议向用户钱包获取授权的场景,用户要明白相应的授权要求是不是合理,以及相应的授权额度有没有风险。比如,前段时间NFT交易平台Opeasea,被黑客利用,通过平台漏洞由含有恶意代码的空投图片触发看似合法的授权弹窗,诱骗用户去点击。

3)一些项目方,出于主观上为了增强用户体验、避免用户反复操作,或者是出于恶意目的,会向用户获取一个无限额度的授权,这种授权操作是有很大风险的。用户即使要参与这类协议,也要尽可能规避风险,减少相应地址中的资产。

4)最后强调一点,在进行DeFi协议的交互过程中,用户还要特别注意“中间人攻击”这种情况的发生。中间人攻击(MITM,man in the middle attack)是一种网络攻击类型,黑客将自己置于通信两端并试图截获和篡改关键信息。通信的两方认为他们是在与对方交谈,但是实际上他们是在与黑客交流。


在DeFi交互中,我们要特别关注一些关键的交易信息有没有被“篡改”。以Uniswap V3协议为例,这里面是否执行的是真实的UNI的合约地址、合约交易的金额、以及接收Swap目标地址有没有被篡改,用户都需要特别关注和比对,以免为他人作嫁衣裳。在具有“所见即所签”功能的硬件钱包设备上,比对这些关键信息,再进行授权操作,是比较推荐的做法。