发布Attacknet:基于混沌测试的区块链节点漏洞挖掘新工具
今天,Trail of Bits正式发布与以太坊基金会合作开发的Attacknet工具。该工具突破了传统运行时验证工具的局限,通过对执行客户端和共识客户端施加最严苛的网络条件来增强现有测试方法。
区块链节点需要最高级别的安全保障。传统依赖详尽规范、测试套件、客户端多样性、人工审计和测试网的方法存在固有缺陷,可能导致类似2023年5月以太坊主网最终性事件的关键漏洞。Attacknet通过在开发网络中模拟比常规测试网更广泛的网络条件和错误配置来解决这些问题。
Attacknet工作原理
Attacknet采用混沌工程方法,主动向生产环境注入故障以验证系统容错能力。这些故障能复现真实场景问题,也可创建极端场景测试区块链边界条件。
工具基于Kurtosis生成的开发网络环境,通过Chaos Mesh注入以下故障类型:
- 时钟偏移:向前/向后调整节点时钟(成功复现以太坊最终性事件)
- 网络延迟:模拟全局延迟或检测共识中非预期的同步假设
- 网络分区:测试网络分叉选择规则和重组能力
- 数据包丢弃/损坏:验证节点消息验证机制
- 强制节点崩溃:测试网络对验证者失效的恢复能力
- 磁盘I/O故障:分析节点资源需求瓶颈
故障结束后,Attacknet对每个节点执行健康检查。若节点失败,将生成包含日志和测试信息的调试文件。
未来规划
当前版本支持两种模式:
- 手动配置网络拓扑和故障参数
- “规划模式"针对特定客户端运行预设故障
未来将增加"探索模式”,动态定义故障参数并持续监控网络状态(类似模糊测试)。虽然目前正用于Dencun硬分叉测试,但Attacknet采用模块化设计,可扩展支持其他区块链系统(包括L2)。欢迎有意整合该工具的链开发团队联系我们。
原文链接:https://blog.trailofbits.com/2024/03/18/attacknet-chaos-testing-blockchain-nodes/