关注:离线网络中的路由劫持和DoS攻击
高天 2020-02-28 19:44:17发布
85537
摘要:攻击者是如何破坏闪电网络上的支付的。  

不久前,耶路撒冷希伯来大学的Saar TochnerAviv Zohar和维也纳大学的Stefan Schmid撰写了一篇《支付网路中的劫持路径》论文。该论文描述了一种拒绝服务(DoS)攻击,该攻击可用于减慢甚至阻止网络上的付款行为,尽管这种行为并没有在闪电网络中出现,但仍然被认为是该网络当下的主要缺陷。

 

Zohar称,因为每次闪电网络付款都跨节点网络传递,以便到达其目的地。如果这些中间节点之一是作恶者,它可能会降低付款速度,而不是像预期的那样进行快捷支付。

 

今日,Saar Tochner再度发文,简述了这种DoS攻击。在本文中,我们将详细了解攻击者是如何破坏闪电网络上的支付的。

 

在我们的新论文中,我们发现了一种新的拒绝服务(DoS)攻击,它可以破坏闪电网络上的支付。这种方法利用路由机制,利用攻击者拥有的少量通道来吸引和劫持事务。

 

通过我们的实验,仅仅5个新通道(花费不到1美元)就足以吸引节点之间的大部分流量(55% - 75%)。有30个通道,攻击者将劫持所有传输的80%以上。

 

链外点对点网络(又称支付渠道网络)是缓解比特币可扩展性问题的一个很有前途的方法,目前比特币每秒只支持几十笔交易。

 

 

什么是闪电网络?

 

闪电网络中的节点避免了每个事务的全局一致的开销。每对节点都在区块链上锁定货币,从而为支付创建一个逻辑“通道”。通过这一渠道进行的支付只是就锁定资金的新分配达成一项协议。区块链事务仅在打开和关闭通道时使用。


 1_2roPEdoc0uw3cGNGC_Mcvg87878.png

闪电网络图,其中通道是边


当一些发送者希望将钱发送到他没有直接连接的节点时,事情就变得更加复杂了。在这种机制中,源节点在网络图中找到一个路径,并在该路径中的所有通道上执行资金的原子转移。为了激励节点参与,源节点为使用每个通道支付费用。节点将此费用发布给所有人查看,发送者可以选择他们喜欢的路由。这是通过一个路由算法来完成的,它更喜欢费用较低的路由(也考虑其他参数)

 

 

路由劫持

 

我们提出的攻击是战略性地创建低费用的通道,从而吸引许多节点通过它们进行路由。然后,攻击者故意不执行传输,从而执行广泛的DoS攻击。

 

1_zs6c3fq43539_uVm7LA_QQ.png

路由劫持

 

我们研究了LNDEclairC-Lightning三种主要的闪电网络实现方式,并模拟了各节点的路由决策。通常,我们发现这三种实现都同样容易受到影响,尽管它们的路由机制略有不同。

 

我们的实验基于实际网络的拓扑结构(为了允许节点路由,该网络是公共共享的)。由于我们不知道传输的实际模式,我们假设网络中的每一对节点都试图在它们之间执行单个事务。


下图显示了我们能够劫持的路径的百分比,它是攻击者添加到网络的通道数量的函数。

 

1_fZ1qRuyc1uDGgx66JPsihA2.png

使用“正确”节点创建5个通道的攻击者将劫持网络中50%以上的事务。如果他创造30个频道,那么他将劫持80%

 

攻击者需要在每个通道中放置的流动性刚好是他希望阻止的最大事物大小

 

我们还可以评估当前图中有多少节点可以串通执行劫持(例如,如果攻击者已经嵌入到网络图中)。下图显示了当前通过最有影响力的节点路由的事务数。

 

1_Z5U0XCJk9rXgXHAC429C8A333.png

通过“最强”节点的事务的百分比

 

这三种实现都在一定程度上随机化了路由(因此它们并不总是使用最低费用的路由)C-lightning的方法是在通道的“权值”函数中加入随机噪声“fuzz”。Fuzz被添加为费用的乘数。我们注意到,这种形式的干扰对阻止攻击作用很小,因为我们使用的费用比网络中的其他公司低得多。

 

1_oHJcsjTiqKGZcu5IN0pbBA44.png

攻击者劫持使用fuzz的节点,因为费用极低

 

Eclair采取的第二种方法是统一选择前三条路线中的一条。作为一种防御策略,这种策略对我们的攻击也很失败,而且在某些情况下会使事情变得更糟。

 

下面的例子解释了为什么:如果一个源试图路由到目标,那么他将被劫持的概率为0.5。但是,根据Eclaire的“前3名”方法,他被劫持的概率为0.66

 

1_6--ErYfmM6-4GsvM3efKsA55.png

从前3条路径中均匀选择比在最优路径中随机选择差

 

最后,LND的方法对最近未能转发事务的节点进行惩罚。此路由中的每个通道都将添加权重随着时间的推移,这种方法应该使节点对劫持和拒绝服务更有弹性。

 

1_6IwUAXON1A-qeadG1EGdZg7.png

审判之间的时间间隔太长,这使得惩罚很小

 

为了避免长时间阻塞失败的路由,LND的惩罚随时间减少。衰减的精确公式取决于两个参数:n(硬编码为100)h(表示从最后一次失败到路由的小时数)图显示了攻击对这些参数的不同值的影响。

 

注意,在攻击期间,攻击者可以增加事务失败之间的时间间隔(闪电中的超时甚至可以是几天!),从而减少对过去失败路由的惩罚。

 

 

结论

 

我们认为路由劫持是对网络的一个重要威胁。如果中继节点要从参与中获益,它们将尝试提取费用,而愿意放弃这些费用的攻击者将能够吸引流量。另一方面,如果发送者在路由上随机发送,而不考虑费用,中介机构将提高传输费用,网络的使用将会非常昂贵。攻击者可能很难识别,因为他们可以使用多个节点(Sybil攻击)

 

目前实现的路由方法不能充分保护网络,但是我们有希望!自从6个月前我们首次发表论文以来,路由机制得到了显著的改进。具体来说,LND在此期间实现了上述方法。不幸的是,正如论文中广泛描述的那样,网络仍然是脆弱的,需要在路由方面做进一步的工作。

 

我们鼓励您在我们的论文全文中看到更多的细节,我们欢迎任何问题,建设性的反馈,以及未来的合作。


论文链接:https://marginalrevolution.com/marginalrevolution/2020/02/how-has-my-thinking-of-prizes-vs-grants-evolved.html

 

作者:Saar Tochner


编译:共享财经Neo

点击进入招聘详情>
微信扫一扫
关注区块链新金融
扫一扫
下载数链APP
内容合作/商务合作:
gxcj@gongxiangcj.com
联系电话:
021-31128751