

本文属于老雅痞原创文章,转载规矩不变,给我们打声招呼~
转载请微信联系:huangdiezi,更多DAO、Web3、NFT、元宇宙资讯
请关注公众号老雅痞,网站https://allrecode.com/ 点击阅读原文进网站查看更多资讯。
PREMINT攻击事件全解析

攻击过程
-
攻击者通过在premint.xyz网站中通过植入恶意的JS脚本进行攻击,当用户进行常规操作时,执行恶意代码,欺骗用户对授权操作setApprovalForAll(address,bool)的交易进行签名。骗取到授权后,盗取用户的NFT等资产。
攻击原理
-
当用户访问https://www.premint.xyz/时,网站将加载如下js资源文件https://s3-redwood-labs.premint.xyz/theme/js/boomerang.min.js。
-
此文件被黑客注入了一个script脚本,该脚本加载了另一个托管在属于黑客的假域名(s3-redwood-labs-premint-xyz.com )中的攻击脚本文件https://s3-redwood-labs-premint-xyz.com/cdn.min.js?v=1658050292559。此脚本含有骗取用户授权的交互(目前已无法访问了)。 -
当用户进行常规的Verifying your wallet onwership签名(也就是签名登陆)操作时,此脚本将被触发,将原有的验证签名代替为一笔授权攻击者可转移用户高价值NFT的交易。一旦次交易被签,资产将会失窃。(注:攻击脚本也可能会视情况骗取用户的ERC20token授权,由于脚本已无法访问我们当前无从得知。)
防不胜防
-
本次攻击对于普通用户来说,可能是最不好对付、最容易中招的。 -
攻击的全部C端交互都在Premint的官方网站中,首先就很容易让大家放松警惕,因为大家总是默认官方网站是没有任何问题的。 -
骗取交易签名的过程发生在正常操作的签名验证过程中,由于多数用户不会去看钱包的签名详情(大部分用户不了解如何判断签名是否安全,同时出于对官方的信任而极为容易忽略这一步可能存在的风险),所以攻击过程极为隐蔽。
漏洞在哪里
-
大家可能会奇怪,为什么Premint的官方网站还会出现攻击代码,这是因为托管的S3(AWS的对象存储服务)上的js资源文件被黑客侵入遭到篡改。 -
至于为什么会被入侵,根据现有的资料,我们怀疑是S3配置出现错误,导致了Bucket未授权访问,使得攻击者可以随意列出、读取或者写入S3 bucket,从而对js资源文件进行篡改。 -
整个过程中最为令人不解的是,黑客的攻击行为在17日16:00(UTC+8)就被发现,但直到17日22:00(UTC+8)之前,Premint官方依然没有对被攻击的js文件进行归正,boomerang.min.js 文件中仍然包含被黑客注入的恶意script,页面载入时仍然会去加载黑客的攻击脚本文件,只是这段恶意script本身已经无法访问了(攻击域名 s3-redwood-labs-premint-xyz.com 已无法访问)。这种状态维持了6个小时,很难判断如果此时该脚本复活,会不会引发更大的损失。
启示
-
本次攻击对于很多不了解技术的用户来说,基本可以说是“初见杀”,百分百中招,毕竟谁也不会无端怀疑官网有诈。但仔细想想,所有链上的交易都必须通过钱包的签名,所以只要注意签名内容还是可以识别出其中风险的。 -
很多区块链用户都有个非常不好的习惯,只要操作进入到钱包中,除了调gas的过程,其他步骤都是下意识操作。实际上签名前的确认信息包含着大量关键内容,GoPlus Security建议大家进行任何签名操作前都必须仔细确认。 -
以此次攻击为例。当用户对Premint进行签名验证时,由于只是进行信息验证,没有任何上链的必要,所以发起的Signature Request应只包含Origin信息(请求方),用户的地址,Nounce信息,可能有一些附加返回信息。如下图(由于https://www.premint.xyz/已经暂时offline,我们以Opensea为例):
-
但对于被注入攻击后遭到篡改的交易签名,由于须要将交易上链,交易将会以合约调用的形式呈现出更多的信息。例如在一个使用setApprovalForAll的NFT授权中,会显示出这笔交易是在哪进行的(图中为etherscan),调用了什么方法(setApprovalForAll),授权对象是谁,消耗多少ETH。
-
回过头来,我们根据网友贡献的截图可见,Permint被注入攻击后,虽然操作提示的是验证签名,但是实际拉钱包签名的交易完全是上链的setApprovalForAll,完全与上图相符,稍加观察就能知道此处是有问题的。
-
实际上,合约各类调用、转ETH(或其他原生币)、转Token等,在钱包中签名信息都是不同的,所有投资者都应该了解其中的差异,以免遭到此类攻击时产生损失。在此GoPlus Security非常建议大家再亲自模拟一下操作过程,了解各种不同的签名信息(只要交易不发出去就不会产生任何费用,没有任务学费),一旦学会看签名信息,你将基本上规避掉几乎所有钓鱼、注入、欺诈攻击。 -
不要懒惰,想要保证自己的安全,学习是唯一的途径。
-
此次攻击对于开发者最大的启示在于,web3.0世界既然无法脱离web2.0独立存在,那就必然会承受和web2.0一样的攻击方式。仅仅在合约层面保障自己的安全是不够的,所有传统的安全准备一样都不能落下,任何一个小的疏忽都可能造成重大损失。 -
另外,遇到此类问题后应马上修复或者隔离,倘若存在侥幸心理,没有第一时间处理风险源,被安全分析师扒皮嘲讽是小事;万一攻击手段还可用,损失可是会持续产生的,这可是大事。
美国参议员Elizabeth Warren说:"国会需要对加密货币采取行动"
鉴于最近Celsius、Vauld、Voyager和BlockFi等贷款机构破产,民主党参议员Elizabeth Warren呼吁国会和SEC对加密货币采取更坚定的立场。Warren周一对雅虎财经表示,"国会需要采取行动,但美国证券交易委员会有责任利用其权力设置护栏,打击违反规则的加密货币行为者。"这位马萨诸塞州参议员说,她一直在敲响加密货币的警钟,并建议对该行业实施更强有力的规则,以确保客户资金得到保护。她补充说:"有太多的加密货币公司能够欺骗客户,让普通投资者投资高收益的理财产品,而内部人却拿着他们的钱逃跑。"
Warren谈采矿、DeFi和比特币退休计划
去年12月,Warren给比特币挖矿公司Greenidge的首席执行官Jeff Kirt写了一封严厉的信,对该公司的高能源使用和碳排放表示担忧,她认为这可能会损害环境,并提高普通消费者的电力成本。当月晚些时候,Warren在参议院银行、住房和城市事务委员会上发言时,称快速增长的去中心化金融(DeFi)部门是加密货币中最黑暗的部分之一。她阐述说,DeFi 是监管实际上不存在的地方,而且它是骗子和作弊者混迹于兼职投资者和首次接触加密货币交易者的地方。
今年5月,Warren批评了富达投资公司允许客户将比特币分配到他们的401(k)退休储蓄账户的计划。Warren与明尼苏达州的民主党参议员 Tina Smith一起,给富达首席执行官 Abigail Johnson写了一封信,指出加密货币的波动性,并询问她富达计划如何应对欺诈、盗窃和损失等重大风险。立法者还说,"比特币的波动性因其易受少数有影响力的人的影响而变得更加复杂。" 他们特别提到了特斯拉CEO埃隆-马斯克,他的一条推文就导致了比特币价值高达8%的波动。
信中写道:"我们担心富达公司会拿数百万美国人的退休储蓄来冒这些风险,"反对沃伦的一群共和党人在当月晚些时候起草了一项法案,阻止美国劳工部限制401(k)账户持有人可以选择的投资类型。
印度央行欲禁止加密货币
http://164.100.24.220/loksabhaquestions/annex/179/AS10.pdf)。政府在回答印度下议院议员Tholkappiyan Thirumavan提出的一系列问题时说明了其理由。
OpenSea如何用电子竞技的方式举办代码审计竞赛来保护其代码




