作者:Go+Security?
7月17日16:00(UTC+8),premint.xyz遭遇黑客攻击,部分用户的NFT失窃。攻击事件发生后,GoPlus安全分析师迅速对其进行了全面解析,并从普通投资者和开发者两个角度给出了安全建议。
攻击过程
攻击者通过在premint.xyz网站中通过植入恶意的JS脚本进行攻击,当用户进行常规操作时,执行恶意代码,用户对授权操作setApprovalForAll(address,bool)的交易进行签名。取到授权后,盗取用户的NFT等资产。
攻击原理
当用户访问https://www.premint.xyz/时,网站将加载如下js资源文件https://s3-redwood-labs.premint.xyz/theme/js/boomerang.min.js。
Web3空间计算公司Rypplzz完成300万美元pre-seed轮融资,Deal Box Ventures等参投:金色财经报道,Web3空间计算公司Rypplzz Inc.宣布完成300万美元pre-seed轮融资,Deal Box Ventures、Fulcrom Investing和Innovative Venture Partners参投。Rypplzz拥有获得专利的地理空间测绘软件,该软件可以创建“智能”空域,使数字文件能够通过增强现实、虚拟现实和Web3技术进行编程,继而能让广告商在元宇宙等领域里应用。Deal Box Ventures是资本市场咨询公司Deal Box于今年二月推出的投资机构,将向新兴增长领域、房地产、FinTech、FunTech和社会影响五个方面的Web3技术公司投资1.25亿美元。(labusinessjournal)[2023/7/3 22:15:32]
此文件被黑客注入了一个script脚本,该脚本加载了另一个托管在属于黑客的假域名中的攻击脚本文件https://s3-redwood-labs-premint-xyz.com/cdn.min.js?v=1658050292559。此脚本含有取用户授权的交互。
基于NFT的数字创作平台Gaspack完成pre-seed轮融资:金色财经报道,基于NFT的数字创作平台Gaspack宣布完成pre-seed轮融资,MDI Ventures旗下天使投资人网络 eMerge和Arise领投,风险投资公司500 Global和区块链生态系统Tokoin参投。Gaspack成立于2022年,主要帮助创作者打造更具包容性的NFT环境以支持Web3经济中的创作者和品牌,推动知识产权开发去中心化,现阶段主要专注于数字漫画领域。(sbr)[2023/3/16 13:08:36]
当用户进行常规的Verifyingyourwalletonwership签名操作时,此脚本将被触发,将原有的验证签名代替为一笔授权攻击者可转移用户高价值NFT的交易。一旦次交易被签,资产将会失窃。
防不胜防
本次攻击对于普通用户来说,可能是最不好对付、最容易中招的。
Insert Stonks完成250万美元pre-seed轮融资:11月22日消息,Web3游戏基础设施服务提供商Insert Stonks宣布完成250万美元pre-seed轮融资,FunFair Ventures领投。Insert Stonks提供的个性化工具可以帮助玩家和开发人员快速、透明地通过游戏获利,目前推出了两款平台工具,分别是面向游戏开发者的“is_engine”和面向游戏玩家的“is_games”,这两款工具与市场上大多数游戏兼容,可以快速集成。[2022/11/23 7:57:59]
攻击的全部C端交互都在Premint的官方网站中,首先就很容易让大家放松警惕,因为大家总是默认官方网站是没有任何问题的。
取交易签名的过程发生在正常操作的签名验证过程中,由于多数用户不会去看钱包的签名详情,所以攻击过程极为隐蔽。
金色相对论 | DappReviewCEO牛凤轩:区块链可以改造开发商与玩家之间的协作关系:在本期金色相对论之“Dapp游戏”中,针对金色财经内容合伙人佟扬“除了玩法之外,其他层面是否有促成爆发的原因”的提问,DappReview的CEO牛凤轩表示,区块链之于游戏,只是多了一个我们可以使用的技术和工具,而并不是说过去的游戏就要完蛋了或者全部被颠覆,主机游戏从上世纪60年代诞生,时至今日依旧竞争激烈、大作频出,Steam作为端游的分发巨头根本不需要上市和外部资金支持,桌游这种从圈外人看起来很古老的线下小众游戏其实早就是一个百亿的市场还在不断增长。
“区块链游戏”这个名词甚至都是一个伪概念,只是在行业初期,我们用来泛指所有使用了区块链技术的游戏。在最后,这些游戏还是要落地在不同的平台之上。
所以,说区块链能颠覆整个游戏行业?我是不信的,区块链可以改造开发商与玩家之间的协作关系,可以通过引入通证经济和资产代币化增加游戏的经济属性和激励机制,可以让玩家现拥有一个现实世界中实体物品一样的拥有游戏中的虚拟资产,这些是革新,是优化,不是举着一片大旗否定所有传统游戏。最终的状态下,对于大部分玩家来说,区块链植入游戏的体验应该是无感的,游戏只要好玩就可以,至于用没用区块链,这不重要。[2018/12/3]
漏洞在哪里
大家可能会奇怪,为什么Premint的官方网站还会出现攻击代码,这是因为托管的S3上的js资源文件被黑客侵入遭到篡改。
至于为什么会被入侵,根据现有的资料,我们怀疑是S3配置出现错误,导致了Bucket未授权访问,使得攻击者可以随意列出、读取或者写入S3bucket,从而对js资源文件进行篡改。
整个过程中最为令人不解的是,黑客的攻击行为在17日16:00(UTC+8)就被发现,但直到17日22:00(UTC+8)之前,Premint官方依然没有对被攻击的js文件进行归正,boomerang.min.js文件中仍然包含被黑客注入的恶意script,页面载入时仍然会去加载黑客的攻击脚本文件,只是这段恶意script本身已经无法访问了。这种状态维持了6个小时,很难判断如果此时该脚本复活,会不会引发更大的损失。
启示
启示1:作为普通投资者我们该怎么办?如果官网都不可靠了,如何避免上当受?
本次攻击对于很多不了解技术的用户来说,基本可以说是“初见杀”,百分百中招,毕竟谁也不会无端怀疑官网有诈。但仔细想想,所有链上的交易都必须通过钱包的签名,所以只要注意签名内容还是可以识别出其中风险的。
很多区块链用户都有个非常不好的习惯,只要操作进入到钱包中,除了调gas的过程,其他步骤都是下意识操作。实际上签名前的确认信息包含着大量关键内容,GoPlusSecurity建议大家进行任何签名操作前都必须仔细确认。
以此次攻击为例。当用户对Premint进行签名验证时,由于只是进行信息验证,没有任何上链的必要,所以发起的SignatureRequest应只包含Origin信息,用户的地址,Nounce信息,可能有一些附加返回信息。如下图:
但对于被注入攻击后遭到篡改的交易签名,由于须要将交易上链,交易将会以合约调用的形式呈现出更多的信息。例如在一个使用setApprovalForAll的NFT授权中,会显示出这笔交易是在哪进行的,调用了什么方法,授权对象是谁,消耗多少ETH。
回过头来,我们根据网友贡献的截图可见,Permint被注入攻击后,虽然操作提示的是验证签名,但是实际拉钱包签名的交易完全是上链的setApprovalForAll,完全与上图相符,稍加观察就能知道此处是有问题的。
实际上,合约各类调用、转ETH、转Token等,在钱包中签名信息都是不同的,所有投资者都应该了解其中的差异,以免遭到此类攻击时产生损失。在此GoPlusSecurity非常建议大家再亲自模拟一下操作过程,了解各种不同的签名信息,一旦学会看签名信息,你将基本上规避掉几乎所有钓鱼、注入、欺诈攻击。
不要懒惰,想要保证自己的安全,学习是唯一的途径。
启示2:作为开发者我们该怎么办?如何避免被注入攻击?
此次攻击对于开发者最大的启示在于,web3.0世界既然无法脱离web2.0独立存在,那就必然会承受和web2.0一样的攻击方式。仅仅在合约层面保障自己的安全是不够的,所有传统的安全准备一样都不能落下,任何一个小的疏忽都可能造成重大损失。
另外,遇到此类问题后应马上修复或者隔离,倘若存在侥幸心理,没有第一时间处理风险源,被安全分析师扒皮嘲讽是小事;万一攻击手段还可用,损失可是会持续产生的,这可是大事。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。