CN114285640B - 面向区块链中以太坊节点日蚀攻击的检测系统及检测方法 - Google Patents
面向区块链中以太坊节点日蚀攻击的检测系统及检测方法 Download PDFInfo
- Publication number
- CN114285640B CN114285640B CN202111598676.1A CN202111598676A CN114285640B CN 114285640 B CN114285640 B CN 114285640B CN 202111598676 A CN202111598676 A CN 202111598676A CN 114285640 B CN114285640 B CN 114285640B
- Authority
- CN
- China
- Prior art keywords
- node
- information
- target node
- fake
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S40/00—Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
- Y04S40/20—Information technology specific aspects, e.g. CAD, simulation, modelling, system security
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明属于区块链领域,涉及以太坊的网络安全,特别涉及面向区块链中以太坊节点日蚀攻击的检测系统及检测方法;所述方法确定目标节点信息,并计算出可能的伪造节点;根据接口请求检测出目标节点是否有新增连接数;解析目标节点的广播信息和ping‑pong通信消息;根据广播信息检测出伪造节点是否对目标节点进行传入连接通信;根据解析出的ping‑pong信息,对伪造节点进行探活检测,检测出目标节点是否对伪造节点进行传出连接通信;若目标节点有新增连接数,且对于伪造节点进行了传入连接通信和传出通信连接,则检测出目标节点正在遭受Eclipse攻击。本发明实现了对以太坊节点Eclipse攻击检测。
Description
技术领域
本发明属于区块链领域,涉及以太坊的网络安全,特别涉及面向区块链中以太坊节点日蚀(Eclipse)攻击的检测系统及检测方法。
背景技术
区块链技术是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。但随着越来越多的区块链技术应用到行业之中,区块链领域本身的安全漏洞和攻击威胁逐渐暴露出来。
攻击者可以利用基于自动做市商(AMM)的预言机在基于以太坊的去中心化自治数字银行平台上进行了一系列恶意借贷操作,从而给数字银行平台造成损失。目前应用的众多以太坊技术同样存在着许多不可忽视的安全威胁,比如:在以太坊中,路由的更新和查询是靠自身的Kademlia协议来进行的,Kademlia是一种P2P重叠网络传输协议,通过Kademlia协议来查找周围节点的信息,并发现可用节点的更新节点的路由表。而日蚀(Eclipse)攻击者可以通过侵占节点的路由表,将足够多的虚假节点添加到某些节点的邻居节点集合中,从而将这些节点“隔离”于正常区块链网络之外。当节点受到Eclipse攻击时,节点的大部分对外联系都会被恶意节点所控制,由此恶意节点得以进一步实施路由欺骗、存储污染、拒绝服务以及ID劫持等攻击行为。因此,以太坊上存在非常严重的Eclipse攻击。
尽管目前开展了一些关于以太坊安全的研究,但是这些研究主要侧重于数据完整性、共识机制、用户隐私保护和可扩展性等方面。对于以太坊网络层的安全威胁,仍然缺乏有效的检测研究。
发明内容
本发明的目的是提出面向区块链中以太坊节点日蚀攻击的检测系统及检测方法,从以太坊系统架构和实现技术原理出发,研究以太坊网络层的安全性,并针对以太坊系统中存在的上述Eclipse攻击的安全漏洞进行分析实施,从而了解以太坊安全漏洞的原理,挖掘出面向以太坊节点Eclipse攻击方式,进而研究针对上述安全漏洞的检测和防御措施。
在本发明的第一方面,本发明提供了一种面向区块链中以太坊节点日蚀攻击的检测方法,所述方法包括:
确定作为目标节点的以太坊诚实节点的IP地址、端口信息以及ID信息,并根据目标节点计算出可能的伪造节点;
根据目标节点的IP地址和端口信息,构建出JSON-RPC接口请求,并根据该接口请求检测出目标节点是否有新增连接数;
根据目标节点的IP地址和端口信息,解析出目标节点的广播信息和ping-pong通信消息;
判断解析出的广播信息中是否存在空值或者重复值,从而检测出目标节点是否接收到伪造节点的传入连接;
根据解析出的ping-pong信息,对伪造节点进行探活检测,统计出伪造节点接收到目标节点的传输连接的数量,从而检测出目标节点是否向伪造节点发送传出连接;
若目标节点有新增连接数,且对于伪造节点进行了传入连接通信和传出通信连接,则检测出目标节点正在遭受Eclipse攻击。
在本发明的第二方面,本发明还提供了一种面向区块链中以太坊节点日蚀攻击的检测系统,包括可视化模块和日蚀攻击检测模块;所述可视化模块包括输入单元以及显示单元,所述日蚀攻击检测模块包括计算单元、接口检测单元、信息解析单元、传入检测单元、传出检测单元以及输出检测单元;
所述输入单元用于输入目标节点的IP地址、端口信息和ID信息;
所述显示单元用于显示所述日蚀攻击检测模块的实时检测结果;
所述计算单元用于根据目标节点计算出可能的伪造节点;所述接口检测单元用于根据目标节点的IP地址和端口信息,构建出JSON-RPC接口请求,并根据该接口请求检测出目标节点是否有新增连接数;
所述解析单元用于根据目标节点的IP地址和端口信息,解析出目标节点的广播信息和ping-pong通信消息;
所述传入检测单元用于判断解析出的广播信息中是否存在空值或者重复值,从而检测出目标节点是否接收到伪造节点的传入连接;
所述传出检测单元用于根据解析出的ping-pong信息,对伪造节点进行探活检测,统计出伪造节点接收到目标节点的传输连接的数量,从而检测出目标节点是否向伪造节点发送传出连接;
所述输出检测单元用于在目标节点有新增连接数时,且对于伪造节点进行了传入连接通信和传出通信连接时,检测出目标节点正在遭受日蚀攻击。
本发明的优点及有益效果如下:
本发明将Eclipse攻击的攻击方式划分为传入连接攻击和传出连接攻击,针对这两种攻击方式,首先根据目标节点的IP地址、端口信息以及ID信息,采用代理IP通过椭圆曲线算法计算出可能的伪造节点,这种计算方式突破了诚实节点对IP数量的限制,能够模拟出更为真实的攻击环境,针对传出连接攻击,我们还进一步的采用了一定的判别方式,生成与诚实节点近距离的可能的伪造节点身份,突破了随机伪造节点身份的远距离性;在利用接口请求检测出目标节点有新增连接数的前提下,通过对目标节点的广播信息和ping-pong通信消息进行解析,判断出这些目标节点是否接收到伪造节点的传入连接以及目标节点是否向伪造节点发送传出连接;当同时进行了传入连接通信和传出连接通信,则检测出目标节点正在遭受Eclipse攻击。
附图说明
图1是本发明实施例中面向以太坊节点Eclipse攻击的检测系统整体架构图;
图2是本发明实施例中面向以太坊节点Eclipse攻击的检测方法流程图;
图3是本发明的Eclipse攻击检测系统传入连接侵占流程图;
图4是本发明的Eclipse攻击检测系统传出连接侵占流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明从以太坊网络层的安全性出发,发现攻击节点可以对诚实节点的传入连接进行侵占以下简称传入连接攻击,也可以对诚实节点的传出节点进行进行侵占以下简称传出连接攻击,具体的,在传入连接攻击中,攻击节点可以在以太坊RLPX网络协议上使用迪菲-赫尔曼(ECDH)算法与诚实节点交换密钥生成临时共享密钥,利用共享秘钥完成攻击节点和诚实节点间的协议握手,确定各自采用的协议版本,实现对P2P消息的协议层的数据分发和处理,最终完成攻击节点对诚实节点传入连接的侵占。而在传出连接攻击中,通过以太坊的节点发现协议将攻击节点的身份信息填充到诚实节点的节点数据库,污染诚实节点的路由表,使得诚实节点主动向攻击节点发起传出连接。
基于本发明分析得到的攻击方式,本发明提出了对应的攻击检测系统和检测方法,用于检测出这些面向以太坊节点Eclipse攻击,保证以太坊节点的安全性,减小了以太坊网络层的安全威胁。
图1是本发明实施例中面向以太坊节点Eclipse攻击的检测系统整体架构图,如图1所示,所述检测系统100包括可视化模块101和日蚀攻击检测模块102;其中所述可视化模块101又分为输入单元1011以及显示单元1012;所述日蚀攻击检测模块102包括计算单元1021、接口检测单元1022、信息解析单元1023、传入检测单元1024、传出检测单元1025以及输出检测单元1026;
其中,所述可视化模块101可以直接通过其输入单元1011填写诚实节点即本发明的目标节点的IP地址,端口信息以及ID信息等,这里的输入单元1011可以是任何的输入设备(InputDevice),包括键盘,鼠标,光笔,手写输入板,游戏杆,语音输入装置等。所述可视化模块101可以直接通过其显示单元1012显示出整个伪造节点与诚实节点的通信详情,以及所述日蚀攻击检测模块的实时检测结果。
所述日蚀攻击检测模块102中的计算单元1021可以根据目标节点的IP地址、端口信息以及ID信息计算出可能的伪造节点。
一方面,对于传入连接过程,以太坊中每个节点都有一个密码学身份,而这个密码学身份是一个椭圆曲线secp256k1的密钥。这些节点用其公钥作为身份认证或节点ID。节点在通信的过程中会验证节点ID是否符合以太坊节点身份规则,不符合则会阻止连接的建立。所以在本发明实施例中,通过椭圆曲线算法生成符合以太坊节点规则的节点ID,即采用代理IP通过椭圆曲线算法随机生成节点私钥和节点公钥,并将所述节点公钥直接作为传入连接通信过程中可能的伪造节点的ID信息;而以太坊节点在新的peer连接时,会根据版本号、协议名字来适配对应的协议,在对应的协议中最终实现对P2P消息的协议层的数据分发和处理。为了确保这些伪造节点能与诚实节点建立连接后进行协议的协商,所以在伪造节点身份时,同时这些伪造节点还可能伪造了所支持的协议、协议版本号、监听端口、等信息。因此,这些伪造节点的身份信息数据如表1所示。
表1以太坊节点身份数据
编号 | 字段名 | 字段说明 |
1 | node_id | 每一个以太坊都有一个唯一的ID用于识别 |
2 | Difficulty | 表示当前区块的难度 |
3 | Protocol | 定义两以太坊节点换数据的方法 |
4 | version | 协议的版本号 |
5 | listenPort | 监听的端口 |
6 | head | 创世区块的区块头 |
另一方面,对于传出连接过程,在以太坊中,一个节点需要通过以太坊的节点发现协议得知其他节点的信息,进而加入到p2p网络中。以太坊的节点发现就是一个寻找邻居节点的过程,基于类似的kademlia算法,使用K桶存放所有发现的节点信息,所以在本发明实施例中,首先会通过椭圆曲线算法生成符合以太坊节点规则的节点ID,即通过椭圆曲线算法随机生成节点私钥和节点公钥,将所述节点公钥与目标节点的ID信息进行异或运算,得到目标节点与节点公钥之间的距离,将满足距离阈值的节点公钥作为传出连接通信过程中的伪造节点的ID信息,这些距诚实节点近距离的节点有可能就是伪造节点,由于节点最大距离是256,所以以太坊节点共有256个K桶,每个桶中最多放k=16个节点并记录了节点的节点ID,距离,端口信息,IP地址等信息,如表2所示。
表2以太坊节点K桶结构
distance 0:[2^0,2^1) | node0 | node1 | node2 | ... | node15 |
distance 1:[2^1,2^2) | node0 | node1 | node2 | ... | node15 |
distance 2:[2^2,2^3) | node0 | node1 | node2 | ... | node15 |
... | node0 | node1 | node2 | ... | node15 |
distance 255:[2^255,2^256) | node0 | node1 | node2 | ... | node15 |
通过上述两种方式,可以计算出不同的可能的伪造节点,针对传入连接通信,本发明认为第一种可能的伪造节点会对目标节点发起传入连接攻击,而针对传出连接通信,我们认为第二种可能的伪造节点会对目标节点发起传出连接攻击,因此在这种方式下,能够针对性的检测出传入连接攻击和传出连接攻击,从而检测出目标节点是否在遭受Eclipse攻击。所述日蚀攻击检测模块102中的接口检测单元1022可以构造出包含net_peerCount方法的JSON-RPC请求,来检测出目标节点是否有新增连接数,在目标节点有新增连接数的前提下,才会调用传入检测单元、传出检测单元进行后续的检测。
在上述建立的过程中,一方面,对于传入连接过程,可能的伪造节点会与目标节点在传输层建立TCP三次握手;目标节点与伪造节点进行各自的密钥交换,并协商出本次通信的共享密钥;根据本次通信的共享密钥确定出版本号和端口信息;基于所述端口信息,伪造节点与目标节点在应用层建立以太坊通信,并交换广播消息和ping-pong通信消息,另一方面,对于传出连接过程,可能的伪造节点向目标节点发起UDP协议的ping请求,并携带该伪造节点的ID信息、端口信息和版本信息等待目标节点响应;目标节点返回pong应答,并将伪造节点的ID信息和端口信息填充到K桶中,所述目标节点发起节点查询,并向其他节点询问附近节点列表;伪造节点根据其满足距离阈值的ID信息作为目标节点的邻居节点向目标节点返回附近节点列表;成功添加到K桶的伪造节点在多轮ping-pong响应的探活后加入目标节点的数据库中。
所述日蚀攻击检测模块102中的信息解析单元1023需要将这些广播消息和ping-pong通信消息检测出来,这些信息能够反映目标节点与可能的伪造节点之间的通信情况,通过这些通信情况才能调用传入检测单元1024和传出检测单元1025进行后续的检测。所述日蚀攻击检测模块102中的传入检测单元1024需要判断出信息解析单元1023中对广播信息的解析结果中是否存在空值或者重复值,如果存在空值或者重复值,则表明该广播信息中与目标节点通信的节点是可能的伪造节点,并确定出该对应ID信息的伪造节点对目标节点进行了传入连接通信,在这个过程中,传入连接通信会进行区块和交易的广播信息,而伪造节点实际上没有真正的信息内容,可能为空值或者直接复制的目标节点发过去的交易信息。所以本发明通过解析广播信息中是否存在空值或者重复值,来判断这个是一个伪造节点的传入连接。
所述日蚀攻击检测模块102中的传出检测单元1025需要将目标节点根据其数据库中可能的伪造节点的ID信息进行检测,从而确定出目标节点向伪造节点发送了传出连接,在这个过程中,由于这些可能的伪造节点成功填充到了目标节点的K桶和数据库中,使得目标节点倾向性的建立传出连接到这些伪造节点上,从而伪造节点能收到目标节点的传出连接,达到了侵占目标节点传出连接的目的。本实施例中通过检测目标节点中的数据库以及K桶来检测是否存在这些可能的伪造节点的ID信息,如果存在这些ID信息,并且伪造节点的数量较多,则表明目标节点的K桶被这些伪造节点所占用,因此,此时目标节点遭受到了这些伪造节点的传出连接。
所述日蚀攻击检测模块102中的输出检测单元1026在目标节点有新增连接数时,且对于伪造节点进行了传入连接通信和传出通信连接时,检测出目标节点正在遭受Eclipse攻击,所述输出检测单元1026需要在接口检测单元1022、传入检测单元1024、传出检测单元1025都输出结果时,才能做出对应判决结果,这个判决结果可以通过所述可视化模块101的显示单元1012显示。通过显示单元1012的判决显示结果可以确定是否减少了诚实节点正常的传入传出连接数,是否阻碍诚实节点与外界通信,最大程度的拥有诚实节点的网络控制权,从而达到检测以太坊节点是否存在Eclipse攻击的可能性。
可以理解的是,一般伪造节点为了避免同步区块带来的验证影响,相对于诚实节点困难度(Total Difficulty,简称TD)而言,伪造节点会将节点困难度进行降低,绕过区块同步。所以,本发明可以通过解析广播信息,得出伪造节点的困难度。如果传入检测单元1024或者传出检测单元1025得出的困难度一致,或者相差不大,且远小于诚实节点困难度,则成功检测出该诚实节点易受到Eclipse攻击。
图2是本发明实施例中一种面向以太坊节点日蚀攻击的检测方法流程图,如图2所示,所述方法包括:
201、确定作为目标节点的以太坊诚实节点的IP地址、端口信息以及ID信息,并根据目标节点计算出可能的伪造节点;
在本发明实施例中,以太坊中存在大量的诚实节点,本发明可以选择其中的一个或者一些诚实节点作为目标节点进行检测,在检测之前,需要确定好该目标节点的IP地址、端口信息以及ID信息,检查填写的目标节点的信息是否有参数错误,如果检查到参数错误,则重新填写这些信息,否则进入后续检测过程。
在本发明实施例中,将目标节点受到的Eclipse攻击分为传入连接攻击和传出连接攻击;这两种攻击方式可能涉及到不同的攻击节点,本发明需要对这些攻击节点进行可能的预测,因此需要分别结合传入连接攻击和传出连接攻击的特性,计算出可能的伪造节点,这些伪造节点可能会作为攻击节点对传入连接过程或/和传出连接过程进行攻击,让目标节点遭受Eclipse攻击,本发明的目的就在于提前预测出可能的伪造节点,再对两个连接的通信过程进行检测,来确定目标节点是否遭受了Eclipse攻击。
因此,在本发明实施例中,对于传入连接过程中的可能的伪造节点,本发明考虑到以太坊每个节点都有一个密码学身份,这个身份是一个椭圆曲线secp256k1的密钥。节点用其公钥作为身份认证或节点ID。节点在通信的过程中会验证节点ID是否符合以太坊节点身份规则,不符合则会阻止连接的建立。所以首先会采用代理IP通过椭圆曲线算法生成符合以太坊节点规则的节点ID,在这个过程中,会利用椭圆曲线算法随机生成节点私钥和节点公钥,并将所述节点公钥直接作为传入连接通信过程中的伪造节点的ID信息;而对于传出连接过程中的可能的伪造节点,本发明考虑到一个节点需要通过以太坊的节点发现协议得知其他节点的信息,进而加入到p2p网络中。以太坊的节点发现就是一个寻找邻居节点的过程,因此可以利用以太坊路由表的Kademila协议提前伪造距诚实节点近距离节点身份,所以仍然会通过椭圆曲线算法随机生成节点私钥和节点公钥,将所述节点公钥与目标节点的ID信息进行异或运算,得到目标节点与节点公钥之间的距离,将满足距离阈值的节点公钥作为传出连接通信过程中的伪造节点的ID信息。
202、根据目标节点的IP地址和端口信息,构建出JSON-RPC接口请求,并根据该接口请求检测出目标节点是否有新增连接数;
在本发明实施例中,构造出包含net_peerCount方法的JSON-RPC请求,来检测出目标节点是否有新增连接数,在目标节点有新增连接数的前提下,才会调用传入检测单元、传出检测单元进行后续的检测,若没有新增连接数,则表明目标节点的网络层状态较为稳定,没有遭到Eclipse攻击。
203、根据目标节点的IP地址和端口信息,解析出目标节点的广播信息和ping-pong通信消息;
在解析目标节点的广播信息和ping-pong通信消息之前,还需要对目标节点与伪造节点的通信过程进行说明:
在传入连接过程中,如图3所示,由于以太坊传入连接是建立在TCP协议之上的,所以底层首先会进行TCP三次握手。伪造节点会在以太坊RLPX网络协议上使用迪菲-赫尔曼(ECDH)算法与目标节点交换密钥生成临时共享密钥,利用共享秘钥完成伪造节点和目标节点间的协议握手,完成握手后,会确定出双方节点各自采用的协议版本,比如ETH,SHH等协议。在协议上进行着包括以太坊交易的处理,区块的广播同步,ping-pong维持等通信。实现对P2P消息的协议层的数据分发和处理,并最终完成伪造节点对目标节点传入连接的侵占。
在传出连接过程中,如图4所示,伪造节点会向目标节点发起UDP协议的ping请求,并携带该伪造节点的ID信息、端口信息和版本信息等待目标节点响应;目标节点返回pong应答,并将伪造节点的ID信息、端口信息和版本信息填充到K桶中,所述目标节点发起节点查询,并向其他节点询问附近节点列表;伪造节点根据其满足距离阈值的ID信息作为目标节点的邻居节点向目标节点返回附近节点列表;成功添加到K桶的伪造节点在多轮ping-pong响应的探活后加入目标节点的数据库中,此时若传出连接还有空闲,将其他可能的伪造节点作为传出连接的目标,并发起TCP协议的请求到伪造节点。从而实现诚实节点主动向伪造节点建立传出连接。
在本发明实施例中,根据上述的传入连接通信过程,传出连接通信过程,以及目标节点正常的通信过程可以解析出目标节点的所有广播信息和将ping-pong通信消息,这些解析结果可能与伪造节点相关,也可能与伪造节点无关,需要在后续的过程中完成具体的检测,当与伪造节点有关时,则需要进行后续的检测。
204、判断解析出的广播信息中是否存在空值或者重复值,从而检测出目标节点是否接收到伪造节点的传入连接;
在本发明实施例中,判断出广播信息的解析结果中是否存在空值或者重复值,如果存在空值或者重复值,则表明该广播信息中与目标节点通信的节点是可能的伪造节点,并确定出该对应ID信息的伪造节点向目标节点发起了传入连接通信,且目标节点接收到了该伪造节点的传入连接,在这个过程中,传入连接通信会进行区块和交易的广播信息,而伪造节点实际上没有真正的信息内容,可能为空值或者直接复制的目标节点发过去的交易信息。所以本发明通过解析广播信息中是否存在空值或者重复值,来判断这个是一个伪造节点的传入连接。
205、根据解析出的ping-pong信息,对伪造节点进行探活检测,统计出伪造节点接收到目标节点的传输连接的数量,从而检测出目标节点是否向伪造节点发送传出连接;
在本发明实施例中,对目标节点根据其数据库中可能的伪造节点的ID信息,确定出目标节点对这些对应ID信息的伪造节点发起了传出连接通信,在这个过程中,由于这些可能的伪造节点成功填充到了目标节点的K桶和数据库中,使得目标节点倾向性的建立传出连接到这些伪造节点上,从而伪造节点能收到目标节点的传出连接,达到了侵占目标节点传出连接的目的。本实施例中通过检测目标节点中的数据库以及K桶来检测是否存在这些可能的伪造节点的ID信息,如果存在这些ID信息,并且伪造节点的数量较多,则表明目标节点的K桶被这些伪造节点所占用,因此,此时目标节点遭受到了这些伪造节点的传出连接。
206、若目标节点有新增连接数,且对于伪造节点进行了传入连接通信和传出通信连接,则检测出目标节点正在遭受Eclipse攻击。
在本发明实施例中,在目标节点有新增连接数时,且对于伪造节点进行了传入连接通信和传出通信连接时,检测出目标节点正在遭受Eclipse攻击,可以确定是否减少了诚实节点正常的传入传出连接数,是否阻碍诚实节点与外界通信,最大程度的拥有诚实节点的网络控制权,从而达到检测以太坊节点是否存在Eclipse攻击的可能性。
在本发明的描述中,需要理解的是,术语“同轴”、“底部”、“一端”、“顶部”、“中部”、“另一端”、“上”、“一侧”、“顶部”、“内”、“外”、“前部”、“中央”、“两端”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明中,除非另有明确的规定和限定,术语“安装”、“设置”、“连接”、“固定”、“旋转”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (4)
1.一种面向区块链中以太坊节点日蚀攻击的检测方法,其特征在于,所述方法包括:
确定作为目标节点的以太坊诚实节点的IP地址、端口信息以及ID信息,并根据目标节点计算出可能的伪造节点;
采用代理IP通过椭圆曲线算法随机生成节点私钥和节点公钥,并将所述节点公钥直接作为传入连接通信过程中的伪造节点的ID信息;或者将所述节点公钥与目标节点的ID信息进行异或运算,得到目标节点与节点公钥之间的距离,将满足距离阈值的节点公钥作为传出连接通信过程中的伪造节点的ID信息,并为每个可能的伪造节点构造出所支持的协议、节点名称和端口信息;
根据目标节点的IP地址和端口信息,构建出JSON-RPC接口请求,并根据该接口请求检测出目标节点是否有新增连接数;
根据目标节点的IP地址和端口信息,解析出目标节点的广播信息和ping-pong通信消息;
判断解析出的广播信息中是否存在空值或者重复值,从而检测出目标节点是否接收到伪造节点的传入连接;
根据解析出的ping-pong信息,对伪造节点进行探活检测,统计出伪造节点接收到目标节点的传输连接的数量,根据其数据库中可能的伪造节点的ID信息,从而检测出目标节点是否向伪造节点发送传出连接;
若目标节点有新增连接数,且对于伪造节点进行了传入连接通信和传出通信连接,则检测出目标节点正在遭受日蚀攻击。
2.根据权利要求1所述的一种面向区块链中以太坊节点日蚀攻击的检测方法,其特征在于,所述检测出伪造节点是否对目标节点进行传入连接通信包括目标节点对广播信息进行解析,若广播信息中存在空值或者重复值,则表明该广播信息中与目标节点通信的节点是可能的伪造节点,并确定出对应ID信息的伪造节点对目标节点进行了传入连接通信。
3.一种面向区块链中以太坊节点日蚀攻击的检测系统,包括可视化模块和日蚀攻击检测模块;其特征在于,所述可视化模块包括输入单元以及显示单元,所述日蚀攻击检测模块包括计算单元、接口检测单元、信息解析单元、传入检测单元、传出检测单元以及输出检测单元;
所述输入单元用于输入目标节点的IP地址、端口信息和ID信息;
所述显示单元用于显示所述日蚀攻击检测模块的实时检测结果;
所述计算单元用于根据目标节点计算出可能的伪造节点;所述接口检测单元用于根据目标节点的IP地址和端口信息,构建出JSON-RPC接口请求,并根据该接口请求检测出目标节点是否有新增连接数;
所述计算单元具体用于采用代理IP通过椭圆曲线算法随机生成节点私钥和节点公钥,并将所述节点公钥直接作为传入连接通信过程中的伪造节点的ID信息;并为每个可能的伪造节点构造出所支持的协议、节点名称和端口信息;
或者还用于将所述节点公钥与目标节点的ID信息进行异或运算,得到目标节点与节点公钥之间的距离,将满足距离阈值的节点公钥作为传出连接通信过程中的伪造节点的ID信息,并为每个可能的伪造节点构造出所支持的协议、节点名称和端口信息;
所述解析单元用于根据目标节点的IP地址和端口信息,解析出目标节点的广播信息和ping-pong通信消息;
所述传入检测单元用于判断解析出的广播信息中是否存在空值或者重复值,从而检测出目标节点是否接收到伪造节点的传入连接;
所述传出检测单元用于根据解析出的ping-pong信息,对伪造节点进行探活检测,统计出伪造节点接收到目标节点的传输连接的数量,从而检测出目标节点是否向伪造节点发送传出连接;所述传出检测单元具体用于目标节点根据其数据库中可能的伪造节点的ID信息,确定出目标节点对对应ID信息的伪造节点进行了传出连接通信;
所述输出检测单元用于在目标节点有新增连接数时,且对于伪造节点进行了传入连接通信和传出通信连接时,检测出目标节点正在遭受日蚀攻击。
4.根据权利要求3所述的一种面向区块链中以太坊节点日蚀攻击的检测系统,其特征在于,所述传入检测单元具体用于若广播信息中存在空值或者重复值,则表明该广播信息中与目标节点通信的节点是可能的伪造节点,并确定出该对应ID信息的伪造节点对目标节点进行了传入连接通信。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111598676.1A CN114285640B (zh) | 2021-12-24 | 2021-12-24 | 面向区块链中以太坊节点日蚀攻击的检测系统及检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111598676.1A CN114285640B (zh) | 2021-12-24 | 2021-12-24 | 面向区块链中以太坊节点日蚀攻击的检测系统及检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114285640A CN114285640A (zh) | 2022-04-05 |
CN114285640B true CN114285640B (zh) | 2023-07-18 |
Family
ID=80874950
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111598676.1A Active CN114285640B (zh) | 2021-12-24 | 2021-12-24 | 面向区块链中以太坊节点日蚀攻击的检测系统及检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114285640B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115208767B (zh) * | 2022-05-12 | 2023-10-27 | 哈尔滨工业大学(深圳) | 基于仿真技术的以太坊网络探测方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103297563A (zh) * | 2013-06-14 | 2013-09-11 | 南京邮电大学 | 一种基于身份认证的防止重复地址检测攻击的方法 |
CN110650128A (zh) * | 2019-09-17 | 2020-01-03 | 西安电子科技大学 | 一种检测以太坊数字货币盗取攻击的系统及方法 |
CN112364304A (zh) * | 2020-11-20 | 2021-02-12 | 深圳前海微众银行股份有限公司 | 一种区块链的日蚀攻击检测方法及装置 |
CN112653682A (zh) * | 2020-12-16 | 2021-04-13 | 深圳前海微众银行股份有限公司 | 一种区块链日蚀攻击检测的方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100949808B1 (ko) * | 2007-12-07 | 2010-03-30 | 한국전자통신연구원 | P2p 트래픽 관리 장치 및 그 방법 |
US11729186B2 (en) * | 2018-10-04 | 2023-08-15 | Research Foundation Of The City University Of New York | Blockchain architecture for computer security applications |
-
2021
- 2021-12-24 CN CN202111598676.1A patent/CN114285640B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103297563A (zh) * | 2013-06-14 | 2013-09-11 | 南京邮电大学 | 一种基于身份认证的防止重复地址检测攻击的方法 |
CN110650128A (zh) * | 2019-09-17 | 2020-01-03 | 西安电子科技大学 | 一种检测以太坊数字货币盗取攻击的系统及方法 |
CN112364304A (zh) * | 2020-11-20 | 2021-02-12 | 深圳前海微众银行股份有限公司 | 一种区块链的日蚀攻击检测方法及装置 |
CN112653682A (zh) * | 2020-12-16 | 2021-04-13 | 深圳前海微众银行股份有限公司 | 一种区块链日蚀攻击检测的方法及装置 |
Non-Patent Citations (3)
Title |
---|
An evaluation of uncle block mechanism effect on Ethernet selfish and stubborn mining combined with an eclipse attack;Yizhong Liu;《IEEEXplore》;全文 * |
区块链安全综述;张杰;;西安文理学院学报(自然科学版)(第03期);全文 * |
基于免疫的区块链eclipse攻击的异常检测;吕婧淑;杨培;陈文;操晓春;李涛;;计算机科学(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114285640A (zh) | 2022-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bhushan et al. | Man-in-the-middle attack in wireless and computer networking—A review | |
JP4955811B2 (ja) | 構造化ピアツーピア・ネットワークにおいて悪意のあるピアを検出するためのプロクタ・ピア | |
Sanmorino et al. | DDoS attack detection method and mitigation using pattern of the flow | |
CN101110762A (zh) | 一种Ad hoc网络安全路由方法 | |
Kwon et al. | An incrementally deployable anti-spoofing mechanism for software-defined networks | |
CN101637004B (zh) | 用于通信系统中的前缀可达性的方法 | |
Tapsell et al. | An evaluation of the security of the bitcoin peer-to-peer network | |
Franzoni et al. | AToM: Active topology monitoring for the bitcoin peer-to-peer network | |
CN114285640B (zh) | 面向区块链中以太坊节点日蚀攻击的检测系统及检测方法 | |
Jadav et al. | GRADE: Deep learning and garlic routing-based secure data sharing framework for IIoT beyond 5G | |
KR20100083681A (ko) | 무선 센서 네트워크에서의 악성 노드 탐지 장치 및 탐지 방법 | |
CN109218292A (zh) | 一种电力网络边界安全协同防御方法及系统 | |
Altaweel et al. | On detecting route hijacking attack in opportunistic mobile networks | |
Ramamoorthi et al. | Energy aware Clustered blockchain data for IoT: An end-to-end lightweight secure & Enroute filtering approach | |
Fan et al. | The security investigation of ban score and misbehavior tracking in bitcoin network | |
Durga Devi et al. | Malicious node and malicious observer node detection system in MANETs | |
Pradhan et al. | Blockchain based security framework for P2P filesharing system | |
Lara et al. | Trends on computer security: Cryptography, user authentication, denial of service and intrusion detection | |
Brighente et al. | Knocking on Tangle's Doors: Security Analysis of IOTA Ports | |
Yasir et al. | Cyber DoS attack-based security simulator for VANET. | |
Balaji et al. | Gray-Hole Attack Minimization in IoMT with 5G Based D2D Networks. | |
CN114389859B (zh) | 面向区块链中以太坊节点女巫攻击的检测系统及检测方法 | |
Asadzadeh Kaljahi et al. | TSSL: improving SSL/TLS protocol by trust model | |
Manale et al. | Security of communication 5G-V2X: A proposed approach based on securing 5G-V2X based on Blockchain | |
Latah et al. | CWT-DPA: Component-wise waiting time for BC-enabled data plane authentication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |