黑暗森林中的身份危机:透过Roll被攻击事件看区块链密钥保护的重要性?
一、Roll被攻击事件的始末
3月14日,社区代币平台Roll被攻击,其发行的代币在Uniswap上大量出售,受影响的代币包括ALEX、RARE、BAEPAY、KERMAN、WHALE、PICA等。据统计,WHALE损失1362ETH、FWB损失797。KARMA损失155ETH、JULIEN损失115ETH、黑客利润2998ETH、700个ETH存入混合货币平台Tornado.Cash。随后,Roll官方声称此次安全事故的原因似乎是游资包的入侵,为受影响的用户筹集了50万美元的资金补偿(损失2优艾设计网_设计圈998ETH约500万美元)。
通付盾区块链安全团队在第一时间跟进攻击事件,发现这次攻击是由于攻击者的私钥丢失,似乎没有特别之处。但是,之后,我们发现事情不仅仅是这么简单,块链还以偷私钥为基础,以偷用户资产为目的的的新型自动化攻击手段浮出水面,这次Roll被攻击事件可能只是开始,敲响了警钟。
我们首先分析Roll攻击事件本身:
攻击者:0x5fe4e7124d1da9046046667695650167
攻击者:0x6060b777a5d8309363970720523攻击过程如下:(1)攻击者利用被攻击账户调用合同,利用approve授权攻击合同。交易的详细情况如下:
攻击合同的地址为0xeaa86ffffd49d8907c93939428888587bd9a
(2)攻击者通过攻击合同进行一次转账操作,包括多种Token。交易详情如下:
交易执行追踪如下:
(3)攻击者使用攻击合约在 Uniswap 进行Token交换,交易详情如下:
交易执行追踪如下:
根据整个攻击过程的分析,根本原因在于攻击者可以利用被攻击者的账户地址调用合约,利用 approve 授权给攻击合约权限,攻击者必然知道被攻击者账户地址的私钥。因此,被攻击者的私钥在管理和使用的过程中存在不安全因素,导致私钥被攻击者通过一定的方式窃取到。
建议以太网广场用户管理自己的钥匙,防止钥匙泄露和钥匙被攻击者偷走。
二、以私钥盗窃为基础,以数字资产盗窃为目的
3月15日消息,多个DeFi协议显示网站被DNS攻击,攻击者通过网站要求用户提交用户的私钥或助记词,目前已有贷款协议向Cream提交Finance和交易协议的PancakeSwapp在推特上公开确认该事件,并提醒用户不要提交私钥等信息。3月16日,Cream、Financ、。PancakeSwap表示,他们已经获得了访问DNS。
私钥泄露风险集中爆发,可能不巧合。以此次Roll事件为例,窃取用户的私钥只是第一步,以窃取用户资产为目的的的自动攻击设计是真正的威胁。这也给各块链项目服务提供商敲响了警钟,以保护用户为中心,进行自己的安全保护,不能成为黑暗森林身份危机的猎物。以Roll攻击事件为例:
Roll安全事件攻击影像
第一步:攻击者盗窃用户的私钥(钓鱼或渗透钱包)
第二步:使用攻击者的账户配置攻击合同,攻击合同是整个自动攻击的核心。
第三步:使用攻击者账户进行交易,将所有资产转移到攻击合同中。
第四步:攻击合同自动执行,通过Uniswap等中心交易所转移资产,防止项目方启动紧急机制锁定被盗资产。
第五步:被盗资产进一步转移到匿名性强的混合货币平台,对抗AML等安全机制。
攻击分为5个步骤,但目的性强,自动化程度高,私钥丢失很难预防。
那么,既然攻击的起点是偷我们怎样才能保护钥匙呢?这里必须要提到区块链钱包,钱包是存储账户地址和使用数字货币的工具,比如以太坊钱包存储以太坊账户地址以及账户的以太币并且可以进行交易。块链钱包不是传统意义上的实体钱包,而是使用密码技术密码保存账户地址的公私密钥的正确工具,有钱包密钥可以拥有钱包中账户地址的支配权,可以支配其中的数字现金,特别是以太网钱包私钥是一系列毫无意义和规则的文字,难以记忆,因此出现了辅助词(Mnemonic),辅助词利用固定算法,将私钥转换成十几个常见的英语单词,作为块链数字钱包私钥的友好形式。助记词和私钥等价,可以互相转换。
公钥和地址的生成都依赖于私钥,私钥和助词在交流,所以私钥和助词是黑客盗窃的最核心目标。钱包保存了账户地址和私钥,所以钱包也是黑客攻击的目标。
未知攻杨知防,私钥通常面临钓鱼和钱包私钥保护不当两种安全风险。
三、钓鱼风险
所谓网络钓鱼攻击(Phishing),指的是攻击者伪装成可以信任的人或机构,通过电子邮件、通讯软件、社交媒体等网络工具,从而获取收件人的用户名、密码、私钥等私密信息。随着技术的发展,网络钓鱼攻击不仅可以托管各种恶意软件和勒索软件攻击,而且更糟糕的是这些攻击正在呈现不断上升的趋势。
网络钓鱼攻击分为社会工程和漏洞利用两种。社会工程是基于欺诈和随后受害者的错误行为,而漏洞利用是利用漏洞和软件结构缺陷实施攻击的专业技术。
1.社会工程
社会工程调用方案的特点是网民直接参与其中。攻击是向用户发送虚假信息,在用户执行某些操作(打开邮件,移动链接或下载恶意附件)后激活。研究表明,4%的用户会点击网络钓鱼链接。用户只需点击网络钓鱼链接,攻击者即可进入系统。
社会工程调用方案包括以下攻击手段:
(1)克隆网络钓鱼
攻击者在官方网站制作网站复印件,具有类似名称的网站或伪造的网页,将包括伪造资源链接的链接发送给地址的潜在受害者。
(2)社交网络钓鱼
黑客侵入着名人物的账户,发表包括网络钓鱼链接在内的投稿,制作克隆着名人物、社区等页面的情况越来越普遍。攻击者可以利用Facebook使用任何名称创建页面从假页面进行活动,这些假页面的名称与真正的社区页面非常相似。
(3)目标网络钓鱼
网络钓鱼的目标是大型投资者、钱包所有者、公司的顶级、加密货币所有者。攻击者清楚地知道他们想攻击多少人。攻击者计算受害者在其他领域中的活动,并窃取模仿这些领域的必要数据,与受害者进行接触。
(4)膨胀
攻击者人为地提高价格,以便于管理流动性低,市值小的加密货币。空前的价格膨胀通过众多媒体渠道(YouTube,Twitter,Telegram)广泛报道,并受到大量广告宣传,有望为外部投资者带来高回报。在用户进行了大量投资之后,攻击者停止支持加密货币的发展,其价格恢复到原始位置。
(5)虚假钱包
攻击者发布虚假钱包。虚假的钱包分为两类。
第一类:虚假钱包启动后,恶意程序可以向用户索取或获得其私钥和钱包密码
第二类:虚假钱包不能通过生成账户地址和私钥创建新钱包,恶意程序只显示攻击者的账户地址,用户不能访问私钥。私钥归欺诈者所有。一旦启动恶意APP,用户认为APP已经生成了他的账号地址,用户可以在其中存储加密货币。如果用户把资金发到这个钱包里,因为他没有私钥,有私钥的攻击者可以提取用户的资金。
2.脆弱性利用
利用网络脆弱性和软件和基础结构的缺陷实现攻击手段。这种攻击通常包括以下攻击方法:
(1)基于DNS的网络钓鱼
在这种攻击中,攻击者最初创建恶意访问点,将客户连接到运行假DNS服务器的访问点。该服务器将特定网站重新定向攻击者的网络钓鱼服务器。
(2)对话劫持(cookie劫持)
该攻击基于使用有效对话(也称对话钥匙),获得计算机系统上的信息和服务的未经许可访问。特别是,它用于表示用于对远程服务器上的用户进行身份验证的cookie的盗窃。一种流行的方法是使用源路由的IP数据包。IP数据包通过b的计算机,网上b点的攻击者可以参加a和c之间的对话。攻击者可以在原路由被禁用的情况下盲目捕获,发送命令,但没有看到响应,设置允许从网上其他地方访问的密码。攻击者还可以使用嗅探程序来监控A和C之间的对话。这就是中间人的攻击。
(3)恶意软件
在使用恶意软件的网络钓鱼时,恶意软件用于将证书存储在攻击者的计算机上并发送给攻击者,即发送给钓鱼者。例如,可以通过附件doc文件的恶意垃圾邮件传达威胁,文件包括下载恶意程序的Powershell脚本,然后恶意程序找到存储的钱包和证明书发送给钓鱼者。木马AZORult和PonyFormgraber和bot的Qbot是最常用的恶意程序。同时,网络犯罪者继续使用以前对银行的攻击工具,现在解读加密钱包,获得钱包的密码和用户的个人账户等信息。
(4)按钮/屏幕记录器
用户从设备输入信息时,用于盗取数据。随着虚拟键盘和触摸屏的出现,使用了屏幕截图将其发送给攻击者。
四、数字货币钱包安全风险
根据数字货币钱包是否连网,通常分为冷钱包和热钱包两种。冷钱包是没有网络的钱包,也称为离线钱包。游资钱包是一个可以在线的钱包,也称为在线钱包。游资钱包安全性低于冷钱包安全性,一旦用户托管在服务器端的私钥被盗,用户的数字资产将面临被盗的风险。冷钱包的钥匙可以通过物理、电磁、声音、光、电等方式的隐蔽通道传输到附近的网络计算机、智能手机、照相机等其他接收器,虽然比较安全,但绝对不安全。此处主要对冷钱包的安全风险做出分析。
对数字货币钱包进行渗透攻击的过程分成以下两个阶段:
第一阶段:钱包应用安装前,由于操作系统和钱包应用都是通过联网来进行操作的,因此攻击者可以通过下载地址来修改操作系统和钱包代码,也可以通过替换有后门的镜像来传播恶意木马。
第二阶段:钱包应用安装后,热钱包的安全性比冷钱包的安全性低,一旦用户托管的私钥没有妥善保存被窃取,用户的数字资产将面临被盗风险。冷钱包的钥匙可以通过物理、电磁、声音、光、电等方式的隐蔽通道传输到附近的网络计算机、智能手机、照相机等其他接收器。因此,钱包的攻击类型也分为
(1)物理方式:通过USB这种可移除设备插入目标计算机,利用交易签名和其他机会偷钥匙,将钥匙保存在隐蔽区域。USB设备再次插入其他网络计算机时,可以将原本存储在隐蔽区域的密钥信息传递给黑客。例如,基于货币钱包的BeatCoin攻击。
基于货币钱包的BeatCoin攻击
(2)电磁隐蔽通道:利用计算机显示时,产生电磁泄漏信号,该方式的实现需要电磁接收设备,适用范围不广。
(3)声音隐蔽通道:利用耳朵听不见的超声波完成数据传输偷钥匙。
(4)光隐蔽通道:利用计算机键盘的LED或HDD线路由器的指示灯等,从目标计算机偷钥匙。
(5)电隐蔽通道:通过改变 CPU 负载来控制系统中计算机中电力的消耗来进行数据传输。
五、安全建议
通过如上的分析应该可以看到,虽然不同于传统互联网的账号密码体系,但区块链账户同样面临私钥被盗的风险,由于通常私钥与数字资产紧密相关,其安全风险更高。保护私钥安全,既是用户的责任也是项目方的责任。
用户应提高私钥保护意识,警惕访问的网页和下载安装的钱包,防止钓鱼攻击。
项目方应以用户资产安全为核心,做好热钱包、冷钱包、系统服务、智能合同等相关模块的风险评估和安全审计,确保系统本身安全。
制定AML和应急方案,提高对抗黑客攻击的风险防范能力。
底层链平台可采用分组密码、环签名等技术,从区块链底层提高账户安全保护能力。
该分析报告仅供技术交流,不得采用相关方法操作。否则,结果会自负。
精彩评论