近期Web3常见的攻击都有什么特点 项目方如何避免这些问题?

这篇具有很好参考价值的文章主要介绍了近期Web3常见的攻击都有什么特点 项目方如何避免这些问题?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近发生大量的安全攻击事件,这些事件对于项目方来说具有重大影响。攻击事件的发生主要原因之一是业务逻辑设计不当,其中可能存在漏洞或弱点,被黑客利用进行攻击。另外,价格操控也是导致安全攻击事件的因素之一,黑客可能通过操纵价格或市场行为来实施攻击。

本篇文章我们一起来盘点一下近期常见攻击都有些什么特点,以及项目方如何避免这些问题。

一、业务逻辑设计不当

Pair代币意外销毁

近期因为业务逻辑设计不当发生的安全事件,大多都是由于pair代币余额异常导致的。

一些代币项目,会在业务设计中添加交易手续费或代币通缩的功能,也就是在代币转移过程中,会收取相关比例的手续费或者直接销毁部分转移的代币。这本是一个项目的创收或激励用户持有代币或其他有助于项目发展的业务逻辑,但如果代码设计不够完善,便会出现严重的问题。

例如,在转账过程中,有些项目进行额外代币扣除时,没考虑到pair意外扣除将导致严重后果。该类项目的转账函数逻辑一般是发送方和接收方进行正常的代币转移,并且额外扣除某个地址部分费用,用于手续费或销毁。但额外扣除地址为pair时,会导致pair中其中一个代币余额通过非交易的方式变少,k值异常变化,从而使用少量代币便能兑换出大量另一个代币。

以下列项目代码为例:

该代币合约中存在意外销毁pair余额的问题,当代币转移发起者不是pair合约时,会进行更新池子的操作,该更新池子的方式是将pair的代币余额扣除交易金额的1%,再更新储备量。黑客可以通过调用transfer函数自己给自己转账,反复操作,将会使得pair中的一个代币消耗得极少,最后利用极少代币将pair中大量的价值币兑换出来。

近期Web3常见的攻击都有什么特点 项目方如何避免这些问题?,区块链,智能合约,分布式账本,信任链,大数据

以下是真实安全事件过程:

首先使用2555枚WBNB兑换了1390亿枚Bamboo代币;

近期Web3常见的攻击都有什么特点 项目方如何避免这些问题?,区块链,智能合约,分布式账本,信任链,大数据

不断通过transfer将代币发送给自己,导致pair中Bamboo代币异常减小;

近期Web3常见的攻击都有什么特点 项目方如何避免这些问题?,区块链,智能合约,分布式账本,信任链,大数据

使用139B枚Bamboo代币兑换回2772枚WBNB,完成攻击。

近期Web3常见的攻击都有什么特点 项目方如何避免这些问题?,区块链,智能合约,分布式账本,信任链,大数据

再以另一个意外销毁pair代币的例子说明一下,如下图代码。合约会判断当前交易类型,如果为2(to地址为pair合约,相当于卖币),合约会记录一个交易量的20%作为销毁数量,后续可以调用goDead()函数将pair中这个累积数量销毁,该功能对稳定币价能起部分作用。

但是合约没考虑到一些特殊情况,例如直接向pair里面转币,这时会使得合约误以为用户是在卖币,这部分币可以通过pair的skim函数全部提取出来。相当于pair没有任何变化,再次调用goDead()函数时,却能使得pair中的代币意外减少,重复操作,便能耗尽pair其中一种代币。

近期Web3常见的攻击都有什么特点 项目方如何避免这些问题?,区块链,智能合约,分布式账本,信任链,大数据

近期Web3常见的攻击都有什么特点 项目方如何避免这些问题?,区块链,智能合约,分布式账本,信任链,大数据

以下同样是真实安全事件过程:

不停通过transfer与skim操作,将amountToDead值控制得异常大。

近期Web3常见的攻击都有什么特点 项目方如何避免这些问题?,区块链,智能合约,分布式账本,信任链,大数据

调用goDead()函数将pair中的代币销毁掉。 

近期Web3常见的攻击都有什么特点 项目方如何避免这些问题?,区块链,智能合约,分布式账本,信任链,大数据

使用少量代币兑换了大量的USDT。

近期Web3常见的攻击都有什么特点 项目方如何避免这些问题?,区块链,智能合约,分布式账本,信任链,大数据

