黑暗森林中的攻击手法和防范措施。
本文来自?Medium,原文作者:KofiKufuor,由Odaily星球日报译者Katie辜编译。
黑客今年从加密应用程序中窃取了20多亿美元。国庆期间,行业又经历了?TokenPocket闪兑服务商被盗和?BNB??Chain?跨链?桥BSCTokenHub遭攻击的加密盗窃事件。
随着加密生态系统的发展,安全攻防战只会越演越烈。因此,本文将:
提出加密安全事件的分类法;
列举出迄今为止让黑客最赚钱的攻击手段;
回顾当前用于防止黑客攻击的工具的优缺点;
讨论加密安全的未来。
黑客类型
加密应用生态系统由互操作协议组成,由智能合约支持,依赖于链和互联网的底层基础设施。此堆栈的每一层都有其独有的漏洞。我们可以根据利用的堆栈层和使用的方法对加密黑客进行分类。
攻击基础设施
安全团队:针对Wintermute损失1.6亿美元黑客事件,建议项目方移除相关地址管理权限:金色财经报道,2022年9月20日,据Beosin EagleEye监测显示,Wintermute在DeFi黑客攻击中损失1.6亿美元,Beosin 安全团队发现,攻击者频繁的利用0x0000000fe6a...地址调用0x00000000ae34...合约的0x178979ae函数向0x0248地址(攻击者合约)转账,通过反编译合约,发现调用0x178979ae函数需要权限校验,通过函数查询,确认0x0000000fe6a地址拥有setCommonAdmin权限,并且该地址在攻击之前和该合约有正常的交互,那么可以确认0x0000000fe6a的私钥被泄露。结合地址特征(0x0000000),疑似项目方使用Profanity工具生成地址。该工具在之前发的文章中,已有安全研究者确认其随机性存在安全缺陷(有暴力破解私钥的风险),导致私钥可能泄漏。
Beosin 安全团队建议:1.项目方移除0x0000000fe6a地址以及其他靓号地址的setCommonAdmin/owner等管理权限,并使用安全的钱包地址替换。2.其他使用Profanity工具生成钱包地址的项目方或者用户,请尽快转移资产。Beosin Trace正在对被盗资金进行分析追踪。[2022/9/20 7:08:40]
对基础设施层的攻击利用了加密应用程序的底层系统中的弱点:依赖用于达成共识的区块链、用于前端的互联网服务和用于私钥管理的工具。
攻击智能合约语言
这一层的黑客利用了智能合约语言的弱点和漏洞,例如可重入性和实现委托调用的危险,这些可以通过遵循安全规范来规避。
攻击协议逻辑
这类攻击利用单个应用程序业务逻辑中的错误。如果黑客发现了一个错误,他们可以利用这个错误触发应用程序开发者没有预料到的行为。
Avalanche创始人:Terra事件的严重程度比Mt.Gox黑客事件更糟糕:5月20日消息,Avalanche创始人Emin Gün Sirer在接受采访时表示,Terra事件的严重程度与Mt.Gox黑客事件相比,甚至是更糟糕,他担心这种事件会导致更多的监管审查。他承认,由于LUNA吸引了大量资金,Avalanche一度被LUNA的快速发展所阻碍。Emin Gün Sirer承认,因Avalanche之前与Terra建立合作关系,Avalanche在这次Terra事件中造成了一些损失。但其未透露具体损失金额。
据悉,位于日本东京的Mt.Gox曾是世界上最大的比特币交易所,高峰时承担着超过70%的比特币交易,但在一次大规模黑客攻击后于2014年破产。 (U.today)[2022/5/20 3:30:36]
例如,如果一个新的?DEX?在决定用户从交易中获得多少钱的数学方程中出现了错误,那么这个错误就可以被利用,使用户从交易中获得比本应可能获得的更多的钱。
协议逻辑级攻击还可以利用用于控制应用程序参数的治理系统。
攻击生态系统
许多知名的加密黑客利用了多个应用程序之间的交互。最常见的是黑客利用一个协议中的逻辑错误,利用从另一个协议借来的资金来扩大攻击规模。
通常,用于生态系统攻击的资金是通过闪电贷借来的。在执行闪电贷时,你可以从?Aave??和?dYdX??等协议的流动性池中借到你想要的金额。
数据分析
我收集了2020年以来100起规模最大的加密货币黑客攻击的数据集,被盗资金总计50亿美元。
生态系统受到的攻击最为频繁。他们占41%。
安全公司:年度最大DeFi黑客事件Poly Network遭受攻击源头已找到:对于跨链互操作协议Poly Network遭受攻击事件,成都链安技术团队经过深度分析已找到攻击的源头。该笔交易对应的跨链交易由本体链上f771ba开头的这笔交易发出,并定位到本体链上AM2W2L开头的攻击者地址。攻击者在ONT链上进行攻击尝试发现有效后,通过这笔f771ba开头的地址交易批量向多个链发起更改Keeper的跨链消息,然后BSC链的relayer 0xa0872c79开头地址率先处理了该笔跨链交易,并将keeper设置为攻击者指定的以0xa87开头的地址。
接着Ethereum、Polygon两条链上攻击者重放了BSC链的 relayer所使用的有效签名。Keeper地址更改为自己的地址后,攻击者使用自己可控的Keeper发起了提币交易,转移了跨链池中的资产。此处攻击成功表明PolyNetwork在对跨链交易事件的验证存在缺陷,导致了恶意的跨链消息被接收并在对应的链上进行了跨链消息所指定的操作。[2021/8/11 1:49:10]
协议逻辑漏洞导致了最多的金钱损失。
金额最大的三个攻击:Ronin跨链桥攻击,PolyNetwork攻击和BSC跨链桥攻击。
如果排除前三大攻击,则针对基础设施的被盗案件是损失资金最多的类别。
推特黑客事件策划者Graham Clark对指控拒不认罪:推特黑客事件幕后黑手之一17岁佛罗里达州居民Graham Ivan Clark对指控拒不认罪。根据法庭记录,Clark周二上午在佛罗里达州立法院针对由法官Christopher Nash提出的30多项指控进行抗辩。他定于周三再次出庭,就他要求更改保释金数额和释放条件举行听证会。(BNNBloomberg)[2020/8/5]
黑客是如何下手的?
基础设施
在61%的基础设施漏洞中,私钥是通过未知的方式泄露的。黑客可能通过网络钓鱼邮件和虚假招聘广告等社会攻击获得这些私钥。
智能合约语言
可重入性攻击是智能合约语言级别上最热门的攻击类型。
在可重入攻击中,易受攻击的智能合约中的函数调用恶意合约上的一个函数。或者,当易受攻击的合约向恶意的合约发送代币时,可以触发恶意合约中的函数。然后,在合约更新其余额之前,恶意函数在递归循环中回调易受攻击的函数。
例如,在Siren?Protocol黑客攻击中,提取质押品代币的函数很容易被重入,并被反复调用,直到所有质押品耗尽。
动态 | 韩国3年来有158起加密钱包黑客事件:据bitcoin.com消息,韩国国家警察厅编写了一份过去3年来关于该国所有加密交易所和加密钱包黑客事件的报告。有7起加密交易所黑客案件和158起加密钱包黑客案件,其中91起发生在今年。但是,只有6人被捕。[2018/10/8]
协议逻辑
协议层上的大多数漏洞都是特定应用程序独有的,因为每个应用程序都有唯一的逻辑。
访问控制错误是样本组中最常见的重复出现的问题。例如,在PolyNetwork黑客事件中,“EthCrossChainManager”合约有一个任何人都可以调用的功能来执行跨链交易。
注意:有很多情况下,多个协议使用相同的技术会被黑客攻击,因为团队分叉了一个有漏洞的代码库。
例如,许多?Compound??分叉,如CREAM、HundredFinance和VoltageFinance都成为了重入性攻击的受害者,因为Compound的代码在允许交互之前无需检查交互的效果。这对Compound来说很有效,因为他们审查了他们支持的每个新代币的漏洞,但制作分叉的团队并没有这么做。
生态系统
98%的生态系统攻击中都使用了闪电贷。
闪电贷攻击通常遵循以下公式:使用贷款进行大规模交易,推高贷款协议用作喂价的AMM上的代币价格。然后,在同一笔交易中,使用膨胀的代币作为质押品,获得远高于其真实价值的贷款。
黑客在哪里下手?
根据失窃的合约或钱包所在的链对数据集进行分析。以太坊的黑客数量最多,占样本组的45%。币安?智能链以20%的份额位居第二。
造成这种情况的因素有很多:
以太坊和BSC拥有最高的TVL,所以对这些链上的黑客来说,奖励的规模更大。
大多数加密货币开发人员都知道Solidity,这是以太坊和BSC上的智能合约语言,而且有更复杂的工具支持该语言。
以太坊的被盗资金最多。BSC位居第二。
涉及跨链桥或多链应用程序对数据集产生了巨大的影响。尽管这些黑客事件只占总数的10%,但却窃取了25.2亿美元的资金。
如何防止黑客攻击?
对于威胁堆栈的每一层,我们都可以使用一些工具来早期识别潜在的攻击载体并防止攻击的发生。
基础设施
大多数大型基础设施黑客攻击都涉及黑客获取诸如私钥等敏感信息。遵循良好的操作安全步骤并进行经常性的威胁建模可以降低这种情况发生的可能性。拥有良好OPSEC流程的开发团队可以:
识别敏感数据;
识别潜在的威胁;
找出现有安全防御的漏洞和弱点;
确定每个漏洞的威胁级别;
制定并实施减轻威胁的计划。
智能合约语言和协议逻辑
1.模糊测试工具
模糊测试工具,如Echidna,测试智能合约如何对大量随机生成的交易做出反应。这是检测特定输入产生意外结果的边缘情况的好方法。
2.静态分析
静态分析工具,如Slither和Mythril,自动检测智能合约中的漏洞。这些工具非常适合快速找出常见的漏洞,但它们只能捕获一组预定义的问题。如果智能合约存在工具规范中没有的问题,也不会被发现。
3.形式化验证
形式化验证工具,如Certora,将比较智能合约与开发人员编写的规范。该规范详细说明了代码应该做什么以及所需的属性。例如,开发人员在构建一个贷款应用程序时,会指定每笔贷款都必须有足够的质押品支持。如果智能合约的任何可能行为不符合规范,则形式化验证者将识别该违规行为。
形式化验证的缺点是测试只和规范保持一样的标准。如果所提供的规范没有说明某些行为或过于宽松,那么验证过程将无法捕获所有的错误。
4.审计和同行评审
在审计或同行评审期间,一组受信任的开发人员将测试和评审项目代码。审计员将撰写一份报告,详细说明他们发现的漏洞,以及如何修复这些问题的建议。
让专业的第三方评审合约是发现原始团队遗漏的漏洞的好方法。然而,审核员也是人,他们永远不会捕抓到所有漏洞。此外要信任审计员,如果审计员发现了问题,他们会告诉您,而不是自己利用它。
5.生态系统攻击
尽管生态系统攻击是最常见和最具破坏性的类型,现有工具中没有很多工具适合防止这类攻击。自动安全工具专注于每次在一个合约中查找错误。审计通常无法解决如何利用生态系统中多个协议之间的交互。
像Forta和tenerlyAlerts这样的监视工具可以在发生组合性攻击时提供早期警告,以便团队采取行动。但在闪电贷攻击中,资金通常在单笔交易中被盗,因此任何预警都太晚了,无法防止巨大损失。
威胁检测模型可以用来发现内存池中的恶意交易,在节点处理它们之前,交易就存在于内存池中,但黑客可以通过使用flashbot等服务直接将交易发送给矿工,从而绕过这些检查。
加密安全的未来
我对加密安全的未来有两个预测:
1.我相信最好的团队将从把安全视为基于事件的实践转变为将其视为一个连续的过程。他们将:
对主代码库中的每一个新增代码执行静态分析和模糊处理;
对每一次重大升级都进行正式验证;
建立具有响应动作的监视和警报系统;
让一些团队成员制定和维护安全自动化和攻击响应计划。
安全工作不应在审计后结束。在许多情况下,例如Nomad跨链桥黑客攻击,其漏洞是基于审计后升级中引入的错误。
2.?加密安全社区应对黑客攻击的过程将变得更有组织和精简。每当黑客攻击发生时,贡献者就会涌入加密安全群组聊天,渴望提供帮助,但缺乏组织意味着重要细节可能会在混乱中丢失。我认为在未来,这些群聊将转变成更有条理的组织形式:
使用链上监控和社交媒体监控工具,快速检测主动攻击;
使用安全信息和事件管理工具协调工作;
采取独立的工作流程,使用不同的渠道沟通黑白客的工作、数据分析、根本原因和其他任务。
要以一种优先考虑用户隐私、安全和控制权的方式构建Web3身份层次。为了给世界创建一个开放的金融系统,我们需要确保每个人都可以使用Web3.
1900/1/1 0:00:00金色财经报道?区块链9月23日讯?Layer1区块链公司Zilliqa宣布推出Web3Console游戏机,这款设备支持基于Zilliqa协议的游戏、Web3钱包和挖矿APP.
1900/1/1 0:00:00特别感谢KarlFloersch和TinaZhen对本文早期版本的反馈和审阅。最近,关于高度去中心化的DAO行不通的观点有很多讨论,DAO治理应该开始更接近于传统公司的治理为了保持竞争力.
1900/1/1 0:00:00Infura是以太网络API的重要接口,开发者通过Infura可实现一键接入以太坊。Infura和MetaMask都是由以太坊基础设施公司ConsenSys推出.
1900/1/1 0:00:00头条▌报告:中国数字藏品市场规模五年内预计达到280亿元金色财经报道,艾瑞咨询发布《中国数字藏品行业研究报告》.
1900/1/1 0:00:00加密寒冬中,协议DAO需具备良好的财务状况以抵御各类风险。撰文:Jake、Stake编译:aididiaojp.eth,ForesightNews市场已陷深熊,许多DAO及其贡献者开始怀疑他们能.
1900/1/1 0:00:00