如何利用区块链技术来抵御DDOS攻击
扫描二维码
随时随地手机看文章
区块链改变了原有的数据和通信方式,对现有 Internet 架构提出了挑战,或许我们的架构正在改变。与传统的 C/S 模型相比,区块链是一种开放的、分布式的架构。对大多数人来说,区块链就是加密货币的代称。
公有 vs. 私有区块链
事实上有两种形式的区块链,一种是公有区块链,一种是私有区块链。比特币就属于公有区块链,而一些商业应用就属于私有区块链。与公有云和私有云类似,区分公有和私有区块链的就是谁能够加入到该网络中,运行一致的协议和维护共享的分类账本(ledger)。
透明性是公有区块链的另一个基本属性。个体在进行交易时是匿名的,而交易本身是可以被追踪的。这也就解释了为什么比特币注定是 pseudonymous(使用笔名的)而不是 anonymous(匿名的)。透明性意味着可以追踪可疑的交易并终止洗黑钱这类的服务,包括恶意代理用比特币进行勒索的活动。
相比而言,私有区块链是需要每个实体去识别自己的控制网络。加入私有区块链需要邀请,而私有区块链中的交易也是受管理的。与公有区块链相比,透明性就下降了。
分类账簿中的信息不向所有参与者公开,也不是所有参与者都可以读取。许多规则管理了存储和达成一致的过程,包括决定节点的角色。私有区块链有许多参与的节点,比如设备和用户。然而,这些一致性也是区块链成员进行管理和维护的。
公有区块链将密码学、分布式系统、经济学、博弈论、图论和政治学结合在一起,在这些学科中有一个微妙的平衡。而私有区块链对政治学的依赖程度比较低,也没有确保分类账簿安全的经济动机。在私有区块链中,使用传统的方法和加密技术来提供安全。
公有区块链的透明性也提供了一定级别的安全性,网络实际上是通过工作量证明(Proof of work, POW)来管理的。为了防止其他人向区块链中加入区块,攻击者必须在区块链中拥有 51% 以上的计算能力。而 POW 要求参与者解决一个复杂的密码学难题,才能向链中加入新的交易区块。
权益证明(proof of stake, POS)算法是用来让公有区块链在计算需求上更加高效,也可以减轻对动机的需求。基于 POS 的区块链以一种决定性的方式选择谁可以添加区块。这种方法目前是存有争议的,一些专家质疑在特定情况下解决争执的能力,也有人质疑 POS 算法抵抗区块链攻击的能力。
区块链和安全
在一项针对采用区块链技术企业的调查中,受访者最主要的安全挑战是不理解区块链的工作原理。
在关于区块链如何影响安全的考虑中,Radware 发现主要有对 DNS 的影响,基于区块链的控制和防止 DDOS 攻击的能力。
对 DNS 的影响
去中心化的,安全的 DNS 系统是 DNS 的改革方向,这主要源于针对 Dyn 的 DDOS 攻击以及对威胁 landscape 的影响。事实上,基于区块链的服务可以解决许多互联网目前所面临的可用性和性能的问题。许多前瞻者以及在研究基于区块链的解决方案来让 DNS、Web 站点和其他公共服务更加去中心化,更加安全。比如,Namecoin 正在尝试创建一个基于公有区块链技术的可选的 DNS 系统。Namecoin 用大量的比特币矿机来确保它自己可以抵御 51% 的攻击。Namecoin 背后的思想是一种全分布式的域名事务账本,每个用户都可以添加域名,但是该域名的维护也只能由其属主来维护。这个概念提供一种非监管的、开放的 DNS 架构,这种架构也引出一个新的问题。那就是我们如何防止恶意用户滥用这种服务呢?目前,我们所用的方法就是将 C&C 服务器和其他恶意服务器列入黑名单,但是对于开放的、非监管的系统,这并不是一种可以强制的方法。
市场上的网关解决方案选择将恶意域名加入黑名单。但是不同的网关产品与开放系统是不同步的。这也出现一个问题,那就是谁来维护、执行和监管这个黑名单。
控制混乱
那么是谁在控制区块链呢?这是一个非常重要的问题。公有区块链内在的限制就是不能认为是安全的,直到能够吸引大量的参与者加入链中。在区块链的工作量证明 Proof of work 中,抵御攻击的能力被设定为 51% 的计算量阈值。那如果恶意攻击者在区块链中获取了所有权会怎么样呢?所有链中计算量低于攻击者的都不能低于攻击。只有当所有区块链的参与者的计算能力足够大时,会让攻击变得成本极高, 也就能抵御攻击。
要在新的加密货币中建立可信度,首先要利用比特币中的计算能力。加密货币协作挖矿的边链正在覆盖出于安全考虑建立的区块链,但是动机仍然要矿机同意协作来挖取新货币。这就是为什么 Namecoin 一部分是 DNS,一部分是可交易的货币。
抵御 DDoS
这种新出现的平台的主要优势也是劣势。因为他们是完全分布式的而且本身就可以抵御 DDOS 攻击。但是,基于区块链的 DNS 需要每个参与者存储所有的域名目录和所有的历史记录。这对许多实体来说,是一种不切实际的需求。大家可以想象一个提供 web 服务的系统能够很容易的被客户端和设备访问,但是客户端系统和设备不想或不能存储区块链账本的所有目录。这样的 web 服务将分散的 DNS 服务聚集在一起。
细想加密货币,许多人都用手机等移动设备来进行交易。这样的话,事实上他们是没有加入在区块链的节点。他们使用一种提供对运行在后台的区块链的边界访问。2017 年,许多加密货币交易都成为 DDOS 攻击的受害者,数据泄露都集中于这些加密货币交易网站的门户。这些事件说明为了做到完全的分布式并拥抱新的基于区块链的 Internet,每个设备都要在本地存储上存储全部的 Internet DNS 域名和完全的变更历史。另外一种选择就是,基于区块链的 Internet 必须倒退到依然易被攻击的大规模数据泄露和 DDoS 攻击的门户和网关。换句话说,变化地越多,可能变化越小。
未来是怎样?
区块链是一种新兴的技术,正在不断的发展中。看起来很适合加密货币交易和特定的商业应用,但是作为新 Internet 来说,还需要打破一个全球的标准,仍有很长一段路要走。
只有时间能告诉我们区块链是否能够以及能够多大程度上改变互联网。同时,要在关于区块链的乐观和怀疑中有一个平衡,用已有的一些技术来保护自己。