点击阅读:Web3安全连载(1)当硬核黑客开始研究“钓鱼” 你的NFT还安全吗?
点击阅读:Web3安全连载(2)一文看懂典型的NFT合约漏洞有哪些?
我们推出连载系列的最后一篇——NFT钓鱼流程及防范技巧,其中一类是盗取用户签名的钓鱼攻击,另一类是高仿域名和内容的NFT钓鱼网站。那么如果用户不幸中招了怎么办呢?今天我们就来告诉你怎么办。
「钓鱼网站是如何“钓”你的?」
第一种:盗取用户签名
在前两篇文章里,我们提到过该类钓鱼网站主要是引诱用户在钓鱼网站签名,如果用户签署了签名,则钓鱼网站可以获取到用户钱包中所有的NFT。具体的签名内容如下:
上图中红框一显示的是签名请求的网站来源,红框二显示的是请求的签名内容,由于显示的内容是一串二进制字符,所以用户其实不知道具体签署的是什么服务。
如果用户点击了“Sign”按钮,则可能会授权一些无法预测的服务,包括一些危险操作,如:授权钓鱼网站拥有用户钱包中NFT的转账权限等。
第二种:高仿域名和内容的NFT钓鱼网站
Web3投资机构Cipholio Ventures对Meta Era进行战略投资:据官方消息,Web3投资机构Cipholio Ventures宣布将对Web3内容生态聚合器Meta Era进行战略投资,并共同致力于线上及线下Web3科普推广。这次投资是Cipholio Ventures和Meta Era在香港新政策出台后加大投资力度的重要举措。双方将充分发挥各自优势,在区块链技术应用、Web3理念传播等方面展开深入合作。
据悉,Cipholio Ventures是一家以研究为导向的投资公司,专门研究有可能重塑万亿美元市场的加密货币、代币和区块链项目。Meta Era 是立足于香港的Web3.0资源聚合器,已与数百家投资机构,web3企业及业内媒体、社区建立了合作。[2023/6/1 11:53:01]
前面的的文章里我们提到过该类钓鱼网站主要分为三类,第一类是仅更换原官网的顶级域名,第二类是主域名添加单词或符号进行混淆,第三类是添加二级域名进行混淆的钓鱼网站。
涉及到的钓鱼手法主要分为三种,第一种是伪造NFT项目官网诱用户直接进行转账的钓鱼网站,第二种是使用假空投诱用户授权的钓鱼网站,第三种是诱用户输入钱包助记词的钓鱼网站。下面将对其钓鱼手法进行详细介绍。
1.伪造官网引诱用户直接转账
该类钓鱼网站主要是通过伪造NFT项目官网UI界面,诱用户连接钱包之后,点击“mint”按钮进行铸币。用户点击之后会向虚假的项目方地址转账,但是并不会收到对应的NFT。具体如下图所示:
Ledger宣布Ledger Connect Web3浏览器将于2023年推出:金色财经报道,硬件钱包Ledger宣布Ledger Connect Web3浏览器将于2023年推出,新浏览器扩展程序将可以通过蓝牙连接到用户的Ledger设备。只要携带硬件钱包才能使用它。更重要的是,当浏览您最喜爱的Web3网站和应用程序时,Connect在后台运行。?
此外,当用户想购买 NFT 时,连接窗口会弹出并显示要购买的东西。Ledger的API对产品进行检查。反过来,用户对他们购买的商品和价格有了更大的确定性。不仅如此,用户可以选择进行购买的设备和帐户,以及将其存储在哪个钱包中。[2022/12/10 21:34:59]
用户进入到钓鱼网站后,会首先点击对应的“connect wallet”按钮,连接钱包。之后UI界面会进行刷新,出现如图所示的“mint”按钮。通常页面上还会出现类似“xx用户已经mint了xxNFT”这样的浮动标题,主要是为了刺激用户赶紧点击mint。如下图所示:
Fireblocks Web3负责人:传统金融公司正在深入研究加密货币:金色财经报道,Fireblocks的Web3负责人表示,传统金融公司正在进一步进入加密领域。Fireblocks代表1,500多家金融机构托管资金,并使它们能够与区块链和加密服务进行交互。
Amsel表示,这些公司,尤其是更传统的公司,从托管服务开始,然后慢慢转向更多的加密原生交互。Amsel说,“我们看到越来越多的传统金融正在探索进入加密货币的方式,也许他们正在采取一种更加胆小的方法”。
Amsel举了一个假设的例子,一家公司可能在一两年前开始使用加密货币托管。他说,这些公司迈出了第一步,看到没问题,然后开始更多地探索这项技术。[2022/11/6 12:21:55]
用户如果点击“Mint”按钮之后,一般情况下钓鱼网站为了防止自己的转账黑地址泄露,会首先检测钱包余额是否为空。如果为空则不会进行交易,如果不为空才会弹出类似MetaMask的小狐狸钱包,进行交易。
2.假空投诱用户进行NFT授权
该类钓鱼网站主要是利用假空投等手段,诱用户访问钓鱼网站。在用户连接钱包后,就会出现“CLAIM NOW”等引诱用户进行点击的按钮,用户点击之后就会对钓鱼网站的黑地址进行授权。具体如下图所示:
Web3基金ABCDE在BendDAO社区发布提案称计划提供1万枚以太坊的流动性:8月24日消息,由开发者社区BeWater发起人BMAN与Huobi联合创始人杜均成立4亿美元Web3基金ABCDE在BendDAO社区发布新提案,该提案计划从BendDAO财库购买总量20%的Token(20亿BEND),与BendDAO达成战略合作伙伴关系并向其提供1万枚ETH的流动性。提案中对20亿BEND提出的购买价格为2400ETH,锁仓期为18个月。
ABCDE Capital表示:通过让ABCDE成为BendDAO社区的成员,该提案将有助于增加BendDAO ETH储备并巩固BendDAO作为市场领先的NFT流动性协议的地位。[2022/8/24 12:45:43]
之后获得授权的钓鱼网站会将用户钱包中的NFT全部转走,具体如下图所示:
下面是受害者被盗取的NFT交易:
Web3基金会公布第六批Grant名单,Phala Network 数据产品W3A在列:金色财经报道,7月13日,Web3基金会公布了第六批Grant资助名单,基于Phala Network隐私计算协议的数据产品Web3 Analytics (简称W3A) 获得资助,W3A是一款去中心化数据分析工具,通过保密智能合约实现了数据采集和数据分析的隔离,解决了因为数据迁移和保管不力导致的泄露和滥用问题。
据悉,在W3A中,用户数据在用户浏览器和后端之间进行端到端加密,加密后的数据将存储在一个分散的存储网络中。加密密钥只有其所有者和智能合同才能访问,智能合同允许用户随时随地提取或删除用户数据。[2020/7/13]
3.诱用户填写助记词
该类钓鱼网站主要是在网页连接钱包处,或者其他位置诱用户点击,之后弹出一个伪造的网页,提示用户诸如“MetaMask插件版本需要升级”等信息。如果用户相信并填写了自己的钱包助记词,那么用户的私钥就会上传到攻击者服务器导致用户钱包被盗。具体如下图所示:
该钓鱼网站弹出如下信息,提示用户检测到了MetaMask的一个安全问题,需要用户升级该钱包插件版本。如果用户在框中输入助记词,则会导致钱包被盗。
「必须学会的防范技巧」
一:防范签名被盗
目前多数网站为了保护用户安全已经不支持盲签的签名方式,但是如果用户访问某些网站时仍然遇到盲签的情况,请尽量拒绝签署。本文主要讨论以下两种非盲签的情况下,用户如何防范钓鱼。
1.用户签署交易时需要确认签署的内容
如上图所示,用户签署授权时主要是对红框部分的服务条款进行签名,包括:提示用户如果点击“Sign”按钮则代表接受网站的服务条款,这个请求不会发起交易或者消耗gas费,并且该授权状态将在24小时后重置等。以及包括签署签名的用户地址、Nonce值等。
2.用户在进行交易签名前,应进行多方信息交叉验证,确保发起交易的网站是真官网。
二:防范高仿域名和内容的NFT钓鱼网站
此前文章我们介绍了三种高仿域名和内容的NFT钓鱼网站,其中第三种是直接诱用户输入助记词。针对该类网站,用户只需记住任何要求输入助记词的网页都是不安全的即可。本文主要介绍其他两种钓鱼网站的相关防范措施:
1. 伪造官网引诱用户直接转账
这类的钓鱼网站通常域名和内容都跟原项目官网十分相似,用户在访问时需特别注意识别官网。
1)一般在访问NFT官网时,首页通常有官方社交媒体账号,如:twitter、discord等。
目前很多NFT官方网站都不会直接提供“mint”功能,或将更多数量的NFT放到了诸如Opensea之类的交易所上进行售卖,如下图所示:
同时,一般在NFT项目官网底部都会列举出官网社交账号,下图红框处从左往右依次是:Discord、twitter、traitsniper、opensea。
用户可以访问这些社交账号,首先识别其账号是否是官方账号,通常直接在twitter上搜索项目名称可以发现官方账号,如果存在同名的情况那么注意筛选出关注人数较多的账号,具体如下图所示:
上图中显示的第一个红框就是NFT项目对应的官网,任何其他的网址都是钓鱼网站;第二个红框是该项目在其他平台上的官方链接,如:Opensea交易所等;第三个红框是关注的人数,从人数上也可以对官方账号进行筛选,当然也需要警惕钓鱼大号,最好是进行信息交叉验证,保证自己访问的是官网。
2)假空投诱用户进行NFT授权
攻击者通常会通过Discord等社交账号发布假空投的钓鱼链接,这一类的钓鱼网站往往难以识别真假,本文提出以下几点建议希望帮助用户减少损失。
a. 资产隔离
在进行这类危险交易时,可以采用资产隔离的方式进行,通常包括以下几种类型:
钱包隔离:用户可以将钱包根据用途分为两类,第一类用于存储资产,包括一些大额资产等,该类资产可以使用冷钱包存储提高安全性;第二类用于资产交易,尤其是在进行诸如领取空投这样的危险交易时,可以使用一些临时钱包。临时性的钱包包括:使用MetaMask之类的钱包重新创建一个地址里面存储很少的钱;或一些网络钱包如:Burner Wallet等,该钱包可以通过在网页上简单地设置转账的参数,如:转账地址、金额等,就可以生成一个临时性的小额交易二维码,如下图所示:
交易媒介隔离:通常指的是用户在交易时使用的PC、浏览器等,可以在进行一些可能存在的危险交易时使用不同的PC,或者使用不同的浏览器。
b. 使用项目方智能合约进行mint()
上文提到有很多局在推广免费空投领取时,“mint”按钮实际上触发的是请求用户签名的操作,一旦点击将会批准钓鱼网站转移用户的NFT。所以如果能够确定领取空投的合约地址,直接调用智能合约里的mint()方法是更安全的方式,下图是某NFT的合约:
如上图所示,首先点击“contract”,之后选择“Write Contract”页签,接下来需要点击“Connect to Web3”按钮,连接钱包。如下图所示:
接着点击mint()方法,设置mint需要的NFT数量和金额,点击“Write”按钮即可。这种方式因为是直接调用的合约方法,所以不存在被钓鱼网站盗用签名的情况。但是,用户在调用NFT合约时需注意同样需要交叉验证项目合约的地址,避免被钓鱼合约诱导受。
c. 确认消息源
如果用户收到领取空投的钓鱼网站链接,首先需要确认信息源,一般可以在官方twitter等社交账号上确认下有没有发布的空投消息。如果没有的话,请不要随意点击其他渠道上发布的空投链接。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。