Check Point Research (CPR)检测有网络攻击者正在创建新型虚假代币以引诱受害者购买,然后从智能合约中“骗取”所有的投资资金。
2021年,与加密货币相关的攻击达到了历史最高水平,攻击者总共获得了140亿美元的加密货币。欺诈和诈骗的增加与全球加密货币市场活动的巨大增长有关。
很多公司对加密货币越来越感兴趣。例如,PayPal 正在考虑推出自己的加密货币,Facebook 已更名为 Meta,万事达卡宣布其网络上的合作伙伴可以让他们的消费者使用数字钱包购买、出售和持有加密货币。
此外,迪士尼想要建立一个元宇宙,耐克收购了一家 NFT 公司,星巴克客户现在可以使用新的 Bakkt 应用程序在连锁咖啡店用转换后的比特币支付饮料和商品。此外,微软正在构建其 Metaverse,Visa 确认与 Crypto.com 进行试点,以接受加密货币在其支付网络上结算交易。阿迪达斯通过 NFT 加入元界,Grayscale宣布元宇宙是一个价值 1 万亿美元的行业。资金正流向加密货币,因此黑客瞄准加密货币也就不足为奇了。
早在 11 月,Check Point Research (CPR) 就向加密钱包用户发出了大规模搜索引擎网络钓鱼活动的警告,该活动导致在几天内至少有 50 万美元被盗。在这篇文章中,Check Point Research (CPR) 将展示黑客如何创建新的代币,诱导人们购买这些代币,然后从智能合约中“窃取”所有资金。此外,CPR 检测到该代币通常不是用来骗人的,但智能合约功能中的错误配置会帮助黑客窃取资金。
BBC新闻报道最近称,一个名为SQUID的代币在一次大规模骗局中从加密投资者那里窃取了338万美元。加密令牌是一种类似于比特币和以太坊的货币,但有些项目是为了创新和构建新技术而创建的,而其他项目则是为了欺诈目的。
本文介绍了黑客如何构建代币来欺骗消费者,并提供有关如何识别这些骗局的提示。例如:
1、一些代币包含 99% 的购买费用,会在购买阶段窃取你所有的钱。
2、一些代币不允许买方转售(SQUID代币),只有所有者可以出售。
3、一些代币包含99%的销售费,这将在销售阶段窃取你所有的钱。
4、有些允许所有者在他的钱包中创建更多代币并出售它们。
5、还有一些不是恶意的,但在合同源代码中存在安全漏洞,并因黑客利用这些漏洞而损失了资金。
为了确定令牌的合法性,Check Point的研究人员查看了其在区块链网络上的智能合约。智能合约是存储在区块链上的程序,在满足某些条件时运行。智能合约中的编程语言是Solidity。Solidity是一种面向对象的编程语言,用于在各种区块链平台(尤其是以太坊)上编写智能合约。与常规程序相比,智能合约的好处在于源代码是完全开源的、不可变的(不能更改),但你仍然可以看到源代码。
例如,如果有人想在智能合约中执行一个功能,他们可以确切地看到代码中会发生什么,而不是在互联网上的web服务器中执行一个功能,后者完全隐藏在平台的后端。
智能合约生态系统中的代码由EVM(以太坊虚拟机)执行,代码由挖矿/节点运行。
很容易假设智能合约代码将作为一个运行在云中的随机服务器上的lambda功能执行。然而,在智能合约中,你可以看到将要执行的代码,并且执行的每个功能都将花费金钱。费用将由执行功能的人支付,而不是代码所有者。例如,如果你执行购买功能来购买硬币/代币,那么你将为在区块链上执行该功能支付费用。
现在让我们看看黑客如何构建骗局硬币以欺骗你购买它们然后窃取你所有的钱的一些示例,例如,M3 (0x8ed9c7e4d8dfe480584cc7ef45742ac302ba27d7)。
可以看到我们有一个_transfer函数,根据智能合约标准的函数,但这个功能将从你的“totalSUPERHERE”中收取一些“费用”,这是你拥有的令牌的数量:
这个“fee”变量是通过“_setTaxFee”函数设置的。
这里的函数“approve”是合约中的隐藏函数,它试图冒充合法的函数“approve”。
如果我们看一下在以下位置创建的合约交易:
https://bscscan.com/txs?a=0x8ed9c7e4d8dfe480584cc7ef45742ac302ba27d7
这个“aprove”函数被执行了两次:
将合约上传到区块链后,使用参数“8”作为费用:
合约被一些区块链工具扫描后,攻击者再次将费用更改为99:
这种技术很常见,因为黑客会收取隐藏费用,然后再进行更改。
而合法代币不会收取费用,也不会收取开发人员无法调整的硬编码值。
例如,令牌ValkToken的合约可以在以下URL中找到:
https://bscscan.com/address/0x405cFf4cE041d3235E8b1f7AaA4E458998A47363#code
ValkToken 实现了一个不可更改的硬编码费用:
买卖费用并不是唯一的骗局。还有其他类型的骗局,如隐藏的造币能力,允许开发者创造更多货币,甚至控制谁可以出售。一个例子是合约“MINI BASKETBALL”,它有超过 3500 名买家和超过 14000 笔交易。
https://bscscan.com/address/0x31d9bb2d2e971f0f2832b32f942828e1f5d82bf9检查源代码表明这个骗局不允许我们出售代币。
这可以通过查看“_transfer”函数来看到:
要获得销售资格,地址必须在“_balances1”列表中,并且“balances1”需要设置为“true”,否则会显示错误“ERC20: transfer To zero address”。通过查看为这些值设置的函数,我们可以看到:
Renounce——设置变量balance 1;
Prize_fund ——设置要出售的地址的值为true;
Reflections—设置要出售的地址的值为“false”;
通过查看我们的代码,我们可以在事务中看到以下函数调用:
这表明一开始没有人可以出售,然后只有这两个地址。
Levyathan 是一份被黑客入侵的合法合约。它使用 MasterChef 合约作为其所有者,并将所有权转移给该合约,如交易中所示:
https://bscscan.com/address/0x304c62b5b030176f8d328d3a01feab632fc929ba
该合约是唯一可以管理和创建更多代币的合约:
在这种情况下,合约的一位开发者错误地将 MasterChef 合约私钥上传到了项目的 GitHub repo。黑客获得了密钥并铸造了数百万个令牌。
他们后来从 Levyathan 合同中提取了所有资金,但这并不是合同中唯一的错误。 CPR 发现该合约具有“紧急取款”功能,该功能被多次用于提取资金而没有额外的抵押信用:
但开发者错误地将参数rewardDebt替换为user.amount,其中包含了所有的资金+额外的信用:
黑客使用此功能从合约中窃取资金。通过查看交易统计数据,有超过 57 次调用 EmergencyWithdraw 以从合约中窃取资金。
在 THE ZENON NETWORK 的示例中有一个错误,没有限制一个重要功能的未授权访问,这导致了一场灾难,允许黑客窃取814570美元。
Solidity 中的函数具有可见性说明符,它规定了如何调用函数。可见性决定了一个函数是否可以被用户、其他衍生合约、仅在内部或仅在外部调用。
Zenon Network 黑客攻击是通过智能合约中不受保护的销毁功能实现的。
销毁函数被设置为外部函数,这意味着它们可以从其他合约和交易中调用。
销毁函数可以销毁池中的代币,从而导致代币的价值增加。对销毁函数的访问应该受到限制,但Zenon网络无意中被标记为外部,使其可以公开调用。
正如你在交易中看到的那样,攻击者将价值 0.42 美元的 WBNB 添加到流动性池中,作为回报,他获得了 0.01354 个封装好的 znn 币。ZNN币(Zenon)是一种基于开源的、全球去中心化网络平台的加密货币,采用高度可扩展的共识协议,此协议基于数学上可验证的加密算法。
然后他们使用销毁功能销毁了 26468 个硬币,将它们发送到销毁地址 0x00000000000000000000000000000000000000000,导致 wZNN 的价格急剧上涨。结果,当他们想要赎回他的 WBNB 时,矿池认为欠他们大量的 WBNB 代币,使他们能够挖光矿池,并获得 814570 美元作为回报。
攻击者使用销毁函数来操纵 znn 价格,因为知道合约完全在内部执行其令牌价值的计算,从而使矿池认为他们欠攻击者更多的钱。
Check Point Research (CPR) 警告说,诈骗者可以通过多种方式创建诈骗代币和破解合约。对于消费者来说,小心他们购买的代币很重要。
安全建议
加密货币的吸引力不容忽视,这是一种有望改变世界的新事物,如果价格继续上涨,人们就有机会赢得一大笔钱。然而,加密货币市场波动非常大。诈骗者总能找到窃取加密货币的新方法。根据联邦贸易委员会(FTC)的数据,在2020年10月至3月期间,美国消费者因加密货币骗局损失超过8000万美元。
豫公网安备41010502000105号
豫ICP备14009373号-1