前有周杰伦无聊猿NFT被钓鱼攻击,损失超300万人民币。
后有全球最大的NFT交易平台之一OpenSea大批用户遭遇钓鱼攻击,多人资产受损。
可见Web3世界黑客依然猖狂作祟,为了打击黑客嚣张的气焰,我们将为大家持续输出干货系列文章,教导大家NFT防技巧。
本文研究了两类典型的NFT的钓鱼攻击,一类是盗取用户签名的钓鱼攻击,如:Opensea钓鱼邮件事件;一类是高仿域名和内容的NFT钓鱼网站。跟我们一起看看
「盗取用户签名的钓鱼」
2022年2月21日,全球最大的加密数字藏品市场Opensea遭遇黑客攻击。根据Opensea官方回复,有部分用户由于签署了给黑客的授权而导致用户NFT被盗。
我们将本次事件再次复现一下,在本次事件攻击事件中,攻击者信息如下:
攻击者地址(Fake_Phishing5169):
0x3e0defb880cd8e163bad68abe66437f99a7a8a74
攻击者合约(Fake_Phishing5176):
Matrixport:比特币可能反弹20%至3.6万美元左右:金色财经报道,加密货币服务提供商Matrixport周四在一份研究报告中表示,比特币可能会反弹20%,达到35,000-36,000美元左右。报告说,比特币一直在一个缩小的楔形中交易,这个楔形即将被向上突破,并补充说,从技术上看,这可能会预测一个更高的走势,其数额相当于楔形开始形成时的数额,范围约为20%。虽然美联储昨天又加了25个基点的利率,但这很可能是本周期的最后一次加息。这可能为市场带来另一次强劲的反弹。[2023/5/4 14:42:09]
0xa2c0946ad444dccf990394c5cbe019a858a945bd
攻击者获得相关NFT的交易具体如下图所示:
针对其中一笔交易进行分析,
0xee038a31ab6e3f06bd747ab9dd0c3abafa48a51e969bcb666ecd3f22ff989589,具体内容如下:
机构信贷基础设施提供商Credora完成600万美元融资:4月25日消息,机构信贷基础设施提供商 Credora 在一轮战略融资中筹集了 600 万美元,投资者包括 S&P Global 和 Coinbase Ventures。本轮融资的其他参与者包括 Spartan、Amber Group、CMT Digital、Hashkey、GSR、KuCoin Ventures、流动性提供商 Paradigm.co、Pirata Capital、Breed VC 和 WAGMI Ventures。该轮融资使 Credora 获得了高达 1600 万美元的总融资。这笔资金将帮助构建技术并支持 Credora 用于承保和监控借款人的私有计算技术。该初创公司为集中式和 DeFi 的机构信贷提供技术基础设施。
Credora 成立于 2019 年,提供针对私人信贷市场量身定制的贷款基础设施和信用评级系统。该公司表示,其隐私保护技术使贷方能够在不泄露借款人信息的情况下做出明智的实时决策。据该公司称,Credora 迄今已促成超过 10 亿美元的贷款。[2023/4/25 14:26:16]
由上图可知,攻击者是获得了用户的授权,之后直接调用transferfrom方法将用户的NFT盗走。
根据Opensea的CEO Devin Finzer发布的twitter,攻击者是通过钓鱼的方式获取到用户在Opensea上的挂单授权。
Galaxy Digital CEO:监管在攻击加密行业,相信存在“窒息点行动”:3月31日消息,在周四举行的迈阿密会议上,Galaxy Digital CEO Mike Novogratz表示,他认为加密行业正受到美国监管机构的“攻击”。
在被问及他对“窒息点行动”的看法时,Mike认为,他相信这一行动“100%”存在。他还认为,从长远来看,(在加密领域)美国会失败,阿布扎比、香港已经有了真正先进的监管。
此前报道,行业内传言美国政府正组织一场复杂而广泛的监管行动,该行动名为“窒息点行动(Operation Choke Point)”。该行动瞄准美国的加密世界,旨在边缘化该行业,且几乎涵盖所有金融监管机构并高度协调。[2023/4/1 13:38:18]
通过分析攻击交易,黑客攻击主要分为以下三个步骤。
1.构造正确的待签名交易;
2.诱用户点击授权;
3.获取用户签名后构造攻击合约盗取用户NFT。
步骤一
首先对攻击者构建的交易签名内容进行分析,跟踪函数调用栈发现具体的签名信息如下:
由上图可知,签名的计算方式为:keccak256("\x19 Ethereum Signed Message:\n32", hashOrder(order));这种签名方式会在order前再加一个消息前缀:’\x19 Ethereum Signed Message:\n32’,以确保改签名不能在以太坊之外使用。之后将加上消息前缀的完整数据再计算keccak256值,最后用私钥进行签名。
路透调查:美联储联邦基金利率将高于此前预期:9月28日消息,路透调查显示,超过70%的分析师预计美联储将在11月连续第四次加息75个基点,在12月加息50个基点,年底时利率达到4.25%-4.50%,比两周前预测的3.50%-3.75%高出75个基点。这将是美联储自金融危机开始之前的最高利率。此外,有45位经济学家预计联邦基金利率将在2023年第一季度达到4.50%-4.75%或更高的峰值。在回答额外问题的51位经济学家中,除两人外,所有人都表示,终端利率倾向于高于他们目前的预期。只有46%的经济学家预计美联储在2023年底将至少降息一次。超过80%的经济学家认为,一旦联邦基金利率达到峰值,美联储更有可能在较长时间内维持利率不变,而不是迅速降息。(金十)[2022/9/28 5:57:12]
但是该方式仅能声明所有权,无法防止重放攻击。如:用户A签署了消息发送给合约M,另一用户B可以将这个签名重放给合约N。下图为订单签名中具体涉及到的信息。
其中涉及到的签名主要参数为:
Side:买入或卖出
paymentToken:用于支付订单的代币类型
basePrice:订单中NFT的价格
maker:订单发出地址
taker:接收订单的目标地址
OpenSea此前出现错误将一些Bored Ape删除:金色财经报道,Bored Ape Yacht Club在其社交媒体上表示,早些时候,OpenSea出现了一个短暂的错误,他们错误地将一些Bored Ape从他们的平台上暂时除名。这个问题现在已经解决,所有的资产都重新显示出来。我们正在与他们联系,以确保这种情况不会再次发生。[2022/6/30 1:40:42]
上述签名信息中包含订单金额、目标地址等敏感信息,但是经过keccak256计算Hash后的值只是一串二进制字符串,用户无法识别。
攻击者根据上述Order信息构造签名,可以随意将上述签名中涉及到的basePrice参数金额设置为0,接收地址设置为自己等。
步骤二
攻击者构造好待签名数据后就可以诱用户点击授权。由于签名的元数据是经过Keccak256计算后得到的包含0x的66个十六进制字符,用户无法得知其代表的具体含义,因此可能直接点击签名,使得攻击者获得了用户的挂单授权。
上图中的签名对于用户来说类似盲签,即所签的消息内容对签名人来说是盲的,签名人不能看见消息的具体内容。
步骤三
在步骤二中攻击者获取到ECDSA签名消息中的R、S、V值,即可利用其构造攻击合约盗取用户NFT。下图为OpenSea: Wyvern Exchange v1合约中验证order的函数validateOrder(),具体源码如下:
由源码可知,订单验证首先会校验order的有效性和是否包含有效参数,接着校验订单是否曾经通过链上校验。其中approvedOrders是一个mapping变量,该变量保存了所有已经通过链上批准验证的订单。如果订单曾经校验过则直接返回true,无需再使用ecrecover()校验 ECDSA 签名,以便智能合约可以直接下订单。
以下是其中一笔NFT盗取交易,可以发现攻击者利用用户签名通过调用攻击者合约(Fake_Phishing5176):
0xa2c0946ad444dccf990394c5cbe019a858a945bd,以0 ether的价格盗取了用户的NFT。
综上,该类事件主要是因为用户在签署交易签名时,由于签署的交易内容是加密后的字符串,导致用户无法直观的看到签署交易的具体内容,习惯性的点击确认,从而造成攻击者获取到用户的卖单权授权,盗走用户的NFT。
「高仿域名的NFT钓鱼」
这一类的钓鱼网站主要是对NFT项目官网的域名和内容等进行几乎一致的模仿,一般会先连接用户钱包查询用户余额之后,再进行其他诱操作。这种钓鱼网站是最常见的,主要分为以下几种类型:
1 仅更换原官网的顶级域名
案例一
官网:https://invisiblefriends.io/
钓鱼网站:https://invisiblefriends.ch/
查看钓鱼网站的网页源码,可以发现如下攻击地址:
0xEcAcDb9FA4Ed4ACD8977821737da7bCe688be1e0的相关交易:
可以发现上述两笔交易是攻击者获取到的收益。
案例二
官网:https://cyberbrokers.io/
钓鱼网站:https://cyberbrokers.live/
查看钓鱼网站源码,发现如下攻击地址:
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/?
查看网页源码,根据solana web3的官方文档API,确认如下地址为攻击地址:
在如今钓鱼事件频发的情况下,用户需提高安全意识,保护自己。以下是我们的安全建议:
1 签名时应当明确签署的交易内容,包括交易价格、交易地址等信息,如下图红框处内容所示:
如果存在签署内容仅为二进制字符串内容等无法明确的内容,请勿签署。
2 切勿点击任何邮件中的链接、附件,或输入任何个人信息。
3访问NFT官网时,一般在官网右上角等处会显示官方twitter、discord等社交帐号,需在官方账号上确认官网地址。
4安装钓鱼插件,可辅助识别部分钓鱼网站。比如下面这一款(复制链接谷歌浏览器直接安装)
https://chrome.google.com/webstore/detail/beosin-alert/lgbhcpagiobjacpmcgckfgodjeogceji?hl=zh-CN
本文节选自最新出版的《元宇宙与数字经济》一书,作者朱嘉明。我们通过自己的观察来创造历史,而不是历史创造我们.
1900/1/1 0:00:00以太坊着重强调两点:去中心化和安全性,这使得它处理交易的速度很慢。进而影响了其网络吞吐量,去中心化应用程序(dApp)的扩展能力.
1900/1/1 0:00:00从来没有避免金融灾难的万能方法。在不可预测的社会中,系统性风险被只能部分处理。经济条件、技术和人类行为都会随着时间而变化,因此应对系统性风险的方法也必须保持可变.
1900/1/1 0:00:00头条▌菲律宾首次发行区块链数字比索债券融资2.09亿美元金色财经报道,联合银行发行了菲律宾首个基于区块链的数字比索债券,筹集了 2.09 亿美元.
1900/1/1 0:00:00太长不看版:在比特币诞生之处,它主要被用于非法市场,臭名昭著。直到以太坊诞生,人们才看到了区块链技术在金融之外的可能性。像IBM这样的大公司曾经尝试推广联盟链.
1900/1/1 0:00:00合并 (The Merge)Ropsten 测试网合并非常成功Danny Ryan 对 Ropsten 合并进行了总结,他认为 Ropsten 合并非常成功,并表示如果主网合并是这样的表现.
1900/1/1 0:00:00