CN113806202A - 一种漏洞挖掘方法、装置及计算机设备 - Google Patents
一种漏洞挖掘方法、装置及计算机设备 Download PDFInfo
- Publication number
- CN113806202A CN113806202A CN202010531455.1A CN202010531455A CN113806202A CN 113806202 A CN113806202 A CN 113806202A CN 202010531455 A CN202010531455 A CN 202010531455A CN 113806202 A CN113806202 A CN 113806202A
- Authority
- CN
- China
- Prior art keywords
- target object
- test
- vulnerability
- message
- determining
- 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
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000005065 mining Methods 0.000 title claims abstract description 27
- 238000012360 testing method Methods 0.000 claims abstract description 129
- 230000002159 abnormal effect Effects 0.000 claims abstract description 49
- 238000004891 communication Methods 0.000 claims abstract description 38
- 238000012795 verification Methods 0.000 claims abstract description 31
- 230000015654 memory Effects 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 7
- 230000005540 biological transmission Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3608—Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供的一种漏洞挖掘方法、装置及计算机设备,其中,该方法包括:获取目标对象,结合目标对象的应用场景及应用流程,确定在目标对象中可能存在问题的测试靶点;根据多个测试靶点以及预设通信规则,生成测试报文组;根据认证报文,判断当前用户是否通过校验;如果当前用户通过校验,根据漏洞探查报文,判断目标对象是否发生异常;当目标对象发生异常时,确定漏洞。通过实施本发明,解决了相关技术中存在的仅对简单协议进行测试,遗漏较多漏洞,威胁工控协议以及系统的正常运转的问题,可以全面地、完整地探查复杂协议及系统中漏洞,兼容了简单协议及复杂协议,具备通用性;还可以绕过协议中多层验证,提高了漏洞挖掘的效率,便于用户使用。
Description
技术领域
本发明涉及协议安全领域,具体涉及一种漏洞挖掘方法、装置及计算机设备。
背景技术
随着计算机技术及通信技术的飞速发展,在工业设备的控制领域中,主要是通过工业协议来实现对工业设备的控制,工控协议一般分为多层,例如,数据链路层、应用层以及网络层等,协议安全对于工业设备来说至关重要,因此,需对应用于工业设备中的协议以及系统进行测试。
而在相关技术中,大多是针对于简单协议进行测试,具体通过单条报文变异实现对工控协议内某层(大多是数据链路层)进行测试,而工控协议或系统内存在的漏洞可能出现在各个层面上,仅对简单协议进行测试,势必会遗漏掉许多漏洞,威胁工控协议的正常运行以及系统的正常运转。
发明内容
因此,本发明要解决的技术问题在于克服现有测试技术中,仅对简单协议进行测试,导致遗漏较多漏洞,威胁工控协议的正常运行以及系统的正常运转的缺陷,从而提供一种漏洞挖掘方法、装置及计算机设备。
根据第一方面,本发明实施例提供了一种漏洞挖掘方法,包括:根据目标对象,确定所述目标对象的多个测试靶点;根据各测试靶点及预设通信规则,生成各测试靶点的测试报文组,所述测试报文组包括认证报文及漏洞探查报文;根据所述认证报文,判断当前用户是否通过校验;如果当前用户通过校验,根据所述漏洞探查报文,判断所述目标对象是否发生异常;当所述目标对象发生异常时,确定使目标对象发生异常的测试靶点为所述目标对象的漏洞。
结合第一方面,在第一方面第一实施方式中,该方法还包括:当所述目标对象没有发生异常时,确定使目标对象没有发生异常的测试靶点,不存在所述目标对象的漏洞。
结合第一方面,在第一方面第二实施方式中,所述根据目标对象,确定所述目标对象的多个测试靶点,具体包括:分析所述目标对象,确定所述目标对象对应的特征信息,所述特征信息包括目标对象的应用场景信息以及物理特性信息;根据所述目标对象的应用场景信息以及物理特性信息,确定所述目标对象的应用流程信息;根据所述应用流程信息,确定各流程对应的测试靶点。
结合第一方面,在第一方面第三实施方式中,所述根据各测试靶点及预设通信规则,生成各测试靶点的测试报文组,具体包括:根据各测试靶点及预设通信规则,分别确定各测试靶点的通信模型;根据所述通信模型,分别生成各测试靶点的测试报文组。
结合第一方面,在第一方面第四实施方式中,所述根据所述漏洞探查报文,判断所述目标对象是否发生异常,具体包括:获取用户指令,根据所述漏洞探查报文,判断所述目标对象是否完成所述用户指令;当所述目标对象完成所述用户指令时,确定所述目标对象没有发生异常。
结合第一方面第四实施方式,在第一方面第五实施方式中,该方法还包括:当所述目标对象无法完成所述用户的指令时,确定所述目标对象发生异常。
根据第二方面,本发明实施例提供了一种漏洞挖掘装置,包括:测试靶点确定模块,用于根据目标对象,确定所述目标对象的多个测试靶点;生成模块,用于根据各测试靶点及预设通信规则,生成各测试靶点的测试报文组,所述测试报文组包括认证报文及漏洞探查报文;校验模块,用于根据所述认证报文,判断当前用户是否通过校验;异常判断模块,用于如果当前用户通过校验,根据所述漏洞探查报文,判断所述目标对象是否发生异常;漏洞确定模块,用于当所述目标对象发生异常时,确定使目标对象发生异常的测试靶点为所述目标对象的漏洞。
根据第三方面,本发明实施例提供了一种计算机设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行第一方面或第一方面任一实施方式中所述的漏洞挖掘方法的步骤。
根据第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面或第一方面任一实施方式所述的漏洞挖掘方法的步骤。
本发明技术方案,具有如下优点:
本发明提供的一种漏洞挖掘方法、装置及计算机设备,其中,该方法包括:获取目标对象,并结合目标对象的应用场景以及应用流程,确定在目标对象中可能存在问题的测试靶点;根据多个测试靶点以及预设通信规则,生成专门针对于各测试靶点的、包括认证报文及漏洞探查报文的测试报文组;根据认证报文,判断当前用户是否通过校验;如果当前用户通过校验,根据漏洞探查报文,也就是发送漏洞探查报文之后,判断目标对象是否发生异常,也就是能否正常工作,目标对象可以是协议或者是系统;当目标对象发生异常时,确定使目标对象发生异常的测试靶点为目标对象的漏洞。
通过实施本发明,解决了相关技术中存在的仅对简单协议进行测试,导致遗漏较多漏洞,威胁工控协议的正常运行以及系统的正常运转的技术问题,可以全面地、完整地探查复杂协议以及系统中的漏洞,兼容了简单协议以及复杂协议,具备通用性;还可以绕过协议中多层验证,提高了漏洞挖掘的效率,便于用户的使用。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种漏洞挖掘方法的一个具体示例的流程图;
图2为本发明实施例中一种漏洞挖掘方法的一个具体协议的原理框图;
图3为本发明实施例中一种漏洞挖掘装置的一个具体示例的结构框图;
图4为本发明实施例中计算机设备的一个具体示例图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
为了解决相关测试技术中存在的仅对简单协议进行测试,无法兼容复杂协议以及系统,导致遗漏较多漏洞,威胁工控协议的正常运行以及系统的正常运转的问题,本发明提供了一种漏洞挖掘方法、装置及计算机设备,目的是为了对工控协议以及系统进行完整地、全面地测试,避免测试时遗漏漏洞,影响协议以及系统的正常使用。
如图1所示,本发明实施例提供了一种漏洞挖掘方法,包括:
步骤S11:根据目标对象,确定目标对象的多个测试靶点;在本实施例中,目标对象是通过本发明实施例中的方法被测试、挖掘的对象,在实际应用场景中,目标对象可以是工控协议,包括简单协议及复杂协议,如,DF1命令协议类型的简单协议,DeviceNet协议、FTP文件上传协议类型的复杂协议等;目标对象还可以是系统,可以是与外部有进行通信的任意系统。测试靶点可以是存在于系统中的各个层面上的测试点,也可以是存在于各种报文结构中的测试点。具体地,根据获取到的目标对象,分析目标对象的应用场景以及应用流程,确定目标对象的多个测试靶点,可以是位于协议内各应用流程中的测试靶点,也可以是位于系统内各结构层的测试靶点;测试靶点也就是通过分析协议或者是系统,确定可能会出现漏洞的位置点。
步骤S12:根据各测试靶点及预设通信规则,生成各测试靶点的测试报文组,测试报文组包括认证报文及漏洞探查报文;在本实施例中,预设通信规则可以是分析得到的通信模型所要遵守的通信规则,也就是在测试协议时,根据一次完整的协议会话,对协议会话中的每条报文进行定义的规则,也就是协议会话逻辑定义发送规则。测试报文组可以是能够挖掘出漏洞的报文,包括认证报文及漏洞探查报文;认证报文可以是校验报文,用于验证用户的身份;漏洞探查报文是实际挖掘此流程内是否存在漏洞的报文,可以是变异报文;简单协议中一般为命令式报文,通过单条报文变异进行的测试,复杂协议为多步骤的报文交互。具体地,根据分析协议而确定的多个测试靶点,以及各测试靶点分别对应的不同通信规则,生成用于挖掘漏洞的测试报文组。
步骤S13:根据认证报文,判断当前用户是否通过校验;在本实施例中,认证报文是正常报文,例如,在测试复杂协议时,复杂协议可以是有多个步骤,例如第一步骤、第二步骤、第三步骤、第四步骤以及第五步骤等,每个步骤中都存在用于执行用户指令的报文,例如,第一步骤中的第一报文、第二步骤中的第二报文、第三步骤中的第三报文、第四传步骤中的第四报文、第五传输步骤中的第五报文,当测试第五步骤中的第五报文中是否存在漏洞时,第一报文、第二报文、第三报文、第四报文可以是认证报文,也就是校验报文,用以判断用户的身份信息是否通过校验。
步骤S14:如果当前用户通过校验,根据漏洞探查报文,判断目标对象是否发生异常;在本实施例中,此时,第五步骤中的第五报文为漏洞探查报文,实际上为变异报文。具体地,通过在测试靶点处,发送变异报文,检测能否使被测设备发生异常,也就是在发送变异报文的情况下,检测被测设备是否足够健壮,能否继续正常运转。
步骤S15:当目标对象发生异常时,确定使目标对象发生异常的测试靶点为目标对象的漏洞。在本实施例中,当目标对象,也就是被测设备异常而无法恢复正常时,确定此时测试的测试靶点可以是目标对象的漏洞所在处。
本发明实施例提供的一种漏洞挖掘方法,包括:获取目标对象,并结合目标对象的应用场景以及应用流程,确定在目标对象中可能存在问题的测试靶点;根据多个测试靶点以及预设通信规则,生成专门针对于各测试靶点的、包括认证报文及漏洞探查报文的测试报文组;根据认证报文,判断当前用户是否通过校验;如果当前用户通过校验,根据漏洞探查报文,也就是发送漏洞探查报文之后,判断目标对象是否发生异常,也就是能否正常工作,目标对象可以或者是系统;当目标对象发生异常时,确定使目标对象发生异常的测试靶点为目标对象的漏洞。
通过实施本发明,解决了相关技术中存在的仅对简单协议进行测试,导致遗漏较多漏洞,威胁工控协议的正常运行以及系统的正常运转的技术问题,可以全面地、完整地探查复杂协议以及系统中的漏洞,兼容了简单协议以及复杂协议,具备通用性;还可以绕过协议中多层验证,提高了漏洞挖掘的效率,便于用户的使用。
可选地,在本发明的一些实施例中,该漏洞挖掘方法还包括:
当目标对象没有发生异常时,确定使目标对象没有发生异常的测试靶点,不存在目标对象的漏洞。在本实施例中,当向目标对象的测试靶点发送漏洞探查报文之后,目标对象仍能正常运转以及工作,此时,可以确定此目标对象的此测试靶点不存在漏洞。
可选地,在本发明的一些实施例中,步骤S11:根据目标对象,确定目标对象的多个测试靶点,具体包括:
首先,分析目标对象,确定目标对象对应的特征信息,特征信息包括目标对象的应用场景信息以及物理特性信息;在本实施例中,应用场景信息可以是目标对象的应用场景,例如,FTP文件传输协议,可以应用于在不同用户、不同设备之间传输数据的具体应用场景中;物理特性信息可以是指机械特性、电气特性、功能特性与规程特性等。具体地,在确定目标对象,也就是被测对象或者被测设备后,首先对目标对象进行完整分析,提取目标对象的多种特征信息。
其次,根据目标对象的应用场景信息以及物理特性信息,确定目标对象的应用流程信息;在本实施例中,当目标对象为协议时,应用流程信息可以是目标被测协议的应用流程,也就是使用协议的具体过程,包括多个步骤。
再次,根据应用流程信息,确定各流程对应的测试靶点。在本实施例中,应用流程信息可以是协议的步骤信息,例如,第一步骤中的第一报文可以是用户登录报文,第二步骤中的第二报文可以是传输文件报文,第三步骤中的第三报文可以是传输数据报文,此时,根据协议的应用流程分别确定各测试靶点。具体地,测试靶点可以分别在第一步骤中、第二步骤中以及第三步骤中,也就是说,在各个步骤中,均有可能出现漏洞。
本发明实施例提供的一种漏洞挖掘方法,结合被测设备的应用流程信息,确定多个测试靶点,可以绕过多层验证,探查深层的漏洞。
可选地,在本发明的一些实施例中,步骤S12:根据各测试靶点及预设通信规则,生成各测试靶点的测试报文组,具体包括:
首先,根据各测试靶点及预设通信规则,分别确定各测试靶点的通信模型;在本实施例中,通过通信模型,传输数据。具体地,目标协议内可以具备多个测试靶点,每一个测试靶点,根据预设的通信规则,也可以是数据传输规则,对应相应的通信模型,用于系统与外部设备进行通信或者是执行报文命令。
其次,根据通信模型,分别生成各测试靶点的测试报文组。在本实施例中,根据抽象的通信模型,也可以是测试通信模型,定位测试报文组,不同的测试靶点对应相应的通信模型以及相应的测试报文组,包括校验报文以及漏洞探查报文。
可选地,在本发明的一些实施例中,步骤S14:根据漏洞探查报文,判断目标对象是否发生异常,具体包括:
获取用户指令,根据漏洞探查报文,判断目标对象是否完成用户指令,当目标对象完成用户指令时,确定目标对象没有发生异常;当目标对象无法完成用户的指令时,确定目标对象发生异常。
在本实施例中,用户指令可以是用户的需求,使用目标对象所要完成的目标,例如,当测试FTP文件上传协议时,用户指令可以是将文件F上传至目标位置。具体地,当发送漏洞探查报文后,判断此时的目标对象能否成功上传文件F,也就是能否完成用户指令。当可以成功上传文件F时,可以确定此时目标对象没有发生异常,也就是此测试靶点不存在漏洞;相反地,当可以上传文件F失败时,可以确定此时目标对象发生异常,也就是此测试靶点存在漏洞。
以下,结合一具体实施例,详细描述上述实施例所述的方法,如图2所示,目标对象(被测对象)可以是DeviceNet协议,DeviceNet是一种面向连接的通用工业协议,具体包括步骤1-5,其中,步骤1为MAC ID检测,即为ID检测报文,用于检测用户A的ID是否唯一,也可以是检测用户设备的标识是否唯一;步骤2与步骤3为交互报文,当用户A的ID唯一时,显示用户A在线,当用户A的ID不唯一时,显示用户A离线;步骤4为当用户A显示在线时,通过发送连接建立报文,建立显示信息之间的连接;步骤5为,当已经建立显示信息连接后,通过传输报文来进行数据的传输。
示例性地,步骤1-5分别对应各测试靶点1-5,当想要挖掘步骤5内的漏洞时,需完成步骤1-4之后,才能进行步骤5的流程,因此,步骤1-4的报文即为校验报文,为DeviceNet设备的验证流程,验证通过后才能进入步骤5,此时步骤5的变异报文即为漏洞探查报文,可以使用定义好的漏洞探查报文对DeviceNet设备的漏洞进行探测。
示例性地,定义测试报文组,可以根据测试报文的定义方法定义步骤1-5的报文,此时,需把协议中部分字段设置为全局变量,用于其他步骤中的报文组引用,例如,在步骤1中ID检测报文中的MAC ID,需要设置为全局变量,用于在步骤2-5中的报文组引用。
通过下述表达式,定义步骤1-5的报文组:
Index=1,msg=macidrepeat,timeout=50,check=”@return”,loop=3,trigger_next_success=2,trigger_next_failed=0;
Index=2,msg=requestlink,timeout=50,check=”@return”,loop=0,trigger_next_success=3,trigger_next_failed=0;
Index=3,msg=slaveconfig,timeout=50,check=””,loop=0,trigger_next_success=4,trigger_next_failed=0;
Index=4,msg=slaveconfig,timeout=50,check=””,loop=0,trigger_next_success=5,trigger_next_failed=0;
Index=5,msg=testpacket,timeout=50,check=””,loop=0,trigger_next_success=1,trigger_next_failed=0。
其中,Index=1、msg=2、timeout=50、check=””、loop=1、
trigger_next_success=2、trigger_next_failed=0。
Index表示测试报文组表达式的唯一标识符,是报文跳转的索引符号;Msg表示各报文ID,与报文编号以及步骤编号一一对应;Timeout表示超时时间,当报文超时后,触发next_failed;Check是报文执行成功或者失败的检查表达式;@return代表等回复报文;@parameter=value表示引用全局变量进行判断;Loop表示循环次数。
trigger_next_success表示当报文成功执行后触发的表达式索引。如果索引存在的话跳转对应步骤,当报文执行失败时,测试停止。
trigger_next_failed表示当报文失败执行后触发的表达式索引,如果索引存在的话跳转对应步骤,当报文执行失败时,测试停止。
示例性地,步骤1-4表示DeviceNet建立连接及信息交换的过程,步骤5对应的报文为漏洞探查报文,当报文成功执行后,继续跳转到index=1,也就是步骤1对应的报文表达式,当报文执行失败时,退出测试。
本发明实施例还提供了一种漏洞挖掘装置,如图3所示,该漏洞挖掘装置包括:
测试靶点确定模块31,用于根据目标对象,确定目标对象的多个测试靶点;详细实施内容可参见上述任意方法实施例中步骤S11的相关描述。
生成模块32,用于根据各测试靶点及预设通信规则,生成各测试靶点的测试报文组,测试报文组包括认证报文及漏洞探查报文;详细实施内容可参见上述任意方法实施例中步骤S12的相关描述。
校验模块33,用于根据认证报文,判断当前用户是否通过校验;详细实施内容可参见上述任意方法实施例中步骤S13的相关描述。
异常判断模块34,用于如果当前用户通过校验,根据漏洞探查报文,判断目标对象是否发生异常;详细实施内容可参见上述任意方法实施例中步骤S14的相关描述。
漏洞确定模块35,用于当目标对象发生异常时,确定使目标对象发生异常的测试靶点为目标对象的漏洞,详细实施内容可参见上述任意方法实施例中步骤S15的相关描述。
本发明实施例提供的一种漏洞挖掘装置,其中,该装置包括:获取目标对象,并结合目标对象的应用场景以及应用流程,确定在目标对象中可能存在问题的测试靶点;根据多个测试靶点以及预设通信规则,生成专门针对于各测试靶点的、包括认证报文及漏洞探查报文的测试报文组;根据认证报文,判断当前用户是否通过校验;如果当前用户通过校验,根据漏洞探查报文,也就是发送漏洞探查报文之后,判断目标对象是否发生异常,也就是能否正常工作,目标对象可以是协议或者是系统;当目标对象发生异常时,确定使目标对象发生异常的测试靶点为目标对象的漏洞。
通过实施本发明,解决了相关技术中存在的仅对简单协议进行测试,导致遗漏较多漏洞,威胁工控协议的正常运行以及系统的正常运转的技术问题,可以全面地、完整地探查复杂协议以及系统中的漏洞,兼容了简单协议以及复杂协议,具备通用性;还可以绕过协议中多层验证,提高了漏洞挖掘的效率,便于用户的使用。
可选地,在本发明的一些实施例中,测试靶点确定模块31,具体包括:
特征信息确定子模块,用于分析目标对象,确定目标对象对应的特征信息,特征信息包括目标对象的应用场景信息以及物理特性信息;详细实施内容可参见上述任意方法实施例中步骤S11的相关描述。
流程信息确定子模块,用于根据目标对象的应用场景信息以及物理特性信息,确定目标对象的应用流程信息;详细实施内容可参见上述任意方法实施例中步骤S11的相关描述。
靶点确定子模块,用于根据应用流程信息,确定各流程对应的测试靶点,详细实施内容可参见上述任意方法实施例中步骤S11的相关描述。
可选地,在本发明的一些实施例中,生成模块32,具体包括:
通信模型确定子模块,用于根据各测试靶点及预设通信规则,分别确定各测试靶点的通信模型;详细实施内容可参见上述任意方法实施例中步骤S12的相关描述。
测试报文组确定子模块,用于根据通信模型,分别生成各测试靶点的测试报文组。详细实施内容可参见上述任意方法实施例中步骤S12的相关描述。
可选地,在本发明的一些实施例中,异常判断模块34,具体包括:
用户指令判断子模块,用于获取用户指令,根据漏洞探查报文,判断目标对象是否完成用户指令;详细实施内容可参见上述任意方法实施例中步骤S14的相关描述。
确定子模块,用于当目标对象完成用户指令时,确定目标对象没有发生异常。详细实施内容可参见上述任意方法实施例中步骤S14的相关描述。
可选地,本发明实施例还提供了一种计算机设备,如图4所示,该计算机设备可以包括处理器41和存储器42,其中处理器41和存储器42可以通过总线或者其他方式连接,图4中以通过总线连接为例。
处理器41可以为中央处理器(Central Processing Unit,CPU)。处理器41还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器42作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的漏洞挖掘方法对应的程序指令/模块(例如,图3所示的测试靶点确定模块31、生成模块32、校验模块33、异常判断模块34、漏洞确定模块35)。处理器41通过运行存储在存储器42中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的漏洞挖掘方法。
存储器42可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器41所创建的数据等。此外,存储器42可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器42可选包括相对于处理器41远程设置的存储器,这些远程存储器可以通过网络连接至处理器41。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器42中,当被所述处理器41执行时,执行如图1所示实施例中的漏洞挖掘方法。
上述计算机设备具体细节可以对应参阅图1所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。
可选地,本发明实施例还提供了一种非暂态计算机可读介质,非暂态计算机可读存储介质存储计算机指令,计算机指令用于使计算机执行如上述实施例中任意一项描述的漏洞挖掘方法,其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(HardDisk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;存储介质还可以包括上述种类的存储器的组合。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (9)
1.一种漏洞挖掘方法,其特征在于,包括:
根据目标对象,确定所述目标对象的多个测试靶点;
根据各测试靶点及预设通信规则,生成各测试靶点的测试报文组,所述测试报文组包括认证报文及漏洞探查报文;
根据所述认证报文,判断当前用户是否通过校验;
如果当前用户通过校验,根据所述漏洞探查报文,判断所述目标对象是否发生异常;
当所述目标对象发生异常时,确定使目标对象发生异常的测试靶点为所述目标对象的漏洞。
2.根据权利要求1所述的方法,其特征在于,还包括:
当所述目标对象没有发生异常时,确定使目标对象没有发生异常的测试靶点,不存在所述目标对象的漏洞。
3.根据权利要求1所述的方法,其特征在于,所述根据目标对象,确定所述目标对象的多个测试靶点,具体包括:
分析所述目标对象,确定所述目标对象对应的特征信息,所述特征信息包括目标对象的应用场景信息以及物理特性信息;
根据所述目标对象的应用场景信息以及物理特性信息,确定所述目标对象的应用流程信息;
根据所述应用流程信息,确定各流程对应的测试靶点。
4.根据权利要求1所述的方法,其特征在于,所述根据各测试靶点及预设通信规则,生成各测试靶点的测试报文组,具体包括:
根据各测试靶点及预设通信规则,分别确定各测试靶点的通信模型;
根据所述通信模型,分别生成各测试靶点的测试报文组。
5.根据权利要求1所述的方法,其特征在于,所述根据所述漏洞探查报文,判断所述目标对象是否发生异常,具体包括:
获取用户指令,根据所述漏洞探查报文,判断所述目标对象是否完成所述用户指令;
当所述目标对象完成所述用户指令时,确定所述目标对象没有发生异常。
6.根据权利要求5所述的方法,其特征在于,还包括:
当所述目标对象无法完成所述用户的指令时,确定所述目标对象发生异常。
7.一种漏洞挖掘装置,其特征在于,包括:
测试靶点确定模块,用于根据目标对象,确定所述目标对象的多个测试靶点;
生成模块,用于根据各测试靶点及预设通信规则,生成各测试靶点的测试报文组,所述测试报文组包括认证报文及漏洞探查报文;
校验模块,用于根据所述认证报文,判断当前用户是否通过校验;
异常判断模块,用于如果当前用户通过校验,根据所述漏洞探查报文,判断所述目标对象是否发生异常;
漏洞确定模块,用于当所述目标对象发生异常时,确定使目标对象发生异常的测试靶点为所述目标对象的漏洞。
8.一种计算机设备,其特征在于,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行权利要求1-6中任一项所述的漏洞挖掘方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述的漏洞挖掘方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010531455.1A CN113806202B (zh) | 2020-06-11 | 2020-06-11 | 一种漏洞挖掘方法、装置及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010531455.1A CN113806202B (zh) | 2020-06-11 | 2020-06-11 | 一种漏洞挖掘方法、装置及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113806202A true CN113806202A (zh) | 2021-12-17 |
CN113806202B CN113806202B (zh) | 2024-01-26 |
Family
ID=78943784
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010531455.1A Active CN113806202B (zh) | 2020-06-11 | 2020-06-11 | 一种漏洞挖掘方法、装置及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113806202B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101859274A (zh) * | 2009-04-07 | 2010-10-13 | 西门子(中国)有限公司 | 一种进行模糊测试的方法及系统 |
CA2892471A1 (en) * | 2013-01-11 | 2014-07-17 | Db Networks, Inc. | Systems and methods for detecting and mitigating threats to a structured data storage system |
CN107046526A (zh) * | 2016-12-28 | 2017-08-15 | 北京邮电大学 | 基于Fuzzing算法的分布式异构网络漏洞挖掘方法 |
CN109889280A (zh) * | 2019-02-22 | 2019-06-14 | 信联科技(南京)有限公司 | 一种nfc设备安全测试方法 |
CN110348220A (zh) * | 2019-06-28 | 2019-10-18 | 北京威努特技术有限公司 | 一种漏洞挖掘方法、漏洞修复验证方法、装置及电子设备 |
CN110505111A (zh) * | 2019-07-09 | 2019-11-26 | 杭州电子科技大学 | 基于流量重放的工控协议模糊测试方法 |
CN110837646A (zh) * | 2019-10-31 | 2020-02-25 | 国网河北省电力有限公司电力科学研究院 | 一种非结构化数据库的风险排查装置 |
-
2020
- 2020-06-11 CN CN202010531455.1A patent/CN113806202B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101859274A (zh) * | 2009-04-07 | 2010-10-13 | 西门子(中国)有限公司 | 一种进行模糊测试的方法及系统 |
CA2892471A1 (en) * | 2013-01-11 | 2014-07-17 | Db Networks, Inc. | Systems and methods for detecting and mitigating threats to a structured data storage system |
CN107046526A (zh) * | 2016-12-28 | 2017-08-15 | 北京邮电大学 | 基于Fuzzing算法的分布式异构网络漏洞挖掘方法 |
CN109889280A (zh) * | 2019-02-22 | 2019-06-14 | 信联科技(南京)有限公司 | 一种nfc设备安全测试方法 |
CN110348220A (zh) * | 2019-06-28 | 2019-10-18 | 北京威努特技术有限公司 | 一种漏洞挖掘方法、漏洞修复验证方法、装置及电子设备 |
CN110505111A (zh) * | 2019-07-09 | 2019-11-26 | 杭州电子科技大学 | 基于流量重放的工控协议模糊测试方法 |
CN110837646A (zh) * | 2019-10-31 | 2020-02-25 | 国网河北省电力有限公司电力科学研究院 | 一种非结构化数据库的风险排查装置 |
Non-Patent Citations (2)
Title |
---|
熊琦等: "工控网络协议Fuzzing 测试技术研究综述", 《小型微型计算机系统》, vol. 36, no. 3, pages 497 - 502 * |
赵鑫等: "基于网络协议的模糊测试工具设计", 《通信技术》, vol. 52, no. 11, pages 2819 - 2828 * |
Also Published As
Publication number | Publication date |
---|---|
CN113806202B (zh) | 2024-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10135702B2 (en) | Methods, systems, and computer readable media for testing network function virtualization (NFV) | |
US10212186B2 (en) | Systems and methods for attack simulation on a production network | |
CN110752952B (zh) | 网络故障定位方法、装置、网络设备及计算机存储介质 | |
US9641419B2 (en) | Methods and systems for providing background pretesting of communications or storage network equipment | |
JP6932494B2 (ja) | 集約されたケーブル試験結果データを適用するためのシステム及び方法、並びにクラウドベースのコンピュータサーバ | |
CN109257254B (zh) | 网络连通性检查方法、装置、计算机设备以及存储介质 | |
CN110896366B (zh) | 多网卡设备的网卡功能测试方法、装置及存储介质 | |
US20130322266A1 (en) | Network traffic monitoring | |
CN111198797B (zh) | 操作监控方法及装置、操作分析方法及装置 | |
CN112311620A (zh) | 用于诊断网络的方法、装置、电子设备和可读介质 | |
US20160088499A1 (en) | Systems and methods to create message traffic | |
CN114499974B (zh) | 设备探测方法、装置、计算机设备和存储介质 | |
US20180113779A1 (en) | Intelligent packet analyzer circuits, systems, and methods | |
CN112235300B (zh) | 云虚拟网络漏洞检测方法、系统、装置及电子设备 | |
CN113806202B (zh) | 一种漏洞挖掘方法、装置及计算机设备 | |
US20160308749A1 (en) | Test automation system and method for detecting change in signature of internet application traffic protocol | |
CN115174245A (zh) | 一种基于DoIP协议检测的测试方法及系统 | |
CN112650557B (zh) | 一种命令执行方法以及装置 | |
CN113037526B (zh) | 一种安全检测方法、终端、系统及存储介质 | |
US11563753B2 (en) | Security surveillance system and security surveillance method | |
KR101680736B1 (ko) | 네트워크 장비 상태 확인 프로세스 | |
CN111917902B (zh) | 检测磅室设备故障的方法、设备和计算机可读存储介质 | |
CN113395235B (zh) | 一种IoT系统远程测试方法、系统和设备 | |
US20240129219A1 (en) | Methods, systems, and computer readable media for using a programmable processing pipeline device to execute scalable connections per second (cps) generation test and an application replay sequence test | |
CN111261271B (zh) | 一种针对视频监控环境的业务可用性诊断方法及装置 |
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 |