当硬核黑客开始研究“钓鱼” 你的NFT还安全吗?_stETH:etha币能买不

前有周杰伦无聊猿NFT被钓鱼攻击,损失超300万人民币。

后有全球最大的NFT交易平台之一OpenSea大批用户遭遇钓鱼攻击,多人资产受损。

可见Web3世界黑客依然猖狂作祟,为了打击黑客嚣张的气焰,我们将为大家持续输出干货系列文章,教导大家NFT防技巧。

本文研究了两类典型的NFT的钓鱼攻击,一类是盗取用户签名的钓鱼攻击,如:Opensea钓鱼邮件事件;一类是高仿域名和内容的NFT钓鱼网站。跟我们一起看看

「盗取用户签名的钓鱼」

2022年2月21日,全球最大的加密数字藏品市场Opensea遭遇黑客攻击。根据Opensea官方回复,有部分用户由于签署了给黑客的授权而导致用户NFT被盗。

我们将本次事件再次复现一下,在本次事件攻击事件中,攻击者信息如下:

攻击者地址:

0x3e0defb880cd8e163bad68abe66437f99a7a8a74

攻击者合约:

0xa2c0946ad444dccf990394c5cbe019a858a945bd

金色晚报 | 11月2日晚间重要动态一览:12:00-21:00关键词:金融监管局、数字货币、开曼、香港金管局

1. 《金融科技创新应用测试规范》等三项金融行业标准正式发布。

2. 北京市金融监管局:在空港区域积极推广数字货币跨境支付等场景落地。

3. 央行行长易纲:数字货币仍在起步阶段 需更完善法律框架。

4. 8名“转账搬运工”用虚拟货币转移赃款1500余万元被公诉。

5. 开曼群岛为“虚拟资产服务提供商”(VASPs)建立监管框架。

6. 10两月Tether新增印钞约合44.2亿USDT。

7. 香港金管局:与泰国中央银行联合研究的数字货币项目已进入第二阶段。

8. 央行邢毓静:数字人民币红包为数字人民币更深更广研发应用打下基础。[2020/11/2 11:27:47]

攻击者获得相关NFT的交易具体如下图所示:

针对其中一笔交易进行分析,

0xee038a31ab6e3f06bd747ab9dd0c3abafa48a51e969bcb666ecd3f22ff989589,具体内容如下:

金色午报 | 11月2日午间重要动态一览:7:00-12:00关键词:澳洲联储、韩国、北京、广东省

1. 澳洲联储预计2021年上半年发布批发数字货币项目报告;

2. 韩国发布特殊金融法实施条例立法预告将禁止交易匿名币;

3. 北京率先发文推进实施电子劳动合同 后续将探索区块链等新技术手段;

4. Compound社区发起28号提案 允许UNI持有者进行cUNI团体投票;

5. 江苏省首家区块链“两诉”服务中心在无锡投运;

6. 北京率先发文推进实施电子劳动合同 后续将探索区块链等新技术手段;

7. 广东省自然资源厅与华为签署协议 将推进自然资源领域运用区块链等技术;

8. 经济日报:央行数字货币试点不会完全取代现金;

9. 比特币全网难度预计将于明日迎来下调,预计下调幅度达14%。[2020/11/2 11:25:10]

由上图可知,攻击者是获得了用户的授权,之后直接调用transferfrom方法将用户的NFT盗走。

根据Opensea的CEODevinFinzer发布的twitter,攻击者是通过钓鱼的方式获取到用户在Opensea上的挂单授权。

通过分析攻击交易,黑客攻击主要分为以下三个步骤。

1.构造正确的待签名交易;

2.诱用户点击授权;

独家 | 金色财经CEO安鑫鑫:牛市最核心的指标是这个行业的大部分人是否在赚钱:在今日由库神主办、金色财经独家直播的减半行情分享会上,金色财经CEO、金色学院创始人安鑫鑫对于“目前算是牛市吗?还有几个月比特币就减半了,后面行情估计会怎样?”问题回答时表示,对于牛市这个观点,做为一个媒体看行业来看,比特币价格的涨和跌以及主流币的涨和跌,并不是牛市的唯一的指标。最核心的指标是这个行业的大部分人是否在赚钱。比如说在交易所的交易量的增加,交易所在赚钱。交易所赚钱了,就会把钱流到更多的一些服务商,服务商也开始赚钱,有更多的资金去运作,去激活市场,然后市场也会有非常多的反馈,用户也会有更多的入场资金参与到这个市场来。从这几个方面来看的话,现在已经有了这个雏形。在整个行业里面,这个周期性是非常常见的,每一波牛市和熊市都会留下非常多的优秀企业和品牌以及人。但也会洗出去非常多的不坚定或者是做的不太好的品牌和团队。即使是在现在有疫情的情况下,这两周我们也能感受到有非常多的新的项目和新的团队已经开始规划、参与到这个行业里来。已经储备了足够的资金和团队,开始加入这个市场,而用户端也有非常大的增长。[2020/2/14]

3.获取用户签名后构造攻击合约盗取用户NFT。

步骤一?

首先对攻击者构建的交易签名内容进行分析,跟踪函数调用栈发现具体的签名信息如下:

