本站域名可转让,价格:5888元 [在线购买] 购买帮助
白帽黑客 Samczsun:针对 NFT 资产的攻击会越来越频繁
本网站域名可以转让,价格:5888元在线购买购买帮助
长途电话6分钱畅聊天下
彩印名片5盒40元包快递
手机号码任意显示不信?
搞笑视频-焦点视频网
中国香蕉网信息免费发布
 
·网站正式招聘!诚招广告代理商!
·一手好字相伴一生,中国写字教学网
·北京平安保险招聘网,最佳保险投资
·最新数码资讯/报价/评测/导购/分析
源源群发营销软件站
运动商品特卖最全最便宜
09男女秋冬装上市咯!
掘客十年挖掘互联网信息
百万千万的古玩等你搜罗
网站首页 |  财经快讯 | 区块链 | 数字货币 | 曝光台 | 金融科技 | 人物动态 | 业界动态 | 移动应用 | 人工智能 | IT业界 | 商业合作 | 联系我们
您的位置: 首页 > 正文
白帽黑客 Samczsun:针对 NFT 资产的攻击会越来越频繁
2021-08-19 16:14:08 来源:

  撰文:Samczsun,区块链投资机构 Paradigm 研究合伙人、著名加密白帽黑客

  编译:隔夜的粥

  原文作者是拥有「审计上帝」之称的白帽黑客 Samczsun,同时他也是 Paradigm 的研究合伙人,其最近出手 拯救了 BitDAO MISO 荷兰拍卖资金池中的 3.5 亿美元资产,而在这篇文章中,他提醒了关于 NFT 代币标准的潜在安全风险,他还预测称,随着 ERC-721 和 ERC-1155 代币标准变得越来越流行,针对 NFT 的攻击很可能会越来越频繁。

域名

  如果你从事软件工程方面的工作,很可能你听说过至少一条软件工程原则。虽然我不主张严格遵守每一条原则,但有一些确实是值得关注的。

  我今天要讲的就是最小惊讶原则,它有一个奇特的名字,但却是一个非常简单的想法。它所说的是,当呈现声称要做某件事的代码时,大多数用户都会假设它是如何完成这件事的。因此,作为开发人员,你的工作是编写符合这些假设的代码,这样你的用户就不会感到意外。

  这是一个很好的原则,因为开发人员喜欢对事物进行假设。如果你导出一个名为 calculateScore(GameState) 的函数,很多人就会假设该函数只会从游戏状态中读取。如果你还改变了游戏状态,你会使得很多人面临困惑的状态,他们试图弄清楚为什么他们的游戏状态会随机被破坏。即使你把它放在文档中,仍然不能保证人们会看到它,所以最好首先确保你的代码不会令人惊讶。

  「6 小时的调试工作,可以为你们节省 5 分钟的文档阅读时间。」

  越安全越好,对吗?

  早在 2018 年初,当 ERC-721 标准被起草出来时,有人就提出了实施转账安全性‌的建议,以确保代币不会被卡在不用于处理代币的接受者合约中。为此,提案作者修改了 transfer 函数的行为,以检查接收方是否能够支持代币转账。他们还引入了 unsafeTransfer 函数,如果发送者愿意,该函数将绕过这个检查。

  然而,由于担心向后兼容性,这个函数在随后的提交中被重命名了。这使得 ERC-20 和 ERC-721 代币的 transfer 函数表现相同。但是,现在需要将接收方检查转移到其他地方。因此,标准作者就引入了 safe 类函数:safeTransfer 以及 safeTransferFrom。

  这是一个关于正当性问题的解决方案,因为有许多 ERC-20 代币被意外转移到从未期望收到代币的合约的例子(一个特别常见的错误是将代币转移到代币合约中,将其永久锁定)。而在起草 ERC-1155 标准时,提案作者从 ERC-721 标准汲取了灵感,不仅在转账时,而且在铸造(mint)也纳入了接收方检查,这一点也不足为奇。

  在接下来的几年里,这些标准大多处于休眠状态,而 ERC-20 代币标准保持了它的流行状态,而最近 gas 成本的飙升,以及社区对 NFT 兴趣的增强,自然而然导致开发者越来越多地使用 ERC-721 和 ERC-1155 代币标准。有了这些新的兴趣,我们应该庆幸这些标准的设计考虑了安全性,对吗?

  越安全越好,真的吗?

  Ok,但对于转帐和铸造来说,安全意味着什么呢?不同的当事人对安全有不同的解释。对于开发人员来说,一个安全函数可能意味着它不包含任何 bug 或引入额外的安全问题。而对于用户来说,这可能意味着它包含额外的护栏,以保护他们不被意外射中自己的脚。

  事实证明,在这种情况下,这些函数更多的是后者,而较少会是前者。这是特别令人遗憾的,因为在 transfer 和 safeTransfer 函数之间进行选择时,你为什么不选择安全的那个函数呢?名字都体现出来了!

  好吧,其中的一个原因可能是我们的老朋友 reentrancy (可重入性),或者我一直在努力将其重命名为:不安全的外部调用。回想一下,如果接收方是攻击者控制的,则任何外部调用都可能不安全,因为攻击者可能会导致你的合约转换为未定义状态。根据设计,这些「安全」函数执行对代币接收者的外部调用,通常在铸造或转移期间由发送者控制。换句话说,这实际上是不安全外部调用的教科书示例。

  但是,你可能会问自己,如果允许接收方合约拒绝他们无法处理的转账,那最坏的后果是什么?好吧,让我通过两个案例研究来回答这个问题。

  例子 1: Hashmasks

  Hashmasks 是一个供应有限的 NFT 头像项目,用户每次交易最多可以购买 20 个 mask NFT (尽管它们已经售罄数月了)。下面是购买 mask 的函数:

