主页 > 以太坊imtoken > 黑客有新招薅羊毛,谨防零手续费“扫码攻击”

黑客有新招薅羊毛,谨防零手续费“扫码攻击”

以太坊imtoken 2023-01-17 08:16:19

近日,这种广受新手和老手欢迎的羊毛被黑客直接“复制”了。

笔者注意到,目前业界有一种最新的黑客攻击方式——“扫码攻击”。 顾名思义,首先从字面解释,“拾荒”传达了一种收集碎片的概念,收集不需要但有价值的物品; 而“攻击”则直接描述了一种黑客行为。

1、什么是“扫码攻击”?

账号为[0x957cD4Ff9b3894FC78b5134A8DC72b032fFbC464]的黑客利用以太坊JSON-RPC接口扫描公网开放的RPC端口,构造高额手续费交易请求。 一旦用户解锁账户,用户的余额就会转移到攻击者的账户中。 攻击者创建的账户或合约账户。

以上是“扫码攻击”的具体案例。

后走私时代以太坊钱包被盗,攻击形式趋于多样化,使用以太坊的特性越来越多,攻击手段趋于完善。 除了发现的三种攻击方式:离线攻击、重放攻击、爆破攻击外,现在还有一种针对以太坊JSON-RPC接口的“扫码攻击”。 据了解,创宇404区块链安全研究团队对“扫码攻击”的解读如下:

攻击者要么求助于矿工,要么拥有一定的算力获得将交易打包入块的权利,最终得到余额不足以支付转账手续费或者勉强支付所有以太币通过构建 0gasPrice 或代币在节点上。

通俗地说,在“扫码攻击”中,黑客还将攻击的目标账号进行了细分。 他们选择“垂直攻击”那些不足以支付或刚好迟交汽油费的以太坊钱包账户。

以太坊钱包被盗_web3j 以太坊钱包_以太坊被盗可以追踪吗

2、两个问题取决于用户对“扫码攻击”的认知

web3j 以太坊钱包_以太坊钱包被盗_以太坊被盗可以追踪吗

笔者对“扫码攻击”的市场调查反馈,主要围绕以下两个核心问题展开:

1、如果钱包里的以太坊不够支付矿工费,会不会担心里面的数字货币被盗?

2、您是否注意过加密钱包找零的安全性?

调查发现,在用户凭经验了解的钱包安全概念中,并没有足够的以太币来进行转币操作。 根据8月初的火币区块链大数据报告,平均交易手续费下降19%至0.0017ETH,为两个月来最低。

这意味着在正常情况下,用户的钱包账户必须至少有 0.0017ETH 才能执行转账程序。 由于以太坊的区块大小限制,选择的gas fee越高,转账顺序的优先级越高(转账速度越快)。 因此,当用户不足以支付 gas 费时,大多数人认为他们的账户是安全的。

还有一种情况对应第​​二个问题,也是跟gas有关。 有过交易经验的用户会发现,每次转账,都不能把钱包里的钱都转完,总有一点剩余。 有时由于转币(gas)成本高,用户会选择不处理账户中的Token。 这些存放零星Token的钱包账户也成为了黑客的“精选”目标。

web3j 以太坊钱包_以太坊被盗可以追踪吗_以太坊钱包被盗

三、“零手续费”是怎么回事

据统计,自2017年6月以来,共计24.2eth的748个账户零手续费转出。 黑客不断对以太坊 JSON-RPC 进行“清除攻击”。 该攻击依靠零过程支付来收割用户钱包中剩余的币。

除了用以太坊攻击账户外,黑客也没有放过只存储智能合约发行的小额货币的账户,足见他们要把“羊毛”榨干的决心。 通常情况下,如果被盗账户没有以太坊,无法支付转账gas是合理的。 但黑客可以零费用实现这一目标。

“零手续费”攻击方式:偷渡漏洞中,攻击者在被攻击节点上构造一个gasPrice为0的交易,等待用户解锁账户并签名广播。 攻击者还设置了一个恶意节点来接收交易。 攻击者可以将符合条件的交易打包,零手续费完成转账。

攻击者可以利用多个矿池的算力,将攻击账户的各种Token一次性小额转入对应账户。 该方法可以同时攻击多个账户和多个合约,无需手续费。

另外,在0 gasPrice下,攻击者更有可能对合约发行的Token提出转账请求,将用户账户中的token转入合约所有者的账户。

4、Gas负反馈的安全机制如何?

以太坊钱包被盗_web3j 以太坊钱包_以太坊被盗可以追踪吗

以太坊被盗可以追踪吗_web3j 以太坊钱包_以太坊钱包被盗

以往以太坊中的Gas机制GasUsed*GasPrice可以计算出用户占用节点计算资源需要消耗的手续费。 GasUsed可以理解为资源使用量,GasPrice可以理解为资源消耗的单价。

