作者 | indiGO
编辑| 门人 运营 | 小石头
8月10日,异构跨链协议 Poly Network 遭遇攻击, BSC 、以太坊、 Polygon 链上资产总计被转移6.1亿美金,成为加密历史上最大的DeFi黑客攻击事件。
DeFi引领的热潮之下,合约安全一直以来是投资者关心的话题。“Owner权限过大”、“代币无限增发”等等问题引发的各类安全事件也是时有发生,对此,许多投资者在使用DeFi协议前都会问一句:“合约过审计了吗?”
认准一纸合约审计,但最后仍蒙受损失,这到底是为什么呢?
针对合约安全审计的问题,深链财经邀请到了前慢雾高级安全研究员Yudan、派盾高级安全研究员WXQ和Certik高级安全研究员XJ为大家答疑解惑。
「 黑客发动一场攻击的成本很低」
深链财经:近一个月有多个协议被黑客攻击,近日发生的Poly Network事件是其中之一,也是单次攻击涉及金额最大的。我们发现跨链协议成为了被黑客攻击的重灾区。相比于其他的链上协议,涉及到跨链的协议为什么会成为黑客攻击的主要目标?
前慢雾高级安全研究员Yudan:首先任何的链上协议,承担的风险都是一致的,只不过有一些协议,经过了时间的沉淀,形成了自己独有的安全的写法,和特定的业务场景,攻击面也随之降低。其次,由于当前出现了多条基于以太坊的异构链,跨链成为一个新的需求,而在一个新的业务场景上,总是会衍生出很多不一样的攻击面,这些都是在设计的时候没有办法考虑到的。而跨链协议存放的资金量一般比较多,当出现事故的时候,损失也会比较大。那么作为专业的黑客,自然会瞄准这些跨链基础设施,对这些目标进行攻击。
派盾高级安全研究员WXQ:跨链协议作为一个新兴的业务层面上的领域,为了打破链与链之间的信息孤岛壁垒,仍然需要时间的考验。随着跨链桥的丰富与技术成熟,资金量增长较快,比如Poly Network、 Anyswap 的锁仓量都超过几亿美金,但并不是说跨链协议本身的技术更容易遭受攻击,这只是一个新的领域,可能前期出现的问题较多。
Certik高级安全研究员XJ:并不只针对跨链协议,这是个比较新的领域,很多新的开发者没有相关攻防经验,没有想过可能的攻击面,可能会有一些权限控制不严的问题。
深链财经:就攻击原因来说,这些被攻击的跨链协议都存在哪些共性的问题?除了业务层面的漏洞外,项目选择搭建的公链是否也存在安全问题导致黑客有机可乘?有人说,因为跨链协议存在能够桥接其他链的资产桥,而往往资产桥内的资产流动性不佳,成为了黑客眼中的“肥肉”,这也是跨链协议被攻击的原因之一。这种说法准确吗?
前慢雾高级安全研究员Yudan:本次攻击Poly Network的攻击手法并不是特别高级或者新颖的手法。漏洞的点在于Poly Network存在一个可以任意调用的接口,导致特权函数被调用。所以本次攻击和以往跨链桥存在不一样的攻击点。如果非要说共性问题的话,只能说开发者在开发对应的跨链协议的时候,没有充分的考虑清楚业务场景,还有就是对一些攻击手法不熟悉,没有考虑到一些编程上的安全实践,这就需要时间的沉淀了,不排除未来会在跨链协议上产生新的漏洞点。除此之外,公链的安全也是特别重要,但是以太坊已经是一条较为成熟的公链。公链的风险相对而言已经很难影响到DApp的安全问题,需要注意的反而是公链虚拟机的特性,在不了解这些特性的情况下反而更容易产生漏洞。
Certik高级安全研究员XJ:因为都是EVM的异构链,攻击的手段也相对成熟,攻击手法并不新鲜,跟选择搭载的公链关系不大。
深链财经:为什么黑客攻击来得这么频繁和密集?是有组织的?还是说存在自导自演或者说模仿犯罪的行为?
前慢雾高级安全研究员Yudan:这个不好明确是否是有组织的,目前也没有链上的证据说明多起攻击确实就是同一人所为,黑客之所以攻击频繁,除了项目代码的安全性之外,同样存在的是一些伪装成被黑的项目方跑路事件,也有一些是因为借鉴了其他项目有缺陷的代码,导致的被黑。
派盾高级安全研究员WXQ:DeFi是一个新兴的领域,很多技术都是不成熟的,需要时间的沉淀。但从攻击本身来看无法判断黑客是否是有组织的,而由于很低级错误导致的安全事件不得不让人怀疑有自导自演的嫌疑。并且很多协议都是“克隆”来的,本身代码大同小异,所以模仿犯罪也是极有可能的。
Certik高级安全研究员XJ:不好说是不是有组织,但是就目前来看BSC链上协议的创新较多,涉及新的业务逻辑就会导致更容易出现问题。还有很多是因为fork之后的更新升级导致的被黑,很大概率也有模仿犯罪的可能。而且很多项目也会有私钥泄露这样低级的错误,也很有可能是项目方跑路自导自演。
深链财经:对于黑客来说发起一场攻击的难度和成本是怎样的?攻击的成本又如何?可以就以Poly Network举个例子说明吗?
前慢雾高级安全研究员Yudan:以Poly Network为例,攻击者的成本主要是研究代码的成本,也就是时间成本。在攻击的时候,攻击者所需要花费的成本,仅仅是交易所需要的gas费。
派盾高级安全研究员WXQ:攻击的成本很低的,比如Poly Network的黑客并没有使用闪电贷,所以他主要的成本是从 ONT 提取的Gas费用,经济层面上讲成本是很低的。
Certik高级安全研究员XJ:黑客的成本越来越低,手续费的成本对于一次攻击来说是已经微不足道了,比如一次以太坊上的闪电贷攻击,手续费花了20个ETH,但是黑客获利几千个ETH,对比之下手续费都是小意思。
「 审计了就安全了? 」
深链财经:被攻击的这些项目此前也做过安全审计,为什么还出现像Poly Network这样严重的黑客攻击情况?
前慢雾高级安全研究员Yudan:很多项目方以为自己做了一次安全审计,就可以安枕无忧。但其实安全是一个动态的过程,攻防场景也在不断的进化,成本也是不对等的,单靠某次的安全审计,难以覆盖到未来业务场景的变化,而区块链世界,正不缺这种变化。
派盾高级安全研究员WXQ:对于项目方来说,需要寻求多家专业安全机构进行静态审计,为协议安全筑建第一道防线。此外,引入风控熔断机制、第三方安全公司的危险感知情报和一些数据态势情报服务也十分重要。对投资者来说需要进行项目背调,做好风险管理。
Certik高级安全研究员XJ:现在圈内流行一句话,所谓的安全,就是在下一次被黑之前的安全,它只是一个现在的状态,并不是一个未来的状态。所谓的安全,只是现有系统范围内的安全。但是DeFi的可组合性让越来越多的协议交叉混用,这时候就会存在无法调和的业务场景冲突的问题。
深链财经:一个常规的安全审计是怎样的,具体审计哪些方面?审计的周期是怎样的?具体审计的流程是怎样的?
前慢雾高级安全研究员Yudan:常规的安全审计主要包含基础的代码逻辑审计,业务功能审计,还有兼容性审计,审计的周期依据项目的复杂度而定,无法一概而论。在审计流程上,大多使用静态白盒审计加动态调试结合,对项目可能出现的攻击点进行全方位的测试,这也是花费时间占比最多的,大概占70%的审计时间。
派盾高级安全研究员WXQ:我们会先评估需要的审计工作量,预留需要的人力、走读代码,对业务类型进行梳理、排查漏洞并与客户沟通、修改,最后给出报告。
Certik高级安全研究员XJ:拿到代码需要评估复杂度,然后进行静态审计,依据工程师们的经验、思路对代码直接对审计。然后对合约的攻击点进行测试,并利用第三方的安全工具进行代码的扫描再次检验漏洞。
深链财经:怎么看待多数项目方仅仅进行代币的合约审计而跳过业务逻辑的代码审计的现象?
前慢雾高级安全研究员Yudan:就我个人而言,我觉得这种审计,无疑是捡了 芝麻 丢了西瓜,无任何益处可言,完全就是对投资者的不负责。
派盾高级安全研究员WXQ:因为代币合约通常比较简单,基本没有漏洞。而业务层面的逻辑较为复杂,可能会有致命的漏洞,等到安全事件发生之时就为时已晚了。
深链财经:对于项目方而言,如果发生了攻击行为,有办法锁定黑客,挽回损失吗?
前慢雾高级安全研究员Yudan:这个要特殊场景特殊看待,不一定每次都可以追回。所以项目方更要注意自身项目代码安全,减少这种事后补救的行为。
派盾高级安全研究员WXQ:一旦安全事件发生,我们会及时联系项目方,追溯事故的根源,追踪被盗资产的流转情况,及时避免后面的攻击,联合各方面的力量,搭建完善的资产追踪机制。一般黑客从中心化机构出金,可能会追回被盗资金,但目前DeFi的兴起让追回被盗资金变得更加困难。
Certik高级安全研究员XJ:从区块链业务层面来讲是很难追踪到黑客的,但是在网络层面上讲,黑客需要高超的技巧才能躲避我们的追踪,例如 1inch 事件,黑客不小心泄露了自己本人的元数据同步信息才被定位到。
「 总结:投资时刻要风险意识」
根据安全团队的解读,在智能合约安全审计后,还会存在几个风险:第一,安全审计可能都没发现的漏洞或新型攻击方式;第二,智能合约可升级或可篡改,如何让可升级或可篡改成为不可能或有效可信的社区治理行为;第三,随着项目的发展,智能合约会增加新的,如新池子、新功能模块,需要注意看智能合约安全审计报告明确审计的是哪些。
于Poly Network而言,随着黑客将被盗资产悉数归还,这场吸引无数眼光的闹剧最终尘埃落定。
对于投资者而言,经过一次又一次的教训,在判断投资标的是否具有较高风险时,需要关注以下内容:
1.团队和它的声誉:创始人和开发者是谁?团队是公开的吗?它曾经参与过任何值得信赖的加密项目吗?
2.团队持币比例、项目金库:如果创始人的持股比例过高,这并不是一个安全的信号。
3.多重签名访问公司资金:如果开发人员启用了多签名访问库,并且团队之外的人拥有一些签名,这可能有助于防止Rug Pull。
4.流动性与代币锁仓:如果开发人员将他们的资金锁定在一年以上的时间,用户可以放心,团队至少在这段时间结束前不会退出。
虽然说审计报告是相当专业且权威的,但项目宣传、上线的功能是否又对的上审计报告?根据描述的权限,项目方是否有跑路的能力等等都是我们在使用DeFi协议前应该考虑的问题。
而目前的现状是,DeFi的大热导致了项目的井喷,安全审计机构的排期也成为了问题。很多项目迫切的上线,对用户来说自然不是好事。而由于缺乏安全意识,即便协议没有通过安全审计,也可能有大量用户直接涌入。
虽然职业的安全审计会大大降低用户参与DeFi风险,但切记不要盲目信任审计报告,胡乱的授权可能会让你血本无归。而即使去参与经过多家安全审计机构审计过的协议,也做好“黑天鹅”事件可能发生的心理预期,不要把所有资金放到一个篮子里,仓位、风险管理也很重要。
进行投资时,本金安全作为第一重要的评估参数来看待,而面对庞大的参与资金,黑客们可比普通投资者更狂热。