区块链 | NFT 相关论文:Can I Own Your NFTs? Understanding the New Attack Surface to NFTs(二)

目录

Attack Surface Analysis

1  Threat Model

2  Attack Models

2.1  所有权复制攻击

2.2  代币复制攻击

2.3  资产移除攻击

2.4  元数据移除攻击

2.5  资产复制攻击


🦊原文:Can I Own Your NFTs? Understanding the New Attack Surface to NFTs

🦊写在前面:本文只会记录个人认为极有价值的部分。

Attack Surface Analysis

在本节中,我们旨在从结构角度分析 NFT 的安全漏洞。虽然 NFT 交易是在区块链上进行的,但是我们不关注任何已知的针对区块链的攻击,而是关注 NFT 必须防御的新攻击面。

1  Threat Model

我们假设敌手的目的是诱使用户购买重复的或者根本不存在的数字资产,而非破坏用户的账户。敌手可以将数字资产托管在服务器上,并在区块链(例如,以太坊)上部署智能合约。然后,敌手操纵链接 tokenID 到数字资产的 URL,或者链接 tokenID 到元数据的 URL 。下面介绍了不同类型的 URL 操纵攻击。

后文中指向数字资产的链接和指向元数据的链接都是 URL

2  Attack Models

下面所示的攻击模型基于当前 NFT 的架构,而与交易平台无关。换句话说,即使是没有在任何平台上上架的 NFT(例如,那些单独交易的 NFT),也可能受到这些攻击模型的攻击。

攻击模型总览:

由上图可知,本文讨论的攻击模型都是在对链接大做文章。

2.1  所有权复制攻击

敌手使用前一次交易中已经使用过的链下 NFT 的现有 URL 地址,来发布一个新的合约。在这种情况下,NFT 的所有权可能会被篡改,如下图所示:

在当前交易(transaction2)中,敌手在铸造 NFT 的时候使用了指向 metadata1 的链接 url1,但 url1 已经在前一个交易(transaction1)中使用过了。所有权复制攻击之所以可能发生,是因为在 NFT 铸造过程中不存在对 URL 的审查机制。

“原则上,这允许敌手使用相同的元数据来铸造无限数量的 NFT” 这句话在原文中被放在 2.2 节,但我觉得放在 2.1 节中比较合适吧😇

简而言之,通过使用相同的指向元数据的链接,把同一个元数据链接到不同的 NFT 上。

2.2  代币复制攻击

在理想情况下,链下 NFT 的数字资产只能使用单个元数据来表示。然而在代币复制攻击中,敌手将一个数字资产链接到多个元数据上。如下图所示:

即虽然 metadata2 使用的是与 metadata1 相同的指向数字资产的链接,但是 metadata2 仍然可以在交易中被铸造为另一个 NFT 。代币复制攻击之所以可能发生,是因为在 NFT 铸造过程中不存在对元数据的审查机制。

因为指向数字资产的链接是被包含在元数据内的,所以需要的是对元数据内容的审查。

2.3  资产移除攻击

在资产移除攻击中,敌手在链下 NFT 出售后尝试从数据托管服务器上移除数字资产。

下图说明了这种攻击:

link1 是指向数字资产的链接,并被包含在元数据中。一旦 link1 变得无效或被替换,那么 NFT 所有者将失去正确的数字资产所有权证明。

这句话貌似只针对了链接被替换的情况。如果链接变得无效,则是失去所有权证明;如果是链接被替换,则是拥有错误的所有权证明。

这种情况是可能发生的,因为数字资产存储在链下。特别地,如果敌手拥有数字资产,那么 TA 可以很容易地移除或替换现有的数字资产。目前的 NFT 系统在交易后没有为买家提供任何保护。不过这种攻击对链上 NFT 不起作用,因为它们存储在区块链上。

简而言之,目前的 NFT 系统没有为买家提供售后服务,链接失效是很有可能的。

2.4  元数据移除攻击

在元数据移除攻击中,敌手旨在使交易不能链接到服务器上的任何元数据,如下图所示:

url1 是指向元数据的链接,并被包含在 NFT 交易(NFT 智能合约)中。一旦 url1 变得无效,那么包含 url1 作为 tokenURI 的 NFT 将成为孤儿 NFT,即没有人知道它所代表的数字资产的所有者。这种情况是可能发生的,因为元数据也是存储在链下,并且缺乏保护。元数据移除攻击对链上 NFT 不起作用。

2.5  资产复制攻击

如果数字资产存储在集中式存储服务器上,那么在服务器上放置一个假冒的、极其相似的数字资产是没有成本的。同样,即使数字资产存储在分布式存储服务器(如 IPFS)上,也不例外。

集中式存储服务器允许存储多个相同的数字资产?

IPFS 利用数据内容的哈希值来创建 link 或 url,因此它不支持存储数据的多份副本。这意味着,即便数字资产中仅有一位发生变动,所产生的哈希值也将截然不同。基于这一机制,IPFS 杜绝了相同数字资产的存储,但允许存储那些内容仅略有差异的资产。

因此,敌手可以下载一个现存的珍贵数字资产,对其进行难以察觉的微小修改,然后将其重新包装并作为另一个 NFT 进行销售。从本质上讲,由于数字资产的特性,无论是在区块链上还是区块链下存储,都很难检测和防范这种操纵行为。

  • 9
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值