黑客事件频发,请收下这篇加密防盗指南( 二 )


访问控制错误是样本组中最常见的重复出现的问题 。例如 , 在 Poly Network 黑客事件中 , “EthCrossChainManager” 合约有一个任何人都可以调用的功能来执行跨链交易 。
注意:有很多情况下 , 多个协议使用相同的技术会被黑客攻击 , 因为团队分叉了一个有漏洞的代码库 。
例如 , 许多 Compound 分叉 , 如 CREAM、Hundred Finance 和 Voltage Finance 都成为了重入性攻击的受害者 , 因为 Compound 的代码在允许交互之前无需检查交互的效果 。这对 Compound 来说很有效 , 因为他们审查了他们支持的每个新代币的漏洞 , 但制作分叉的团队并没有这么做 。

黑客事件频发,请收下这篇加密防盗指南

文章插图
生态系统
98% 的生态系统攻击中都使用了闪电贷 。
闪电贷攻击通常遵循以下公式:使用贷款进行大规模交易 , 推高贷款协议用作喂价( price feed)的 AMM 上的代币价格 。然后 , 在同一笔交易中 , 使用膨胀的代币作为质押品 , 获得远高于其真实价值的贷款 。
黑客事件频发,请收下这篇加密防盗指南

文章插图
黑客在哪里下手?
根据失窃的合约或钱包所在的链对数据集进行分析 。以太坊的黑客数量最多 , 占样本组的 45% 。币安 智能链(BSC)以 20% 的份额位居第二 。
造成这种情况的因素有很多:
 
  • 以太坊和 BSC 拥有最高的 TVL(在应用程序中存入的资金) , 所以对这些链上的黑客来说 , 奖励的规模更大 。
  • 大多数加密货币开发人员都知道 Solidity , 这是以太坊和 BSC 上的智能合约语言 , 而且有更复杂的工具支持该语言 。

黑客事件频发,请收下这篇加密防盗指南

文章插图
以太坊的被盗资金最多(20 亿美元) 。BSC 位居第二(8.78 亿美元) 。
黑客事件频发,请收下这篇加密防盗指南

文章插图
涉及跨链桥或多链应用程序(例如多链交易或多链借贷)对数据集产生了巨大的影响 。尽管这些黑客事件只占总数的 10% , 但却窃取了 25.2 亿美元的资金 。
黑客事件频发,请收下这篇加密防盗指南

文章插图
如何防止黑客攻击?
对于威胁堆栈的每一层 , 我们都可以使用一些工具来早期识别潜在的攻击载体并防止攻击的发生 。
基础设施
大多数大型基础设施黑客攻击都涉及黑客获取诸如私钥等敏感信息 。遵循良好的操作安全(OPSEC)步骤并进行经常性的威胁建模可以降低这种情况发生的可能性 。拥有良好 OPSEC 流程的开发团队可以:
 
  • 识别敏感数据(私钥、员工信息、API 密钥等);
  • 识别潜在的威胁(社会攻击、技术利用、内部威胁等);
  • 找出现有安全防御的漏洞和弱点;
  • 确定每个漏洞的威胁级别;
  • 制定并实施减轻威胁的计划 。
     
智能合约语言和协议逻辑
1. 模糊测试工具
模糊测试工具 , 如 Echidna , 测试智能合约如何对大量随机生成的交易做出反应 。这是检测特定输入产生意外结果的边缘情况的好方法 。
2. 静态分析
静态分析工具 , 如 Slither 和 Mythril , 自动检测智能合约中的漏洞 。这些工具非常适合快速找出常见的漏洞 , 但它们只能捕获一组预定义的问题 。如果智能合约存在工具规范中没有的问题 , 也不会被发现 。
3. 形式化验证
形式化验证工具 , 如 Certora , 将比较智能合约与开发人员编写的规范 。该规范详细说明了代码应该做什么以及所需的属性 。例如 , 开发人员在构建一个贷款应用程序时 , 会指定每笔贷款都必须有足够的质押品支持 。如果智能合约的任何可能行为不符合规范 , 则形式化验证者将识别该违规行为 。
形式化验证的缺点是测试只和规范保持一样的标准 。如果所提供的规范没有说明某些行为或过于宽松 , 那么验证过程将无法捕获所有的错误 。
4. 审计和同行评审
在审计或同行评审期间 , 一组受信任的开发人员将测试和评审项目代码 。审计员将撰写一份报告 , 详细说明他们发现的漏洞 , 以及如何修复这些问题的建议 。


推荐阅读