区块链攻击向量:区块链技术的主要漏洞(下)
导语:在本文中,我们概述了关键的区块链安全漏洞,探讨了常见的攻击媒介,并分享了我们关于减轻允许这些攻击的风险的知识。
区块链攻击向量
有数百种可能的区块链攻击针对应用程序的不同部分。让我们看一下关键向量和攻击示例:
点对点攻击
点对点(P2P)网络使区块链成为分布式账本。它包括合作处理交易、管理用户和管理区块链的所有网络参与者。
对于去中心化应用程序(dApp)和加密钱包,主要的网络要求是与可信的区块链节点提供商建立安全连接。此外,钱包和 dApp 之间需要安全连接,并且必须能够处理其他方的不当行为。
常见P2P攻击示例:
Sybil攻击是通过向同一节点分配多个标识符来安排的。区块链网络没有可信节点,每个请求都会发送到多个随机节点。在女巫攻击期间,黑客控制多个网络节点。然后受害者就会被假节点包围,关闭他们的所有交易。最后,受害者容易受到双花攻击。
Eclipse 攻击需要黑客控制大量 IP 地址或拥有分布式僵尸网络。然后攻击者覆盖受害节点的tried表中的地址,并等待受害节点重新启动。重启后,受害节点的所有传出连接将被重定向到攻击者控制的IP地址。这使得受害者无法获得他们感兴趣的交易。
时间劫持利用了区块链时间戳处理中的理论上的漏洞。黑客改变节点的网络时间计数器并迫使节点接受替代区块链。当恶意用户将多个具有不准确时间戳的虚假对等点添加到网络时,就可以实现这一点。
Apriorit 针对保护 P2P 网络的建议:
使用 HTTPS 连接并验证 SSL 证书。这些措施允许网络节点建立安全连接并加密传输中的数据。这可以保护数据免遭盗窃和劫持。
验证资源真实性。创建执行恶意操作的流行资源的精确副本是一种常见的黑客技术。您可以通过验证资源名称等方式来验证可信资源。
提高用户的可信度。在纯粹的对等网络中,所有实体都是平等的,但您可以更改这一点以向值得信赖的用户授予更多权限。例如,您可以增加创建新身份的成本,需要某种类型的信任证明才能加入网络,并根据声誉确定用户的权力。
远程过程调用协议攻击
基于远程过程调用(RPC)协议的节点促进区块链中网络元素之间的通信。特别是,RPC 节点允许检索交易历史等数据、执行智能合约、传达新交易以及维护网络共识。
对 RPC 节点的攻击旨在破坏或劫持此通信。此类攻击的常见示例:
分布式拒绝服务(DDoS) 攻击允许黑客通过重复请求消耗所有处理资源来瘫痪网络节点。DDoS 攻击者的目标是断开网络的矿池、电子钱包、数据交换和其他元素。
窃听似乎不会停止节点操作,但它允许恶意行为者监听节点的通信。黑客可以注入恶意代码或利用后门来获得对节点数据、网络路由和通过节点传输的敏感信息的未经授权的访问。根据这些信息,黑客可以找到区块链中的漏洞并计划下一次攻击。
网络钓鱼是一种普遍存在的社会工程攻击,黑客通过让用户点击恶意链接或将数据提交到虚假网站来窃取用户的敏感信息。通过这种方式,黑客可以获取用户与区块链节点通信的信息,进行模仿,从而获得对用户钱包的访问权限。
Apriorit 针对保护 PRC 节点的建议:
运行验证器。验证器在将新交易添加到区块链之前根据网络规则和网络安全标准检查新交易。验证可能会减慢交易处理速度,但它减少了将欺诈或恶意交易永久记录到区块链的机会
实施用户身份验证和访问控制。所有用户在访问区块链网络之前都应确认自己的身份。他们还应该能够仅访问他们需要的元素。此类访问限制可减少黑客未经授权访问用户帐户时的攻击面。
共识攻击
共识机制意味着大多数网络节点必须就区块链系统的状态以及系统的任何更改达成一致。共识机制有多种,其中关键的有:
工作量证明 (PoW),参与者竞争解决复杂的数学难题。第一个解决难题的人有权向区块链添加新区块,并获得加密货币奖励。
权益证明(PoS),根据加密货币的所有权或权益选择新区块的创建者。拥有较高权益的参与者有更大的机会被选择来验证交易并创建新区块。PoS 被认为比 PoW 更节能,因为它不需要相同水平的计算工作。
这些机制通过防止恶意行为者操纵系统来帮助维护区块链的完整性和安全性。黑客可以尝试通过以下类型的攻击来操纵网络共识:
远程 攻击针对使用 PoS 共识算法的网络,用户可以根据自己持有的代币数量来挖掘或验证区块交易。在远程攻击中,黑客使用购买或窃取的具有相当大代币余额的私钥,该私钥过去已用于验证。然后,黑客可以生成区块链的替代历史记录,并根据 PoS 验证增加奖励。
当黑客控制 51% 的网络哈希率并创建一个最终优先于现有分叉的替代分叉时,就有可能发生 51%或多数攻击。所有小型加密货币都面临着多数攻击的风险。由于这些加密货币吸引的矿工较少,攻击者只需租用计算能力即可获得网络的大部分份额。
当攻击者创建两个冲突的交易时,就会执行竞争攻击。第一个交易被发送给受害者,受害者接受付款(例如发送产品),而无需等待交易确认。与此同时,向攻击者返回相同数量的加密货币的冲突交易被广播到网络,最终使第一笔交易无效。
Apriorit 确保区块链共识的建议
落实处罚制度。这样的系统应该检测有害活动并向负责任的节点分配惩罚。例如,这可以通过锁定一些治理参与者并拥有一组随机的见证人来验证每个操作来完成。
延迟区块链确认。许多针对共识算法的攻击需要在网络节点捕获恶意活动之前快速执行。您可以手动减慢交易确认速度,以便有更多时间来检测有害操作。
加密攻击
加密算法帮助区块链保护数据和交易免遭窥探。恶意行为者可以针对依赖薄弱协议或在加密实现中存在错误的网络。此类攻击可帮助黑客窃取数据或资金,或获取有关网络的更多信息以准备下一次攻击。
常见的加密攻击:
哈希冲突是哈希函数错误,它会为任何大小的输入生成固定大小的数组。当两个不同的输入生成相同的输出时,就会发生哈希冲突。如果新交易与现有交易具有相同的哈希值,这可能是一个严重的问题。
私钥预测是尝试猜测或暴力破解与特定用户或实体关联的私钥。此类预测可以基于字典攻击、键盘记录、社会工程和其他攻击向量。
Apriorit 对区块链加密的建议
使用可信且强大的加密算法。您可以实施 TLS、RSA、SHA-256 或任何其他加密算法来保护您的交易。请务必研究您选择的算法并遵循实施最佳实践,以降低创建漏洞的风险。
实施多重签名钱包。这种类型的钱包需要至少两个私钥来签署交易。这样,即使黑客获得了合法用户的私钥,也无法利用它来窃取用户的资金或数据。
交易攻击
恶意行为者通常以区块链网络内的交易为目标。他们的目的是损害交易的完整性、保密性或可用性。此类攻击针对的是智能合约、网络设计以及管理网络内交易的实施算法中的漏洞。黑客可以通过以下方式攻击交易:
交易延展性攻击,旨在诱骗受害者支付两次。例如,在比特币网络中,每笔交易都有一个哈希值,即交易 ID。如果攻击者设法更改交易的 ID,他们可以尝试将具有更改后的哈希值的交易广播到网络,并在原始交易之前对其进行确认。如果成功,发送者将认为初始交易失败,而资金仍将从发送者的帐户中提取。
验证攻击旨在滥用交易验证过程。所有区块链交易都需要经过用户验证才能被认定为有效,这需要时间。攻击者可以利用这种延迟来欺骗系统在多个交易中使用相同的硬币或代币。
时间锁定交易攻击允许黑客利用与时间锁定交易相关的漏洞,这些交易在未来特定时间或满足某些条件之前无法添加到区块链中。
Apriorit 对区块链交易的建议
防止双重支出。像Vector 76这样的双花攻击是共识算法滥用的常见结果,即用户在看似相同的交易中花费了两次代币。您可以通过在侦听期间监控收到的交易、转发双花尝试、插入其他节点来观察交易以及拒绝直接传入连接来防止此问题。
使用时间锁智能合约。这种类型的智能合约为交易添加了各种基于时间的约束。时间锁智能合约通常会强制执行一段时间延迟,在此期间用户无法执行指定的操作。这使得网络节点有时间做出决策和检测可疑交易。
结论
尽管区块链的受欢迎程度仍在上升,但越来越多的针对区块链的网络攻击可能会对这项技术的声誉产生负面影响。虽然存在多种可能的攻击和滥用漏洞,但了解核心区块链安全威胁和攻击向量使您有机会实施可靠的安全措施。能够抵御主要的区块链攻击可以帮助您提高对产品的信任并避免被黑客攻击的负面后果。
发表评论