
一、Roll被攻击事件始末
3月14日消息,社区代币平台Roll被攻击,基于其发行的代币在Uniswap被大量抛售,受影响的代币包括ALEX、RARE、BAEPAY、KERMAN、WHALE、PICA等。据统计,WHALE损失1362 ETH,FWB损失797 ETH,KARMA损失155 ETH,JULIEN损失115 ETH,黑客共获利2998 ETH,并将700 ETH存入混币平台Tornado.Cash。后续,Roll官方声称此次安全事故的原因似乎是对热前包的入侵导致,并为受此影响的用户筹集 50 万美元的资金补偿(损失2998ETH约价值500万美元)。
通付盾区块链安全团队(SharkTeam) 一时间对攻击事件进行了跟进并发现这次攻击是由于被攻击者私钥丢失造成的,似乎并没有特别之处。但后续我们发现事情远不止这么简单,一种区块链上以窃取私钥为基础,以窃取用户资产为目的的新型自动化攻击手段浮出水面,此次Roll被攻击事件或许只是一个开始,给我们敲响了警钟。
我们先来对Roll攻击事件本身进行分析:
攻击者:0x5fe4e7124d1da9046edc67a6499b565241be0167
被攻击者:0x6060b77a5d8309eb36374198e197072205ea2bb3
攻击过程如下:
(1)攻击者利用被攻击账户调用合约,利用 approve 授权给攻击合约权限。交易详情如下:
攻击合约地址为 0xeaa86ddd49d8907c939413e92888536e4587bd9a
(2)攻击者通过攻击合约进行一次性转账操作,其中包含多种Token。交易详情如下:
交易执行追踪如下:
(3)攻击者使用攻击合约在 Uniswap 进行Token交换,交易详情如下:
交易执行追踪如下:
根据整个攻击过程的分析,根本原因在于攻击者可以利用被攻击者的账户地址调用合约,利用 approve 授权给攻击合约权限,攻击者必然知道被攻击者账户地址的私钥。因此,被攻击者的私钥在管理和使用的过程中存在不安全因素,导致私钥被攻击者通过一定的方式窃取到。
建议以太坊用户管理好自己的私钥,防止私钥泄露以及私钥被攻击者窃取。
二、以私钥窃取为基础,以窃取数字资产为目的
3月15日消息,多个 DeFi 协议表示网站被 DNS 攻击,攻击者通过网站请求用户提交用户的私钥或助记词,目前已有借贷协议 Cream Finance 和交易协议 PancakeSwap 在推特上公开确认了该事件,并提醒用户不要提交私钥等信息。3月16日,Cream Financ 和 PancakeSwap表示已重新获得对其 DNS 的访问权。
私钥泄露风险集中爆发,或许并不是巧合。以此次Roll事件为例,窃取用户私钥只是 一步,以窃取用户资产为目的的自动化攻击设计,才是真正的威胁。这也给各区块链项目服务提供商敲响了警钟,应以保护用户为核心,做好自身安全防护,切莫沦为黑暗森林身份危机阴影下的猎物。以Roll被攻击事件为例:
Roll安全事件攻击画像
一步:攻击者窃取用户私钥(钓鱼或渗透前包)
二步:使用被攻击者账户部署攻击合约,攻击合约是整个自动化攻击的核心。
三步:使用被攻击者账号进行交易,将所有资产转到攻击合约中。
四步:攻击合约自动执行,通过Uniswap等去中心化交易所将资产转出,防止项目方启动应急机制锁定被盗资产。
五步:被盗资产进一步被转移到匿名性更强的混币平台,对抗AML等安全机制。
攻击分为5步,却有极强的目的性,自动化程度很高,一旦私钥丢失将非常难以进行防范。
那么,既然攻击的起始点是私钥窃取,那我们到底应该如何才能保护好我们的私钥?这里必须要提到区块链前包,前包是存储账户地址和使用数字货币的工具,比如以太坊前包存储以太坊账户地址以及账户的以太币并且可以进行交易。区块链前包并不是传统意义上的实体的前包,而是使用加密技术加密保存账户地址的公私钥对的工具,有了前包密钥就可以拥有前包中账户地址的支配权,可以支配其中的数字货币,尤其是以太坊前包,有了密钥不仅可以支配其中的以太币,更可以支配其中的合约地址对应的智能合约。由于私钥是一长串毫无意义且毫无规律的字符,比较难以记忆,因此出现了助记词(Mnemonic),助记词是利用固定算法,将私钥转换成十多个常见的英文单词,作为区块链数字前包私钥的友好格式。助记词和私钥是等价的,可以相互转换。
版权声明:本文为原创文章,版权归 头条123 所有,欢迎 本文,转载请保留出处!