TRO:TRON漏洞:通过耗尽内存和CPU来引发DoS

简介:单个请求向/wallet/deploycontract提交几兆字节码以及CPU密集型长解析将消耗CPU大约10分钟,同时仍然在堆中保存几兆字节码。发起足够的请求,足以使用所有可用线程来处理传入的HTTP请求,填满内存并导致产生拒绝访问。

描述:

*从一个很大的带有大指数的十进制数中获取longValue非常慢。例如newBigDecimal("10000000e100000000").longValue();这段代码大约需要2-3分钟才能在较新的macbookpro中运行完成。*/wallet/deploycontract有6个字段,它们从解析的json对象中获取longValue,即token_id,call_token_value,fee_limit,call_value,consume_user_resource_percent,origin_energy_limit。这意味着单个请求可以使用最多12分钟的线程。*当一个线程被锁定12分钟/deploycontract时,整个字节码也会放入内存中,这会占用内存并过早地将对象从eden内存空间移动到旧的内存空间*一旦将对象移动到旧的存储空间,当指针被释放时将很难清理它们,因此GC会在尝试清理之前卡住。请注意gc日志和屏幕截图,其中内存在攻击停止后很长时间内保持在3G状态。

Cosmos生态链Neutron公布Token发行计划,将向CosmosHub质押者空投:5月24日消息,Cosmos生态链Neutron公布其Token NTRN的发行计划:5月24日开始空投给Cosmos Hub质押者;5月24日至5月31日进行流动性拍卖;5月31日至6月5日流动性拍卖参与者可选择流动性挖矿;

NTRN的发行计划于6月5日结束,届时来自空投和流动性拍卖的Token将在三个月内开始线性释放。锁定的Token仍将授予投票权,流动性挖矿奖励可以立即提取。

5月12日,Cosmos生态无需许可CosmWasm智能合约平台Neutron已上线主网,成为首个使用Replication Security启动的Cosmos区块链。[2023/5/24 15:23:05]

参考:

杜文軒:波场TRONZ匿名协议让隐私权重新归属于用户自身:据最新消息显示,波场大航海时代 4.0全球线上发布会正在进行中,TRONZ项目技术负责人杜文軒在发布会中表示:“zk-SNARK零知识证明功能的指令已成功在波场虚拟机(TVM)中实现,包括这三种零知识证明指令:verifyMintProof、verifyTransferProof和verifyBurnProof,分别对应着匿名TRC20合约的mint、transfer和burn三种操作。隐私发送、匿名接收以及隐藏交易金额全都能在TRON 4.0的TRONZ匿名协议中实现,波场TRONZ匿名协议可以满足用户多样化的隐私保护需求,让隐私权重新归属于用户自身。我们致力于前沿的密码学技术,并且也希望为区块链界的隐私保护贡献出一份力量,我们将在未来实现更多的帮助用户保护隐私的技术。”[2020/7/8]

jconsole代表内存,CPU和线程的截图

分析 | 预测Tron网络的日交易量将在2019年达到580万笔:InfoSec经理、BitTorrent及Tron(TRX)社区支持者Mike McCarthy发推称,他预测TRX大概率会在12月之前和2019年底的几个月里飙升。他主要关注Tron网络每天处理的交易数量。McCarthy预计,这些交易数量将很快呈指数增长。在他看来,到2019年12月31日,Tron可能每天处理490万笔以上的交易,而这只是保守估计。乐观地说,Tron网络的日交易量或将达到580万笔。(Zycrypto)[2019/8/21]

gclog来显示JVM进入无限的GC并且仍然无法释放内存

修复建议

JSONObject.parse使用Feature.UseBigDecimal.getMask;默认情况下。不使用BigDecimal会解决问题,但可能会在需要BigDecimal的其他地方引入问题。

如果整个字节码一直没有放入内存中那就好了。

影响使用单台计算机,攻击者可以向所有或51%的SR节点发起DDOS攻击,并使Tron网络无法使用。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

[0:0ms0-1:30ms