(19)中华 人民共和国 国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202111598676.1
(22)申请日 2021.12.24
(71)申请人 重庆邮电大 学
地址 400065 重庆市南岸区南 山街道崇文
路2号
(72)发明人 刘媛妮 许家铭 张建辉 王苏南
刘坤 刘熙
(74)专利代理 机构 重庆辉腾律师事务所 5 0215
代理人 卢胜斌
(51)Int.Cl.
H04L 9/40(2022.01)
H04L 9/30(2006.01)
H04L 43/0811(2022.01)
H04L 43/16(2022.01)
H04L 67/133(2022.01)
(54)发明名称
面向区块链中以太坊节点日蚀攻击的检测
系统及检测方法
(57)摘要
本发明属于区块链领域, 涉及以太坊的网络
安全, 特别涉及面向区块链中以太坊节点日蚀攻
击的检测系统及检测方法; 所述方法确定目标节
点信息, 并计算出可能的伪造节点; 根据接口请
求检测出目标节点是否有新增连接数; 解析目标
节点的广播信息和ping ‑pong通信消息; 根据广
播信息检测出伪造节点是否对目标节点进行传
入连接通信; 根据解析出的ping ‑pong信息, 对伪
造节点进行探活检测, 检测出目标节 点是否对伪
造节点进行传出连接通信; 若目标节 点有新增连
接数, 且对于伪造节点进行了传入 连接通信和传
出通信连接, 则检测出目标节点正在遭受
Eclipse攻击。 本发明实现了对以太坊节点
Eclipse攻击 检测。
权利要求书3页 说明书8页 附图3页
CN 114285640 A
2022.04.05
CN 114285640 A
1.一种面向区块链中以太坊 节点日蚀攻击的检测方法, 其特 征在于, 所述方法包括:
确定作为目标节点的以太坊诚实节点的IP地址、 端口信息以及ID信息, 并根据目标节
点计算出 可能的伪造节点;
根据目标节点的IP地址和端口信息, 构建出JSON ‑RPC接口请求, 并根据该接口请求检
测出目标节点是否有新增连接数;
根据目标节点的IP地址和端口信息, 解析出目标节点的广播信息和ping ‑pong通信消
息;
判断解析出的广播信 息中是否存在空值或者重复值, 从而检测出目标节点是否接收到
伪造节点的传入连接;
根据解析出的ping ‑pong信息, 对伪造节点进行探活检测, 统计出伪造节点接收到目标
节点的传输连接的数量, 从而检测出目标节点是否向伪造节点发送传出 连接;
若目标节点有新增连接数, 且对于伪造节点进行了传入连接通信和传出通信连接, 则
检测出目标节点 正在遭受日蚀攻击 。
2.根据权利要求1所述的一种面向区块链中以太坊节点日蚀攻击的检测方法, 其特征
在于, 所述根据目标节点计算出可能的伪造节点包括采用代理IP通过椭圆曲线算法随机生
成节点私钥和节点 公钥, 并将所述节 点公钥直接作为传 入连接通信过程中的伪造节点的ID
信息; 或者将所述节点公钥与目标节点的ID信息进行异或运算, 得到目标节点与节点公钥
之间的距离, 将满足距离阈值的节点公钥作为传出连接通信过程中的伪造节点的ID信息,
并为每个可能的伪造节点构造出 所支持的协议、 节点名称和端口信息 。
3.根据权利要求1或2所述的一种面向区块链中以太坊节点日蚀攻击的检测方法, 其特
征在于, 所述解析出 目标节点的广播信息和ping ‑pong通信消 息之前还包括可能的伪造节
点与目标节 点在传输层建立TCP三次握手; 目标节点与伪造节点进 行各自的密钥交换, 并协
商出本次通信的共享密钥; 根据本次通信的共享密钥确定出版本号和端口信息; 基于所述
端口信息, 伪造节 点与目标节 点在应用层建立以太坊通信, 从而交换广播消息和ping ‑pong
通信消息; 或者还包括可能的伪造节 点向目标节 点发起UDP协议的ping请求, 并携带该伪造
节点的ID信息、 端口信息和版本信息等待目标节 点响应; 目标节 点返回pong应答, 并将伪造
节点的ID信息和端口信息填充到K桶中, 所述目标节 点发起节点查询, 并向其他节点询问附
近节点列表; 伪造节点根据其满足距离阈值的ID信息作为目标节 点的邻居节 点向目标节 点
返回附近节 点列表; 成功添加到K桶的伪造节 点在多轮ping ‑pong响应的探活后加入目标节
点的数据库中; 此时若传出连接还有空闲, 将其他可能的伪造节点作为传出连接的目标, 并
发起TCP协议的请求到伪造节点。
4.根据权利要求3所述的一种面向区块链中以太坊节点日蚀攻击的检测方法, 其特征
在于, 所述检测出伪造节点是否对目标节点进行传 入连接通信包括目标节点对广播信息进
行解析, 若广播信息中存在空值或者重复值, 则表明该广播信息中与目标节点通信的节点
是可能的伪造节点, 并确定出 该对应ID信息的伪造节点对目标节点进行了传入连接通信。
5.根据权利要求3所述的一种面向区块链中以太坊节点日蚀攻击的检测方法, 其特征
在于, 所述检测出目标节点是否对伪造节点进行传出连接通信包括目标节点根据其数据库
中可能的伪造节点的ID信息, 从而确定出目标节点向伪造节点发送了传出 连接。
6.一种面向区块链中以太坊节点日蚀攻击的检测系统, 包括可视化模块和日蚀攻击检权 利 要 求 书 1/3 页
2
CN 114285640 A
2测模块; 其特征在于, 所述可视化模块包括输入单元以及显示单元, 所述日蚀攻击检测模块
包括计算单元、 接口检测单元、 信息解析单元、 传入检测单元、 传出检测单元以及输出检测
单元;
所述输入单 元用于输入目标节点的IP地址、 端口信息和ID信息;
所述显示单 元用于显示所述日蚀攻击检测模块的实时检测结果;
所述计算单元用于根据目标节点计算出可能的伪 造节点; 所述接口检测单元用于根据
目标节点的IP地址和端口信息, 构建出JSON ‑RPC接口请求, 并根据该接口请求检测出目标
节点是否有新增连接数;
所述解析单元用于根据目标节点的IP地址和端口信息, 解析出目标节点的广播信 息和
ping‑pong通信消息;
所述传入检测单元用于判断解析出的广播信 息中是否存在空值或者重复值, 从而检测
出目标节点是否 接收到伪造节点的传入连接;
所述传出检测单元用于根据 解析出的ping ‑pong信息, 对伪造节点进行探活检测, 统计
出伪造节点接收到目标节点的传输连接的数量, 从而检测出目标节点是否向伪造节点发送
传出连接;
所述输出检测单元用于在目标节点有新增连接数时, 且对于伪 造节点进行了传入连接
通信和传出通信连接时, 检测出目标节点 正在遭受日蚀攻击 。
7.根据权利要求5所述的一种面向区块链中以太坊节点日蚀攻击的检测系统, 其特征
在于, 所述计算单元具体用于采用 代理IP通过椭圆曲线算法随机生成节点私钥和节点公
钥, 并将所述节点公钥直接作为传入连接通信过程中的伪造节点的ID信息; 并为每个可能
的伪造节点构造出 所支持的协议、 节点名称和端口信息;
或者还用于将所述节点公钥与目标节点的ID信息进行异或运算, 得到目标节点与节点
公钥之间的距离, 将满足距离阈值的节点 公钥作为传出连接通信过程中的伪造节点的ID信
息, 并为每 个可能的伪造节点构造出 所支持的协议、 节点名称和端口信息 。
8.根据权利要求6或7所述的一种面向区块链中以太坊节点日蚀攻击的检测系统, 其特
征在于, 所述信息解析单元具体用于包括将伪造节点与目标节点在应用层建立的以太坊 通
信, 并交换的广播消息和ping ‑pong通信消息进 行解析, 其中, 建立以太坊 通信之前, 可能的
伪造节点与目标节点在传输层建立TCP三次握手; 目标节点与伪造节点进行各自的密钥交
换, 并协商 出本次通信的共享密钥; 根据本次通信的共享密钥确定出版本号和端口信息; 或
者可能的伪造节 点向目标节 点发起UDP协 议的ping请求, 并携带该伪造节 点的ID信息、 端口
信息和版本信息等待目标节点响应; 目标节点返回pong应答, 并将伪造节点的ID信息和端
口信息填充到K桶中, 所述目标节点发起节点查询, 并向其他节点询问附近节点列表; 伪造
节点根据其满足距离阈值的ID信息作为 目标节点的邻居节点向目标节点返回附近节点列
表; 成功添加 到K桶的伪造节点在多轮ping ‑pong响应的探活后加入目标节点的数据库中;
此时若传出连接还有空闲, 将其他可能的伪造节点作为传出连接的目标, 并发起TCP协 议的
请求到伪造节点。
9.根据权利要求8所述的一种面向区块链中以太坊节点日蚀攻击的检测系统, 其特征
在于, 所述传入检测单元具体用于若广播信息中存在空值或者重复值, 则表明该广播信息
中与目标节点通信的节点是可能的伪造节点, 并确定出该对应ID信息的伪造节点对目标节权 利 要 求 书 2/3 页
3
CN 114285640 A
3
专利 面向区块链中以太坊节点日蚀攻击的检测系统及检测方法
文档预览
中文文档
15 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共15页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-19 03:07:32上传分享