(19)国家知识产权局
(12)发明 专利
(10)授权公告 号
(45)授权公告日
(21)申请 号 202210637980.0
(22)申请日 2022.06.08
(65)同一申请的已公布的文献号
申请公布号 CN 114706615 A
(43)申请公布日 2022.07.05
(73)专利权人 国家工业信息安全发展研究中心
地址 100040 北京市石景山区鲁 谷路35号
(72)发明人 王冲华 孔同 郝志强 李俊
刘冬 林晨 周昊 余果 樊佩茹
韦彦 张煜珠
(74)专利代理 机构 北京星通盈泰知识产权代理
有限公司 1 1952
专利代理师 李筱
(51)Int.Cl.
G06F 8/74(2018.01)G06F 16/2455(2019.01)
G06K 9/62(2022.01)
审查员 杨哲
(54)发明名称
一种工业机器人协议的自动化逆向分析方
法及装置
(57)摘要
本发明提供了一种工业机器人协议的自动
化逆向分析方法及装置, 涉及工业通信技术领
域, 该方法包括以下步骤: 采集公开Ethercat数
据帧和关键指令, 构建数据巡查库; 采集运行
Ethercat数据帧; 基于数据巡查库构建对比
Ethercat数据帧; 将对比Eth ercat数据帧与运行
Ethercat数据帧进行比对; 当工业机器 人可以正
确运行对比Et hercat数据帧中的指令时, 对对比
Ethercat数据帧进行更新, 生成结果Eth ercat数
据帧; 回收结果Ethercat数据帧中的子报文, 并
进行协议提取。 本发明简化了数据采集过程, 为
工控协议的漏洞 扫描和安全防护提供了条件。
权利要求书3页 说明书10页 附图5页
CN 114706615 B
2022.09.06
CN 114706615 B
1.一种工业机器人协议的自动化逆向分析 方法, 其特 征在于, 包括以下步骤:
S1.巡查库构建:
采集公开Ethercat数据帧和关键指令, 基于所述关键指令构建数据巡查库;
其中, 所述巡查库构建具体包括:
S11、 采集已公开Ethercat数据帧的子报文数据;
S12、 根据所述已公开Ethercat数据帧的子报文数据与对应的关键指令, 建立所述已公
开Ethercat数据帧的子报文数据与关键指令的映射表;
S13、 基于所述映射表构建数据巡查库, 所述数据巡查库基于新增的公开Ethercat数据
帧进行扩充;
S2.运行数据帧采集:
采集工业机器人的运行Ethercat数据帧, 通过主站将所述运行Ethercat数据帧发送至
从站并运行;
S3.对比数据帧构建:
基于所述数据巡查库构建对比Ethercat数据帧, 通过主站将所述对比Ethercat数据帧
发送至从站;
其中, 所述对比数据帧构建具体包括:
S31、 基于所述数据巡查库中的关键指令, 每 个关键指令提取一个子报文数据;
S32、 基于从站的地址与子报文数据构建子报文头;
S33、 将所述子报文头与所述子报文数据、 WKC码组合形成一组子报文;
S34、 将所述子报文插入主站发给从站的Ethercat数据帧中, 形成所述对比Ethercat数
据帧;
S4.数据帧对比:
将所述对比Ethercat数据帧与所述运行Ethercat数据帧进行比对, 当相似度达到预设
的相似度阈值时, 将所述对比Ethercat数据帧发送至从站;
其中, 所述数据帧对比具体包括:
S41、 基于所述对比Ethercat数据帧与所述运行Ethercat数据帧采用最长公共子序列
查找算法提取最长公共子序列;
S42、 设置最小公共子序列长度, 获取所述最长公共子序列中长度大于所述最小公共子
序列长度的公共子序列 作为候选序列, 并生成候选序列集;
S43、 进行候选序列的相似度对比, 预设相似度阈值, 当相似度小于相似度阈值时, 返回
步骤S3重新构建对比Ethercat数据帧; 当相似度大于等于相似度阈值时, 将所述对比
Ethercat数据帧发送至从站;
S5.数据帧更新:
当工业机器人可以正确运行对比Ethercat数据帧的关键指令时, 对所述对比Ethercat
数据帧进行 更新, 生成结果Ethercat数据帧;
S6.协议提取:
回收结果Ethercat数据帧中的子报文数据, 基于所述结果Ethercat数据帧进行协议提
取。
2.如权利要求1所述的工业机器人协议的自动 化逆向分析方法, 其特征在于, 所述关键权 利 要 求 书 1/3 页
2
CN 114706615 B
2指令为控制信息, 所述控制信息为状态机转换和/或时钟同步和/或地址配置 。
3.如权利要求1所述的工业机器人协议的自动 化逆向分析方法, 其特征在于, 所述重新
构建对比Ethercat数据帧后还包括, 预设重新构建对比Ethercat数据帧的最大阈值, 当重
新构建对比Ethercat数据帧的次数达到所述最大阈值时, 停止重新构建对比Ethercat数据
帧, 并进行报错 提示。
4.如权利要求1所述的工业机器人协议的自动 化逆向分析方法, 其特征在于, 所述数据
帧更新具体包括,
S51、 通过监视器采集工业机器人执行运行Ethercat数据帧的关键指令的图片, 生成运
行图片集;
S52、 基于运行图片集中工业机器人的状态进行分析获取工业机器人在执行运行
Ethercat数据帧的关键指令时的运行参数值;
S53、 当所述从站正确读取对比Ethercat数据帧中的子报文时, 通过监视器采集工业机
器人执行对比Ethercat数据帧的关键指令的图片, 生成对比图片集;
S54、 基于对比图片集中工业机器人的状态进行分析获取工业机器人在执行对比
Ethercat数据帧的关键指令时的对比参数值;
S55、 将所述对比参数值与所述运行参数值进行对比, 当所述对比参数值与所述运行参
数值完全相同时, 判断所述工业机器人正确运行了对比Ethercat数据帧的关键指令, 复制
运行Ethercat数据帧中的子报文插入所述对比Et hercat数据帧中, 生 成结果Ethercat数据
帧; 当所述对比参数值与所述运行参数值不同时, 判断所述工业机器人不能正确 运行对比
Ethercat数据帧的关键指令, 返回步骤S3 重新构建对比Ethercat数据帧。
5.一种工业机器人协议的自动化逆向分析装置, 其特 征在于, 包括:
巡查库构建模块, 用于采集公开Ethercat数据帧和关键指令, 基于所述关键指令构建
数据巡查库;
其中, 采用所述巡查库构建模块的执 行步骤具体包括:
S11、 采集已公开Ethercat数据帧的子报文数据;
S12、 根据所述已公开Ethercat数据帧的子报文数据与对应的关键指令, 建立所述已公
开Ethercat数据帧的子报文数据与关键指令的映射表;
S13、 基于所述映射表构建数据巡查库, 所述数据巡查库基于新增的公开Ethercat数据
帧进行扩充;
运行数据帧采集模块, 用于采集工业机器人的运行Ethercat数据帧, 通过主站将所述
运行Ethercat数据帧发送至从站并运行;
对比数据帧构建模块, 用于基于所述数据巡查库构建对比Ethercat数据帧, 通过主站
将所述对比Ethercat数据帧发送至从站;
其中, 采用所述对比数据帧构建模块的执 行步骤具体包括:
S31、 基于所述数据巡查库中的关键指令, 每 个关键指令提取一个子报文数据;
S32、 基于从站的地址与子报文数据构建子报文头;
S33、 将所述子报文头与所述子报文数据、 WKC码组合形成一组子报文;
S34、 将所述子报文插入主站发给从站的Ethercat数据帧中, 形成所述对比Ethercat数
据帧;权 利 要 求 书 2/3 页
3
CN 114706615 B
3
专利 一种工业机器人协议的自动化逆向分析方法及装置
文档预览
中文文档
19 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共19页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 00:10:47上传分享