CN116305135A - 一种面向工业机器人的安全检测方法和系统 - Google Patents
一种面向工业机器人的安全检测方法和系统 Download PDFInfo
- Publication number
- CN116305135A CN116305135A CN202211533570.8A CN202211533570A CN116305135A CN 116305135 A CN116305135 A CN 116305135A CN 202211533570 A CN202211533570 A CN 202211533570A CN 116305135 A CN116305135 A CN 116305135A
- Authority
- CN
- China
- Prior art keywords
- protocol
- module
- firmware
- file
- robot
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 32
- 238000000034 method Methods 0.000 claims abstract description 50
- 238000004458 analytical method Methods 0.000 claims abstract description 43
- 238000012545 processing Methods 0.000 claims abstract description 25
- 238000000605 extraction Methods 0.000 claims abstract description 16
- 238000007781 pre-processing Methods 0.000 claims abstract description 16
- 238000012795 verification Methods 0.000 claims abstract description 9
- 230000006870 function Effects 0.000 claims description 106
- 238000006243 chemical reaction Methods 0.000 claims description 28
- 230000006854 communication Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 12
- 238000012360 testing method Methods 0.000 claims description 12
- 230000003068 static effect Effects 0.000 claims description 9
- 230000006399 behavior Effects 0.000 claims description 6
- 238000004891 communication Methods 0.000 claims description 6
- 238000013461 design Methods 0.000 claims description 6
- 238000009826 distribution Methods 0.000 claims description 6
- 230000008030 elimination Effects 0.000 claims description 6
- 238000003379 elimination reaction Methods 0.000 claims description 6
- 230000003993 interaction Effects 0.000 claims description 6
- 238000012216 screening Methods 0.000 claims description 6
- 238000003860 storage Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 claims description 5
- 230000009467 reduction Effects 0.000 claims description 4
- 230000006837 decompression Effects 0.000 claims description 3
- 238000001914 filtration Methods 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims description 3
- 238000005065 mining Methods 0.000 abstract description 7
- 230000008447 perception Effects 0.000 abstract description 2
- 238000005516 engineering process Methods 0.000 description 18
- 238000004519 manufacturing process Methods 0.000 description 11
- 238000011161 development Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 3
- 238000009781 safety test method Methods 0.000 description 3
- 238000009412 basement excavation Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 230000007123 defense Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000035515 penetration Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003638 chemical reducing agent Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001212 derivatisation Methods 0.000 description 1
- 229940079593 drug Drugs 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012916 structural analysis Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Numerical Control (AREA)
Abstract
本发明的目的在于提供一种面向工业机器人的安全检测方法和系统,实现固件自动化提取、代码预处理、处理器识别、代码还原、结构分析、验证、文件扫描、数据预处理、交叉引用分析、协议帧重构、语义提取、格式化处理、机器人专用协议分析等任务。本发明能够实现对集成系统和机器人本体拆解,分析各部分安全脆弱性,构建漏洞理论模型,形成机器人特有的漏洞挖掘方法,研发针对工业机器人的漏洞挖掘工具集,监测系统安全威胁并分析态势和进行感知预测。
Description
技术领域
本发明涉及安全检测技术领域,具体地说,涉及一种面向工业机器人的安全检测方法和系统。
背景技术
工业4.0是以智能制造为主的第四次工业革命,将传统制造技术与互联网技术结合,实现信息化与自动化高度融合,形成智能化的生产制造,是我国迈向制造强国的强劲驱动力。我国工业4.0的建设和衍进过程,就是制造型企业从信息化到工业互联网平台的不断迭代发展的过程。
从行业发展和政策指引等多方面因素综合来看,我国的工业发展正处于夯实智能制造技术落地基础,推动工业数字化技术创新逐步向工业互联网过渡的过程中,在《中国制造2025》中定义了十大领域,包括新一代信息技术产业、高档数控机床和机器人、航空航天装备、海洋工程装备及高技术船舶、先进轨道交通装备、节能与新能源汽车、电力装备、农机装备、新材料、生物医药及高性能医疗器械等十个重点领域,其中第二大领域:高档数控机床和机器人,明确提出了机器人领域要围绕汽车、机械、电子、危险品制造、国防军工、化工、轻工等工业机器人、特种机器人,以及医疗健康、家庭服务、教育娱乐等服务机器人应用需求,积极研发新产品,促进机器人标准化、模块化发展,扩大市场应用。突破机器人本体、减速器、伺服电机、控制器、传感器与驱动器等关键零部件及系统集成设计制造等技术瓶颈。
在这样的大环境下,智能制造技术的落地与全面推广的过程,需要实现在技术落地过程中有效控制新技术带来的新的安全风险,形成求发展的同时保证安全可控的态势是行业生态良性循环的基石。
随着物联网、工业化、人工智能技术的发展和日渐成熟,机器人全面普及,无论是在医疗领域、服务领域还是在军事战争领域,智能工业机器人都将担任机器重要的角色。当前,世界主要国家在该领域展开激烈竞争,力争抢占该领域制高点,形成压倒性优势。
智能工业机器人作为智能制造的核心领域之一,大量应用了工控/物联网协议和技术在其设备、固件、控制网络等运行环境中,根据第三方统计数据(CNVD等组织),2021年新增工控系统行业漏洞152个,其中高危漏洞58个,中危漏洞82个,低危漏洞12个,这些漏洞分布于国际/国内各大工控厂商的产品与系统中。
针对现有的安全漏洞问题,如图1所示,现有的工业互联网安全检测技术就是通过技术手段实现对各层级的安全威胁的发现识别、理解分析、响应处置,主要包括安全监测审计、安全态势感知等关键技术。当前主要使用的态势感知技术在网络空间搜索引擎的基础上,添加工业控制系统及设备的资产特征,利用软件代码的形式模拟常见的工业控制系统服务或工控专用协议(如Modbus、S7、FINS等),对网络层和应用层的协议(如工控专用协议、通用协议等)进行解析与还原工作,完成工控设备资产检测、工控漏洞及安全事件识别等安全监测工作,从而实现对设备的安全防护。然而现有技术不能灵活适用目前多种不同平台的工业机器人工控系统,检测效果差,急需一个跨平台检测效果更好的工业机器人安全检测系统。
发明内容
本发明的目的在于针对现有技术缺陷提供一种面向工业机器人的安全检测方法和系统,以实现对不同工业机器人系统平台安全检测,不仅能对现有已知漏洞进行检测识别,同时能够识别未知漏洞类型,实现全方位的安全漏洞检测。
本发明的目的可通过以下的技术措施来实现:
一种面向工业机器人的安全检测方法,实现对安全漏洞进行挖掘,包括如下步骤:
读取机器人和机器人集成应用系统的存储器中的固件信息,所述固件信息包括机器人和机器人集成应用系统的文件系统、操作系统、内核版本、加密算法、CPU指令集;
对多个目标代码文件进行横向和纵向拼接,根据实际情况对指定数据位取反和/或字节交换和/或字节逆序变换操作,根据存储器物理分布参数进行代码重定位,还原目标代码的结构规律;
根据目标代码本身所包含的特征信息,确定目标代码使用的指令集类型;
通过对固件信息和指令集的区分,将固件信息转换成可以阅读和进一步分析的代码文件;
通过分析代码文件中的流程和功能结构,将流程和功能结构采用抽象图的方式表现出来,达到理解目标代码行为与设计意图的目的;
借助于虚拟硬件环境或固件实际工作的硬件环境,对逆向分析的结果进行测试和验证,并实时纠正逆向分析的结果;
对机器人集成应用系统中的工控软件进行扫描,通过定位协议分析,过滤掉与通信相关的操作;所述工控软件包括组态软件;
读取反汇编后的汇编代码,对DLL中的函数进行标记处理,剔除与通信过程相关的函数;
通过调用IDC函数获取机器人集成应用系统中不同协议函数间的交叉引用信息,并将信息进行类型的归类存储,获取机器人集成应用系统中的协议函数,通过对获取的协议函数进行统计推断函数类型,构建协议函数的依赖关系;
以函数的依赖关系和对函数类型的推断为参考,判断函数代码特征,对目标协议中存在的协议帧进行重构与分类,形成协议帧集合;
通过检索处理协议帧的字段的二进制代码,判断是否存在相关的特征,提取协议帧的语义信息;通过比对协议帧集合中协议帧的已知语义来实现去冗余,通过对集合中的协议帧进行格式化处理成协议信息,将协议信息以表彰格式输出到结果文件;
提供不同格式协议报文数据包转化处理的人机交互接口,用户通过查找报文转化规则,将协议报文转化为目标报文,同时提供报文转化完成判断。
优选的,所述读取机器人和机器人集成应用系统的存储器中的固件信息,具体是通过编程器读取存储固件代码的闪存芯片,获取闪存芯片中二进制文件;通过分析二进制文件及二进制文件所使用的嵌入式系统,得到该二进制文件的文件系统。
所述通过编程器读取存储固件代码的闪存芯片之后,进一步使用反汇编工具将二进制文件机器代码转换为可读的目标代码,对目标代码进行分析,提取出该目标代码存储规律,该目标代码存储规律包含目标代码逻辑功能结构。
优选的,所述读取机器人和机器人集成应用系统的存储器中的固件信息的步骤,还包括获取设备中用户操作信息,包含通过提取出的设备目标文件识别设备运行操作系统类型。
优选的,所述识别设备运行操作系统类型具体步骤为:对固件信息剥离解析,对操作系统类型识别以及识别内核版本,其中,所述对固件信息剥离解析是读取设备目标文件的二进制固件映像,结合模块特征数据库进行地址范围划分,将不同固件信息进行转存;对操作系统类型识别是对操作系统类型识别特征进行抽取,结合类型识别特征库进行筛选,排除不符合筛选特征的操作系统,依据筛选出的操作系统与固件模块待识别操作系统之间的相似度排序结果,获取操作系统类型识别结果;对内核版本识别是利用静态库函数的函数匹配,将待识别内核与标准内核的函数进行匹配,利用函数匹配数量计算两者之间相似度来识别内核版本。
优选的,所述将不同固件信息进行转存是针对压缩文件,采用解压缩软件进行还原;并针对文件系统映像,根据文件系统存储机制对文件系统内部数据进行释放。
优选的,所述利用静态库函数的函数匹配的过程具体包括:加载内核函数库签名,对内核函数使用函数匹配方法进行一次匹配;然后,对未匹配成功的函数,通过结构化匹配方法进行函数结构化匹配;最终,对匹配成功的所有函数进行收集,计算待识别内核与标准内核之间的相似度,选出静态库函数中与待识别内核相似度最高的内核作为识别结果。
本发明的另一发明目的在于提供一种面向工业机器人的安全检测系统,包括固件逆向分析子系统以及协议逆向处理子系统,其中固件逆向分析子系统包括固件自动化提取模块、代码预处理模块、处理器类别识别模块、代码还原模块、结构分析模块、验证模块;协议逆向处理子系统包括文件扫描模块、数据预处理模块、交叉引用分析模块、协议帧重构模块、语义提取模块、格式化处理模块、报文转化接口模块;其中,
固件自动化提取模块:用于读取机器人和机器人集成应用系统的存储器中的固件信息,所述固件信息包括机器人和机器人集成应用系统的文件系统、操作系统、内核版本、加密算法、CPU指令集;
代码预处理模块:用于对多个目标代码文件进行横向和纵向拼接,根据实际情况对指定数据位取反和/或字节交换和/或字节逆序变换操作,根据存储器物理分布参数进行代码重定位,还原目标代码的结构规律;
处理器类别识别模块:用于根据目标代码本身所包含的特征信息,确定目标代码使用的指令集类型;
代码还原模块:用于通过对固件信息和指令集的区分,将固件信息转换成可以阅读和进一步分析的代码文件;
结构分析模块:用于通过分析代码文件中的流程和功能结构,将流程和功能结构采用抽象图的方式表现出来,达到理解目标代码行为与设计意图的目的;
验证模块:用于借助于虚拟硬件环境或固件实际工作的硬件环境,对逆向分析的结果进行测试和验证,并实时纠正逆向分析的结果;
文件扫描模块:用于对机器人集成应用系统中的工控软件进行扫描,通过定位协议分析,过滤掉与通信相关的操作;所述工控软件包括组态软件;
数据预处理模块:用于读取反汇编后的汇编代码,对DLL中的函数进行标记处理,剔除与通信过程相关的函数;
交叉引用分析模块:用于通过调用IDC函数获取机器人集成应用系统中不同协议函数间的交叉引用信息,并将信息进行类型的归类存储,获取机器人集成应用系统中的协议函数,通过对获取的协议函数进行统计推断函数类型,构建协议函数的依赖关系;
协议帧重构模块:用于以函数的依赖关系和对函数类型的推断为参考,判断函数代码特征,对目标协议中存在的协议帧进行重构与分类,形成协议帧集合;
语义提取模块:用于通过检索处理协议帧的字段的二进制代码,判断是否存在相关的特征,提取协议帧的语义信息;
格式化处理模块:用于通过比对协议帧集合中协议帧的已知语义来实现去冗余,通过对集合中的协议帧进行格式化处理成协议信息,将协议信息以表彰格式输出到结果文件;
报文转化接口模块:用于提供不同格式协议报文数据包转化处理的人机交互接口,用户通过查找报文转化规则,将协议报文转化为目标报文,同时提供报文转化完成判断。
本发明对比现有技术,有如下优点:
本发明的方法能够实现对集成系统和机器人本体拆解,分析各部分安全脆弱性,构建漏洞理论模型,形成机器人特有的漏洞挖掘方法,研发针对工业机器人的漏洞挖掘工具集,监测系统安全威胁并分析态势和进行感知预测,本发明提供的软件系统支持与工业机器人测试床对接,并能够实现软件系统的整体开发、调试、试运行、验收和质保期服务等内容。
附图说明
图1是现有的工业互联网安全检测技术的常规方式及发展;
图2是本发明的面向工业机器人的安全检测系统模块图。
具体实施方式
本发明提供一种面向工业机器人的安全测试方法和系统,为了保证系统整体使用的方便性和可维护性,在整体系统层面构建各子功能统一调度与集中管理的UI界面,实现工业机器人安全测试系统的整体框架设计和功能呈现。
一种面向工业机器人的安全检测方法,实现对安全漏洞进行挖掘,包括如下步骤:
读取机器人和机器人集成应用系统的存储器中的固件信息,所述固件信息包括机器人和机器人集成应用系统的文件系统、操作系统、内核版本、加密算法、CPU指令集;
对多个目标代码文件进行横向和纵向拼接,根据实际情况对指定数据位取反和/或字节交换和/或字节逆序变换操作,根据存储器物理分布参数进行代码重定位,还原目标代码的结构规律;
根据目标代码本身所包含的特征信息,确定目标代码使用的指令集类型;
通过对固件信息和指令集的区分,将固件信息转换成可以阅读和进一步分析的代码文件;
通过分析代码文件中的流程和功能结构,将流程和功能结构采用抽象图的方式表现出来,达到理解目标代码行为与设计意图的目的;
借助于虚拟硬件环境或固件实际工作的硬件环境,对逆向分析的结果进行测试和验证,并实时纠正逆向分析的结果;
对机器人集成应用系统中的工控软件进行扫描,通过定位协议分析,过滤掉与通信相关的操作;所述工控软件包括组态软件;
读取反汇编后的汇编代码,对DLL中的函数进行标记处理,剔除与通信过程相关的函数;
通过调用IDC函数获取机器人集成应用系统中不同协议函数间的交叉引用信息,并将信息进行类型的归类存储,获取机器人集成应用系统中的协议函数,通过对获取的协议函数进行统计推断函数类型,构建协议函数的依赖关系;
以函数的依赖关系和对函数类型的推断为参考,判断函数代码特征,对目标协议中存在的协议帧进行重构与分类,形成协议帧集合;
通过检索处理协议帧的字段的二进制代码,判断是否存在相关的特征,提取协议帧的语义信息;通过比对协议帧集合中协议帧的已知语义来实现去冗余,通过对集合中的协议帧进行格式化处理成协议信息,将协议信息以表彰格式输出到结果文件;
提供不同格式协议报文数据包转化处理的人机交互接口,用户通过查找报文转化规则,将协议报文转化为目标报文,同时提供报文转化完成判断。
优选的,所述读取机器人和机器人集成应用系统的存储器中的固件信息,具体是通过编程器读取存储固件代码的闪存芯片,获取闪存芯片中二进制文件;通过分析二进制文件及二进制文件所使用的嵌入式系统,得到该二进制文件的文件系统。
所述通过编程器读取存储固件代码的闪存芯片之后,进一步使用反汇编工具将二进制文件机器代码转换为可读的目标代码,对目标代码进行分析,提取出该目标代码存储规律,该目标代码存储规律包含目标代码逻辑功能结构。
优选的,所述读取机器人和机器人集成应用系统的存储器中的固件信息的步骤,还包括获取设备中用户操作信息,包含通过提取出的设备目标文件识别设备运行操作系统类型。
优选的,所述识别设备运行操作系统类型具体步骤为:对固件信息剥离解析,对操作系统类型识别以及识别内核版本,其中,所述对固件信息剥离解析是读取设备目标文件的二进制固件映像,结合模块特征数据库进行地址范围划分,将不同固件信息进行转存;对操作系统类型识别是对操作系统类型识别特征进行抽取,结合类型识别特征库进行筛选,排除不符合筛选特征的操作系统,依据筛选出的操作系统与固件模块待识别操作系统之间的相似度排序结果,获取操作系统类型识别结果;对内核版本识别是利用静态库函数的函数匹配,将待识别内核与标准内核的函数进行匹配,利用函数匹配数量计算两者之间相似度来识别内核版本。
优选的,所述将不同固件信息进行转存是针对压缩文件,采用解压缩软件进行还原;并针对文件系统映像,根据文件系统存储机制对文件系统内部数据进行释放。
优选的,所述利用静态库函数的函数匹配的过程具体包括:加载内核函数库签名,对内核函数使用函数匹配方法进行一次匹配;然后,对未匹配成功的函数,通过结构化匹配方法进行函数结构化匹配;最终,对匹配成功的所有函数进行收集,计算待识别内核与标准内核之间的相似度,选出静态库函数中与待识别内核相似度最高的内核作为识别结果。
本发明的另一发明目的在于提供一种面向工业机器人的安全检测系统,如图2所示,包括固件逆向分析子系统以及协议逆向处理子系统,其中固件逆向分析子系统包括固件自动化提取模块、代码预处理模块、处理器类别识别模块、代码还原模块、结构分析模块、验证模块;协议逆向处理子系统包括文件扫描模块、数据预处理模块、交叉引用分析模块、协议帧重构模块、语义提取模块、格式化处理模块、报文转化接口模块;其中,
固件自动化提取模块:用于读取机器人和机器人集成应用系统的存储器中的固件信息,所述固件信息包括机器人和机器人集成应用系统的文件系统、操作系统、内核版本、加密算法、CPU指令集;
代码预处理模块:用于对多个目标代码文件进行横向和纵向拼接,根据实际情况对指定数据位取反和/或字节交换和/或字节逆序变换操作,根据存储器物理分布参数进行代码重定位,还原目标代码的结构规律;
处理器类别识别模块:用于根据目标代码本身所包含的特征信息,确定目标代码使用的指令集类型;
代码还原模块:用于通过对固件信息和指令集的区分,将固件信息转换成可以阅读和进一步分析的代码文件;
结构分析模块:用于通过分析代码文件中的流程和功能结构,将流程和功能结构采用抽象图的方式表现出来,达到理解目标代码行为与设计意图的目的;
验证模块:用于借助于虚拟硬件环境或固件实际工作的硬件环境,对逆向分析的结果进行测试和验证,并实时纠正逆向分析的结果;
文件扫描模块:用于对机器人集成应用系统中的工控软件进行扫描,通过定位协议分析,过滤掉与通信相关的操作;所述工控软件包括组态软件;
数据预处理模块:用于读取反汇编后的汇编代码,对DLL中的函数进行标记处理,剔除与通信过程相关的函数;
交叉引用分析模块:用于通过调用IDC函数获取机器人集成应用系统中不同协议函数间的交叉引用信息,并将信息进行类型的归类存储,获取机器人集成应用系统中的协议函数,通过对获取的协议函数进行统计推断函数类型,构建协议函数的依赖关系;
协议帧重构模块:用于以函数的依赖关系和对函数类型的推断为参考,判断函数代码特征,对目标协议中存在的协议帧进行重构与分类,形成协议帧集合;
语义提取模块:用于通过检索处理协议帧的字段的二进制代码,判断是否存在相关的特征,提取协议帧的语义信息;
格式化处理模块:用于通过比对协议帧集合中协议帧的已知语义来实现去冗余,通过对集合中的协议帧进行格式化处理成协议信息,将协议信息以表彰格式输出到结果文件;
报文转化接口模块:用于提供不同格式协议报文数据包转化处理的人机交互接口,用户通过查找报文转化规则,将协议报文转化为目标报文,同时提供报文转化完成判断。
本发明采取技术手段对工业互联网各层级的安全防护对象进行测试和评价,了解其安全状态,从而增强防护能力,主要包括漏洞扫描、漏洞挖掘、渗透测试等技术。在工业互联网中,需采用IT和OT融合环境下的漏洞挖掘思维,运用多种深度融合的漏洞挖掘技术。而渗透测试技术也需要根据安全防护需求及工业互联网安全防护对象的特点,通过模拟来自网络外部的恶意攻击者常用的攻击手段和方法,检测并评估工业互联网的网络系统安全性。
本发明为了保证其安全性,针对固件代码、专用协议、数据解析等方面进行持续的自动化/半自动化的工控漏洞挖掘和验证,捕获并分析各种针对工控网络和机器人设备的攻击行为和特征,有利于根据不同类型的攻击流量制定出更加有效的工控系统防御措施。
本发明提供的方法及其系统平台,能够支持固件自动化提取、代码预处理、处理器识别、代码还原、结构分析、验证。实现对文件扫描、数据预处理、交叉引用分析、协议帧重构、语义提取、格式化处理、机器人专用协议分析、测试用例生成、异常检测与分析、数据发送、畸变数据、日志、数据接收、数据解析、数据转发、报文转化、测试任务管理、测试结果管理等任务。系统支持CVE、CNNVD中典型漏洞库中已知漏洞的检测识别,支持针对栈溢出、堆溢出、整数溢出等至少10种未知漏洞类型的漏洞挖掘。
本发明的实施方式不限于此,在本发明上述基本技术思想前提下,按照本领域的普通技术知识和惯用手段对本发明内容所做出其它多种形式的修改、替换或变更,均落在本发明权利保护范围之内。
Claims (10)
1.一种面向工业机器人的安全检测方法,其特征在于包括如下步骤:
读取机器人和机器人集成应用系统的存储器中的固件信息;
对多个目标代码文件进行横向和纵向拼接,根据实际情况对指定数据位取反和/或字节交换和/或字节逆序变换操作,根据存储器物理分布参数进行代码重定位,还原目标代码的结构规律;
根据目标代码本身所包含的特征信息,确定目标代码使用的指令集类型;
通过对固件信息和指令集的区分,将固件信息转换成可以阅读和进一步分析的代码文件;
通过分析代码文件中的流程和功能结构,将流程和功能结构采用抽象图的方式表现出来;
借助于虚拟硬件环境或固件实际工作的硬件环境,对逆向分析的结果进行测试和验证,并实时纠正逆向分析的结果;
对机器人集成应用系统中的工控软件进行扫描,通过定位协议分析,过滤掉与通信相关的操作;
读取反汇编后的汇编代码,对DLL中的函数进行标记处理,剔除与通信过程相关的函数;
通过调用IDC函数获取机器人集成应用系统中不同协议函数间的交叉引用信息,并将信息进行类型的归类存储,获取机器人集成应用系统中的协议函数,通过对获取的协议函数进行统计推断函数类型,构建协议函数的依赖关系;
以函数的依赖关系和对函数类型的推断为参考,判断函数代码特征,对目标协议中存在的协议帧进行重构与分类,形成协议帧集合;
通过检索处理协议帧的字段的二进制代码,判断是否存在相关的特征,提取协议帧的语义信息;通过比对协议帧集合中协议帧的已知语义来实现去冗余,通过对集合中的协议帧进行格式化处理成协议信息,将协议信息以表彰格式输出到结果文件;
提供不同格式协议报文数据包转化处理的人机交互接口,用户通过查找报文转化规则,将协议报文转化为目标报文,同时提供报文转化完成判断。
2.根据权利要求1所述的安全检测方法,其特征在于:所述读取机器人和机器人集成应用系统的存储器中的固件信息,具体是通过编程器读取存储固件代码的闪存芯片,获取闪存芯片中二进制文件;通过分析二进制文件及二进制文件所使用的嵌入式系统,得到该二进制文件的文件系统。
3.根据权利要求2所述的安全检测方法,其特征在于:所述通过编程器读取存储固件代码的闪存芯片之后,进一步使用反汇编工具将二进制文件机器代码转换为可读的目标代码,对目标代码进行分析,提取出该目标代码存储规律,该目标代码存储规律包含目标代码逻辑功能结构。
4.根据权利要求3所述的安全检测方法,其特征在于:所述读取机器人和机器人集成应用系统的存储器中的固件信息的步骤,还包括获取设备中用户操作信息,包含通过提取出的设备目标文件识别设备运行操作系统类型。
5.根据权利要求4所述的安全检测方法,其特征在于:所述识别设备运行操作系统类型具体步骤为:对固件信息剥离解析,对操作系统类型识别以及识别内核版本,其中,所述对固件信息剥离解析是读取设备目标文件的二进制固件映像,结合模块特征数据库进行地址范围划分,将不同固件信息进行转存;对操作系统类型识别是对操作系统类型识别特征进行抽取,结合类型识别特征库进行筛选,排除不符合筛选特征的操作系统,依据筛选出的操作系统与固件模块待识别操作系统之间的相似度排序结果,获取操作系统类型识别结果;对内核版本识别是利用静态库函数的函数匹配,将待识别内核与标准内核的函数进行匹配,利用函数匹配数量计算两者之间相似度来识别内核版本。
6.根据权利要求5所述的安全检测方法,其特征在于:所述将不同固件信息进行转存是针对压缩文件,采用解压缩软件进行还原;并针对文件系统映像,根据文件系统存储机制对文件系统内部数据进行释放。
7.根据权利要求6所述的安全检测方法,其特征在于:所述利用静态库函数的函数匹配的过程具体包括:加载内核函数库签名,对内核函数使用函数匹配方法进行一次匹配;然后,对未匹配成功的函数,通过结构化匹配方法进行函数结构化匹配;最终,对匹配成功的所有函数进行收集,计算待识别内核与标准内核之间的相似度,选出静态库函数中与待识别内核相似度最高的内核作为识别结果。
8.根据权利要求1-7任一项所述的安全检测方法,其特征在于:所述固件信息包括机器人和机器人集成应用系统的文件系统、操作系统、内核版本、加密算法、CPU指令集。
9.根据权利要求1-7任一项所述的安全检测方法,其特征在于:所述工控软件包括组态软件。
10.一种面向工业机器人的安全检测系统,其特征在于:包括固件逆向分析子系统以及协议逆向处理子系统,其中固件逆向分析子系统包括固件自动化提取模块、代码预处理模块、处理器类别识别模块、代码还原模块、结构分析模块、验证模块;协议逆向处理子系统包括文件扫描模块、数据预处理模块、交叉引用分析模块、协议帧重构模块、语义提取模块、格式化处理模块、报文转化接口模块;其中,
固件自动化提取模块:用于读取机器人和机器人集成应用系统的存储器中的固件信息,所述固件信息包括机器人和机器人集成应用系统的文件系统、操作系统、内核版本、加密算法、CPU指令集;
代码预处理模块:用于对多个目标代码文件进行横向和纵向拼接,根据实际情况对指定数据位取反和/或字节交换和/或字节逆序变换操作,根据存储器物理分布参数进行代码重定位,还原目标代码的结构规律;
处理器类别识别模块:用于根据目标代码本身所包含的特征信息,确定目标代码使用的指令集类型;
代码还原模块:用于通过对固件信息和指令集的区分,将固件信息转换成可以阅读和进一步分析的代码文件;
结构分析模块:用于通过分析代码文件中的流程和功能结构,将流程和功能结构采用抽象图的方式表现出来,达到理解目标代码行为与设计意图的目的;
验证模块:用于借助于虚拟硬件环境或固件实际工作的硬件环境,对逆向分析的结果进行测试和验证,并实时纠正逆向分析的结果;
文件扫描模块:用于对机器人集成应用系统中的工控软件进行扫描,通过定位协议分析,过滤掉与通信相关的操作;
数据预处理模块:用于读取反汇编后的汇编代码,对DLL中的函数进行标记处理,剔除与通信过程相关的函数;
交叉引用分析模块:用于通过调用IDC函数获取机器人集成应用系统中不同协议函数间的交叉引用信息,并将信息进行类型的归类存储,获取机器人集成应用系统中的协议函数,通过对获取的协议函数进行统计推断函数类型,构建协议函数的依赖关系;
协议帧重构模块:用于以函数的依赖关系和对函数类型的推断为参考,判断函数代码特征,对目标协议中存在的协议帧进行重构与分类,形成协议帧集合;
语义提取模块:用于通过检索处理协议帧的字段的二进制代码,判断是否存在相关的特征,提取协议帧的语义信息;
格式化处理模块:用于通过比对协议帧集合中协议帧的已知语义来实现去冗余,通过对集合中的协议帧进行格式化处理成协议信息,将协议信息以表彰格式输出到结果文件;
报文转化接口模块:用于提供不同格式协议报文数据包转化处理的人机交互接口,用户通过查找报文转化规则,将协议报文转化为目标报文,同时提供报文转化完成判断。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211533570.8A CN116305135A (zh) | 2022-12-01 | 2022-12-01 | 一种面向工业机器人的安全检测方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211533570.8A CN116305135A (zh) | 2022-12-01 | 2022-12-01 | 一种面向工业机器人的安全检测方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116305135A true CN116305135A (zh) | 2023-06-23 |
Family
ID=86834741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211533570.8A Pending CN116305135A (zh) | 2022-12-01 | 2022-12-01 | 一种面向工业机器人的安全检测方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116305135A (zh) |
-
2022
- 2022-12-01 CN CN202211533570.8A patent/CN116305135A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108647145B (zh) | 软件内存安全检测方法及系统 | |
CN111866016B (zh) | 日志的分析方法及系统 | |
CN112738126A (zh) | 基于威胁情报和att&ck的攻击溯源方法 | |
CN110955893A (zh) | 一种恶意文件威胁分析平台及恶意文件威胁分析方法 | |
CN105989287A (zh) | 一种海量恶意样本同源性判定方法及系统 | |
CN110968869B (zh) | 一种基于深度学习的大规模恶意软件分类系统和方法 | |
CN113468524B (zh) | 基于rasp的机器学习模型安全检测方法 | |
CN116662184B (zh) | 一种基于Bert的工控协议模糊测试用例筛选方法及系统 | |
CN113407495A (zh) | 一种基于simhash的文件相似度判定方法及系统 | |
CN112035345A (zh) | 一种基于代码片段分析的混合深度缺陷预测方法 | |
CN115758362A (zh) | 基于多特征的恶意软件自动化检测方法 | |
CN113779573B (zh) | 一种基于系统溯源图的大规模勒索软件分析方法和分析装置 | |
CN117521065B (zh) | 一种区块链去中心化金融的安全检测方法和装置 | |
CN110309656B (zh) | 一种隐式类型转换安全性检测方法 | |
CN114500011B (zh) | 一种基于行为基线异常分析和事件编排的辅助决策方法 | |
CN116305135A (zh) | 一种面向工业机器人的安全检测方法和系统 | |
CN114969761A (zh) | 一种基于lda主题特征的日志异常检测方法 | |
CN114707151A (zh) | 一种基于api调用和网络行为的僵尸软件检测方法 | |
CN112597498A (zh) | 一种webshell的检测方法、系统、装置及可读存储介质 | |
CN113836539A (zh) | 基于精准测试的电力工控系统漏洞全流程处置系统及方法 | |
CN118035097A (zh) | 一种还原虚拟指令的代码虚拟化程序分析方法及系统 | |
CN117041362B (zh) | 一种针对工控协议语义逆向结果的校验方法及系统 | |
Xu et al. | An Idea of Intermediate Language Memory Conflict Detection Based on Bi-LSTM | |
CN115964715A (zh) | 基于生成对抗网络和模糊测试的工业控制系统漏洞发现方法 | |
KR20240080023A (ko) | 제조 공정의 검사 결과를 저장하고 분석하는 방법 |
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 |