说到以太坊的Gas机制,就不得不提到虚拟机(EVM)。 EVM是以太坊在区块链上的运行环境——以太坊网络中的节点会运行EVM,并在EVM上执行消耗资源的交易等程序。

其中,矿工可以在交易程序中收取一部分手续费作为奖励激励,一般采用POW(工作量证明)机制。 而这个工作量是由EVM中执行的代码决定的,我们称之为gas。

接下来是代码。 该代码由各种基本指令组成。 每条指令根据其消耗量定义一个气体值。 所有指令的gas总和就是交易需要消耗的gas。 因此,在一套完整的交易中,需要支付一定数量的gas给矿工才能完成。

以上就是Gas机制中几个重要的概念关联逻辑。

在实际运行中,Gas机制也被作为保障网络安全的经济手段。 当网络面临分布式阻塞攻击(DDos)时,如果时间节点发起的交易量过大,基于以太坊目前的性能,无法快速处理,会造成系统拥塞,导致增加基础gas的减少和负反馈交易的发生,可以在一定程度上保证网络的安全运行。

然而,“清道夫攻击”的出现表明,Gas 机制已经逐渐不能承担起保障网络安全运行的重任,因为以太坊自身漏洞突出,矿工面临更广泛的修复项目。

5、未来可能实现的ETZ能否防止“清道夫攻击”

web3j 以太坊钱包_以太坊被盗可以追踪吗_以太坊钱包被盗

以太坊被盗可以追踪吗_web3j 以太坊钱包_以太坊钱包被盗

去年底,以太坊提出“零手续费”的概念,以太坊矿工计划分叉出零手续费的以太零(ETZ Ether Zero)。 因为“零手续费”的方式,才能发动“扫码攻击”。 从另一个角度看,如果以太坊不再需要手续费,“清道夫攻击”是否可以避免?

ETZ团队自称拥有20多名来自不同国家的专业Dapp开发者。 他们摒弃了以太坊一贯的gas费制度,在实现零手续费的同时,还设计了非常实用和细致的防攻击机制。

在ETZ模型中,矿工没有手续费作为激励,但据说他们可以依靠ETZ价格的上涨来弥补他们的挖矿成本。 按照ETZ的愿景,即使没有手续费,矿工出块依然会获得固定的ETZ奖励。

根据产品路线图,ETZ目前仍按原计划在2018年第二季度完成主节点Master Node在主网上的运行,实现实时交易和更高的TPS。

根据以太坊零项目最新周报(2018.8.13-8.19),ETZ团队在技术层面完成了主节点的搭建、优化、升级、维护等一系列工作,并完成区块链浏览器增加主节点生成区块。 部分主节点收益统计查询及异常收益排查。 同时对钱包进行了修复和更新。

ETZ依然采用Gas机制,但不会扣除用户产生的手续费。 “扫码攻击”采用的零手续费交易无法激励矿工,但在代码验证过程中仍然是合法的。

对于零手续费交易,通常只有发起方的交易池可以接收,其他节点无法同步这笔交易。 如有必要,必须进行修改geth源代码等操作。 虽然这笔交易不能进入其他节点的txpool,但是可以在包含这笔交易的区块上达成共识。

以太坊钱包被盗_以太坊被盗可以追踪吗_web3j 以太坊钱包

因此,综上所述,ETZ的“零手续费”生态并没有纠正Gas机制本身的漏洞,“清道夫攻击”仍然可以发起攻击,或者说更容易。

六、面对“扫码攻击”我们能做些什么

由于“零手续费”交易是基于其他攻击方式,所以防御方式应该定位在前面的json-rpc接口利用上。

对于有被走私漏洞攻击痕迹或可能被走私漏洞攻击的节点,建议将节点上相关账户的资产转移至新账户,并丢弃可能被攻击的账户。

建议用户不要使用弱口令作为账号密码。 如果使用过弱密码,可以根据1.2节最后的内容解密私钥内容,再次通过geth account import命令导入私钥和设置强密码。

如果节点不需要签名传递等操作,建议节点上不存在私钥文件。 如果需要使用转账操作,一定要使用personal_sendTransaction接口,而不是personal_unlockAccount接口。

面对黑客攻击以太坊钱包被盗,普通用户完全没有还手之力。 而本应站在用户一边的矿工,如果与黑客联手不再老老实实干活,开始盗币,那刚刚起步的区块链网络将更加脆弱。 区块链生态的良性发展,不仅需要淘汰劣质劣质项目,更需要精心维护现有生态安全。

尤其是维护公链的矿工,责任更大。 就像区块链依赖于不可更改的溯源问题的真实性一样,如果链上信息从源头上被破坏,生态将不可避免地被扭曲。 恶魔必须灭亡。

(以上部分资料引用自@知道创宇404区块链安全研究组)