CN114553490A - 工业用被动模糊测试方法、系统和可读存储介质 - Google Patents
工业用被动模糊测试方法、系统和可读存储介质 Download PDFInfo
- Publication number
- CN114553490A CN114553490A CN202210084274.8A CN202210084274A CN114553490A CN 114553490 A CN114553490 A CN 114553490A CN 202210084274 A CN202210084274 A CN 202210084274A CN 114553490 A CN114553490 A CN 114553490A
- Authority
- CN
- China
- Prior art keywords
- test
- algorithm
- configuration file
- passive
- fuzzy
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 301
- 238000000034 method Methods 0.000 claims abstract description 35
- 230000004044 response Effects 0.000 claims abstract description 12
- 238000004891 communication Methods 0.000 claims abstract description 11
- 230000008569 process Effects 0.000 claims description 17
- 230000002159 abnormal effect Effects 0.000 claims description 8
- 230000002146 bilateral effect Effects 0.000 claims description 8
- 230000035772 mutation Effects 0.000 claims description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000010998 test method Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 241000700605 Viruses Species 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 1
- 238000005272 metallurgy Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 210000005036 nerve Anatomy 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000035939 shock Effects 0.000 description 1
- 238000012038 vulnerability analysis Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/02—Computing arrangements based on specific mathematical models using fuzzy logic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- 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)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Mathematical Analysis (AREA)
- Fuzzy Systems (AREA)
- Algebra (AREA)
- Biomedical Technology (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Automation & Control Theory (AREA)
- Molecular Biology (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Medical Informatics (AREA)
- Maintenance And Management Of Digital Transmission (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开的一种工业用被动模糊测试方法、系统和可读存储介质,其中方法包括:通过预设解析算法解析用户传入的配置文件生成模糊测试运行对象文件;调用模糊测试引擎根据解析得到的所述模糊测试运行对象文件,以启动模糊器和观察器和收发器,通过所述收发器建立通信连接,经由调试端口的连接向所述测试目标发送数据以完成所述被动模糊测试,其中,将所述模糊测试算法获取的变异数据通过中间人攻击的方式以修改响应包数据。本发明通过预设的解析算法对用户的输入文件进行动态调试获得测试数据,并通过中间人攻击的方式修改响应包数据以完成被动模糊测试,不仅针对可编程逻辑控制器还可针对工业控制软件进行模糊测试,大大提高了应用范围。
Description
技术领域
本发明涉及工业控制网络安全技术领域,更具体的,涉及一种工业用被动模糊测试方法、系统和可读存储介质。
背景技术
工业控制信息系统在我国电力、交通、能源、水利、冶金、航空航天等各个重要的工业国家和基础设施中扮演着的"大脑"和"中枢神经"的重要角色。
随着现代的经济与信息技术的发展,工业的控制信息系统不仅意味着需要面临超越传统控制功能的安全威胁,与此同时还意味着需工业控制系统将会面临变体多样勒索病毒,面临潜匿深处的木马病毒,以及面临各种各样形形色色的黑客入侵。
模糊安全测试的技术主要是安全测试应用技术的一种,通过模糊构造软件中畸形输入的数据从而使得构造软件可能发生异常如系统崩溃等异常的情况,并且基于此精准定位存在与软件中的安全隐患问题,利用模糊测试进行漏洞分析的技术,会因为模糊测试本身具有遍历各种模糊后的变异数据的可能而具有遍历所有输入的特性,因此对比于其他安全漏洞挖掘的方法模糊测试发现安全隐患和技术漏洞的效率有显著的提高,并且能披露许多传统手段无法触及的盲点,受到了信息安全中以及漏洞分析技术领域的专家和研究工作人员的广泛关注和欢迎。
发明内容
鉴于上述问题,本发明的目的是提供一种工业用被动模糊测试方法、系统和可读存储介质,能够通过被动模糊测试扩大模糊测试的应用范围,并且可以及时发现客户端的安全隐患。
本发明第一方面提供了一种工业用被动模糊测试方法,包括以下步骤:
通过预设解析算法解析用户传入的配置文件生成模糊测试运行对象文件,其中,所述配置文件为用户指定的测试目标和/或测试协议;
调用模糊测试引擎根据解析得到的所述模糊测试运行对象文件,以启动模糊器和观察器和收发器,其中,所述模糊器为预设的模糊测试算法,所述观察器用于记录和展示所述被动模糊测试过程中产生的日志信息;
通过所述收发器建立通信连接,经由调试端口的连接向所述测试目标发送数据以完成所述被动模糊测试,其中,将所述模糊测试算法获取的变异数据通过中间人攻击的方式以修改响应包数据。
本方案中,所述通过预设解析算法解析用户传入的配置文件生成模糊测试运行对象文件,具体为:
获取用户传入的所述配置文件;
识别所述配置文件中的测试目标因子与测试协议因子;
基于所述测试目标因子以及所述测试协议因子进行动态识别以分别获取对应的所述解析算法。
本方案中,所述动态识别以分别获取对应的所述解析算法,具体为:
识别到所述配置文件中仅含有所述测试目标因子时,匹配对应的解析测试目标单边算法为所述解析算法;
识别到所述配置文件中仅含有所述测试协议因子时,匹配对应的解析协议目标单边算法为所述解析算法;
识别到所述配置文件中既含有所述测试目标因子也含有所述测试协议因子时,匹配对应的解析测试双边算法为所述解析算法。
本方案中,所述观察器用于观察模糊测试框架运行和数据包收发时是否出现异常,其中,所述观察器根据不同类型划分有:针对于网络协议的观察器、针对于控制台的观察器以及复用观察器。
本方案中,所述预设的模糊测试算法,具体包括:
基于变异的模糊测试算法:根据已知数据样本通过变异的方法生成新的测试用样本;
基于生成的模糊测试算法:根据已知的协议或接口规范进行建模,生成测试用样本;
基于语法的模糊测试算法:根据设定的语法规则生成测试用样本。
本方案中,所述收发器通过RSP协议连接所述调试端口,在测试过程中运行预设调试器跟踪数据,其中,所述预设调试器为gdbserver,所述调试器以调试模式运行所述测试目标并开放所述调试端口。
本发明第二方面还提供一种工业用被动模糊测试系统,包括存储器和处理器,所述存储器中包括工业用被动模糊测试方法程序,所述工业用被动模糊测试方法程序被所述处理器执行时实现如下步骤:
通过预设解析算法解析用户传入的配置文件生成模糊测试运行对象文件,其中,所述配置文件为用户指定的测试目标和/或测试协议;
调用模糊测试引擎根据解析得到的所述模糊测试运行对象文件,以启动模糊器和观察器和收发器,其中,所述模糊器为预设的模糊测试算法,所述观察器用于记录和展示所述被动模糊测试过程中产生的日志信息;
通过所述收发器建立通信连接,经由调试端口的连接向所述测试目标发送数据以完成所述被动模糊测试,其中,将所述模糊测试算法获取的变异数据通过中间人攻击的方式以修改响应包数据。
本方案中,所述通过预设解析算法解析用户传入的配置文件生成模糊测试运行对象文件,具体为:
获取用户传入的所述配置文件;
识别所述配置文件中的测试目标因子与测试协议因子;
基于所述测试目标因子以及所述测试协议因子进行动态识别以分别获取对应的所述解析算法。
本方案中,所述动态识别以分别获取对应的所述解析算法,具体为:
识别到所述配置文件中仅含有所述测试目标因子时,匹配对应的解析测试目标单边算法为所述解析算法;
识别到所述配置文件中仅含有所述测试协议因子时,匹配对应的解析协议目标单边算法为所述解析算法;
识别到所述配置文件中既含有所述测试目标因子也含有所述测试协议因子时,匹配对应的解析测试双边算法为所述解析算法。
本方案中,所述观察器用于观察模糊测试框架运行和数据包收发时是否出现异常,其中,所述观察器根据不同类型划分有:针对于网络协议的观察器、针对于控制台的观察器以及复用观察器。
本方案中,所述预设的模糊测试算法,具体包括:
基于变异的模糊测试算法:根据已知数据样本通过变异的方法生成新的测试用样本;
基于生成的模糊测试算法:根据已知的协议或接口规范进行建模,生成测试用样本;
基于语法的模糊测试算法:根据设定的语法规则生成测试用样本。
本方案中,所述收发器通过RSP协议连接所述调试端口,在测试过程中运行预设调试器跟踪数据,其中,所述预设调试器为gdbserver,所述调试器以调试模式运行所述测试目标并开放所述调试端口。
本发明第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质中包括机器的一种工业用被动模糊测试方法程序,所述工业用被动模糊测试方法程序被处理器执行时,实现如上述任一项所述的一种工业用被动模糊测试方法的步骤。
本发明公开的一种工业用被动模糊测试方法、系统和可读存储介质,通过预设的解析算法对用户的输入文件进行动态调试获得测试数据,并通过中间人攻击的方式修改响应包数据以完成被动模糊测试,可以更快更及时地发现目标程序在客户端运行时的安全问题,不仅针对可编程逻辑控制器还可针对工业控制软件进行模糊测试,大大提高了应用范围。
附图说明
图1示出了本申请一种工业用被动模糊测试方法的流程图;
图2示出了本发明一种工业用被动模糊测试系统的框图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
图1示出了本申请一种工业用被动模糊测试方法的流程图。
如图1所示,本申请公开了一种工业用被动模糊测试方法,包括以下步骤:
S102,通过预设解析算法解析用户传入的配置文件生成模糊测试运行对象文件,其中,所述配置文件为用户指定的测试目标和/或测试协议;
S104,调用模糊测试引擎根据解析得到的所述模糊测试运行对象文件,以启动模糊器和观察器和收发器,其中,所述模糊器为预设的模糊测试算法,所述观察器用于记录和展示所述被动模糊测试过程中产生的日志信息;
S106,通过所述收发器建立通信连接,经由调试端口的连接向所述测试目标发送数据以完成所述被动模糊测试,其中,将所述模糊测试算法获取的变异数据通过中间人攻击的方式以修改响应包数据。
需要说明的是,在模糊测试中,用随机坏数据攻击一个程序,然后等着观察哪里遭到了破坏,模糊测试的技巧在于,它是不符合逻辑的:自动模糊测试不去猜测哪个数据会导致破坏(就像人工测试员那样),而是将尽可能多的杂乱数据投入程序中,由这个测试验证过的失败模式通常对程序员来说是个彻底的震撼,因为任何按逻辑思考的人都不会想到这种失败。
需要说明的是,在本申请提出的模糊测试前,先对用户传入的配置文件进行动态解析,获取其对应的解析算法得到需要模糊测试的所述对象文件,进而调用所述模糊测试引擎进行测试,其中,先通过所述收发器建立通信连接,准确进行调试,通过被动模糊测试的方式代替传统方式,即通过中间人攻击的方式以修改响应包数据代替主动变异数据包,通过本申请提出的被动模糊测试可以发现客户端在处理数据的时候的安全性问题,例如存储格式出错或者验证方式出错。
根据本发明实施例,所述通过预设解析算法解析用户传入的配置文件生成模糊测试运行对象文件,具体为:
获取用户传入的所述配置文件;
识别所述配置文件中的测试目标因子与测试协议因子;
基于所述测试目标因子以及所述测试协议因子进行动态识别以分别获取对应的所述解析算法。
需要说明的是,用户传入的所述配置文件包含多种数据,既有可能是测试目标、也有可能是测试协议,又或者是测试目标与测试因子的结合数据,因此,为了更高效地进行模糊测试,可对用户传入的所述配置文件进行因子识别,得到对应的数据类型,其中,所述测试目标因子的识别码可以为“0101XX01”、所述测试协议因子的识别码可以为“0101XX11”,通过识别出不同的配置文件数据,可以更快更有效地进行对应模糊测试。
根据本发明实施例,所述动态识别以分别获取对应的所述解析算法,具体为:
识别到所述配置文件中仅含有所述测试目标因子时,匹配对应的解析测试目标单边算法为所述解析算法;
识别到所述配置文件中仅含有所述测试协议因子时,匹配对应的解析协议目标单边算法为所述解析算法;
识别到所述配置文件中既含有所述测试目标因子也含有所述测试协议因子时,匹配对应的解析测试双边算法为所述解析算法。
需要说明的是,为了更有效地进行模糊测试,需要对根据不同的配置文件匹配不同的解析算法,以使得模糊测试高效进行,其中,识别到所述配置文件中仅含有所述测试目标因子时,匹配对应的解析测试目标单边算法为所述解析算法;识别到所述配置文件中仅含有所述测试协议因子时,匹配对应的解析协议目标单边算法为所述解析算法,例如网络层协议或者传输层协议;识别到所述配置文件中既含有所述测试目标因子也含有所述测试协议因子时,匹配对应的解析测试双边算法为所述解析算法。
根据本发明实施例,所述观察器用于观察模糊测试框架运行和数据包收发时是否出现异常,其中,所述观察器根据不同类型划分有:针对于网络协议的观察器、针对于控制台的观察器以及复用观察器。
需要说明的是,所述观察器用于记录和展示模糊测试过程中产生的日志信息,在所述观察器观察模糊测试框架运行和数据包收发时是否出现异常,对测试过程进行记录,以便在出现异常时可以快速查找定位。
根据本发明实施例,所述预设的模糊测试算法,具体包括:
基于变异的模糊测试算法:根据已知数据样本通过变异的方法生成新的测试用样本;
基于生成的模糊测试算法:根据已知的协议或接口规范进行建模,生成测试用样本;
基于语法的模糊测试算法:根据设定的语法规则生成测试用样本。
需要说明的是,不同的配置文件需要不同的模糊测试算法进行测试,本实施例中列举了三个所述模糊测试算法,在实际操作过程中,包括但不仅仅限于本实施例提出的所述模糊测试算法,由于这一部分的算法内容是已知领域内容,故在此不做赘述。
根据本发明实施例,所述收发器通过RSP协议连接所述调试端口,在测试过程中运行预设调试器跟踪数据,其中,所述预设调试器为gdbserver,所述调试器以调试模式运行所述测试目标并开放所述调试端口。
需要说明的是,所述收发器通过RSP协议(GDB Remote Serial Protocol,远程串行协议)连接调试端口,测试流程例如,对A软件进行测试,首先利用gdbserver启动A软件,此时gdbserver会开启A软件的调试端口n,模糊测试框架通过连接端口n并向端口n发送测试用例实现对A软件的模糊测试。
值得一提的是,本申请还包括识别特定文件类型判定优先级,具体为:
获取用户传入的所述配置文件并识别所述配置文件的文件类型;
判断所述文件类型与特定文件格式组的包含关系,其中,
若所述文件类型位于所述特定文件格式组的范围内,则将该文件类型的所述配置文件的模糊测试等级定义为第一等级;
反之,则不做操作。
需要说明的是,所述特定文件格式组内的文件类型包括Json格式、Ymal格式以及Xml格式,当所述配置文件的文件类型为上述三种类型的任一个,则将该所述配置文件的模糊测试等级定义为所述第一等级,即优先级最高,优先进行所述模糊测试。
图2示出了本发明一种工业用被动模糊测试系统的框图。
如图2所示,本发明公开了一种工业用被动模糊测试系统,包括存储器和处理器,所述存储器中包括工业用被动模糊测试方法程序,所述工业用被动模糊测试方法程序被所述处理器执行时实现如下步骤:
通过预设解析算法解析用户传入的配置文件生成模糊测试运行对象文件,其中,所述配置文件为用户指定的测试目标和/或测试协议;
调用模糊测试引擎根据解析得到的所述模糊测试运行对象文件,以启动模糊器和观察器和收发器,其中,所述模糊器为预设的模糊测试算法,所述观察器用于记录和展示所述被动模糊测试过程中产生的日志信息;
通过所述收发器建立通信连接,经由调试端口的连接向所述测试目标发送数据以完成所述被动模糊测试,其中,将所述模糊测试算法获取的变异数据通过中间人攻击的方式以修改响应包数据。
需要说明的是,在模糊测试中,用随机坏数据攻击一个程序,然后等着观察哪里遭到了破坏,模糊测试的技巧在于,它是不符合逻辑的:自动模糊测试不去猜测哪个数据会导致破坏(就像人工测试员那样),而是将尽可能多的杂乱数据投入程序中,由这个测试验证过的失败模式通常对程序员来说是个彻底的震撼,因为任何按逻辑思考的人都不会想到这种失败。
需要说明的是,在本申请提出的模糊测试前,先对用户传入的配置文件进行动态解析,获取其对应的解析算法得到需要模糊测试的所述对象文件,进而调用所述模糊测试引擎进行测试,其中,先通过所述收发器建立通信连接,准确进行调试,通过被动模糊测试的方式代替传统方式,即通过中间人攻击的方式以修改响应包数据代替主动变异数据包,通过本申请提出的被动模糊测试可以发现客户端在处理数据的时候的安全性问题,例如存储格式出错或者验证方式出错。
根据本发明实施例,所述通过预设解析算法解析用户传入的配置文件生成模糊测试运行对象文件,具体为:
获取用户传入的所述配置文件;
识别所述配置文件中的测试目标因子与测试协议因子;
基于所述测试目标因子以及所述测试协议因子进行动态识别以分别获取对应的所述解析算法。
需要说明的是,用户传入的所述配置文件包含多种数据,既有可能是测试目标、也有可能是测试协议,又或者是测试目标与测试因子的结合数据,因此,为了更高效地进行模糊测试,可对用户传入的所述配置文件进行因子识别,得到对应的数据类型,其中,所述测试目标因子的识别码可以为“0101XX01”、所述测试协议因子的识别码可以为“0101XX11”,通过识别出不同的配置文件数据,可以更快更有效地进行对应模糊测试。
根据本发明实施例,所述动态识别以分别获取对应的所述解析算法,具体为:
识别到所述配置文件中仅含有所述测试目标因子时,匹配对应的解析测试目标单边算法为所述解析算法;
识别到所述配置文件中仅含有所述测试协议因子时,匹配对应的解析协议目标单边算法为所述解析算法;
识别到所述配置文件中既含有所述测试目标因子也含有所述测试协议因子时,匹配对应的解析测试双边算法为所述解析算法。
需要说明的是,为了更有效地进行模糊测试,需要对根据不同的配置文件匹配不同的解析算法,以使得模糊测试高效进行,其中,识别到所述配置文件中仅含有所述测试目标因子时,匹配对应的解析测试目标单边算法为所述解析算法;识别到所述配置文件中仅含有所述测试协议因子时,匹配对应的解析协议目标单边算法为所述解析算法,例如网络层协议或者传输层协议;识别到所述配置文件中既含有所述测试目标因子也含有所述测试协议因子时,匹配对应的解析测试双边算法为所述解析算法。
根据本发明实施例,所述观察器用于观察模糊测试框架运行和数据包收发时是否出现异常,其中,所述观察器根据不同类型划分有:针对于网络协议的观察器、针对于控制台的观察器以及复用观察器。
需要说明的是,所述观察器用于记录和展示模糊测试过程中产生的日志信息,在所述观察器观察模糊测试框架运行和数据包收发时是否出现异常,对测试过程进行记录,以便在出现异常时可以快速查找定位。
根据本发明实施例,所述预设的模糊测试算法,具体包括:
基于变异的模糊测试算法:根据已知数据样本通过变异的方法生成新的测试用样本;
基于生成的模糊测试算法:根据已知的协议或接口规范进行建模,生成测试用样本;
基于语法的模糊测试算法:根据设定的语法规则生成测试用样本。
需要说明的是,不同的配置文件需要不同的模糊测试算法进行测试,本实施例中列举了三个所述模糊测试算法,在实际操作过程中,包括但不仅仅限于本实施例提出的所述模糊测试算法,由于这一部分的算法内容是已知领域内容,故在此不做赘述。
根据本发明实施例,所述收发器通过RSP协议连接所述调试端口,在测试过程中运行预设调试器跟踪数据,其中,所述预设调试器为gdbserver,所述调试器以调试模式运行所述测试目标并开放所述调试端口。
需要说明的是,所述收发器通过RSP协议(GDB Remote Serial Protocol,远程串行协议)连接调试端口,测试流程例如,对A软件进行测试,首先利用gdbserver启动A软件,此时gdbserver会开启A软件的调试端口n,模糊测试框架通过连接端口n并向端口n发送测试用例实现对A软件的模糊测试
值得一提的是,本申请还包括识别特定文件类型判定优先级,具体为:
获取用户传入的所述配置文件并识别所述配置文件的文件类型;
判断所述文件类型与特定文件格式组的包含关系,其中,
若所述文件类型位于所述特定文件格式组的范围内,则将该文件类型的所述配置文件的模糊测试等级定义为第一等级;
反之,则不做操作。
需要说明的是,所述特定文件格式组内的文件类型包括Json格式、Ymal格式以及Xml格式,当所述配置文件的文件类型为上述三种类型的任一个,则将该所述配置文件的模糊测试等级定义为所述第一等级,即优先级最高,优先进行所述模糊测试。
本发明第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质中包括机器的一种工业用被动模糊测试方法程序,所述工业用被动模糊测试方法程序被处理器执行时,实现如上述任一项所述的一种工业用被动模糊测试方法的步骤。
本发明公开的一种工业用被动模糊测试方法、系统和可读存储介质,通过预设的解析算法对用户的输入文件进行动态调试获得测试数据,并通过中间人攻击的方式修改响应包数据以完成被动模糊测试,可以更快更及时地发现目标程序在客户端运行时的安全问题,不仅针对可编程逻辑控制器还可针对工业控制软件进行模糊测试,大大提高了应用范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (10)
1.一种工业用被动模糊测试方法,其特征在于,包括以下步骤:
通过预设解析算法解析用户传入的配置文件生成模糊测试运行对象文件,其中,所述配置文件为用户指定的测试目标和/或测试协议;
调用模糊测试引擎根据解析得到的所述模糊测试运行对象文件,以启动模糊器和观察器和收发器,其中,所述模糊器为预设的模糊测试算法,所述观察器用于记录和展示所述被动模糊测试过程中产生的日志信息;
通过所述收发器建立通信连接,经由调试端口的连接向所述测试目标发送数据以完成所述被动模糊测试,其中,将所述模糊测试算法获取的变异数据通过中间人攻击的方式以修改响应包数据。
2.根据权利要求1所述的一种工业用被动模糊测试方法,其特征在于,所述通过预设解析算法解析用户传入的配置文件生成模糊测试运行对象文件,具体为:
获取用户传入的所述配置文件;
识别所述配置文件中的测试目标因子与测试协议因子;
基于所述测试目标因子以及所述测试协议因子进行动态识别以分别获取对应的所述解析算法。
3.根据权利要求2所述的一种工业用被动模糊测试方法,其特征在于,所述动态识别以分别获取对应的所述解析算法,具体为:
识别到所述配置文件中仅含有所述测试目标因子时,匹配对应的解析测试目标单边算法为所述解析算法;
识别到所述配置文件中仅含有所述测试协议因子时,匹配对应的解析协议目标单边算法为所述解析算法;
识别到所述配置文件中既含有所述测试目标因子也含有所述测试协议因子时,匹配对应的解析测试双边算法为所述解析算法。
4.根据权利要求1所述的一种工业用被动模糊测试方法,其特征在于,所述观察器用于观察模糊测试框架运行和数据包收发时是否出现异常,其中,所述观察器根据不同类型划分有:针对于网络协议的观察器、针对于控制台的观察器以及复用观察器。
5.根据权利要求1所述的一种工业用被动模糊测试方法,其特征在于,所述预设的模糊测试算法,具体包括:
基于变异的模糊测试算法:根据已知数据样本通过变异的方法生成新的测试用样本;
基于生成的模糊测试算法:根据已知的协议或接口规范进行建模,生成测试用样本;
基于语法的模糊测试算法:根据设定的语法规则生成测试用样本。
6.根据权利要求1所述的一种工业用被动模糊测试方法,其特征在于,所述收发器通过RSP协议连接所述调试端口,在测试过程中运行预设调试器跟踪数据,其中,所述预设调试器为gdbserver,所述调试器以调试模式运行所述测试目标并开放所述调试端口。
7.一种工业用被动模糊测试系统,其特征在于,包括存储器和处理器,所述存储器中包括工业用被动模糊测试方法程序,所述工业用被动模糊测试方法程序被所述处理器执行时实现如下步骤:
通过预设解析算法解析用户传入的配置文件生成模糊测试运行对象文件,其中,所述配置文件为用户指定的测试目标和/或测试协议;
调用模糊测试引擎根据解析得到的所述模糊测试运行对象文件,以启动模糊器和观察器和收发器,其中,所述模糊器为预设的模糊测试算法,所述观察器用于记录和展示所述被动模糊测试过程中产生的日志信息;
通过所述收发器建立通信连接,经由调试端口的连接向所述测试目标发送数据以完成所述被动模糊测试,其中,将所述模糊测试算法获取的变异数据通过中间人攻击的方式以修改响应包数据。
8.根据权利要求7所述的一种工业用被动模糊测试系统,其特征在于,所述通过预设解析算法解析用户传入的配置文件生成模糊测试运行对象文件,具体为:
获取用户传入的所述配置文件;
识别所述配置文件中的测试目标因子与测试协议因子;
基于所述测试目标因子以及所述测试协议因子进行动态识别以分别获取对应的所述解析算法。
9.根据权利要求8所述的一种工业用被动模糊测试系统,其特征在于,所述动态识别以分别获取对应的所述解析算法,具体为:
识别到所述配置文件中仅含有所述测试目标因子时,匹配对应的解析测试目标单边算法为所述解析算法;
识别到所述配置文件中仅含有所述测试协议因子时,匹配对应的解析协议目标单边算法为所述解析算法;
识别到所述配置文件中既含有所述测试目标因子也含有所述测试协议因子时,匹配对应的解析测试双边算法为所述解析算法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括一种工业用被动模糊测试方法程序,所述工业用被动模糊测试方法程序被处理器执行时,实现如权利要求1至6中任一项所述的一种工业用被动模糊测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210084274.8A CN114553490B (zh) | 2022-01-25 | 2022-01-25 | 工业用被动模糊测试方法、系统和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210084274.8A CN114553490B (zh) | 2022-01-25 | 2022-01-25 | 工业用被动模糊测试方法、系统和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114553490A true CN114553490A (zh) | 2022-05-27 |
CN114553490B CN114553490B (zh) | 2024-02-09 |
Family
ID=81671462
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210084274.8A Active CN114553490B (zh) | 2022-01-25 | 2022-01-25 | 工业用被动模糊测试方法、系统和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114553490B (zh) |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110078798A1 (en) * | 2009-09-30 | 2011-03-31 | Computer Associates Think, Inc. | Remote procedure call (rpc) services fuzz attacking tool |
US20130340083A1 (en) * | 2012-06-19 | 2013-12-19 | Lucian Petrica | Methods, systems, and computer readable media for automatically generating a fuzzer that implements functional and fuzz testing and testing a network device using the fuzzer |
US20150095507A1 (en) * | 2013-09-30 | 2015-04-02 | Juniper Networks, Inc. | Fuzzing server responses to malicious client devices |
US9946853B1 (en) * | 2015-09-17 | 2018-04-17 | Symantec Corporation | Techniques for application code obfuscation |
US20180359273A1 (en) * | 2017-06-09 | 2018-12-13 | Raytheon Company | Tactical bus fuzz tester |
US20180365139A1 (en) * | 2017-06-15 | 2018-12-20 | Microsoft Technology Licensing, Llc | Machine learning for constrained mutation-based fuzz testing |
US20190109872A1 (en) * | 2017-10-05 | 2019-04-11 | Honeywell International Inc. | Intelligent automated security vulnerability detection and analysis for industrial internet of things (iiot) devices |
CN109977681A (zh) * | 2019-03-25 | 2019-07-05 | 西安电子科技大学 | 一种面向无人机的模糊测试方法及无人机的模糊测试系统 |
KR20190102427A (ko) * | 2018-02-26 | 2019-09-04 | 주식회사 베스티언 | Can 기기의 보안/품질을 검증하기 위한 퍼징 시스템 및 그 퍼징 방법 |
CN110505111A (zh) * | 2019-07-09 | 2019-11-26 | 杭州电子科技大学 | 基于流量重放的工控协议模糊测试方法 |
US20190361789A1 (en) * | 2018-05-24 | 2019-11-28 | Fujitsu Limited | Concurrency vulnerability detection |
CN112052156A (zh) * | 2020-07-15 | 2020-12-08 | 杭州木链物联网科技有限公司 | 一种模糊测试方法、装置和系统 |
CN112631924A (zh) * | 2020-12-29 | 2021-04-09 | 平安消费金融有限公司 | 自动化测试方法、装置、计算机设备及存储介质 |
CN113542299A (zh) * | 2021-07-29 | 2021-10-22 | 国家工业信息安全发展研究中心 | 一种基于模糊测试的工业互联网漏洞挖掘方法及系统 |
CN113590281A (zh) * | 2021-07-16 | 2021-11-02 | 中国人民解放军国防科技大学 | 基于动态集中式调度的分布式并行模糊测试方法及系统 |
CN113722717A (zh) * | 2021-07-21 | 2021-11-30 | 中国科学院信息工程研究所 | 一种安全漏洞测试方法、装置、设备及可读存储介质 |
CN113806160A (zh) * | 2020-06-11 | 2021-12-17 | 中移(苏州)软件技术有限公司 | 一种监测配置文件的方法及装置、设备、存储介质 |
CN113934621A (zh) * | 2021-09-06 | 2022-01-14 | 中国科学院信息工程研究所 | 模糊测试方法、系统、电子设备及介质 |
-
2022
- 2022-01-25 CN CN202210084274.8A patent/CN114553490B/zh active Active
Patent Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110078798A1 (en) * | 2009-09-30 | 2011-03-31 | Computer Associates Think, Inc. | Remote procedure call (rpc) services fuzz attacking tool |
US20130340083A1 (en) * | 2012-06-19 | 2013-12-19 | Lucian Petrica | Methods, systems, and computer readable media for automatically generating a fuzzer that implements functional and fuzz testing and testing a network device using the fuzzer |
US20150095507A1 (en) * | 2013-09-30 | 2015-04-02 | Juniper Networks, Inc. | Fuzzing server responses to malicious client devices |
CN104519043A (zh) * | 2013-09-30 | 2015-04-15 | 瞻博网络公司 | 对恶意客户端设备的模糊服务器响应 |
US9946853B1 (en) * | 2015-09-17 | 2018-04-17 | Symantec Corporation | Techniques for application code obfuscation |
US20180359273A1 (en) * | 2017-06-09 | 2018-12-13 | Raytheon Company | Tactical bus fuzz tester |
US20180365139A1 (en) * | 2017-06-15 | 2018-12-20 | Microsoft Technology Licensing, Llc | Machine learning for constrained mutation-based fuzz testing |
US20190109872A1 (en) * | 2017-10-05 | 2019-04-11 | Honeywell International Inc. | Intelligent automated security vulnerability detection and analysis for industrial internet of things (iiot) devices |
KR20190102427A (ko) * | 2018-02-26 | 2019-09-04 | 주식회사 베스티언 | Can 기기의 보안/품질을 검증하기 위한 퍼징 시스템 및 그 퍼징 방법 |
US20190361789A1 (en) * | 2018-05-24 | 2019-11-28 | Fujitsu Limited | Concurrency vulnerability detection |
CN109977681A (zh) * | 2019-03-25 | 2019-07-05 | 西安电子科技大学 | 一种面向无人机的模糊测试方法及无人机的模糊测试系统 |
CN110505111A (zh) * | 2019-07-09 | 2019-11-26 | 杭州电子科技大学 | 基于流量重放的工控协议模糊测试方法 |
CN113806160A (zh) * | 2020-06-11 | 2021-12-17 | 中移(苏州)软件技术有限公司 | 一种监测配置文件的方法及装置、设备、存储介质 |
CN112052156A (zh) * | 2020-07-15 | 2020-12-08 | 杭州木链物联网科技有限公司 | 一种模糊测试方法、装置和系统 |
CN112631924A (zh) * | 2020-12-29 | 2021-04-09 | 平安消费金融有限公司 | 自动化测试方法、装置、计算机设备及存储介质 |
CN113590281A (zh) * | 2021-07-16 | 2021-11-02 | 中国人民解放军国防科技大学 | 基于动态集中式调度的分布式并行模糊测试方法及系统 |
CN113722717A (zh) * | 2021-07-21 | 2021-11-30 | 中国科学院信息工程研究所 | 一种安全漏洞测试方法、装置、设备及可读存储介质 |
CN113542299A (zh) * | 2021-07-29 | 2021-10-22 | 国家工业信息安全发展研究中心 | 一种基于模糊测试的工业互联网漏洞挖掘方法及系统 |
CN113934621A (zh) * | 2021-09-06 | 2022-01-14 | 中国科学院信息工程研究所 | 模糊测试方法、系统、电子设备及介质 |
Non-Patent Citations (1)
Title |
---|
高志远;刘金永;王勇;刘蔚;: "一种基于协议字段分类的工业控制系统Fuzzing测试方法", 自动化博览, no. 10 * |
Also Published As
Publication number | Publication date |
---|---|
CN114553490B (zh) | 2024-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8006136B2 (en) | Automatic grammar based fault detection and isolation | |
CN108337266B (zh) | 一种高效的协议客户端漏洞发掘方法与系统 | |
CN111177729B (zh) | 一种程序漏洞的测试方法以及相关装置 | |
CN112463581B (zh) | 一种对分布式系统进行模糊测试的方法及系统 | |
CN110912776A (zh) | 一种实体路由器管理协议的自动化模糊测试方法及装置 | |
CN111984975A (zh) | 基于拟态防御机制的漏洞攻击检测系统、方法及介质 | |
CN112787985B (zh) | 一种漏洞的处理方法、管理设备以及网关设备 | |
CN113239366B (zh) | 一种电力工控设备的漏洞无损检测方法及系统 | |
CN107483448A (zh) | 一种网络安全检测方法及检测系统 | |
CN111143179B (zh) | 定位性能瓶颈的方法、装置、存储介质及电子设备 | |
CN114553490A (zh) | 工业用被动模糊测试方法、系统和可读存储介质 | |
CN109218315B (zh) | 一种安全管理方法和安全管理装置 | |
CN115225531B (zh) | 数据库防火墙测试方法、装置、电子设备及介质 | |
CN111385253A (zh) | 一种面向配电自动化系统网络安全的脆弱性检测系统 | |
CN115499239A (zh) | 智慧城市网络安全处理方法和系统 | |
CN117093999A (zh) | 远程代码执行漏洞检测方法、装置、设备、介质及产品 | |
Lesiuta et al. | SLIMECRAFT: State Learning for Client-Server Regression Analysis and Fault Testing | |
Neelap et al. | Attack Traffic Generation for Network-based Intrusion Detection System | |
CN117648262B (zh) | 模糊测试方法、存储介质和电子装置 | |
CN117544960B (zh) | 一种基于生成的自动化Wi-Fi协议模糊测试方法 | |
CN113868654A (zh) | 威胁探测指令集提取方法 | |
CN109743282B (zh) | 一种基于工控协议的高危安全风险识别方法及装置 | |
CN113301019B (zh) | 验证码漏洞检测方法、装置、电子装置和存储介质 | |
CN113472739B (zh) | 针对控制设备私有协议的脆弱性发现方法和装置 | |
Borcherding et al. | Helper-in-the-Middle: Supporting Web Application Scanners Targeting Industrial Control 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 |