域名

  你可能觉得这个函数看起来非常合理。然而,正如你可能已经预料到的,在 _safeMint 调用中隐藏着一些险恶的东西。 让我们来看看。

域名

  为了安全性,这个函数对 token 的接受者执行了一次 callback 回调,以检查他们是否愿意接受转账。然而,我们是 token 的接收者,这意味着我们刚刚得到了一次 callback 回调,在这个点上我们可以做任何我们想做的事情,包括再次调用 mintNFT 函数。如果我们这样做,我们将在仅铸造了一个 mask 后重调用该函数,这意味着我们可以请求再铸造另外 19 个 mask。这导致最终铸造出了 39 个 mask NFT,尽管规则允许铸造的最大数量只有 20 个。

  例子 2: ENS 域名封装器

  最近,来自 ENS 的 Nick Johnson 联系了我,他想让我看看他们正在进行的 ENS 域名封装器工作。这个域名封装器允许用户用新的 ERC-1155 token 代币化他们的 ENS 域名,这提供了对细粒度权限以及更一致的 API 的支持。

  概括地说,为了封装任何 ENS 域名(更具体地说,除了 2LD.eth 之外所有的 ENS 域名),你必须首先批准域名封装器以访问你的 ENS 域名。然后,你调用 wrap(bytes,address,uint96,address),它既为你铸造一个 ERC-1155 token,也负责管理底层的 ENS 域名。

  下面就是这个 wrap 函数,它相当简单。首先,我们调用 _wrap,它执行一些逻辑并返回哈希域名。然后,我们确保交易发送方确实是 ENS 域名的所有者,然后再接管该域名。请注意,如果发送方不拥有底层的 ENS 域名,则整个交易应还原,撤销在 _wrap 中所做的任何更改。

域名

  下面是 _wrap 函数本身,这里没有什么特别的。

域名

  不幸的是,正是这个 _mint 函数,它可能会给毫无戒心的开发者带来可怕的惊喜。ERC-1155 规范规定,在铸造 token 时,应咨询接收者是否愿意接受该 token。在深入研究库代码(该代码库根据 OpenZeppelin 的基础稍作了修改)后,我们发现情况确实如此。

域名

  但这到底对我们有什么好处呢?好的,我们再一次看到了一个不安全的外部调用,我们可以用它来执行重入攻击。具体地说,请注意,在 callback 回调期间,我们拥有了代币 ENS 域名的 ERC-1155 token,但域名封装器尚未验证我们拥有基础 ENS 域名本身。这使我们能够在不实际拥有 ENS 域名的情况下对其进行操作。例如,我们可以要求域名封装器解开我们的域名,燃烧掉我们刚刚铸造的 token 并获取底层的 ENS 域名。

