CN117574393A - 一种信息终端漏洞挖掘方法、装置、设备及存储介质 - Google Patents
一种信息终端漏洞挖掘方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117574393A CN117574393A CN202410058967.9A CN202410058967A CN117574393A CN 117574393 A CN117574393 A CN 117574393A CN 202410058967 A CN202410058967 A CN 202410058967A CN 117574393 A CN117574393 A CN 117574393A
- Authority
- CN
- China
- Prior art keywords
- domain
- information
- mining
- vulnerability
- cross
- 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.)
- Granted
Links
- 238000005065 mining Methods 0.000 title claims abstract description 63
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000012360 testing method Methods 0.000 claims abstract description 78
- 230000008878 coupling Effects 0.000 claims abstract description 55
- 238000010168 coupling process Methods 0.000 claims abstract description 55
- 238000005859 coupling reaction Methods 0.000 claims abstract description 55
- 238000001514 detection method Methods 0.000 claims abstract description 41
- 238000004458 analytical method Methods 0.000 claims abstract description 33
- 230000008447 perception Effects 0.000 claims abstract description 27
- 230000003068 static effect Effects 0.000 claims abstract description 18
- 238000004088 simulation Methods 0.000 claims description 27
- 238000001228 spectrum Methods 0.000 claims description 21
- 230000002159 abnormal effect Effects 0.000 claims description 17
- 230000007547 defect Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 13
- 230000006870 function Effects 0.000 claims description 11
- 238000010276 construction Methods 0.000 claims description 10
- 238000012546 transfer Methods 0.000 claims description 10
- 230000002787 reinforcement Effects 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 7
- 238000001914 filtration Methods 0.000 claims description 6
- 238000010998 test method Methods 0.000 claims description 6
- 238000012549 training Methods 0.000 claims description 5
- 230000005856 abnormality Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 description 10
- 238000005457 optimization Methods 0.000 description 7
- 238000005259 measurement Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000012038 vulnerability analysis Methods 0.000 description 5
- 238000012512 characterization method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 206010063385 Intellectualisation Diseases 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000002347 injection Methods 0.000 description 2
- 239000007924 injection Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000005389 magnetism Effects 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 230000008685 targeting Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000009412 basement excavation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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
-
- 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/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- 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/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Computing Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请属于漏洞挖掘技术领域,公开了一种信息终端漏洞挖掘方法、装置、设备及存储介质,该方法包括:构建信息终端的跨域耦合模型;基于测试信号对跨域耦合模型进行感知漏洞挖掘;采用静态分析法对跨域耦合模型进行代码漏洞检测;采用动态分析法对跨域耦合模型进行固件漏洞挖掘;将挖掘出的感知漏洞、代码漏洞和固件漏洞作为终端漏洞挖掘结果。本申请能够提升漏洞挖掘的覆盖程度和智能化水平。
Description
技术领域
本申请涉及漏洞挖掘技术领域,尤其涉及一种信息终端漏洞挖掘方法、装置、设备及存储介质。
背景技术
电力关键信息终端信息化和智能化水平不断提高,信息域和物理域双域之间交互频繁。然而,现有安全事件表明电力关键信息终端设备双域在跨越过程中表现出高度脆弱性,并且这些安全风险极大程度上威胁着电力关键信息感知、计算、执行等功能的正常运行。目前主流的脆弱性分析与利用主要是根据大量软件漏洞的分析,提取出软件漏洞的特征并抽象为漏洞模式,在对程序进行分析的基础上,与建立的漏洞模式进行匹配,进而进行漏洞的利用。目前在这一方面较为典型和成熟的工具主要有 IST4、Flawfinder、Splint、Fortify等。除此之外,符号执行也是主流的漏洞发现与利用的方法之一。但现有技术的漏洞挖掘方法大多都是针对系统级别建模,无法覆盖整个双域终端,且只能对软件中的漏洞进行挖掘,导致漏洞挖掘的覆盖程度小、智能化程度低,不能够实现全面、深度的漏洞检测。
发明内容
本申请提供了一种信息终端漏洞挖掘方法、装置、设备及存储介质,能够提升漏洞挖掘的覆盖程度和智能化水平。
第一方面,本申请实施例提供了一种信息终端漏洞挖掘方法,包括:
构建信息终端的跨域耦合模型;
基于测试信号对跨域耦合模型进行感知漏洞挖掘;
采用静态分析法对跨域耦合模型进行代码漏洞检测;
采用动态分析法对跨域耦合模型进行固件漏洞挖掘;
将挖掘出的感知漏洞、代码漏洞和固件漏洞作为终端漏洞挖掘结果。
进一步的,上述构建信息终端的跨域耦合模型,包括:
获取信息终端中的各个功能模块和其间的信息传递关系;
将各功能模块抽象为功能节点,并根据信息传递关系连接各功能节点;
根据各功能模块的存在形式将其对应的功能节点划分至物理域或信息域中。
进一步的,上述基于测试信号对跨域耦合模型进行感知漏洞挖掘,包括:
将综合谱的测试信号输入跨域耦合模型,得到物理域中各功能节点的输出信号,和信息域中各功能节点的高维信息;
将物理域中各功能节点的输出信号和各功能节点的正常信号进行对比,确定物理域中存在感知漏洞的异常物理节点;
对信息域中各功能节点的高维信息进行频域处理,得到对应的高维频谱;
采用卡尔曼滤波法对各高维频谱进行预测,确定存在感知漏洞的异常信息节点。
进一步的,该方法还包括:
在预设信号要素集中选择种子信号;
对种子信号进行信号调优,得到综合谱的测试信号。
进一步的,上述对种子信号进行信号调优,得到综合谱的测试信号,包括:
对种子信号依次进行单一构造、叠加构造和复用构造,得到测试信号。
进一步的,上述采用静态分析法对跨域耦合模型进行代码漏洞检测,包括:
构建预训练的强化学习模型,并获取检测数据库;
将检测数据库输入强化学习模型进行训练,得到漏洞检测模型;
将各功能节点的代码数据输入漏洞检测模型,得到检测结果;
将检测结果和漏洞规则数据库进行对比,确定存在漏洞的缺陷代码数据;
判定缺陷代码数据对应的功能节点存在代码漏洞。
进一步的,检测数据库包括正常代码数据、函数白名单和代码漏洞数据库。
进一步的,上述采用动态分析法对跨域耦合模型进行固件漏洞挖掘,包括:
获取跨域耦合模型中各功能节点的固件信息;
对各固件信息进行解析,提取对应的关键代码数据流;
对各关键代码数据流进行模拟执行和模糊测试,得到固件漏洞。
进一步的,上述对各关键代码数据流进行模拟执行和模糊测试,得到固件漏洞,包括:
根据关键代码数据流得到对应功能节点的处理器信息和运行环境信息;
根据处理器信息和运行环境信息对功能节点进行状态模拟;
采用模糊测试方法对状态模拟进行漏洞挖掘,得到固件漏洞。
进一步的,上述采用模糊测试方法对状态模拟进行漏洞挖掘,得到固件漏洞,包括:
随机生成测试数据,并将测试数据输入状态模拟中;
检测状态模拟中是否出现预设异常;
若是,则将状态模拟对应的功能节点作为固件漏洞。
进一步的,预设异常包括程序崩溃、断言失败和程序错误。
第二方面,本申请实施例提供了一种信息终端漏洞挖掘装置,包括:
构建模块,用于构建信息终端的跨域耦合模型;
感知挖掘模块,用于基于测试信号对跨域耦合模型进行感知漏洞挖掘;
静态分析模块,用于采用静态分析法对跨域耦合模型进行代码漏洞检测;
动态分析模块,用于采用动态分析法对跨域耦合模型进行固件漏洞挖掘;
输出模块,用于将挖掘出的感知漏洞、代码漏洞和固件漏洞作为终端漏洞挖掘结果。
第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时执行如上述任一实施例的信息终端漏洞挖掘方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述任一实施例的信息终端漏洞挖掘方法的步骤。
综上,与现有技术相比,本申请实施例提供的技术方案带来的有益效果至少包括:
本申请实施例提供的一种信息终端漏洞挖掘方法,首先通过对信息终端构建的跨域耦合模型进行漏洞分析,提升了漏洞挖掘的靶向性和覆盖程度;其次,通过测试信号对模型的感知漏洞挖掘,弥补了信息终端在感知执行环节硬件脆弱性挖掘手段缺失、自动化能力不足的问题,提高了本申请的智能化和覆盖程度;通过动静结合的分析方法对模型进行代码漏洞和固件漏洞的脆弱性分析检测,进一步提升了本申请的智能化。
附图说明
图1为本申请一个示例性实施例提供的一种信息终端漏洞挖掘方法的流程图。
图2为本申请一个示例性实施例提供的信息终端功能模块的示意图。
图3为本申请一个示例性实施例提供的测试信号进行感知漏洞挖掘的示意图。
图4为本申请一个示例性实施例提供的种子信号优化过程的示意图。
图5为本申请一个示例性实施例提供的一种信息终端漏洞挖掘装置的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。
基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1,本申请实施例提供了一种信息终端漏洞挖掘方法,包括:
步骤S1,构建信息终端的跨域耦合模型。
其中,跨域耦合模型中的跨域指的是信息终端的物理域和信息域。物理域包括信息终端中的传感器、执行器等感知控制单元以及对应的模拟量信号等物理过程和实体;信息域包括软件系统和云服务、设备运行的软件算法、业务数据和网络流量等计算过程和数据。
步骤S2,基于测试信号对跨域耦合模型进行感知漏洞挖掘。
其中,测试信号的生成过程为:在预设信号要素集中选择种子信号,对种子信号进行依次进行单一构造、叠加构造和复用构造,得到综合谱的测试信号。在将测试信号输入跨域耦合模型后,通过监测跨域耦合模型出现的异常表征,实现对信息终端感知漏洞的获取。
步骤S3,采用静态分析法对跨域耦合模型进行代码漏洞检测。
步骤S4,采用动态分析法对跨域耦合模型进行固件漏洞挖掘。
步骤S5,将挖掘出的感知漏洞、代码漏洞和固件漏洞作为终端漏洞挖掘结果。
上述实施例提供的一种信息终端漏洞挖掘方法,首先通过对信息终端构建的跨域耦合模型进行漏洞分析,提升了漏洞挖掘的靶向性和覆盖程度;其次,通过测试信号对模型的感知漏洞挖掘,弥补了信息终端在感知执行环节硬件脆弱性挖掘手段缺失、自动化能力不足的问题,提高了本申请的智能化和覆盖程度;通过动静结合的分析方法对模型进行代码漏洞和固件漏洞的脆弱性分析检测,进一步提升了本申请的智能化。
在一些实施例中,上述构建信息终端的跨域耦合模型,包括:
步骤S11,获取信息终端中的各个功能模块和其间的信息传递关系。
具体地,不同的信息终端设备由不同的功能模块组成,功能模块指具有完整实际物理、信息意义的最小功能集合,对信息终端设备功能模型的建模可以描述为不同模块组成的集合。
以分布式光伏并网逆变器为例,一台完整的光伏逆变器往往由计算模块(如微控制单元MCU, Microcontroller Unit),测量模块(如电压、电流传感器等),通信模块(如串口通信、4G/5G通信等),执行模块(如开关元件等),算法模块(如最大功率点跟踪算法MPPT,Maximum Power Point Tracking),数据模块(通信报文,计算数据等)等不同的模块组成。
不同模块之间不是互相独立的存在,其间存在相互联系,这些联系包含不同模块之间传递信息和模块自身的输入输出。
步骤S12,将各功能模块抽象为功能节点,并根据信息传递关系连接各功能节点。
请参见图2,功能模块间的信息传递具有方向性,如光伏逆变器中的电流传感器测量单元测量数据将输入计算单元MCU中处理,图2中连接线的箭头代表了这种方向性。由图2可知,这种方向也不仅仅是单向的。所有的模块与它们间的拓扑关系构成了一个终端设备的系统设计和架构,这些模块组合在一起实现的功能即为终端设备的业务功能。因此,本申请基于图论的方法,将电力关键信息终端的各个模块抽象为不同节点,这些节点由彼此的信息传递相连。
步骤S13,根据各功能模块的存在形式将其对应的功能节点划分至物理域或信息域中。
由于功能模块多样性,信息终端设备不仅包含具有实际物理意义的功能模块,如负责计算任务的MCU、负责传输数据的通信串口、负责执行任务的开关元件等;同时,信息终端设备也包含具有信息意义的软件或是其他模块,如传输的数据和报文、各类控制算法如最大功率点跟踪MPPT、锁相环等。因此,可将信息终端设备中不同模块的存在形式划分为物理域和信息域:物理域的模块代表设备以功能划分的硬件组成模块;信息域的模块代表设备以功能划分的逻辑组成模块。物理域模块与信息域模块彼此耦合,信息域模块需要物理域模块帮助其物理实现,物理域模块需要信息域模块作为载体传递信息。
在分布式光伏逆变器中,一个信息域的计算任务依赖于物理域中MCU内部的门电路完成,开关元件受MCU输出的信息控制(输出的脉冲宽度调制波PWM, Pulse WidthModulation)。
基于上述步骤,可实现信息终端物理-信息跨域耦合模型的构建。
上述实施例的跨域耦合模型,可以分析终端设备内部各功能模块之间的关系,刻画各功能模块在物理域和信息域之间的跨域交互过程,大大提高了漏洞挖掘的覆盖程度。
在一些实施例中,上述基于测试信号对跨域耦合模型进行感知漏洞挖掘,包括:
步骤S21,将综合谱的测试信号输入跨域耦合模型,得到物理域中各功能节点的输出信号,和信息域中各功能节点的高维信息。
其中,测试信号可以通过声光电磁热等物理信号的发射装置生成并输入,触发感知执行环节脆弱性并使被测信息终端出现异常状态。
对异常状态的有效表征和准确检测是测试的一个重点。与软件测试不同,测试信号的对象是信息终端的感知执行环节,属于“硬件在环”的“物理-信息联动”测试,因此测试所触发的信息终端异常状态存在信息和物理两种形态。在信息域,异常状态可能表现于传感器(或执行器)的测量结果(控制结果)甚至是上层系统的状态;在物理域,异常状态可能表现于器件的输出、模块的输出和硬件调试接口中。信息域的异常可以由测试系统软件直接调用获得,但是信息维度较高,信息量偏少,属于高维信息;而物理域的异常信息维度较低、信息量大,但是来自接口较为缺乏的硬件电路,难以直接获得,因此,在物理域上,充分利用硬件已有的调试接口获取电路的输出信号,对于调试接口缺乏或较少的设备,通过“硬件插装”的方式以探针接入关键器件所在电路,直接获取器件的输出信号。
步骤S22,将物理域中各功能节点的输出信号和各功能节点的正常信号进行对比,确定物理域中存在感知漏洞的异常物理节点。
假设正常情况下的某个功能模块输出的信号状态为,若在某次测试信号注入时输出的信号状态/>与正常值/>的偏离量超出阈值/>,即/>,说明对应的功能模块受到该测试信号的影响,将其判断为异常状态,即存在感知漏洞。
步骤S23,对信息域中各功能节点的高维信息进行频域处理,得到对应的高维频谱。
步骤S24,采用卡尔曼滤波法对各高维频谱进行预测,确定存在感知漏洞的异常信息节点。
其中,在信息域上,高维信息,例如传感器测量结果等,可以通过时域、频域处理或特征提取增加信息量,利用神经网络、卡尔曼滤波等算法对异常状态进行识别和预测。
具体地,时域、频域处理可采用傅里叶变换实现;卡尔曼滤波法对信号的跟踪和预测能力能够迅速筛选出运行出现漏洞的信息域节点。
上述实施例中,采用测试信号实现了对信息终端在感知执行环节中的漏洞挖掘,弥补了现有技术中对硬件感知环节挖掘手段的缺失,提升了漏洞挖掘智能化水平。
请参见图3,在一些实施例中,该方法还包括:
在预设信号要素集中选择种子信号。
对种子信号进行信号调优,得到综合谱的测试信号。
其中,对种子信号进行信号调优,得到综合谱的测试信号,包括:对种子信号依次进行单一构造、叠加构造和复用构造,得到测试信号。
具体地,综合谱测试信号构造需根据测试对象与目标从信号要素集中选择合适的种子信号,通过信号调优方法变异生成各种信号类型和参数的综合谱测试信号。
与软件模糊测试不同,测试信号依赖于物理信号而非数据或文件作为测试用例,而物理测试用例并无信息测试用例类似的格式或类型限制,可能影响传感器、执行器的物理信号种类形态难以穷尽,通过对相关工作的广泛调研,将可能影响传感器、执行器等的物理信号类型总结为声、光、电、磁、热五大类,同时考虑幅度、频率、相位、波形等物理信号形态,拟设计如下基于综合谱信号的跨域模糊测试信号要素集:
。
其中,表示跨域模糊测试信号,具体规定了测试信号的各项参数,包括:/>表示目标信号潜在的注入点(器件),如传感器和执行器中的换能器、放大器、滤波器、模数转换器、导线等;/>表示测试信号种类,包括声(声波和超声波)、光(可见光、红外等)、电、磁、热;/>表示测试信号波形,如幅度调制、频率调制、相位调制等;/>表示测试信号的幅度,/>表示测试信号的频率,/>表示测试信号的相位。/>表示与当前测试信号对应的观测量,例如某器件的输出或传感器最终的测量结果、执行器最终的控制结果。
要素集中的具体参数根据专家经验设置,作为种子信号。
请参见图4,在信号要素集的基础上,需要进一步对种子信号进行同步调整优化,以提高测试信号的硬件覆盖度,在增加发现更多深层感知执行环节脆弱性的几率的同时提高测试效率。本申请根据感知执行环节脆弱性存在的特点,提出基于单一构造、叠加构造、复用构造的信号优化构造方法,如图4所示,a)单一构造:基于前一节感知执行环节脆弱性机理模型,根据目标传感器(或执行器)的测量范围(执行动作),变化单一类型信号的信号波形、频率、幅度、相位等参数,覆盖带内(in-band)和带外(out-of-band)范围;b)叠加构造:使用多种类型的信号,利用同质信号和异质信号的叠加作用效果;c)复用构造:基于信号特征的多样性,从“信号类型复用”和“信号参数复用”两个层面建立复用关系,发射复合信号。
进一步的,在通过以上构造方式得到测试信号和模型的表征结果后,可结合表征结果,通过遗传算法等优化方式对测试信号进行反馈优化,实现动态调优。
上述实施例给出的测试信号的构建方法,能够提高测试信号的硬件覆盖度和测试效率。
在一些实施例中,上述采用静态分析法对跨域耦合模型进行代码漏洞检测,包括:
步骤S31,构建预训练的强化学习模型,并获取检测数据库。
其中,检测数据库包括正常代码数据、函数白名单和代码漏洞数据库。函数白名单来自软件产品相关代码构建以来的每个变更集。使用NLP(自然语言处理)分析每个变更集,得到每个变更集特征;将每个变更集的特征输入缺陷溯源模型,生成代码漏洞数据库;其中,缺陷溯源模型包括历史故障、对应的变更集特征和溯源中学习的模式的数学描述。
步骤S32,将检测数据库输入强化学习模型进行训练,得到漏洞检测模型。
步骤S33,将各功能节点的代码数据输入漏洞检测模型,得到检测结果。
步骤S34,将检测结果和漏洞规则数据库进行对比,确定存在漏洞的缺陷代码数据。
其中,漏洞规则数据库包括IEEE软件缺陷标准分类、共同弱点枚举(CWE)、SANS协会软件安全和分类和开放Web应用程序安全项目(OWASP)缺陷分类等已知代码漏洞内容。
步骤S35,判定缺陷代码数据对应的功能节点存在代码漏洞。
具体地,漏洞检测模型对将代码数据中疑似缺陷的内容,例如函数、赋值行、循环等提取出来作为检测结果,再将检测结果和漏洞规则数据集进行对比;若有重合的部分,则检测结果对应的代码数据对应的功能节点将被视为存在代码漏洞。
在一些实施例中,上述采用动态分析法对跨域耦合模型进行固件漏洞挖掘,包括:
步骤S41,获取跨域耦合模型中各功能节点的固件信息。
其中,固件信息包括功能节点中的HTML、JS、XML代码数据,引用指令中包含的绝对地址引用信息,以及配置文件数据等。
步骤S42,对各固件信息进行解析,提取对应的关键代码数据流。
具体地,解析固件信息中的代码数据,恢复其中的函数语义,并对外部服务的关键代码进行数据流提取,可以理解为是针对代码数据的循环、赋值、变换操作对其他变量产生影响的过程进行分析,从中提取受影响的变量集合和对应的代码片段集合的过程。
步骤S43,对各关键代码数据流进行模拟执行和模糊测试,得到固件漏洞。
其中,上述对各关键代码数据流进行模拟执行和模糊测试,得到固件漏洞,包括:
步骤S431,根据关键代码数据流得到对应功能节点的处理器信息和运行环境信息。
步骤S432,根据处理器信息和运行环境信息对功能节点进行状态模拟。
具体地,基于对固件信息提取得到的处理器架构信息、运行基本环境等信息,采用Unicorn模拟框架对设备运行时的代码和数据的情况进行模拟,得到对功能节点的状态模拟。
步骤S433,采用模糊测试方法对状态模拟进行漏洞挖掘,得到固件漏洞。
具体地,上述采用模糊测试方法对状态模拟进行漏洞挖掘,得到固件漏洞,包括:
步骤S4331,随机生成测试数据,并将测试数据输入状态模拟中。
其中,测试数据可以采用全自动或半自动的方式生成,为保证测试结果的精确度,步骤S4331可以循环执行多次,以保证测试结果不存在偶然性。
步骤S4332,检测状态模拟中是否出现预设异常。
其中,预设异常包括程序崩溃、断言失败和程序错误。
步骤S4333,若是,则将状态模拟对应的功能节点作为固件漏洞。
上述实施例运用静态与动态相结合的方法挖掘信息终端软件层面脆弱性,相比现有技术,进一步提升了漏洞挖掘智能化水平。
请参见图5,本申请另一实施例提供了一种信息终端漏洞挖掘装置,包括:
构建模块101,用于构建信息终端的跨域耦合模型。
感知挖掘模块102,用于基于测试信号对跨域耦合模型进行感知漏洞挖掘。
静态分析模块103,用于采用静态分析法对跨域耦合模型进行代码漏洞检测。
动态分析模块104,用于采用动态分析法对跨域耦合模型进行固件漏洞挖掘。
输出模块105,用于将挖掘出的感知漏洞、代码漏洞和固件漏洞作为终端漏洞挖掘结果。
进一步的,构建模块101包括:
获取单元,用于获取信息终端中的各个功能模块和其间的信息传递关系。
节点转换单元,用于将各功能模块抽象为功能节点,并根据信息传递关系连接各功能节点。
划分单元,用于根据各功能模块的存在形式将其对应的功能节点划分至物理域或信息域中。
进一步的,感知挖掘模块102包括:
测试输入单元,用于将综合谱的测试信号输入跨域耦合模型,得到物理域中各功能节点的输出信号,和信息域中各功能节点的高维信息。
物理域感知单元,用于将物理域中各功能节点的输出信号和各功能节点的正常信号进行对比,确定物理域中存在感知漏洞的异常物理节点。
处理单元,用于对信息域中各功能节点的高维信息进行频域处理,得到对应的高维频谱。
信息域识别单元,用于采用卡尔曼滤波法对各高维频谱进行预测,确定存在感知漏洞的异常信息节点。
进一步的,该装置还包括:
种子选择模块,用于在预设信号要素集中选择种子信号。
调优模块,用于对种子信号进行信号调优,得到综合谱的测试信号。
其中,调优模块用于对种子信号依次进行单一构造、叠加构造和复用构造,得到测试信号。
进一步的,静态分析模块103包括:
数据库单元,用于构建预训练的强化学习模型,并获取检测数据库。
训练单元,用于将检测数据库输入强化学习模型进行训练,得到漏洞检测模型。
检测单元,用于将各功能节点的代码数据输入漏洞检测模型,得到检测结果。
对比单元,用于将检测结果和漏洞规则数据库进行对比,确定存在漏洞的缺陷代码数据。
判定单元,用于判定缺陷代码数据对应的功能节点存在代码漏洞。
进一步的,动态分析模块104包括:
固件获取单元,用于获取跨域耦合模型中各功能节点的固件信息。
解析单元,用于对各固件信息进行解析,提取对应的关键代码数据流。
模糊测试单元,用于对各关键代码数据流进行模拟执行和模糊测试,得到固件漏洞。
本实施例中提供的关于一种信息终端漏洞挖掘装置的具体限定,可以参见上文中关于一种信息终端漏洞挖掘方法的实施例,于此不再赘述。上述一种信息终端漏洞挖掘装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
本申请实施例提供了一种计算机设备,该计算机设备可以包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。处计算机程序被处理器执行时,使得处理器执行如上述任一实施例的一种信息终端漏洞挖掘方法的步骤。
本实施例提供的计算机设备的工作过程、工作细节和技术效果,可以参见上文中关于一种信息终端漏洞挖掘方法的实施例,于此不再赘述。
本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述任一实施例的一种信息终端漏洞挖掘方法的步骤。其中,所述计算机可读存储介质是指存储数据的载体,可以但不限于包括软盘、光盘、硬盘、闪存、优盘和/或记忆棒(Memory Stick)等,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。本实施例提供的计算机可读存储介质的工作过程、工作细节和技术效果,可以参见上文中关于一种信息终端漏洞挖掘方法的实施例,于此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种信息终端漏洞挖掘方法,其特征在于,包括:
构建信息终端的跨域耦合模型;
基于测试信号对所述跨域耦合模型进行感知漏洞挖掘;
采用静态分析法对所述跨域耦合模型进行代码漏洞检测;
采用动态分析法对所述跨域耦合模型进行固件漏洞挖掘;
将挖掘出的感知漏洞、代码漏洞和固件漏洞作为终端漏洞挖掘结果。
2.根据权利要求1所述的信息终端漏洞挖掘方法,其特征在于,所述构建信息终端的跨域耦合模型,包括:
获取信息终端中的各个功能模块和其间的信息传递关系;
将各所述功能模块抽象为功能节点,并根据所述信息传递关系连接各所述功能节点;
根据各所述功能模块的存在形式将其对应的所述功能节点划分至物理域或信息域中。
3.根据权利要求2所述的信息终端漏洞挖掘方法,其特征在于,所述基于测试信号对所述跨域耦合模型进行感知漏洞挖掘,包括:
将综合谱的所述测试信号输入所述跨域耦合模型,得到所述物理域中各所述功能节点的输出信号,和所述信息域中各所述功能节点的高维信息;
将所述物理域中各所述功能节点的输出信号和各所述功能节点的正常信号进行对比,确定所述物理域中存在感知漏洞的异常物理节点;
对所述信息域中各所述功能节点的高维信息进行频域处理,得到对应的高维频谱;
采用卡尔曼滤波法对各所述高维频谱进行预测,确定存在感知漏洞的异常信息节点。
4.根据权利要求2所述的信息终端漏洞挖掘方法,其特征在于,所述采用静态分析法对所述跨域耦合模型进行代码漏洞检测,包括:
构建预训练的强化学习模型,并获取检测数据库;
将所述检测数据库输入所述强化学习模型进行训练,得到漏洞检测模型;
将各所述功能节点的代码数据输入所述漏洞检测模型,得到检测结果;
将检测结果和漏洞规则数据库进行对比,确定存在漏洞的缺陷代码数据;
判定所述缺陷代码数据对应的所述功能节点存在所述代码漏洞。
5.根据权利要求2所述的信息终端漏洞挖掘方法,其特征在于,所述采用动态分析法对所述跨域耦合模型进行固件漏洞挖掘,包括:
获取所述跨域耦合模型中各所述功能节点的固件信息;
对各所述固件信息进行解析,提取对应的关键代码数据流;
对各所述关键代码数据流进行模拟执行和模糊测试,得到固件漏洞。
6.根据权利要求5所述的信息终端漏洞挖掘方法,其特征在于,所述对各所述关键代码数据流进行模拟执行和模糊测试,得到固件漏洞,包括:
根据所述关键代码数据流得到对应所述功能节点的处理器信息和运行环境信息;
根据所述处理器信息和所述运行环境信息对所述功能节点进行状态模拟;
采用模糊测试方法对所述状态模拟进行漏洞挖掘,得到所述固件漏洞。
7.根据权利要求6所述的信息终端漏洞挖掘方法,其特征在于,所述采用模糊测试方法对所述状态模拟进行漏洞挖掘,得到所述固件漏洞,包括:
随机生成测试数据,并将所述测试数据输入所述状态模拟中;
检测所述状态模拟中是否出现预设异常;
若是,则将所述状态模拟对应的所述功能节点作为所述固件漏洞。
8.一种信息终端漏洞挖掘装置,其特征在于,包括:
构建模块,用于构建信息终端的跨域耦合模型;
感知挖掘模块,用于基于测试信号对所述跨域耦合模型进行感知漏洞挖掘;
静态分析模块,用于采用静态分析法对所述跨域耦合模型进行代码漏洞检测;
动态分析模块,用于采用动态分析法对所述跨域耦合模型进行固件漏洞挖掘;
输出模块,用于将挖掘出的感知漏洞、代码漏洞和固件漏洞作为终端漏洞挖掘结果。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述信息终端漏洞挖掘方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述信息终端漏洞挖掘方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410058967.9A CN117574393B (zh) | 2024-01-16 | 2024-01-16 | 一种信息终端漏洞挖掘方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410058967.9A CN117574393B (zh) | 2024-01-16 | 2024-01-16 | 一种信息终端漏洞挖掘方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117574393A true CN117574393A (zh) | 2024-02-20 |
CN117574393B CN117574393B (zh) | 2024-03-29 |
Family
ID=89895935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410058967.9A Active CN117574393B (zh) | 2024-01-16 | 2024-01-16 | 一种信息终端漏洞挖掘方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117574393B (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106650452A (zh) * | 2016-12-30 | 2017-05-10 | 北京工业大学 | 一种Android系统内置应用漏洞挖掘方法 |
CN107368417A (zh) * | 2017-07-25 | 2017-11-21 | 中国人民解放军63928部队 | 一种漏洞挖掘技术测试模型及测试方法 |
CN110519216A (zh) * | 2019-07-05 | 2019-11-29 | 湖北工业大学 | 一种电力工控系统静态和动态漏洞分析与挖掘方法 |
CN110943981A (zh) * | 2019-11-20 | 2020-03-31 | 中国人民解放军战略支援部队信息工程大学 | 基于层次学习的跨架构漏洞挖掘方法 |
CN111797407A (zh) * | 2020-09-08 | 2020-10-20 | 江苏开博科技有限公司 | 一种基于深度学习模型优化的xss漏洞检测方法 |
CN112134761A (zh) * | 2020-09-23 | 2020-12-25 | 国网四川省电力公司电力科学研究院 | 基于固件分析的电力物联网终端脆弱性检测方法及系统 |
WO2021135532A1 (zh) * | 2020-07-21 | 2021-07-08 | 平安科技(深圳)有限公司 | 云网络漏洞挖掘方法、装置、电子设备及介质 |
CN114943083A (zh) * | 2022-06-21 | 2022-08-26 | 国网冀北电力有限公司信息通信分公司 | 一种智能终端漏洞代码样本挖掘方法、装置及电子设备 |
CN115270131A (zh) * | 2022-06-14 | 2022-11-01 | 中国科学院信息工程研究所 | 一种Java反序列化漏洞检测方法及系统 |
CN115357896A (zh) * | 2022-07-08 | 2022-11-18 | 东南大学 | 一种基于深度学习的定向漏洞挖掘方法 |
CN115865468A (zh) * | 2022-11-29 | 2023-03-28 | 招银云创信息技术有限公司 | 一种漏洞防御方法及相关设备 |
US20230161880A1 (en) * | 2021-11-24 | 2023-05-25 | Hangzhou Evergreen Information Technology Co., Ltd. | Cross-architecture automatic detection method and system for third-party components and security risks thereof |
CN116566658A (zh) * | 2023-04-18 | 2023-08-08 | 浙江大学 | 一种配电终端信息-物理双向跨域攻击分析方法 |
CN117171757A (zh) * | 2023-08-21 | 2023-12-05 | 中国工商银行股份有限公司 | 一种软件漏洞挖掘的模型构建方法和软件漏洞挖掘方法 |
-
2024
- 2024-01-16 CN CN202410058967.9A patent/CN117574393B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106650452A (zh) * | 2016-12-30 | 2017-05-10 | 北京工业大学 | 一种Android系统内置应用漏洞挖掘方法 |
CN107368417A (zh) * | 2017-07-25 | 2017-11-21 | 中国人民解放军63928部队 | 一种漏洞挖掘技术测试模型及测试方法 |
CN110519216A (zh) * | 2019-07-05 | 2019-11-29 | 湖北工业大学 | 一种电力工控系统静态和动态漏洞分析与挖掘方法 |
CN110943981A (zh) * | 2019-11-20 | 2020-03-31 | 中国人民解放军战略支援部队信息工程大学 | 基于层次学习的跨架构漏洞挖掘方法 |
WO2021135532A1 (zh) * | 2020-07-21 | 2021-07-08 | 平安科技(深圳)有限公司 | 云网络漏洞挖掘方法、装置、电子设备及介质 |
CN111797407A (zh) * | 2020-09-08 | 2020-10-20 | 江苏开博科技有限公司 | 一种基于深度学习模型优化的xss漏洞检测方法 |
CN112134761A (zh) * | 2020-09-23 | 2020-12-25 | 国网四川省电力公司电力科学研究院 | 基于固件分析的电力物联网终端脆弱性检测方法及系统 |
US20230161880A1 (en) * | 2021-11-24 | 2023-05-25 | Hangzhou Evergreen Information Technology Co., Ltd. | Cross-architecture automatic detection method and system for third-party components and security risks thereof |
CN115270131A (zh) * | 2022-06-14 | 2022-11-01 | 中国科学院信息工程研究所 | 一种Java反序列化漏洞检测方法及系统 |
CN114943083A (zh) * | 2022-06-21 | 2022-08-26 | 国网冀北电力有限公司信息通信分公司 | 一种智能终端漏洞代码样本挖掘方法、装置及电子设备 |
CN115357896A (zh) * | 2022-07-08 | 2022-11-18 | 东南大学 | 一种基于深度学习的定向漏洞挖掘方法 |
CN115865468A (zh) * | 2022-11-29 | 2023-03-28 | 招银云创信息技术有限公司 | 一种漏洞防御方法及相关设备 |
CN116566658A (zh) * | 2023-04-18 | 2023-08-08 | 浙江大学 | 一种配电终端信息-物理双向跨域攻击分析方法 |
CN117171757A (zh) * | 2023-08-21 | 2023-12-05 | 中国工商银行股份有限公司 | 一种软件漏洞挖掘的模型构建方法和软件漏洞挖掘方法 |
Non-Patent Citations (2)
Title |
---|
LÓPEZ, F.A.;PÁEZ, A.A;CARRASCO, J.A.;RUMINOT, N.A.: "Vulnerability of nodes under controlled network topology and flow autocorrelation conditions", JOURNAL OF TRANSPORT GEOGRAPHY, vol. 59, 31 December 2017 (2017-12-31), pages 77 - 87 * |
傅涛;孙文静: "一种基于静、动态分析相结合的漏洞挖掘分析方法", 软件, no. 08, 15 August 2016 (2016-08-15), pages 103 - 106 * |
Also Published As
Publication number | Publication date |
---|---|
CN117574393B (zh) | 2024-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11429718B2 (en) | Industrial system event detection and corresponding response | |
EP3803660B1 (en) | Knowledge graph for real time industrial control system security event monitoring and management | |
Suaboot et al. | A taxonomy of supervised learning for idss in scada environments | |
Adepu et al. | Control behavior integrity for distributed cyber-physical systems | |
Vaddi et al. | Dynamic bayesian networks based abnormal event classifier for nuclear power plants in case of cyber security threats | |
Demertzis et al. | A computational intelligence system identifying cyber-attacks on smart energy grids | |
Konstantinou et al. | Chaos engineering for enhanced resilience of cyber-physical systems | |
de Abreu et al. | A method for detecting causal relationships between industrial alarm variables using Transfer Entropy and K2 algorithm | |
US20210336979A1 (en) | Partial Bayesian network with feedback | |
Diao et al. | Dynamic probabilistic risk assessment for electric grid cybersecurity | |
CN117574393B (zh) | 一种信息终端漏洞挖掘方法、装置、设备及存储介质 | |
Qin et al. | Formal modeling and analysis of cyber-physical cross-space attacks in power grid | |
Tan et al. | CoToRu: automatic generation of network intrusion detection rules from code | |
Formicola et al. | Assessing the impact of cyber attacks on wireless sensor nodes that monitor interdependent physical systems | |
Hauer et al. | A methodology for resilient control and monitoring in smart grids | |
Koucham et al. | Cross-domain alert correlation methodology for industrial control systems | |
Palomino et al. | Graph-based interdependent cyber-physical risk analysis of power distribution networks | |
Tavolato et al. | Analytical modelling of cyber-physical systems: Applying kinetic gas theory to anomaly detection in networks | |
Boakye-Boateng et al. | Riskism: A risk assessment tool for substations | |
Koucham | Intrusion detection for industrial control systems | |
Canaan et al. | Experimental HIl implementation of RNN for detecting cyber physical attacks in AC microgrids | |
Lu et al. | A multi-layer, hierarchical information management system for the smart grid | |
Cerotti et al. | SecuriDN: a customizable GUI generating cybersecurity models for DER control architectures | |
Yasakethu et al. | Intelligent risk detection and analysis tools for critical infrastructure protection | |
Murphy et al. | A randomization-based, zero-trust cyberattack detection method for hierarchical systems |
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 |