以太坊的安全事件
发布于 3 年前 作者 joycoin 744 次浏览 来自

在流动性挖矿的带领下,沉寂已久的 DeFi 在 2020 年下半年成为焦点。用户将资产存入合约,为协议提供流动性,从而获得协议的费用分成和治理代币奖励。

由于协议内存放着各类有价资产,这让 DeFi 协议成为了被攻击重灾区。黑客们通过各种手段向合约发起攻击,据 PeckShield 派盾统计 2020 年 DeFi 安全事件达到 60 起,损失逾 2.5 亿美元,占统计的黑客攻击造成总损失的 12.5%,远超 2019 年数据。 发生在 DeFi 合约中最常见的三种攻击分别为预言机操纵攻击 (闪电贷)、重入攻击以及代码漏洞。

预言机操纵 (闪电贷、套利) 攻击

在现今 DeFi 大热的背景下,预言机攻击极为普遍,因为大多数 DeFi 协议都需要通过喂价预言机来提供价格信息。一般来说,喂价预言机分为链上和链下两种,链上预言机通过抓取去中心化交易所价格来获取信息,而链下预言机则从中心化交易所获得价格。

这两种喂价预言机方式各有优劣,从链上获取价格可以通过协议完全去信任化,但存在被操纵攻击风险。链下预言机虽不存在被闪电贷攻击风险,但其价格源需依赖于中心化交易所提供,存在中心化风险,且链下数据在链上反映较慢。

在链上,用户可以通过闪电贷工具瞬间完成大额借款、兑换和大额存入等一系列操作,这使得攻击者可以自行创造套利机会,从而操控去中心化交易所价格来扰乱其他使用该价格的 DeFi 应用,最终完成套利攻击,典型案例有 bZx,Cheese Bank,Harvest 以及 Valley 等喂价预言机攻击事件。

重入攻击

重入攻击是一种危害性极高的攻击手段,可以轻松榨干合约内所有资产。著名的 the DAO 被盗事件就是攻击者运用重入攻击导致以太坊硬分叉,损失了价值 5000 万美元的以太坊。

智能合约不仅可以相互调用,也可以在内部调用。一般情况下,这不会产生任何问题,但当调用使得合约状态不一致时,例如取款金额大于合约内金额时,或当某合约还未将余额设为零前就发起转账,此时攻击者可滥用提现功能提取合约中所有余额。今年经典的重入攻击案例有:Akropolis,dForce 以及 Origin。

合约(代码)漏洞

此类攻击通常是由于开发者在编写智能合约时,出现逻辑漏洞或自留后门所导致的。大多合约漏洞出现在未经审计的合约上,较常见的手法是攻击者通过合约漏洞无限铸币随后榨干流动性池内资产,冻结合约内资产,或是合约开发者取走合约资产后跑路。

欢迎使用OKX交易所
回到顶部