域名

  现在我们拥有了底层的 ENS 域名,我们可以用它做任何我们想做的事情,比如注册新的子域名或者设置解析器。完成后,我们只需退出 callback 回调。域名封装器将和底层 ENS 域名的当前所有者(即我们)交互,并完成交易。就像那样,我们已经取得了域名封装器被批准用于的任何 ENS 域名的临时所有权,并对其进行了任意更改。

  结论

  令人惊讶的代码可能会以灾难性的方式破坏事物。在本文的两个案例下,开发人员合理地假设 safe 函数类可以安全地使用,却无意中增加了他们的攻击面。随着 ERC-721 和 ERC-1155 代币标准变得越来越流行及广泛,这类攻击情况很可能会越来越频繁。开发人员需要考虑使用 safe 类函数的风险,并确定外部调用如何与他们编写的代码进行交互。

  • 基于NEAR的以太坊扩容方案Aurora完成1200万美元首轮融资
  • Coinbase 的新提案将如何打破加密行业的监管窘境?
  • 当 NFT从 JPG 到真实用例时,会发生什么?
  • 波卡的NFT标准RMRK,能否带来波卡生态上NFT的辉煌?
  • BTC市值升至全球市值资产第6位,超越Facebook
  • 北京商报:三大交易所清场,币圈大撤退
  • NFT捕获了哪些名人的心?
  • 三大交易所限制大陆用户,市场参与者该如何应对?
  • VISA和美国职业棒球大联盟前球员联手建立NFT项目以支持数字创作者
  • 随着比特币ETF的获批传言在整个行业传播,与比特币相关的山寨币飙升
  • “0风险”宣传词明显违法,西海商城个别商品价格高于同行十多倍?
  • 拼团项目跑路频发湖南鑫三源拼团竞拍涉嫌传销?
  • 天价果糕“雪兰醉”,普通食品宣称能包治百病
  • 厦门美莎玩弄噱头涉嫌虚假宣传黑料不断的微商MOS终将自食恶果!
  • 水星Miswap打着YFI旗号,实则是国人搞的一个资金盘
  • 从多彩嗨购到西海商城,年收益号称可达11万的拼团模式有何特色?
  • 周氏金业旗下的金满满商城遭质疑:买黄金送金豆、九级宝盒高额返利模式被指涉嫌传销
  • 周氏金业国际控股有限公司旗下的“金满满商城”,到底谁”金满满”了?
  • 知情人士:比特币期货ETF据悉不会遭到美国证交会的反对
  • 美财政部副部长:相信稳定币是未来加密服务的基础
  • Hyperithm计划为日本富人设立加密货币基金
  • 墨西哥总统:墨西哥不会采用比特币作为法定货币
  • 亚特兰大联储总裁:稳定币广泛使用会迫使美联储更快进入数字美元领域
  • 以太坊销毁的ETH总价值突破20亿美元
  • 美国SEC告诉你:投资持有BTC期货合约的ETF请注意这些
  • 平价NFT藏品备受追捧 互联网大厂正探索适合路径
  • Coinbase 的新提案将如何打破加密行业的监管窘境?
  • 比特币ETF的美国八年 从遥不可及到近在眼前
  • Polkadot平行链拍卖将于11月11日开启 首轮拍卖将分5次进行
  • Coinbase NFT平台候补名单出现拥塞已无法成功注册
  • 当新玩家增速放缓,热门链游 Axie Infinity 如何实现可持续性?
  • 30天收入3.34亿美元!"币圈新宠" Axie Infinity 有多好玩?
  • 美联储暗示今年资产购买可能放缓,加密货币首度成为FOMC会议议程
  • NFT之后,ERC-1155创建的SFT是否会迎来热潮?
  • 固定利率DeFi协议Anchor Protocol锁仓量突破35亿美元
  • NFT必修课:如何使用IPFS创建NFT以及部署智能合约(详细教程)
  • 社交代币网站Rally提交去中心化提案,计划拆分成5个实体
  • 分析师称以太坊“流动性危机”可能使其先于比特币创下历史新高
  • Robinhood:第二季度加密货币交易营收占比为41%,其中62%来自狗狗币
  • NFT头像市场:是可复制的繁荣吗
  • 相比于PoW,PoS会让富人更富?
  • 白帽黑客 Samczsun:针对 NFT 资产的攻击会越来越频繁
  • 数字资产管理公司 Hyperithm 完成 1100 万美元 B 轮融资,Hashed 和 Wemade Tree 领
  • 隐私支付项目 MobileCoin 以 10 亿美元估值完成 6600 万 B 轮融资,Coinbase 等参投
  • 腾讯“小借条”遭举报,了解区块链+的商业模式奥秘
  • 资产跨链协议RenVM 集成以太坊二层扩容方案 Arbitrum
  • 全方位还原一场社区主导「破获」的 DeFi 大劫案
  • Top60名单公布 | DFINITY开发者奖励计划发放第一笔100万美元的资助
  • 社交代币「翻新」,加密圈重启 SocialFi
  • 中心化衍生品遭严厉监管,去中心化衍生品迎来爆发良机?
  • deVere Group首席执行官:以太坊崛起为第一大加密货币“似乎不可阻挡”
  • 报告:是什么推动了Crypto采用率在2021年飙升了880%?
  • 资管公司 VanEck 向美 SEC 提交以太坊 ETF 申请
  • Coinbase 在日本提供加密交易服务,并与三菱 UFJ 金融集团合作实现用户快速存款
  • Poly Network 攻击者归还近 9700 万枚 DAI
  • 华尔街日报:Coinbase为熊市储备近44亿美元现金
  • 一周之内状况百出,NFT盲盒真的安全吗?
  • NFT的重生:对创造力的意义究竟是什么?
  • 嘉宜德起盘之谜:光明新零售团队换壳,产品虚假宣传,制度涉嫌传销
  • 奇瑞复活QQ竟抄五菱宏光作业 低利润小型电动车为何成香饽饽?
  • 备注:转载仅为传播信息,法律责任由原创者承担!
    ----------------------------------------------------------------------------------------------------------------------------------------------------------
    ----------------------------------------------------------------------------------------------------------------------------------------------------------

    河马财经 Copyright @ 2018-2020 All Rights Reserved