原文作者:MarkBissell和CMSIntern
第一次记录在案的维京人袭击发生在公元793年,当时斯堪的纳维亚袭击者掠夺了英格兰北部的一座修道院。当地的基督徒无法理解怎么会有人如此亵渎圣地,因此完全没有准备好。谁能想到,坐在成堆金银上的和平主义僧侣会成为异教徒战士的诱人目标?
我想黑客看待当前的加密货币景观的方式与维京人看待8世纪的修道院的方式大致相同——他们眼中闪烁着光芒,认为“这几乎太容易了”。刚接触加密货币且不懂私钥和助记词的富人是Web3中手无寸铁的僧侣;安全实践不佳的年轻DeFi项目是Web3的修道院;BoredApes、协议金库和跨链桥中的资金是Web3的黄金、白银和贵金属。
最近发生了一系列特别糟糕的漏洞事件,现在似乎是解析加密黑客攻击的好时机。让我们为所有水平的加密用户回答相关问题:
普通人:在高层次上,有哪些不同类型的攻击?谁是脆弱的?
Degens:作为加密货币用户,我如何将风险降至最低?最重要的安全最佳实践是什么?
精英:各种攻击实际上是如何工作的,以便我可以自己设计出最具弹性、最安全的系统?
Level1:普通人
黑客分类法
黑客想出了各种各样的方法来窃取加密资产,很难将它们全部分类。Chainalysis在其犯罪报告中用于对黑客进行分类的两个有用维度是受害者类型和一般攻击类型。
资料来源:Chainalysis
从受害者类型来看,我们可以看到对加密货币交易所的攻击曾经很流行,但DeFi协议黑客现在风靡一时。交易所曾经充满粗糙的运营,有大量资金和大量漏洞。黑客攻击就在他们的DNA中,一直追溯到Mt.Gox——一个破产的OG比特币交易所,最初是作为交易“Magic:TheGatheringOnline”卡牌的一种方式。但随着交易所的成熟和发展:
…他们变得更有弹性,黑客在其他地方找到了更容易的选择。
Chainalysis还根据攻击类型检查了黑客攻击——即黑客用来窃取资金的方法:
资料来源:Chainalysis?
这些类别值得更深入地探索。请注意,下面的定义是我自己的,可能并不完全符合Chainalysis对这些黑客的分类方式。事实上,我可能会稍微错误地使用很多术语——我更关心的是理解这些攻击的基本原理以及如何避免它们,而不是精确定义“攻击”和“网络钓鱼攻击”之间的区别。
安全漏洞
由安全漏洞引起的黑客攻击并不是加密所独有的,在这些类型的攻击中使用的一些策略来自Web2剧本。
他们中的一些人使用社会工程来利用我们弱小、脆弱的人类,而不是试图直接攻击代码。例子包括……
数据:3月份Coinbase的现货交易量为494亿美元,较去年同期下降46%:金色财经报道,据 The Block 的数据,随着加密货币价格飙升,第一季度加密货币交易所的整体现货交易量略有上升,TD Cowen 分析师指出,Coinbase 交易所每月的平均每日现货交易量继续呈下降趋势。我们认为美国对加密银行的监管打击(Signature 和 Silvergate 的 24/7 交易支持网络)可能在这方面发挥了作用。
根据 The Block 的数据,3 月份 Coinbase 的现货交易量为 494 亿美元,比去年同期的 918 亿美元下降了 46%。此外,Coinbase 上一季度来自 USDC 的利息收入为 1.46 亿美元,较上一季度增长超过 100%,尽管全年收入有所下降。这一收入有助于提高本季度交易所的收入。?[2023/5/4 14:40:39]
网络钓鱼:当攻击者伪装成信誉良好的来源时,通常在电子邮件或其他消息中,以用户。
一些网络钓鱼尝试比其他尝试更受人尊敬。您可以了解用户是如何在二月份被虚假的OpenSea电子邮件的,这些电子邮件在OpenSea发送有关迁移的真实通知的同时发送看起来真实的OpenSea电子邮件,并且是(c.)来自“opensea.xyz”和“opeansae.io”等域名。
其他网络钓鱼攻击已经变得如此普遍,以至于成为陈词滥调:
你应该提防那些想方设法入侵Discord服务器、Instagram账户、Twitter账户的欺诈者的网络钓鱼尝试……基本上假设每个应用程序上的每个人正试图抢夺你在互联网上钱。
捕鲸:网络钓鱼,但针对组织中的重要人物。
3月份价值5.4亿美元的AxieInfinity黑客攻击就是捕鲸的一个典型例子。朝鲜黑客组织Lazarus了Axie的一名高级工程师,让他通过多轮面试获得一份高额薪酬的假工作。他们发送了一个伪装成工作机会的恶意文件,当工程师下载它时,他们几乎能够控制Axie的Ronin网络。在最后一步——泄露了Axie的DAO持有的密钥之后——黑客拥有了窃取链上资金所需的一切。
诱饵:网络钓鱼,但攻击者通过承诺奖励来诱使用户与他们互动。
如果某件事看起来好得令人难以置信,那就是网络钓鱼。我不想把它告诉你,但埃隆?马斯克唯一免费赠送的只有模因和孩子。因此,对他的加密赠品YouTube直播?要保持怀疑。
假NFT:当黑客说服受害者从欺诈性收藏品中购买NFT。
也就是当您从某人那里购买JPEG时,但事实证明您购买的JPEG并不像您想象的那么值钱,因为它只是一个恰好看起来与您想要的JPEG完全相同的JPEG。
撇开玩笑不谈,假冒产品在许多市场都是一个问题——即使在现实世界中也是如此。一个JPEG价值数千美元,而另一个看起来一模一样的JPEG却一文不值,但同样的原则也适用于冒牌椰子鞋和合成钻石。关键是,确保你购买的NFT是合法的,而100%确定的唯一方法是确认该收藏品的链上地址。
12月Solana链上NFT交易额超7500万美元创Q4最高记录:金色财经报道,据cryptoslam数据显示,12月Solana链上NFT交易额达到75,391,207.42美元,创Q4最高记录。此外,上个月Solana链上NFT销售量达到850,624笔,平均单笔交易额约为88.63美元,独立买家52,992个,独立卖家77,987个。[2023/1/2 22:21:06]
其他安全漏洞涉及更多的技术复杂性,但从根本上说仍然是一种社会工程,因为它们用户自愿签署欺诈性交易,而不是直接抢夺他们的资产。
前端黑客:当协议的用户界面被劫持时,你签署恶意交易。
这最近发生在流行的DeFi协议Curve上,它遭受了所谓的DNS攻击。基本上,黑客能够操纵协议的网站,以便URL“curve.fi”将用户重定向到黑客的IP地址,而不是正确的IP地址。
2021年,当BadgerDAO的前端遭到入侵时,它遭受了更大的攻击。
代币批准漏洞:更多关于这些在Degen部分。
总而言之,许多应用程序要求您授予他们转移您的代币的权限,如果您忘记您授予他们这些权利,他们可能会掠夺您的资产。
是否存在其他类型的安全漏洞?你来打。
Clipper恶意软件:这种类型的恶意软件可以劫持您的剪贴板,因此当您复制并粘贴加密地址以转移资金时,目标地址会替换为黑客的地址。虽然这种类型的黑客是可怕的,但它也是最容易避免的一种。在进行主要转账之前发送测试交易,并在每次发送加密货币时仔细检查目标地址。更好的是,如果您将币发送给使用ENS/UnstoppableDomains/类似服务的人,请使用人类可读的地址。
私钥泄漏和盗窃:当您可以窃取他们的私钥或助记词时,为什么还要用户签署恶意交易?攻击者既可以侵入物理设备,也可以进行网络攻击,例如最近泄露Slope钱包生成的私钥的漏洞。Slope使用了一项名为Sentry的服务,但团队忽略了隐藏敏感细节。结果,成功侵入Sentry的攻击者可以看到用户未加密的私钥。
内鬼:一个项目可能拥有世界上最好的安全措施来抵御外部攻击者,但如果他们不能信任自己的团队成员,这并没有多大用处。一个非常令人沮丧的例子来自VelodromeFinance,最近看到350,000美元从持有该协议运营资金的钱包中流失。事实证明,一位被称为Gabagool的值得信赖的团队成员拿走了这笔资金,并且根据他自己的说法,他这样做是出于绝望,试图弥补他在最近的市场暴跌中的损失。
?恶意文件下载:并非每个看起来像PDF的文件实际上都是PDF。从randos下载和打开文件时要非常小心,并且始终将文件类型加倍——。scr和.exe文件可以在您的计算机上运行危险程序,并且它们可以伪装成无害的PDF。
5美元扳手攻击:如果黑客可以将持有大量加密货币的公共地址与现实世界的身份相关联,那么这个人的在线安全性有多好就无关紧要了。5美元的扳手攻击,也称为“橡胶软管密码分析”,涉及使用物理强制获取某人的私钥。
这些类型的攻击有许多记录在案的案例。有什么方法可以防止这些攻击吗?是的——你可以在需要多方批准交易的更高级的钱包中持有大量加密货币,你可以优先考虑隐私以避免你的身份泄露,你可以学习KravMaga来对抗攻击者。
代码漏洞
代码中的错误可能与安全漏洞一样具有灾难性。稍后我将更深入地介绍这些内容,因为有各种各样的技术失误可能使项目和协议容易受到攻击。
闪电贷攻击
闪电贷是DeFi协议提供的强大工具。Aave,可能是最著名的闪电贷提供商,从高层次上描述了它们:
闪电贷允许您在不提供任何抵押品的情况下借入任何可用数量的资产,只要在一次大宗交易中将流动性返还给协议即可。
由于借入的资金必须在单个原子交易中归还——原子意味着它是“全有或全无”,因此只有在贷方确定将偿还贷款时才会发放贷款——协议在提供闪电贷时几乎没有风险。
能够在没有抵押品的情况下借入任何可用资金,这使得闪电贷成为黑客的主要资产。控制这么多资金为他们原本无法执行的新策略打开了大门,并为他们提供了将小错误转化为可能耗尽项目整个金库资金的攻击所需的杠杆。有关这些黑客机制的更多详细信息,请参阅Gigabrain部分。
有一种值得注意的恶意活动类型我选择不在这篇文章中介绍:rugpulls。rugpull是指团队宣传其项目的代币,说服投资者将资金投入其中,然后带着资金跑掉。有几种不同的方法可以完成rugpull——拉动流动性,限制投资者的抛售能力,或者只是抛售代币。
在不深入讨论什么是黑客攻击、、欺诈和庞氏局的语义的情况下,我只想说rugpull感觉就像是“在加密货币中赔钱的方式”的一个根本不同的子类别,而不是上面提到的黑客攻击。许多rugpull甚至不是非法的,只是不道德的。并且受害者永远不会失去他们购买的代币的所有权——这些代币只是一文不值。尽管如此,回忆加密历史上最大的rugpull可能是一个有趣的记忆之路。?
Level2:Degen
如何将风险降至最低
加密货币的风险足够大,无需担心黑客攻击。“最小化风险”并不是一个使用150倍杠杆的degen通常会考虑的事情,但相信我——自己失去血汗钱比被别人偷走要有趣得多。让我们介绍一些技巧和最佳实践。
1.种子短语与私钥
种子短语是12到24个随机单词的列表,每当您设置非托管钱包时生成,例如MetaMask、Phantom、Coinbase钱包或硬件钱包。这些钱包中的大多数都是“确定性钱包”,这意味着它们遵循允许从单个种子短语生成许多私钥的标准。
您可以将私钥视为解锁各个地址所持有的加密货币的密码——有一个私钥可以访问地址bc1qxy2...拥有的比特币,另一个私钥用于访问地址0xb794f...拥有的ETH,等等其他山寨币。但是,如果这些私钥都是从同一个钱包提供商生成的——例如,它们可能都存储在同一个Ledger钱包中——那么它们都来自同一个种子短语。这使得助记词有点像密码管理器的主密码——如果它丢失或暴露,你可能会在许多不同的账户和链中丢失你的加密货币。
了解私钥和助记词之间的区别可以帮助您避免犯愚蠢的错误。随着最近Solana黑客攻击的展开,很明显攻击者可能可以访问泄露的种子短语,一些人错误地认为他们可以通过在同一个浏览器扩展中创建一个新的“钱包”来保护他们的资金。但是当攻击者可以访问主种子短语时创建一个新的地址/私钥是没有用的。这就像发现您的计算机感染了病并认为从一个浏览器选项页面切换到一个新选项页面会很安全。
2.你的冷钱包有多冷?
钱包概念101:
热钱包:已联网;您一般将它们用于频繁的交易,但除非您想遭受rekt,否则不要在其中存储大量资金。
?冷钱包:离线存储您的密钥;它们主要用于更长时间里购买和持有资产。
甚至你的冷钱包有时也可能与互联网交互——你通常必须通过电缆或蓝牙连接到计算机才能购买和转移硬币。但是当这种情况发生时,你的私钥不会离开冷钱包。它们在钱包内用于签署交易,这些交易是传递给计算机的。
所有这一切……如果你拥有一个硬件钱包,那么你花费了大约100-200美元来安全地离线保存你的密钥。这意味着,如果您随后将助记词复制到Google云端硬盘,或使用MetaMask助记词为硬件钱包播种,或其他任何可能将助记词或密钥暴露在互联网上的事情,那么您就浪费了钱。
3.代币批准
Web3应用程序涉及向智能合约转移代币和从智能合约转移代币,要求用户授予应用程序代表他们使用代币的权限。这是使用这些应用程序所必需的,但让人们陷入麻烦的是当他们批准无限制的代币限额时,这通常是默认金额。更多关于为什么需要限额的细节在这里。
您可以授予应用程序对ERC-20代币和NFT的转让权利。您批准的应用程序越多,您为暴露于漏洞而创建的表面积就越大。这就是为什么仔细监控您的批准并在必要时撤销它们很重要的原因。你应该什么时候撤销?Revoke.cash很好地解释了这一点:
选择撤销哪些许可始终是安全性和便利性之间的权衡。对于某些众所周知的协议,让许可保持活跃状态很可能很好,但对于更新和未知的智能合约,撤销限额更为谨慎。另请记住,某些用例要求您保持限额有效。例如,如果您在OpenSea上有活跃的列表,您需要保留限额才能使列表保持活跃。
......在你开始疯狂撤销之前,请记住,即使撤销网站本身也可能是恶意的,所以请仔细检查你正在使用的内容。只有偏执狂才能生存:
举一个代币批准出错的例子,考虑这个用户的故事,他将一些UNI代币放入一个不起眼的收益耕种协议中,认为在他从池中取出代币后他不再处于危险之中,然后他的代币被耗尽。
或者考虑一个稍微不同但仍然相关的问题,该问题影响了那些忘记他们在OpenSea上批准NFT列表并后来发现他们珍贵的JPEG以低于市场价值的价格出售的用户。
4.MetaMask连接神话
如果您打开MetaMask浏览器扩展程序,您可以查看您当前“连接”到的所有网站。连接到dapp可以让网站查看您的公共地址、钱包内容和交易历史等信息,还可以让dapp发起交易——也就是说,它可以提示MetaMask给你一个弹出窗口,要求你签署一个交易。它不授予dapp代表您执行交易的权限,并且与像我刚才提到的代币限额那样授予对您资产的控制权不同。
将MetaMask与您不再使用的粗略网站断开连接不会受到伤害,但不要落入认为它使您的代币更安全的陷阱。
5.SIM交换:为什么不是所有的2FA都是平等的
你是否认为你的资金是安全的,只是因为你使用了2FA,匿名?再想想。
有几种方法可以设置双因素身份验证(2FA),这是一种应用程序使用用户名和密码之外的额外信息来验证您的身份的方法。最常见的方法之一是基于SMS的2FA。你知道流程:
登录网站??收到带有数字代码的文本??输入???????利润
问题是,黑客已经熟练地电话公司进行“SIM交换”。他们说服公司将您的电话号码与攻击者的SIM卡相关联,使他们能够访问所有适合您的短信和电话。如果他们还找到了您的用户名和密码,则您的帐户已被盗用。游戏结束。
解决方案?使用另一种2FA方法,例如GoogleAuthenticator或类似的基于应用程序的策略。这是完全相同的工作量,但更安全。
6.小心跨链桥
谈到加密黑客,肯定少不了跨链桥。
要将资金从一条链转移到另一条链,例如从以太坊转移到Solana,您需要使用跨链桥。它的工作原理是这样的:你将以太坊和Solana钱包连接到应用程序,将ETH发送到智能合约,等待一段时间,然后你会在Solana钱包中获得“打包”的资产。这些打包的资产与源链上基础资产的价值挂钩,因为您应该能够在桥接回来时赎回它们。
听起来很简单,对吧?您现在可以开始跨链来回折腾资产,就像没有这个桥一样。
......直到出现可怕的错误。
如果当你听到“与……的价值挂钩”和“……应该能够赎回”时,警钟开始在你的脑海中响起,那么恭喜——你正在学习加密货币的工作原理。因为如果一座跨链桥被黑客入侵,其资金在以太坊上被耗尽,那么你在Solana上持有的打包资产现在一文不值。
这里有什么教训?桥接时要小心,当你这样做时,考虑将包装资产交换为目标链上的本地资产,以降低风险。
注意:我刚刚描述的锁定/铸币过程由“无需信任”的桥梁使用,它允许用户始终保留对其资产的控制权。还有一些“可信”的桥梁,它们由中心化实体运营,并带有不同的权衡取舍。例如,受信任的桥可能更安全地抵御智能合约漏洞,但它们会带来中心化公司的私钥被泄露的风险。?
Level3:Gigabrain
让我们更详细地探讨其中的一些漏洞。请将此信息用于善而不是恶。
L1级别的黑客攻击
一些黑客利用了区块链本身的特定功能。以下是我最喜欢的几个:
重放攻击
重放攻击:例如黑客向您发送包含Iyaz的歌曲Replay的mp3文件,但它实际上是恶意软件。
实际上是黑客在特定上下文中获取用户打算发送的交易,然后在另一个上下文中重新使用该交易。
例如,如果您使用您的私钥签署“从我的地址向Vitalik发送1ETH”的交易,那么是什么阻止Vitalik一遍又一遍地广播相同的交易,每次从您那里拿走1ETH?以太坊通过在您发送的每笔交易中包含一个“账户随机数”来解决这个问题,这样任何重播旧交易的尝试都将被识别为重复并被丢弃。
重放攻击也可能发生在出现硬分叉的链上,这就是交易通常包含某种链ID的原因。这样一来,当你在以太坊上发送交易时,收件人就不能在以太坊经典上使用相同的交易来声称你也向他们发送了ETC。
各种L1bug
甚至区块链背后的核心代码也无法避免错误。考虑一下这个历史比特币漏洞列表,以及1840亿枚比特币曾经在一个区块中凭空被创造出来的事实——远超预期的2100万个上限。
当然,其他链也存在漏洞,包括以太坊流行的Geth客户端中的一个漏洞,该漏洞影响了一半以上的网络;Polygon的一个bug将240亿美元的MATIC代币置于风险之中。
关于这些类型的bug,无需多说。它们是噩梦般的燃料,除非您是经验丰富的白帽黑客,否则个人用户对它们无能为力。
独特的L1功能
一些L1具有为黑客创造机会的独特功能。考虑一下Tron的一组多重签名功能,它允许帐户将其签名权限委托给其他地址。这在以太坊上是不可能的。一位聪明的Tron开发人员意识到您可以通过几个简单的步骤来利用这一点……
设置账户A并将其签名权限转移到您控制的账户B。
用一些资金加载账户A——确保它们是TRC-20代币,而不是用于Tron上的gas的原生TRX。
在Twitter上发送数以千计的DM,说您是需要帮助转移这些资金的学生。包括账户A的私钥。
当有人尝试使用私钥登录钱包时,他们会看到TRC-20代币在里面,并试图通过将它们转移到另一个帐户来认领它们。他们只需要一些TRX作为gas费……
当用户将TRX发送到账户A以支付gas费用时,他们会发现他们无法从钱包进行交易,因为它实际上并没有控制自己的签名权限。同时,您使用账户B帮助自己获得他们转入钱包的TRX。
应用程序/项目级别的黑客攻击
大多数时候,L1本身运行得非常好,而正是在它们之上构建的应用程序引入了bug。如果你想要一个几乎详尽的列表,Rekt维护了一个顶级DeFi协议黑客事件排行榜。
Rekt列表中缺少的一个值得注意的黑客攻击,也许是加密历史上最著名的攻击,是2016年的TheDAO黑客攻击。实际上有整本书都写在这上面,所以我的简短解释不会完全公正,但黑客使用了所谓的“重入攻击”。这是当黑客使用自定义智能合约通过重复运行代码来利用另一个智能合约时,目标合约有时间进行自我更新。例如,DAO黑客在TheDAO的智能合约有时间更新其代币余额之前不断提取资金。
我之前快速定义的闪电贷也可用于攻击协议。CreamFinance已经多次被闪贷攻击所消耗,这些攻击操纵了它用来为金库中的代币定价的系统。2021年10月大约1.3亿美元的黑客攻击发生在黑客注意到Cream的内部PriceOracleProxy中的一个漏洞时。该漏洞允许攻击者使用闪电贷来操纵Cream的金库,从而有效地认为1美元的抵押品实际上值2美元。然后,黑客通过针对这种膨胀的抵押品、违约和保留多余的代币进行巨额贷款,耗尽了Cream的资金。
Beanstalk是一种稳定币协议,于2022年4月使用不同的新颖的闪电贷策略遭到黑客攻击。攻击者使用闪电贷临时获得足够的投票权来执行恶意的紧急治理提案,该提案窃取了项目的所有资金。查看这次攻击的事后分析以了解更多细节——这是一个有趣的事件,突出了未经测试的治理机制的弱点。
我们还没有看到的黑客攻击
我们知道存在几种类型的攻击和漏洞,但实际上尚未真实发生。
广泛的密钥生成漏洞
当我们启动一个新的加密钱包时,我们理所当然地认为私钥是以安全、随机的方式生成的。但情况并非总是如此。考虑2017年的这个bug,虽然与区块链无关,但影响了许多使用RSA密钥对的设备。如果攻击者有足够的计算能力,一个特定的芯片组有一个漏洞,使得某些私钥可以从公钥中派生出来。当时,研究人员估计,攻击者“对1024位密钥进行因式分解需要花费大约76美元……而对2048位密钥进行同样的分解需要花费大约40,000美元”,并报告称“由芯片组生成的至少760,000个密钥”处于危险之中。如果在流行的加密硬件钱包中发生如此严重的bug......好吧,那会很糟糕。
量子攻击
量子安全<>加密的当前状态是一个微妙的、引人入胜的话题,大多数人并不完全理解。
每个L1处理量子问题的方式都略有不同,所以我将关注两个大玩家:ETH和BTC。
以太坊的顶尖核心开发团队已经开始研究ECDSA的替代品,我猜他们会遵循美国国家标准与技术研究院(NIST)发布的标准——一个致力于评估量子的团队——抗公钥密码算法。以太坊生态系统不断改进和迭代,因此实施这些新方案应该具有挑战性,但非常可行。甚至以太坊L2路线图也承认STARK优于SNARK的长期优势。
另一方面,比特币并不以接受改变而闻名。如果迫在眉睫,社区不得不在进行重大升级或冒着系统漏洞的风险之间做出选择,有些事情告诉我他们会团结起来进行必要的更新。但相对于其他L1,比特币核心开发者肯定不会是升级方面的先驱。
如果发生量子攻击,会是什么样子?目前约有25%的BTC是使用“支付到公钥”交易存储的,任何拥有足够强大的量子计算机的人都有可能窃取这些交易。量子计算机何时真正变得“足够强大”以能够导出给定公钥的私钥尚不确定,但可以想象的是最快可能在10到20年后。
一旦量子计算机变得足够先进,可以在10分钟或更短的时间内从其公钥中派生出私钥,整个比特币网络将面临风险,因为每笔交易都将面临被黑客入侵的风险。查看这篇文章进行深入了解。
主要51%攻击
Gigabrains应该知道什么是51%攻击,所以我就不详细解释了。所有主要的区块链都使用共识机制,这使得这种攻击成本高得令人望而却步,主要民族国家的攻击可能除外。即使发生攻击,被利用区块链的社交层也可能会启动,社区同意硬分叉以恢复到攻击前的状态。
有趣的是,较小的区块链经历了可被视为51%攻击的漏洞。看看这个故事,一个用户通过一个区块链重组赚了20万美元,该重组在2019年取了Gate.io的ETC。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。