分析 | 金色盘面:TUSD/BTC 短线反弹受阻:金色盘面分析师表示:TUSD/BTC是绑定美元,理论上和BTC形成反向波动,短线看经过1波反弹后跌破均线,MACD绿柱缩短,有调整需求,而BTC有可能反向而行 。[2018/8/6]

由上图可知,签名的计算方式为:keccak256("\x19EthereumSignedMessage:\n32",hashOrder(order));这种签名方式会在order前再加一个消息前缀:’\x19EthereumSignedMessage:\n32’,以确保改签名不能在以太坊之外使用。之后将加上消息前缀的完整数据再计算keccak256值,最后用私钥进行签名。

但是该方式仅能声明所有权,无法防止重放攻击。如:用户A签署了消息发送给合约M,另一用户B可以将这个签名重放给合约N。下图为订单签名中具体涉及到的信息。

其中涉及到的签名主要参数为:

Side:买入或卖出

paymentToken:用于支付订单的代币类型

basePrice:订单中NFT的价格

maker:订单发出地址

taker:接收订单的目标地址

上述签名信息中包含订单金额、目标地址等敏感信息,但是经过keccak256计算Hash后的值只是一串二进制字符串,用户无法识别。

分析 | 金色盘面:BTC短线走弱:金色盘面分析师表示,BTC一小时反弹接近尾声,短线面临二次探底。[2018/8/2]

攻击者根据上述Order信息构造签名,可以随意将上述签名中涉及到的basePrice参数金额设置为0,接收地址设置为自己等。

步骤二?

攻击者构造好待签名数据后就可以诱用户点击授权。由于签名的元数据是经过Keccak256计算后得到的包含0x的66个十六进制字符,用户无法得知其代表的具体含义,因此可能直接点击签名,使得攻击者获得了用户的挂单授权。

上图中的签名对于用户来说类似盲签,即所签的消息内容对签名人来说是盲的,签名人不能看见消息的具体内容。

步骤三?

在步骤二中攻击者获取到ECDSA签名消息中的R、S、V值,即可利用其构造攻击合约盗取用户NFT。下图为OpenSea:WyvernExchangev1合约中验证order的函数validateOrder(),具体源码如下:

由源码可知,订单验证首先会校验order的有效性和是否包含有效参数,接着校验订单是否曾经通过链上校验。其中approvedOrders是一个mapping变量,该变量保存了所有已经通过链上批准验证的订单。如果订单曾经校验过则直接返回true,无需再使用ecrecover()校验ECDSA签名,以便智能合约可以直接下订单。

以下是其中一笔NFT盗取交易,可以发现攻击者利用用户签名通过调用攻击者合约:

0xa2c0946ad444dccf990394c5cbe019a858a945bd,以0ether的价格盗取了用户的NFT。

「高仿域名的NFT钓鱼」

这一类的钓鱼网站主要是对NFT项目官网的域名和内容等进行几乎一致的模仿,一般会先连接用户钱包查询用户余额之后,再进行其他诱操作。这种钓鱼网站是最常见的,主要分为以下几种类型:

1仅更换原官网的顶级域名

案例一

官网:https://invisiblefriends.io/

钓鱼网站:https://invisiblefriends.ch/

查看钓鱼网站的网页源码,可以发现如下攻击地址:

查看

0xEcAcDb9FA4Ed4ACD8977821737da7bCe688be1e0的相关交易:

可以发现上述两笔交易是攻击者获取到的收益。

案例二

官网:https://cyberbrokers.io/

钓鱼网站:https://cyberbrokers.live/

查看钓鱼网站源码,发现如下攻击地址:

综上,该类事件主要是因为用户在签署交易签名时,由于签署的交易内容是加密后的字符串,导致用户无法直观的看到签署交易的具体内容,习惯性的点击确认,从而造成攻击者获取到用户的卖单权授权,盗走用户的NFT。

2主域名添加单词或符号进行混淆

有的钓鱼网站会在主域名添加单词或符号进行混淆,比如othersidemeta-airdrop、otherside-refunds.xyz等。

官网:https://otherside.xyz/

钓鱼网站:http://othersidemeta-airdrop.com/

查看钓鱼网站源码,发现页面存在setApprovalForAll()函数,该函数会授权_operator具有所有代币的控制权。如果用户授权了攻击者,则用户账号中所有的NFT将会被盗走。

3添加二级域名进行混淆

有的钓鱼网站会添加二级域名进行混淆,进行钓鱼。

?

官网:https://www.okaybears.com/

钓鱼网站:https://okaybears.co.uk/?

查看网页源码,根据solanaweb3的官方文档API,确认如下地址为攻击地址:

在如今钓鱼事件频发的情况下,用户需提高安全意识,保护自己。以下是我们的安全建议:

1签名时应当明确签署的交易内容,包括交易价格、交易地址等信息,如下图红框处内容所示:

如果存在签署内容仅为二进制字符串内容等无法明确的内容,请勿签署。

2切勿点击任何邮件中的链接、附件,或输入任何个人信息。

3访问NFT官网时,一般在官网右上角等处会显示官方twitter、discord等社交帐号,需在官方账号上确认官网地址。

4安装钓鱼插件,可辅助识别部分钓鱼网站。比如下面这一款

https://chrome.google.com/webstore/detail/beosin-alert/lgbhcpagiobjacpmcgckfgodjeogceji?hl=zh-CN

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金智博客

[0:0ms0-6:145ms