总结:

代币的transfer函数一定要认真设计代币转移逻辑,一定要避免pair余额意外扣除的情况,pair余额仅在添加流动性、移除流动性以及交易过程中才能改变,并且改变数量尽量不要大于或小于传入数量,才能保障pair资金健康。

二、价格操控问题

对于价格操控的攻击事件,主要是由于项目方合约在获取价格的时候没有考虑到价格被意外控制的情况。特别是对于存在两个逆向计算的业务逻辑函数,如stake&unstake、deposit&withdraw等,两种操作一般都使用相同的参数但相反的计算逻辑。

而在这两种操作之间,如果能通过其他函数或合约将其中的部分或全部参数进行不对等的控制,那么两种操作之间便可能存在价格差,从而导致资产被盗。

1、只读重入

重入一直是区块链生态中最常见也是危害最大的漏洞之一。在以太坊最开始盛行的时候,重入攻击大多是因为以太坊转账调用的目标函数fallback()中再次发起了对该项目合约的调用,此时项目合约变量还未更新,可以绕过相关检查,如DAO事件。

随着以太坊生态越来越丰富,各个项目方更加注重这一方面的防护以及solidity0.8.0版本之后对溢出的主动检查,现在更多的攻击事件是通过重入来控制某些价格或参数,来达到攻击的目的。

例如近期发生频繁的只读重入,便是通过重入前后变量未修改完全,使得重入中调用的计算价格的函数出现异常,从而导致资产被盗。

2、Pair余额依赖

Pair可以最直观的表现出代币价格变化,也是最准确的价格获取渠道,但pair中的价格是瞬时价格,并且可以通过大量代币兑换来控制,导致瞬间暴涨或暴跌。如果依赖pair中的价格作为业务中的参数参与计算,那么便可能导致异常的结果。

如下代码,burnForEth函数通过依赖pair中能兑换出的数量来作为本合约发送给调用者的ETH数量,该数量是通过pair中两种代币余额来进行计算。正常情况下这是一个最准确的价格,但是如果提前使用ETH将pair中的另一个代币大量兑换出来,会导致ETH在该pair中的价格暴跌,从而计算出能兑换的ETH就会异常大,使得合约给调用者发送更多的ETH。最后,调用者通过pair将ETH兑换回来,使价格恢复正常。

近期Web3常见的攻击都有什么特点 项目方如何避免这些问题?,区块链,智能合约,分布式账本,信任链,大数据

以下是真实安全事件过程:

攻击者使用闪电贷的ETH将大量WAX代币兑换出来,导致WAX价格暴涨。 

近期Web3常见的攻击都有什么特点 项目方如何避免这些问题?,区块链,智能合约,分布式账本,信任链,大数据

攻击者不断调用burnForEth函数,销毁WAX来取出ETH,此时使用的WAX价格时暴涨过后的,可以获得更多的ETH。

近期Web3常见的攻击都有什么特点 项目方如何避免这些问题?,区块链,智能合约,分布式账本,信任链,大数据

近期Web3常见的攻击都有什么特点 项目方如何避免这些问题?,区块链,智能合约,分布式账本,信任链,大数据

最后,攻击者将ETH兑换出来,归还闪电贷并获利。

近期Web3常见的攻击都有什么特点 项目方如何避免这些问题?,区块链,智能合约,分布式账本,信任链,大数据

总结:

安全事件一直都是区块链生态最大的威胁之一,需要项目方时刻保持警惕。对于需要计算价格的业务逻辑要有严格的流程把控,尽量避免直接使用pair余额进行价格计算,调用外部函数获取价格也需要考虑其是否能被操控。项目方也可以与专业的安全合作伙伴合作,及时发现并应对潜在的安全威胁。

希望对您有帮助!文章来源地址https://www.toymoban.com/news/detail-820282.html

