黑暗森林中的攻击方法及预防措施。
这篇文章来自?Medium,原作者:Kofi Kufuor,由《今日星球》译者Katie Koo编译。
今年,黑客从加密应用中窃取了超过20亿美元。国庆期间,行业又经历了?TokenPocket闪存交换服务提供商被盗(损失超过2100万美元)以及?BNB??链条?十字链?网桥的BSC令牌集线器被攻击(损失约?5.66?十亿美元)加密盗窃。
随着加密生态的发展,安全攻防战只会愈演愈烈。因此,本文将:
提出了加密安全事件的分类;
列出迄今为止黑客最赚钱的攻击方式;
回顾当前防止黑客攻击的工具的优点和缺点;
讨论加密安全的未来。
加密应用生态系统由互操作性协议组成,由智能合约支持,并依赖于链和互联网的底层基础设施。这个堆栈的每一层都有自己独特的漏洞。我们可以根据使用的栈层和使用的方法对加密黑客进行分类。
对基础设施层的攻击利用了加密应用程序的底层系统中的弱点:依赖区块链来达成共识、依赖互联网服务来实现前端以及依赖工具来实现私钥管理。
这个级别的黑客利用了智能契约语言的弱点和漏洞(比如坚固性),比如可重入性和实现delegatecall的危险,这些都可以通过遵循安全规范来避免。
这种类型的攻击利用了单个应用程序的业务逻辑中的错误。如果黑客发现一个错误,他们可以用它来触发应用程序开发人员没有预料到的行为。
例如,如果一个新的?德克斯。如果决定用户从交易中获得多少钱的数学等式存在误差,那么这个误差可以用来让用户从交易中获得比他们应该获得的更多的钱。
协议逻辑级攻击还可以利用用于控制应用程序参数的治理系统。
许多著名的加密黑客利用了多个应用程序之间的交互。最常见的是黑客利用一个协议中的逻辑错误,借用另一个协议的资金来扩大攻击规模。
通常,生态系统攻击的资金是通过flashloan借入的。进行闪电贷款时,可以从哪里获得?Aave??然后呢。dYdX??从约定的流动资金池中借入你想要的金额。
我收集了2020年以来最大的100次加密货币黑客攻击的数据集,被盗资金总计50亿美元。
生态系统最常受到攻击。他们占41%。
协议的逻辑缺陷导致了最大的金钱损失。
金额最大的三次攻击:浪人跨桥攻击(6.24亿美元)、聚网攻击(6.11亿美元)、BSC跨桥攻击(5.7亿美元)。
如果排除前三种攻击,盗窃基础设施是损失最大的类别。
在61%的基础设施漏洞中,私钥以未知的方式泄露。黑客可以通过网络钓鱼邮件和虚假广告等社交攻击获取这些私钥。
再入攻击是智能合约语言层面上最流行的攻击类型。
在可重入攻击中,易受攻击的智能协定中的函数调用恶意协定中的函数。或者,当易受攻击的合同向恶意合同发送令牌时,可以触发恶意合同中的功能。然后,在契约更新其余额之前,恶意函数在递归循环中回调易受攻击的函数。
比如《海妖》里?在协议黑客攻击中,提取质押令牌的函数很容易被重新输入并重复调用(每次恶意契约收到令牌时),直到所有质押耗尽。
协议层的大部分漏洞都是特定应用特有的,因为每个应用都有独特的逻辑(除非是纯粹的分叉?)。
访问控制错误是样本组中最常见的重复问题。比如在保利网络黑客事件中,“EthCrossChainManager”合约有一个功能,任何人都可以调用它来执行跨链交易。
注意:在很多情况下,使用相同技术的多个协议会被黑客攻击,因为团队分叉了一个有缺陷的代码库。
比如很多?复合??如奶油、百财、电压财等分叉都成为了再入攻击的受害者,因为复合的代码不需要检查交互的效果才允许。这对Compound很有效,因为他们检查他们支持的每个新令牌的漏洞,但制作fork的团队没有。
闪电贷款被用于98%的生态系统攻击。
闪电贷款攻击通常遵循以下公式:利用贷款进行大规模交易,推高AMM上被贷款协议用作价格饲料的代币价格。然后在同一个交易中,虚增的代币作为抵押品,获得远高于其真实价值的贷款。
根据被盗合同或钱包所在链条分析数据集。以太坊的黑客数量最多,占样本群体的45%。扁?智能链(BSC)以20%的份额位居第二。
造成这种情况的因素有很多:
以太坊和BSC拥有最高的TVL(应用程序中存放的资金),因此对于这些链条上的黑客来说,回报甚至更大。
加密货币开发者大多知道Solidity,这是以太坊和BSC上的智能合约语言,有更复杂的工具支持。
以太坊被盗资金最多(20亿美元)。BSC排名第二(8.78亿美元)。
涉及跨链桥或多链应用程序(如多链交易或多链贷款)对数据集有很大影响。虽然这些黑客事件只占总数的10%,但他们窃取了25.2亿美元。
对于威胁堆栈的每一层,我们可以使用一些工具来及早识别潜在的攻击载体,并阻止攻击的发生。
大多数大规模基础设施黑客攻击都涉及到黑客获取私钥等敏感信息。遵循良好的操作安全(OPSEC)程序并定期进行威胁建模可以降低这种情况发生的可能性。具有良好OPSEC流程的开发团队可以:
识别敏感数据(私钥、员工信息、API密钥等)。);
识别潜在威胁(社交攻击、技术利用、内部威胁等)。);
找出现有安全防御的漏洞和弱点;
确定每个漏洞的威胁级别;
制定并实施威胁缓解计划。
1.模糊测试工具
模糊测试工具,如鼹鼠,测试智能合约如何对大量随机生成的交易做出反应。这是检测特定输入产生意外结果的边缘情况的好方法。
2.静态分析
静态分析工具,如Slither和Mythril,可以自动检测智能合约中的漏洞。这些工具非常适合快速找到常见的漏洞,但它们只能捕获一组预定义的问题。如果智能合约有工具规范中没有的问题,就不会被发现。
3.形式证明
Certora等正式验证工具会将智能合约与开发人员编写的规范进行比较。规范详细说明了代码应该做什么以及所需的属性。例如,在构建贷款申请时,开发人员会指定每笔贷款都必须有足够的抵押品支持。如果智能合约的任何可能行为不符合规范,正式验证者将识别违规。
形式验证的缺点是测试只维护与规范相同的标准。如果所提供的规范没有指定某些行为或者过于宽松,那么验证过程将不能捕捉所有的错误。
4.审计和同行评审
在审计或同行评审期间,一组受信任的开发人员将测试和评审项目代码。审计员将写一份报告,详细说明他们发现的漏洞以及如何修补这些漏洞的建议。
让专业的第三方审核合同,是找到原团队遗漏的漏洞的好方法。但是,审计人员也是人,绝不会抓住所有的漏洞。此外,相信审计人员。如果他们发现了问题,他们会告诉你,而不是自己用。
5.生态系统攻击
虽然生态系统攻击是最常见和最具破坏性的类型,但没有多少工具可以防止这种攻击。自动安全工具专注于一次发现一个合同中的错误。审计通常无法解决如何利用生态系统中多个协议之间的交互。
Forta和tenerly Alerts等监控工具可以在组合攻击发生时提供早期预警,以便团队采取行动。而闪电贷攻击中,通常是单笔交易资金被盗,任何预警都来不及阻止巨额损失。
威胁检测模型可以用来发现内存池中的恶意事务。在节点处理事务之前,事务就存在于内存池中,但黑客可以通过使用flashbot等服务将事务直接发送给矿工,从而绕过这些检查。
我对加密安全的未来有两个预测:
1.我相信最好的团队会从把安全作为基于事件的实践(测试->;同行评审-& gt;审计)把它当作一个连续的过程。他们将:
对主代码库中的每个新代码进行静态分析和模糊处理;
每个重大升级的正式验证;
建立一个具有响应行动的监控和警报系统(暂停整个应用程序或受影响的特定模块);
让一些团队成员开发和维护安全自动化和攻击响应计划。
安全工作不应在审核后结束。在许多情况下,如Nomad跨链桥黑客攻击,其漏洞是基于审计后升级中引入的错误。
2.?加密安全社区处理黑客攻击的过程将变得更加有组织和简化。每当黑客攻击发生时,贡献者就会涌向加密的安全群聊天,渴望提供帮助,但缺乏组织性意味着重要的细节可能会在混乱中丢失。我认为在未来,这些群聊会转变成更有组织性的形式:
使用在线监控和社交媒体监控工具快速检测主动攻击;
使用安全信息和事故管理工具来协调工作;
采用独立的工作流程,使用不同的渠道沟通黑白客户的工作、数据分析、根本原因等任务。
本网站声明:网站内容来源于网络。如有侵权,请联系我们,我们会及时处理。
温馨提示:注:内容来源均采集于互联网,不要轻信任何,后果自负,本站不承担任何责任。若本站收录的信息无意侵犯了贵司版权,请给我们来信,我们会及时处理和回复。
免责声明:本文为转载,非本网原创内容,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如有疑问请发送邮件至:goldenhorseconnect@gmail.com