链安全审计

慢雾安全团队曾对比特币、以太坊、门罗币等公链深入研究,拥有丰富的安全研究经验,在 P2P 通信、RPC 调用、密码学组件、共识机制、资产交易等关键模块的安全上拥有深厚的积累,曾对外披露以太坊黑色情人节等全球性安全攻击大事件,还曾对外开放了 EOS 超级节点安全执行指南、唯链核心节点安全执行指南、本体北斗共识集群安全执行指南,在公链安全架构方案方面具备强大的领先优势。

联系我们

流程

公链安全审计方案

方案一:主网安全审计

从 P2P 网络、RPC 交互、共识账本、加密算法、账号及交易结构等层面排查审计目标是否存在已知的公链安全漏洞,采用“黑盒+灰盒”的策略,以最接近真实攻击的方式对项目进行完整的安全测试。我们关注的漏洞包括:

P2P 层:

  • 女巫攻击
  • 日食攻击
  • 窃听攻击
  • 拒绝服务攻击
  • BGP 劫持攻击
  • 异形攻击
  • 区块时间劫持

RPC 层:

  • 窃听攻击
  • 拒绝服务攻击
  • 以太坊黑色情人节漏洞
  • Http 输入攻击
  • 跨域钓鱼攻击

共识层:

  • 长程攻击
  • 贿赂攻击
  • 种族攻击
  • 拒绝产块攻击
  • 抗审查制度
  • 芬尼攻击
  • Vector76 攻击
  • 替代历史攻击
  • 51% 攻击
  • 磨块攻击
  • 币龄累积攻击
  • 自私挖矿
  • 区块双产攻击

加密:

  • 密码攻击
  • 私钥预测
  • 长度扩展攻击

交易:

  • 交易重放攻击
  • 交易延展性攻击
  • 时间锁定交易攻击
  • 假充值攻击
  • 权限后门攻击

漏洞详情可参考:https://github.com/slowmist/Cryptocurrency-Security-Audit-Guide/blob/main/Blockchain-Common-Vulnerability-List.md

方案二:交易所上币审计

此方案审计方法与主网安全审计相同,不同的是审计条目更精简,主要关注账号和交易安全,包含的条目有:

  • 私钥预测
  • 后门攻击
  • 不安全的加密库
  • 交易延展性攻击
  • 交易重放攻击
  • 假充值攻击
  • RPC 盗窃

这种审计方案的特点是审计时长最短,成本较低,适合基于成熟项目二次开发的公链,例如基于 bitcoin-core/go-ethereum/bitshares/EOSIO 等。

方案三:源代码安全审计

源代码审计可以是全量代码,也可以是部分模块。慢雾团队采用“白盒”策略对目标代码的安全测试,常用的方法有:

1. 静态源代码分析(SAST)

慢雾团队使用开源或商业代码扫描器检查代码质量,我们支持所有流行语言,例如 C/C++/Golang/Rust/Java/Nodejs/C#

2. 手动代码审查

慢雾团队手动逐行检查代码,寻找常见的编码缺陷,例如:

  • 状态一致性
  • 失败回滚
  • 数值溢出
  • 参数验证
  • 错误句柄
  • 边界检查
  • 单元测试覆盖率

方案四:社区定制审计方案

我们根据一些公链的特点,定制了安全审计方案,例如波卡 (Polkadot) 和 Cosmos。

以波卡为例,波卡生态项目使用 Substrate 作为开发框架,开发者可以不用关注底层网络及账本等的实现方式,专注于业务逻辑的实现,我们根据这种情况,舍弃掉了公链审计项目中关于网络层、共识层、密码学等底层模块,增加了一些更加细致的审计条目,如下所示:

  • 重放攻击
  • 重排攻击
  • 条件竞争攻击
  • 权限控制攻击
  • 区块数据依赖攻击
  • 函数状态变量的显式可见性
  • 算术精度误差
  • 恶意 Event 事件审计
  • 状态一致性审计
  • 失败回滚审计
  • 单元测试审计
  • 数值溢出审计
  • 参数校验审计
  • 错误捕获审计
  • 边界检查审计
  • 权重审计
  • 宏定义审计

完整的审计方案已在 https://github.com/slowmist/Cryptocurrency-Security-Audit-Guide 开源

相关服务

相关开源方案

相关技术研究

返回顶部