到了这里,关于近期Web3常见的攻击都有什么特点 项目方如何避免这些问题?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Web3.0 的特点及你一定要学会的应用

    什么是Web3.0 Web 3.0是一个读、写和拥有的时代,区别于Web1.0和Web2.0,用户创造的数字内容,所有权归用户所有,不依赖中心化平台。 Web 3.0的一个重要核心,即去中心化,Web3.0是以区块链为底层技术支撑的互联网演变方向,我们统称为价值互联网。   简单的说价值互联网就是

    2024年02月20日
    浏览(33)
  • 区块链之web1.0、web2.0、web3.0、特点、示例、出现的问题

    一、 Web 1.0(静态网页) 时间范围:1990年代中期到2000年代初 特点: 只读 静态网页:网页内容的呈现和更新需要手动进行,缺乏交互性和动态性 信息消费者:通过浏览网页来获取信息,无法参与内容的创作 中心化内容发布:网页的内容由少数机构或个人控制和发布。大多数

    2024年02月06日
    浏览(52)
  • Web安全常见攻击

    本篇主要简单介绍在 Web 领域几种常见的攻击手段。 首先插播一句,为毛叫 XSS,缩写明显是 CSS 啊?没错,为了防止与我们熟悉的 CSS(Cascading Style Sheets)混淆,所以干脆更名为 XSS。 那 XSS 是什么呢?一言蔽之,XSS 就是攻击者在 Web 页面中插入恶意脚本 ,当用户浏览页面时,

    2024年02月06日
    浏览(42)
  • Web3.0时代什么时候到来,Web3.0有什么机会?

    🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,CSDN博客专家,阿里云社区专家博主,2023年6月CSDN上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责人。 🎉欢迎 👍点赞✍评论⭐收藏 什么是web3.0?web3.0和web2.0以及web1.0有什么不

    2024年02月11日
    浏览(45)
  • 什么是arp攻击?常见arp攻击有哪些?

    假设局域网中有A、B、C三台计算机,A的IP地址是:192.168.1.100,MAC地址是:1A-2A-3A-4A-5A-6A;B的IP地址是:192.168.1.200,MAC地址是:1B-2B-3B-4B-5B-6B;C的IP地址是:192.168.1.250,MAC地址是:1C-2C-3C-4C-5C-6C. ARP正常工作 现在A要和B通信,A首先会发出一个ARP广播数据抱(即向192.168.1.0-192.168.

    2024年02月08日
    浏览(39)
  • 通付盾Web3专题 | SharkTeam:起底朝鲜APT组织Lazarus Group,攻击手法及洗钱模式

    国家级APT(Advanced Persistent Threat,高级持续性威胁)组织是有国家背景支持的顶尖黑客团伙,专门针对特定目标进行长期的持续性网络攻击。朝鲜APT组织Lazarus Group就是非常活跃的一个APT团伙,其攻击目的主要以窃取资金为主,堪称全球金融机构的最大威胁,近年来多起加密货

    2024年02月02日
    浏览(56)
  • Web3和区块链入门——Web3历史和Web3是什么?

    大家好,我是无用,今天跟大家聊下Web3历史和Web3什么。 Web3历史 Web3.0一词最初由英国计算机科学家蒂姆·伯纳斯-李(著名的万维网之父)在1998年提出,但是他那个时候所说的Web3.0是自己所提出的语义网络,他认为语义网络是下一代互联网发展的主流方向。 不过我们现在所说

    2024年02月12日
    浏览(63)
  • Web3探索加密世界:什么是Web3钱包?

    随着加密货币和区块链技术的发展,人们越来越多地开始探索Web3世界,这个世界以去中心化、安全和开放性为特征。在这个新兴的数字化领域中,Web3钱包成为了一个关键的概念和工具。但是,什么是Web3钱包?它有什么特点?又为何对于Web3世界如此重要? 什么是Web3钱包?

    2024年03月15日
    浏览(53)
  • 区块链-Web3.0-什么是Web3.0?

    一、什么是Web 3.0 Web 3.0,也被称为“去中心化Web”或“智能Web”,是互联网的下一代,它使用了分布式系统技术、区块链技术和智能合约等新型技术,旨在构建一个更加去中心化、安全、透明和智能的互联网。Web 3.0 可以带来更广泛的应用场景,例如去中心化应用(DApps)、去

    2024年02月11日
    浏览(52)
  • 什么是web3 | 区块链web3.0人才

    20世纪90年代互联网刚刚兴起之时,我们只能在网络上查看由中心节点单向发布的新闻,用户只是被动的接受。这个时代,我们称之为web1.0。 千禧年之后,互联网技术进入了可读可写的阶段,用户可以发布照片、文字、视频,这就是传说中的web2。 Web 2.0带来了社会互联,产生

    2024年02月03日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包