大数跨境

PREMINT攻击事件全解析;参议员Elizabeth Warren强调国会需要对加密货币采取行动;印度央行欲禁止加密货币

PREMINT攻击事件全解析;参议员Elizabeth Warren强调国会需要对加密货币采取行动;印度央行欲禁止加密货币 FastDaily
2022-07-19
1
导读:7月17日16:00(UTC+8), premint.xyz 遭遇黑客攻击,部分用户的NFT失窃。攻击事件发生后,GoPlus安全分析师迅速对其进行了全面解析,并从普通投资者和开发者两个角度给出了安全

本文属于老雅痞原创文章,转载规矩不变,给我们打声招呼~

转载请微信联系:huangdiezi,更多DAO、Web3、NFT、元宇宙资讯

请关注公众号老雅痞,网站https://allrecode.com/ 点击阅读原文进网站查看更多资讯。

PREMINT攻击事件全解析

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。
  • 此文件被黑客注入了一个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个小时,很难判断如果此时该脚本复活,会不会引发更大的损失。

启示

启示1:作为普通投资者我们该怎么办?如果官网都不可靠了,如何避免上当受骗?
  • 本次攻击对于很多不了解技术的用户来说,基本可以说是“初见杀”,百分百中招,毕竟谁也不会无端怀疑官网有诈。但仔细想想,所有链上的交易都必须通过钱包的签名,所以只要注意签名内容还是可以识别出其中风险的。
  • 很多区块链用户都有个非常不好的习惯,只要操作进入到钱包中,除了调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非常建议大家再亲自模拟一下操作过程,了解各种不同的签名信息(只要交易不发出去就不会产生任何费用,没有任务学费),一旦学会看签名信息,你将基本上规避掉几乎所有钓鱼、注入、欺诈攻击。
  • 不要懒惰,想要保证自己的安全,学习是唯一的途径。
启示2:作为开发者我们该怎么办?如何避免被注入攻击?
  • 此次攻击对于开发者最大的启示在于,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)账户持有人可以选择的投资类型。




印度央行欲禁止加密货币

