
闪电网络最新漏洞分析:仅需攻击85个节点便可窃取闪电节点通道资金
以色列最高学府希伯来大学工程与计算机科学学院的副教授Aviv Zohar以及希伯来大学硕士研究生Jona Harris近日发布了一份研究论文《Flood&Loot:一种针对闪电网络的系统性攻击》。提出一种闪电网络的系统性攻击,攻击者通过对闪电网络进行系统攻击,可窃取锁定在支付通道中的资金。在此攻击中,攻击者会迫使大量受害者向区块链索要资金,然后攻击者可利用拥塞窃取在截止日期之前未领取的资金。该论文证明,只需 85 个同时被攻击的通道就可保证攻击者可以窃取一些资金。此外,该论文还针对此攻击提出了几种缓解技术。
众所周知,闪电网络支付通道网络容易受到区块链拥塞的影响,如果网络受到攻击,参与者可能无法及时提取资金。 在我们的最新论文中,我们评估了一种这样的攻击:对闪电网络的系统攻击,它可以窃取锁定在支付通道中的资金。
在此攻击中,攻击者立即迫使许多受害者涌向区块链,索要其资金。 然后,攻击者可以利用他们造成的拥塞来窃取在截止日期之前未领取的所有资金。
攻击的后果取决于攻击者选择攻击的闪电网络实现。 我们证明,攻击者只需要同时攻击85个通道就足以窃取通道内的资金(这是假设没有其他区块链交易争夺区块空间的情况下,这是一个非常乐观的假设)。
除了从总体上了解这种攻击及其后果外,在这篇文章中,我们还提出了几种缓解这种攻击的技术。
注意:攻击可能会使无辜用户的资金被盗。 不要在家尝试这种攻击。 不幸的是,目前还有任何协议更改可以将其完全消除。 本文的研究结果已在发布前与三个主要闪电网络客户端实施的开发人员共享。
攻击细节
该攻击利用了跨多个闪电通道转发付款的机制——哈希时间锁定合同(HTLC)。简而言之,HTLC允许参与者通过无信任的中间节点来路由付款,以确保他们中的任何一个都不会窃取资金。如果这样的节点试图窃取资金,则其对等方可以通过将交易发布到区块链来索取资金,但只能在有限的时间内进行。正如我们在工作中所显示的,相对容易使无辜的闪电节点涌入区块链,并利用此时间限制来窃取资金。
HTLC背后的关键思想是,在建立HTLC之后,通过提供一个秘密(secret)(一种哈希原像),付款被通过目标节点从路径中的上一个节点“扯出”。攻击者将在他自己的两个节点之间路由付款,并在路径的末尾提取付款。当付款最终要被从源节点提取时,他将拒绝合作——迫使受害者通过区块链交易进行索要。
这个拓扑示例显示了攻击者的节点以及他与受害者共享的通道
该攻击分为四个主要阶段:
一 建立通道
攻击者控制两个闪电节点,分别代表源节点和目标节点。 源节点打开了许多潜在受害者的通道,可能每个受害者都有多个通道。 这些通道是由攻击者的源节点发起和提供资金的(目标节点可以远离受害者,但在下面的图中,我们简化了过程,并仅显示了一条很短的简单路径)。
阶段1:建立通道
二 使用HTLC付款加载通道
设置完所有通道后,源节点将开始向目的地节点进行许多HTLC付款,并通过每个源节点的通道进行路由。 源节点发送允许中继的最大金额,并将其分配到尽可能多的付款中(受害人允许的数量)。
作为HTLC机制的一部分,目标节点应该通过发回一组HTLC秘密(secret)来接受付款。 这个攻击将避免这样做,直到源节点完成转发所有付款为止。
阶段2:使用HTLC付款加载通道
三, 解析最后一跳的付款
在成功完成所有付款的发送并将HTLC添加到目标节点的通道后,目标节点将通过返回所需的secret来解析所有付款,并为自己索取这些资金。 此时,目标节点可以正常关闭其通道,并保留源节点发送的资金。 一旦每个受害者获取了这些secret,他就会将其发送回源节点,要求解析HTLC,并将其数量移至通道的受害者一侧。 源节点拒绝解析付款,并忽略来自其受害者的任何进一步消息。
阶段3:在最后一跳解析付款
四 等待到期并收集未花费的HTLC
在这个时候,每个受攻击的通道都充满了尚未解析的HTLC,受害者知道它们的secret。 由于攻击者的源节点不合作,因此受害者可以获取这些付款的唯一方法是关闭其通道并在区块链上声明HTLC。 受害者有有限的时间(以区块为单位)来要求付款(如果节点不知道这些secret,则有时间限制,在这种情况下,资金应由源节点要求)。
一旦它们过期,HTLC的输出就会被攻击者花费。 尽管受害者仍然可以在到期后要求HTLC,但是特定的协议详细信息为攻击者提供了很大的优势:
-
受害人在发布交易时无法设置交易费用。 该费用是在打开通道时确定的
-
攻击者可以按自己的意愿为自己的交易设置费用,并替换到期后仍未确认的任何受害者交易(使用“替换费用(Replace-By-Fee)”策略)
通过攻击多个通道并强迫所有通道同时关闭(为所有HTLC设置相同的到期时间),某些受害者的HTLC声明所有权交易将无法得到及时确认,攻击者将窃取它们。
因此,攻击者保留了一些本应留给受害者的资金(受害者下一跳的资金已发送至攻击者的目标节点)。
阶段4:到期后收集未使用的输出
模拟结果
为了显示攻击的可行性,我们在比特币测试网络regnet上的本地闪电网络上进行了模拟。 我们实施了攻击者节点的原型,能够阻止HTLC secret的传输,而忽略解析HTLC的请求,并发布增加费用的HTLC声明所有权交易。 由于LND是当今最流行的闪电实施方案(据报道,网络上90%以上的闪电网络节点都运行LND),因此我们使用它来模拟受害节点。 如下图所示,即使向受害者的交易分配了区块中所有可用空间(最大区块大小),攻击85个通道也能确保成功进行攻击。 每增加一个通道,其所有资金也将被盗。
针对不同数量的受攻击通道和区块大小,成功窃取的HTLC的数量。 比特币当前的最大区块大小为4M(与绿线相对应)。 实际上,闪电交易的可用空间少于全部。
如图所示,当每个区块中的可用空间减少时,窃取相同数量的HTLC所需要的受害者会更少。 我们证明,当攻击者使用“联合最小化”策略(如下所述)时,可能就是这种情况。
针对不同数量的受攻击通道和块大小,成功窃取的HTLC的数量。比特币当前的最大块重为4M(与绿线相对应)。实际上,闪电交易的可用空间少于全部
如图所示,当每个区块中的可用空间减少时,需要更少的受害者才能窃取相同数量的HTLC。我们证明,当攻击者使用“feerate-minimization(费率最小化)”策略(如下所述)时,可能就是这种情况。
攻击放大
每个受害者交易所支付的费用均来自通道的Feerate参数。这个feerate由通道的发起者(在我们的情况下为攻击者的源节点)确定并支付。在打开通道之前,另一个节点必须接受通道设置的feerate。如果节点符合其对区块链费用的估计,则节点同意设置一个feerate,由bitcoind的估算方法确定。从下图可以看出,feerate的估算值可能会在相对较短的时间内发生很大的波动。当单方面关闭该通道时,在某个时间点确定的通道feerate可能不适用于以后的时间。
Bitcoind估算的用于立即确认的Feerate(聪/字节)
除了设置初始通道feerate之外,通道的发起人还可以在通道开放后的任何时间提出新的feerate,以将其调整为当前的区块链费用状态。闪电协议指出,在我们的情况下,另一方(即受害者)不允许提出任何feerate的更新请求。在“feerate-minimization”策略中,攻击者在可能的情况下(即,在区块链费用较低时(因此另一方会同意这一更改))使用费用更新机制降低通道的feerate,但从在区块链费用高时进行更新。一旦通道的费用率与实际的区块链费用率之间的差异变得很大,攻击者就可以开始启动所有HTLC付款并发起攻击。在下图中,我们看到了当攻击者持续3天和7天使用feerate-minimization策略时,受害者可用的平均区块空间。例如,当攻击者试图在开始攻击前7天将费用降到最低时,受害人只有58%的时间可以使用平均一半的区块空间,或者更多(在2个月的时间内收集数据)
当使用“feerate-minimization”策略时,受害者交易可用的平均区块空间
寻找潜在的受害者
在这项工作中,我们还表明,找到潜在受害者对于攻击者来说并不是一件工作量很大的事情。 为了使节点成为攻击的受害者,节点只需要接受与攻击者打开通道的请求。 如闪电协议中所述,节点可以通过响应“ accept_channel”消息来显示其打开通道的意愿,这时候并不需要真的打开通道。 我们进行了一项实验,其中测试了网络上许多节点与未知节点打开一个通道的意愿。 我们发现绝大多数活动节点(〜95%)愿意根据这个请求打开通道,因此很容易成为这种攻击的受害者。
节点对“ open_channel”请求的响应
缓解措施
对于这种攻击,多种技术可以使攻击者的难度加大,并降低攻击的潜在危害。以下是我们提出的一些缓解技术。
1)减少未解析的HTLC的最大数量:攻击者可以通过被攻击通道进行路由的最大付款次数由通道的参数“ max_accepted_htlcs”确定。如果该参数的值保持较低,则攻击者将不得不攻击更多的通道才能成功窃取资金。
2)提前关闭通道:受害人要求其资金的时间(区块)由特定于实现的参数确定。大多数闪电网络实施所使用的值要比它们可能使用的值小得多(以避免过早关闭通道)。可以基于通道的当前状态,例如,未解析的HTLC的数量或总的未解析的值,增加该参数一个恒定因子或者甚至动态地设置。
3)立即释放HTLC声明所有权交易:某些实现在释放HTLC交易以声明其输出之前一直等到确认其已发布的commitment。 节点可以并且应该立即与这个commitment一起释放这些交易,以允许更多交易可以进入的潜在区块。
4)基于信誉的行为:通道的参数会极大地影响成功攻击的可能性。 根据某些策略,节点可以为与为其分配了“良好信誉”的当事方的通道使用更多的许可参数。
尽管有不同的缓解措施可以降低攻击的风险,但是完全消除风险似乎是一项复杂的任务。 我们认为,在许多方面,所利用的漏洞是HTLC工作方式所固有的,因此,如果不对HTLC机制进行重大修改,就无法完全避免攻击。
来源:巴比特资讯
比推快讯
更多 >>- 美民主党参议员提出修正案:拟禁止官员通过推广加密货币获利
- 马斯克呼吁在美成立新政党,继续抨击“大而美”法案
- 黄金创2007年以来最大半年涨幅
- 欧盟将接受特朗普提出的统一关税方案,但寻求关键豁免
- 特朗普本周将与贸易团队会面,以确定国家关税税率
- 特朗普:利率应降至1%,鲍威尔及其委员会都难辞其咎
- 高盛将美联储降息预期时间提前至9月
- Robinhood(HOOD)涨幅扩大至 9.39%,续创历史新高
- Robinhood 计划到年底前将支持的代币化美股种类扩展至“数千种”
- Robinhood 正向欧洲用户赠送 OpenAI 和 SpaceX 代币
- Robinhood 旗下 Layer 2 暂定名为 Robinhood Chain
- 市场消息:REX-OSPREY SOL 现货 ETF 将于周三开始交易
- 消息人士:白宫拟推动将 Cynthia Lummis 提出的条款纳入《美丽大法案》
- Robinhood:ETH 和 SOL 质押服务已面向美国客户开放
- 当前主流 CEX、DEX 资金费率显示市场仍处于看跌态势
- “内幕哥”40 倍比特币和 25 倍以太坊空单目前整体浮盈 19.7 万美元
- 两家韩国今日机构已申请韩元稳定币商标
- 美联储博斯蒂克:没必要通过加息来应对通胀
- 比特币早期布道者 Lou Kerner 加盟播客平台 PodcastOne 担任加密顾问
- WLFI:稳定币 USD1 的 24 小时交易量超越 USDC,达 33.7 亿美元续创新高
- WeWork 联创拟重启区块链碳信用平台 Flowcarbon 的代币发行计划
- Origin Protocol:拟用协议收入回购 OGN 代币
- 白宫经委会主任哈塞特:美联储可能会降低利率
- 美联储博斯蒂克:预计明年将有三次降息
- 某新建地址从 Coinbase 提币 2.46 万枚 SOL 并进行质押
- Metaplanet CEO:今年二季度比特币收益率达到 129.4%
- Robinhood(HOOD)上涨 6.72%再创历史新高,11 时将公布加密相关重要公告
- 彭博 ETF 分析师:支持质押的 SOL 现货 ETF 或将于本周上线
- CertiK 安全报告:钓鱼攻击造成近 4 亿美元损失,成 2025 Q2 最大威胁
- 日本加密交易所运营商 BACKSEAT 完成种子轮融资,累计融资达约 969 万美元
- 1inch 宣布钱包新增支持 Solana
- 美财长:稳定币立法或将于 7 月中旬完成
- 比特币挖矿难度下调 7.48%至 116.96 T
- 美国财长贝森特:关税可能回退至 4 月 2 日水平,由特朗普决定
- 美财长:7 月 9 日前一周将出现一波贸易协议的密集签署
- 美国财长贝森特:即将寻找美联储主席鲍威尔的继任者
- 美国财长贝森特:可能会看到利率下降,通胀非常温和
- 美财长贝森特:特朗普预计将在 7 月 4 日前签署税收法案
- 美股加密货币股普涨,Circle(CRCL) 涨 3.74%
- 最高法院驳回保护 Coinbase 用户数据免受美国国税局审查的请求
- 不丹王国政府地址 20 分钟前将 137 枚 BTC 存入 Binance
- Amber International 签署总额为 2550 万美元的私募认购协议
- 德国储蓄银行拟向私人客户开放加密货币交易服务
- Aptos Labs CEO Avery Ching 被任命为美国 CFTC 数字资产小组委员
- Greeks.live:多数交易者认为空头清算密集可能推动 BTC 价格至 11.3 万美元甚至创新高
- XRP Ledger 的以太坊兼容侧链已在主网上线
- Fundstrat 联创 Tom Lee 被任命为 BitMine 董事长
- 观点:市场对美联储降息前景担忧,本周非农数据或为美指提供支撑
- 罗素 200 强价值指数新增 Strategy
- 拉斯维加斯巨型球 MSG Sphere 展示比特币 Logo