印度政府周一告诉议会,印度央行希望禁止加密货币,这给世界第二大互联网市场中新生的虚拟数字资产的未来带来更多不确定性。
印度财政部长Nirmala Sitharaman周一表示,印度储备银行对 “加密货币对一个国家的货币和财政稳定的不稳定影响 “表示担忧,并建议 “对这一领域进行立法”。
她补充说:“RBI认为,加密货币应该被禁止”。
她补充说,制定任何监管或禁止加密货币的立法都需要 “重要的国际合作”(
http://164.100.24.220/loksabhaquestions/annex/179/AS10.pdf)。政府在回答印度下议院议员Tholkappiyan Thirumavan提出的一系列问题时说明了其理由。
她说:”根据定义,加密货币是无国界的,需要国际合作以防止监管套利。因此,任何监管或禁止的立法只有在对风险和利益的评估以及共同分类和标准的演变中进行重大国际合作之后才能有效”。
金融稳定委员会是一个由包括印度在内的20国集团经济体的监管者、财政官员和中央银行家组成的机构,该委员会本月早些时候表示,它将在今年10月为加密货币提出 “强有力的 “全球规则。金融稳定委员会说,加密资产主要用于 “投机目的”,不应该在一个 “无监管的空间 “中运作。
Sitharaman的回应对国家采用加密货币和在其之上实现创新的平台构成了进一步的挑战。
印度今年早些时候对与加密货币交易有关的交易和利润征税的举动,被视为印度央行开始拥抱这一快速增长的新生技术。但在最近几个月,印度银行向行业参与者发出了不同的信号。
熟悉此事的人士表示,印度央行继续强迫银行与印度的加密货币平台进行接触,此举使正常运营成为了这些公司的噩梦。
加密货币交易所Coinbase的首席执行官布莱恩-阿姆斯特朗(Brian Armstrong)说,由于印度储备银行的 “非正式压力”,Coinbase今年早些时候停止了在印度的交易服务。当地交易所和其他加密货币公司近几个月的交易量也急剧下降,部分原因是当地的税收法律。
印度互联网和移动协会,一个在印度有18年历史的有影响力的游说团体,上周以监管的不确定性为由转而倡导加密货币。
印度央行一直坚持其加密货币的立场。
今年2月,印度央行的一名高级官员将加密货币比作 “庞氏骗局”,并在其最尖锐的批评中建议彻底禁止。印度储备银行(RBI)副行长T. Rabi Sankar在一次银行业会议上告诉听众,加密货币 “专门为绕过受监管的金融系统而开发”,并且没有任何基础现金流的支持。
他说:”我们也看到,加密货币无法被定义为货币、资产或商品;它们没有基础现金流,没有内在价值;它们类似于庞氏骗局,甚至可能更糟。作为一种价值储存,像比特币这样的加密货币到目前为止已经给出了令人印象深刻的回报,但17世纪荷兰的郁金香也是如此。加密货币非常像一个投机或赌博的合同,像庞氏骗局一样工作。事实上,有人认为,从社会角度来看,Charles Ponzi在1920年设计的原始计划比加密货币更好。”
Sitharaman提醒说,自2013年12月以来,印度储备银行一直在告诫虚拟货币的用户、持有人和交易者。
她补充说:”此外,RBI在其2021年5月31日的通知中还建议其受监管的实体继续对VC的交易进行客户尽职调查程序,以符合关于了解客户(KYC)、反洗钱(AML)、打击恐怖主义融资(CFT)、2002年防止洗钱法(PMLA)规定的义务等标准的规定,此外还要确保遵守外汇管理法(FEMA)关于海外汇款的相关规定”。
在不确定因素的影响下,当地的生态系统已经看到一些人才转移到国外,越来越多的当地企业家为国外市场而建,避免为印度的客户提供服务。




OpenSea如何用电子竞技的方式举办代码审计竞赛来保护其代码


对于世界上最大的NFT市场OpenSea来说,面对数亿美元的平台风险保障,如果用传统的流程进行代码审计具有很大风险敞口。传统的安全审计对其智能合约来说也是不合适的。
Sockdrawermoney说:"风险太高了,"他是一个名为Code4rena的去中心化审计平台的众多贡献者之一。DAO开创了由Scott Lewis 和Zak Cole设计的新模式,审计人员通过竞争来阻止代码中的错误。而这对于支持去中心化金融(DeFi)的智能合约至关重要。虽然一个未被发现的软件错误可能会导致程序崩溃或其他一些操作问题,但DeFi或资产交换协议中的智能合约错误可能会立即导致价值数亿美元的代币损失。
一个巨大的变化
代码审计是世界上最大的NFT市场OpenSea今年的首要任务。5月,OpenSea引入了一个名为Seaport的新协议来处理其交易,并帮助减少Gas费用。该计划是为了从完善的Wyvern协议迁移到Seaport。但考虑到通过OpenSea的流量和加密货币的数量(去年总流量达到100亿美元)Seaport需要在投入之前进行彻底的测试。
OpenSea与一家安全公司签约,对Seaport进行审计。但对于将其整个平台迁移到一个全新的协议这样大的举措,它希望得到更多的保护。OpenSea的一位发言人告诉Decrypt:"我们希望来自不同背景和思维过程的人来到这里,全面审视智能合约,特别是我们希望最好的开发人员来看看Seaport,这些开发人员不一定为审计公司工作。"
群众的智慧
即使是顶级的安全公司通常也只能抽出一两个审计师来审查一个项目一到两周,这没有足够的时间彻底分析一个智能合约协议的潜伏漏洞。Code4rena激励一个巨大的审计师社区,像攻击者一样,寻找最稀有和最高价值的漏洞。但与漏洞赏金不同的是,C4的主要目标是不让漏洞出现在生产代码中。OpenSea决定与Code4rena一起赞助一个为期两周的公开竞赛,以便在迁移之前对Seaport代码进行第二次审计,奖金池为100万美元。
数量上的优势
Code4rena是一个由贡献者管理的DAO,由ARENA代币持有人管理。它的方法简单得令人难以置信,它的模式涉及三个主要行为者:赞助商、监护人和法官。像OpenSea这样的赞助商创造了一个奖金池,以吸引监护人来审核他们的项目。监管人深入研究代码,尽可能多地发现代码威胁。而独立的评委,通常是C4社区中最精锐的工程师审核这些问题,并根据他们的表现向监管人发放奖励。
(提交错误的过程是完全匿名的,但对于有KYC、AML或其他法律义务的赞助商来说,C4也会举办只有邀请才能参加的私人比赛,在NDA下工作的认证监护人数量较少。)
更好的合作
Sock说,公开的C4审计的好处是它具有竞争性,任何人都可以参加。监管员的范围很广,从安全工程师到试图获得更多审计智能合约经验的绿色开发者,再到已经在加密货币领域赚了大量的财富,只想找点乐子猎杀漏洞的赏金猎人。OpenSea告诉Decrypt:"它让新的开发者和研究人员在一个公平的竞争环境中进入审计领域。"
找到一个罕见的bug会比普通bug赚取更多的钱,但每个提交有效bug的人都会得到报酬,这与只奖励第一个发现漏洞的人的漏洞赏金计划不同。这促进了一种健康的竞争意识。虽然管理员被激励去寻找严重程度较高的漏洞,但他们在这个过程中也发现了很多其他的漏洞,他们的努力得到了回报,一些管理员甚至在特设的团队中一起工作。Sock说:"你可以把它看成是一项体育比赛。”
一个典型的C4审计将看到超过50个管理员在一到两周的时间里产生大约400个不同的错误提交。如果一个典型的审计公司在1-2周的审计中配备了1-2名审计人员,这将产生40到160小时的代码审查。根据管理员自我报告的审查代码的平均时间,大多数Code4rena竞赛现在看到至少600小时的代码审查。
发现并修复
在审查OpenSea的Seaport协议时,C4管理员发现了很多以前没有注意到的问题,包括两个被C4评委认为是高度严重的问题。其中一个问题被八个不同的监管员和/或团队发现。例如,在某些情况下,多个审查员意识到仅有部分内容的订单可以被多次处理。OpenSea在Seaport内部纠正了这个问题,设置了一个保障措施,使分子和分母永远不能超过某个特定值。
C4的审计人员还注意到,在履行聚合方面的两个特定错误相继被触发,会绕过对这两个错误的检查。通过对错误检查的一个小修改,一个潜在的非常糟糕的情况被修复了。Code4rena的管理员在代码中发现的许多错误在过去的多次审查和审计中都被其他人忽略了。6月,OpenSea能够将其市场迁移到Seaport,并确保所有的主要问题都已被发现和处理。
工作的未来
但是,除了C4审计可以确保其智能合约代码安全的公司带来速度、效率和价值之外,该模型也是工作性质正在发生变化的案例研究。Code4rena每周都会举办多场审计比赛,任何人都可以参加,C4的顶级管理员之一Christoph Michel(又名cmichel)说。自2021年2月cmichel参加他的第一次C4竞赛以来,他已经为大约100个项目审计了代码库,赚取了超过100万美元。cmichel说:"你不需要征得同意,也不需要通过求职面试,对我来说,这就是未来的工作。"

【声明】内容源于网络
0
0
FastDaily
日更新闻
内容 2683
粉丝 0
FastDaily 日更新闻
总阅读593
粉丝0
内容2.7k