CN112769845B - 漏洞测试方法、装置、电子装置和计算机设备 - Google Patents
漏洞测试方法、装置、电子装置和计算机设备 Download PDFInfo
- Publication number
- CN112769845B CN112769845B CN202110061346.2A CN202110061346A CN112769845B CN 112769845 B CN112769845 B CN 112769845B CN 202110061346 A CN202110061346 A CN 202110061346A CN 112769845 B CN112769845 B CN 112769845B
- Authority
- CN
- China
- Prior art keywords
- test
- service
- fuzzy
- request
- upnp service
- 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.)
- Active
Links
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/1433—Vulnerability analysis
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本申请涉及一种漏洞测试方法、装置、电子装置、计算机设备和存储介质,通过对智能设备的UPnP协议进行解析确定输入向量,并根据输入向量生成模糊测试的测试数据,根据测试数据分阶段对UPnP服务进行模糊测试,并通过监控服务异常来发现漏洞。提供了一种自动化的漏洞挖掘方法,能够以一种省时省力的方式发现智能设备的UPnP服务漏洞,并且提高发现UPnP服务漏洞的准确性,从而帮助减少漏洞,提高设备的安全性。
Description
技术领域
本申请涉及漏洞挖掘技术领域,特别是涉及一种漏洞测试方法、装置、电子装置、计算机设备和存储介质。
背景技术
随着网络技术的发展,智能设备在人们的工作和生活中扮演着越来越重要的角色,通过智能设备的UPnP服务能够控制、使用设备,甚至实现设备间的通信。而目前针对智能设备的UPnP服务还未出现专门的漏洞挖掘工具,UPnP服务的漏洞能够被黑客利用来获取智能设备权限并对智能设备进行攻击,从而造成一定范围的损害。
针对智能设备的UPnP服务漏洞的挖掘,目前常用费时且高难度的静态分析技术,尚未出现自动化的UPnP服务漏洞挖掘方法。
发明内容
基于此,有必要针对上述技术问题,提供一种漏洞测试方法、装置、电子装置、计算机设备和存储介质。
第一方面,本申请实施例提供了一种漏洞测试方法,方法包括:
对所述智能设备的UPnP服务的数据包进行解析,确定输入向量;
根据所述输入向量,为所述UPnP服务生成变异的模糊测试的测试数据;
对所述测试数据分阶段进行模糊测试,若在测试过程中发现所述UPnP服务出现异常,则确定所述UPnP服务存在漏洞,结束所述模糊测试。
在其中一个实施例中,所述对所述测试数据分阶段进行模糊测试,包括:
向目标主机定时发送正常数据包,并根据所述目标主机的响应来判断目标主机是否发生异常。
在其中一个实施例中,所述UPnP服务的数据包包含设备描述信息和服务描述信息,所述对所述智能设备的UPnP服务的数据包进行解析,确定输入向量,包括:
根据所述设备描述信息和服务描述信息,解析出所述智能设备中每个服务提供的请求命令和请求参数;
将所述请求命令和请求参数作为所述模糊测试的所述输入向量。
在其中一个实施例中,所述根据所述输入向量,为所述UPnP服务生成变异的模糊测试的测试数据,包括:
对被测系统按照测试生成策略建立测试模型,将所述输入向量输入所述测试模型,生成变异的所述测试数据。
在其中一个实施例中,所述模糊测试包括发现阶段模糊测试和请求阶段模糊测试,包括:
在所述发现阶段模糊测试时,对所述测试数据中的请求头和脆弱点字段进行模糊测试;
在所述请求阶段模糊测试时,对所述测试数据中的请求命令的变异参数进行模糊测试。
在其中一个实施例中,所述对所述测试数据分阶段进行模糊测试,若在测试过程中发现所述UPnP服务出现异常,则确定所述UPnP服务存在漏洞,结束所述模糊测试,包括:
同时进行所述发现阶段模糊测试和请求阶段模糊测试,若发现所述UPnP服务出现异常,则确定所述UPnP服务存在漏洞,结束所述模糊测试。
第二方面,本申请实施例还提供一种漏洞测试装置,用于智能设备中UPnP服务漏洞的挖掘,所述装置包括服务解析模块、测试数据生成模块以及模糊测试模块:
所述服务解析模块,用于对所述智能设备的UPnP服务的数据包进行解析,确定输入向量;
所述测试数据生成模块,用于根据所述输入向量,为所述UPnP服务生成变异的模糊测试的测试数据;
所述模糊测试模块,用于对所述测试数据分阶段进行模糊测试,若在测试过程中发现所述UPnP服务出现异常,则确定所述UPnP服务存在漏洞,结束所述模糊测试。
第三方面,本申请实施例提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述漏洞测试方法的步骤。
第四方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述漏洞测试方法。
第五方面,本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述漏洞测试方法。
上述漏洞测试方法、装置、电子装置、计算机设备和存储介质,通过对智能设备的UPnP协议进行解析确定输入向量,并根据输入向量生成模糊测试的测试数据,根据测试数据分阶段对UPnP服务进行模糊测试,并通过监控服务异常来发现漏洞。本申请提供了一种自动化的漏洞测试方法,能够快速发现智能设备的UPnP服务漏洞,并且提高了发现UPnP服务漏洞的准确性,从而帮助提高设备的安全性。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的漏洞测试方法的应用场景图;
图2是根据本申请实施例的漏洞测试终端的硬件结构框图;
图3是根据本申请实施例的一种漏洞测试方法的流程图;
图4是根据本申请实施例的漏洞测试装置的结构示意图;
图5是根据本申请实施例的电子装置的结构示意图;
图6是根据本申请一个实施例的计算机设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
图1是根据本申请实施例中漏洞测试方法的应用场景图,如图1所示,在该应用环境中,包括终端101和服务器102。终端101通过网络与服务器102连接。终端101具体可以手机、平板电脑、笔记本电脑等中的至少一种。服务器102可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
本实施例提供的方法实施例可以在终端、计算机或者类似的运算装置中执行。以运行在终端上为例,图2是根据本申请实施例的漏洞测试终端的硬件结构框图。如图2所示,终端20可以包括一个或多个(图2中仅示出一个)处理器202(处理器202可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器204,可选地,上述终端还可以包括用于通信功能的传输设备206以及输入输出设备208。输入输出设备可以是扫描仪以及机器人,上述两者均可以通过有线或者无线的方式将采集到的位置信息传输至处理器202。本领域普通技术人员可以理解,图2所示的结构仅为示意,其并不对上述终端的结构造成限定。例如,终端20还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。
存储器204可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的漏洞测试方法对应的计算机程序,处理器202通过运行存储在存储器204内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器204可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器204可进一步包括相对于处理器202远程设置的存储器,这些远程存储器可以通过网络连接至终端20。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备206用于经由一个网络接收或者发送数据。上述的网络具体实例可包括终端20的通信供应商提供的无线网络。在一个实例中,传输设备206包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备206可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在一个实施例中,图3是根据本申请实施例中漏洞测试方法的流程图,如图3所示,以该方法应用于图2中的终端为例进行说明,包括以下步骤:
步骤S310,对智能设备的UPnP服务的数据包进行解析,确定输入向量。
智能设备可以是任何一种具有计算处理能力的设备、器械或者机器,具体可以是个人电脑、移动手机、智能家居产品以及智能医疗器械等。UPnP服务是广泛应用于智能设备中的一种网络协议服务,旨在实现设备之间的智能化。对智能设备中的UPnP服务的数据包进行解析,也即对UPnP协议进行解析,用于确定模糊测试的输入向量,是保证模糊测试正常执行的基础。对智能设备中UPnP服务的解析主要是通过客户端(例如本地机器),向服务端(例如智能设备的服务器)发送请求来获取UPnP服务的数据包,该数据包中包括设备的相关信息,比如设备列表、服务列表、控制URL、服务描述URL等,通过这些信息能够解析出模糊测试所需要的输入向量,输入向量一般可以为文件数据、网络数据和环境变量等。
步骤S320,根据输入向量,为UPnP服务生成变异的模糊测试的测试数据。
具体地,模糊测试是一种通过向软件提供非预期的、无效的或是随机的输入并通过监控异常输出来发现软件漏洞的,自动化或半自动化的漏洞挖掘方法。一般来说,模糊测试的方式大致可以分为两类,一类是通过对已有的数据样本进行变异来创建测试数据,另一类是为被测系统使用的协议或文件格式建模,基于模型生成输入并据此创建测试数据。本实施例中,可以通过对输入向量生成变异的测试数据。
步骤S330,对测试数据分阶段进行模糊测试,若在测试过程中发现UPnP服务出现异常,则确定UPnP服务存在漏洞,结束模糊测试。
由于模糊测试的测试数据中包含不同的部分,比如请求头、请求体等,因此为了保证模糊测试的高效性和全面性,需要分阶段地对测试数据进行模糊测试,当在向UPnP服务发送测试数据、执行模糊测试过程中,发现UPnP服务出现异常,例如服务器崩溃、宕机等,则说明该UPnP服务存在漏洞,此时可以结束模糊测试。
步骤S310至步骤S330中,通过对智能设备的UPnP协议进行解析确定输入向量,并根据输入向量生成模糊测试的测试数据,根据测试数据分阶段对UPnP服务进行模糊测试,并通过监控服务异常来发现漏洞,提供了一种自动化的漏洞挖掘方法,能够以一种省时省力的方式发现智能设备的UPnP服务漏洞,并且提高发现UPnP服务漏洞的准确性,从而帮助减少漏洞,提高设备的安全性。
进一步地,基于上述步骤S330,对测试数据分阶段进行模糊测试时,可以包括如下步骤:
步骤S410,向目标主机定时发送正常数据包,并根据目标主机的响应来判断目标主机是否发生异常。
通过模糊测试挖掘到的大多数漏洞都会导致系统或服务崩溃,所以我们可以向目标主机,也就是服务器发送正常数据包,然后通过是否收到服务器响应来判断目标主机是否已经宕机或崩溃,从而确定是否出现漏洞。检测目标主机是否存活具体可以通过对目标主机进行简单的PING操作,如果发现PING操作不通或无法正常连接服务,则可判定出现异常情况。
在一个实施例中,基于上述步骤S310,UPnP服务的数据包包含设备描述信息和服务描述信息,对智能设备的UPnP服务的数据包进行解析,确定输入向量,包括如下步骤:
步骤S510,根据设备描述信息和服务描述信息,解析出智能设备中每个服务提供的请求命令和请求参数。
客户端至少需要向服务端发送两次HTTP请求才能获得该设备的全部信息。第一次请求获取设备的设备列表、服务列表、每个服务的控制URL(Uniform Resource Locator)以及服务描述URL等信息,再次请求时根据设备的服务描述URL来获取每个服务提供的请求命令及其参数信息。由于两次请求后获取的内容一般为XML格式,可以使用Python的xml模块来对该内容进行自动解析,而无需人工手动解析,由于信息之间具有依赖关系,因此解析过程为递进式的,例如想获取某个服务的action接口列表,我们就必须先获取该服务的名字和服务描述的URL。
步骤S520,将请求命令和请求参数作为模糊测试的输入向量。
另外,基于上述步骤S320,根据输入向量,为UPnP服务生成变异的模糊测试的测试数据,还包括以下步骤:
步骤S610,对被测系统按照测试生成策略建立测试模型,将输入向量输入测试模型,生成变异的测试数据。
针对不同的协议,测试生成策略有很大的差异,其中如HTTP、FTP等易交互性协议的测试用例的范围较大,而UPnP协议由于其交互的复杂性,导致模糊测试所能挖掘的漏洞类型比其他协议要少,因此UPnP协议的测试用例一般都是针对缓冲区溢出和整数溢出类漏洞而生成。
在一个实施例中,模糊测试包括发现阶段模糊测试和请求阶段模糊测试,包括:
步骤S710,在发现阶段模糊测试时,对测试数据中的请求头和脆弱点字段进行模糊测试。
其中,脆弱点字段具体可以是导致漏洞产生的字段。由于脆弱点字段属于服务中逻辑处理字段,因此需要在发现阶段对测试数据中的请求头和脆弱点字段进行模糊测试。
步骤S720,在请求阶段模糊测试时,对测试数据中的请求命令的变异参数进行模糊测试。
具体地,在请求阶段模糊测试时,可以通过对UPnP服务解析出的控制URL,找到对应的模糊测试对象,根据请求命令中的变异参数来执行模糊测试。
在一个实施例中,基于上述步骤S710至S720,对测试数据分阶段进行模糊测试,若在测试过程中发现UPnP服务出现异常,则确定UPnP服务存在漏洞,结束模糊测试,包括以下步骤:
步骤S810,同时进行发现阶段模糊测试和请求阶段模糊测试,若发现UPnP服务出现异常,则确定UPnP服务存在漏洞,结束模糊测试。
上述步骤S410至步骤S810,通过对智能设备的UPnP协议进行解析,得到请求命令和请求参数,确定输入向量,并按照协议对应的测试生成策略建立测试模型,并根据输入向量生成模糊测试的测试数据,根据测试数据分阶段对UPnP服务进行模糊测试,并通过向目标主机定时发送正常数据包,监控服务异常来发现漏洞,从而实现了一种自动化的漏洞挖掘方法,能够提高发现UPnP服务漏洞的准确性,提高设备的安全性。
本实施例还提供了一种漏洞测试装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
基于同一发明构思,如图4所示,本申请实施例的漏洞测试装置40,包括:
服务解析模块42,用于对智能设备的UPnP服务的数据包进行解析,确定输入向量;
测试数据生成模块44,用于根据输入向量,为UPnP服务生成变异的模糊测试的测试数据;以及
模糊测试模块46,用于对测试数据分阶段进行模糊测试,若在测试过程中发现UPnP服务出现异常,则确定UPnP服务存在漏洞,结束模糊测试。
上述漏洞测试装置,通过对智能设备的UPnP协议进行解析确定输入向量,并根据输入向量生成模糊测试的测试数据,根据测试数据分阶段对UPnP服务进行模糊测试,并通过监控服务异常来发现漏洞,提供了一种自动化的漏洞挖掘方法,能够以一种省时省力的方式发现智能设备的UPnP服务漏洞,并且提高发现UPnP服务漏洞的准确性,从而帮助减少漏洞,提高设备的安全性。
在一个实施例中,漏洞测试装置40还包括异常监控模块,所述异常监控模块用于向目标主机定时发送正常数据包,并根据目标主机的响应来判断目标主机是否发生异常。
在一个实施例中,UPnP服务的数据包包含设备描述信息和服务描述信息,服务解析模块42还用于根据设备描述信息和服务描述信息,解析出智能设备中每个服务提供的请求命令和请求参数,将请求命令和请求参数作为模糊测试的输入向量。
在一个实施例中,测试数据生成模块44还用于对被测系统按照测试生成策略建立测试模型,将输入向量输入测试模型,生成变异的测试数据。
在一个实施例中,模糊测试模块46还用于在发现阶段模糊测试时,对测试数据中的请求头和脆弱点字段进行模糊测试,在请求阶段模糊测试时,对测试数据中的请求命令的变异参数进行模糊测试。
在一个实施例中,模糊测试模块46还用于同时进行发现阶段模糊测试和请求阶段模糊测试,若发现UPnP服务出现异常,则确定UPnP服务存在漏洞,结束模糊测试。
关于漏洞测试装置的实施例的具体限定可以参见上文中对于漏洞测试方法的限定,在此不再赘述。上述漏洞测试装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,如图5所示,提供了一种电子装置,包括存储器和处理器。存储器中存储有计算机程序,该电子装置的处理器用于提供计算和控制能力。该电子装置的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器执行计算机程序时实现以下步骤:
对智能设备的UPnP服务的数据包进行解析,确定输入向量;
根据输入向量,为UPnP服务生成变异的模糊测试的测试数据;
对测试数据分阶段进行模糊测试,若在测试过程中发现UPnP服务出现异常,则确定UPnP服务存在漏洞,结束模糊测试。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
向目标主机定时发送正常数据包,并根据目标主机的响应来判断目标主机是否发生异常。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
根据设备描述信息和服务描述信息,解析出智能设备中每个服务提供的请求命令和请求参数;
将请求命令和请求参数作为模糊测试的输入向量。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
对被测系统按照测试生成策略建立测试模型,将输入向量输入测试模型,生成变异的测试数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在发现阶段模糊测试时,对测试数据中的请求头和脆弱点字段进行模糊测试;
在请求阶段模糊测试时,对测试数据中的请求命令的变异参数进行模糊测试。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
同时进行发现阶段模糊测试和请求阶段模糊测试,若发现UPnP服务出现异常,则确定UPnP服务存在漏洞,结束模糊测试。
需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
上述电子装置,通过对智能设备的UPnP协议进行解析确定输入向量,并根据输入向量生成模糊测试的测试数据,根据测试数据分阶段对UPnP服务进行模糊测试,并通过监控服务异常来发现漏洞。提供了一种自动化的漏洞挖掘方法,能够以一种省时省力的方式发现智能设备的UPnP服务漏洞,并且提高发现UPnP服务漏洞的准确性,从而帮助减少漏洞,提高设备的安全性。
在一个实施例中,如图6所示,提供了一种计算机设备,该计算机设备可以是终端。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种漏洞测试方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,上述结构仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比上述更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
对智能设备的UPnP服务的数据包进行解析,确定输入向量;
根据输入向量,为UPnP服务生成变异的模糊测试的测试数据;
对测试数据分阶段进行模糊测试,若在测试过程中发现UPnP服务出现异常,则确定UPnP服务存在漏洞,结束模糊测试。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
向目标主机定时发送正常数据包,并根据目标主机的响应来判断目标主机是否发生异常。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
根据设备描述信息和服务描述信息,解析出智能设备中每个服务提供的请求命令和请求参数;
将请求命令和请求参数作为模糊测试的输入向量。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
对被测系统按照测试生成策略建立测试模型,将输入向量输入测试模型,生成变异的测试数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在发现阶段模糊测试时,对测试数据中的请求头和脆弱点字段进行模糊测试;
在请求阶段模糊测试时,对测试数据中的请求命令的变异参数进行模糊测试。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
同时进行发现阶段模糊测试和请求阶段模糊测试,若发现UPnP服务出现异常,则确定UPnP服务存在漏洞,结束模糊测试。
上述计算机设备,通过对智能设备的UPnP协议进行解析确定输入向量,并根据输入向量生成模糊测试的测试数据,根据测试数据分阶段对UPnP服务进行模糊测试,并通过监控服务异常来发现漏洞。提供了一种自动化的漏洞挖掘方法,能够以一种省时省力的方式发现智能设备的UPnP服务漏洞,并且提高发现UPnP服务漏洞的准确性,从而帮助减少漏洞,提高设备的安全性。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
对智能设备的UPnP服务的数据包进行解析,确定输入向量;
根据输入向量,为UPnP服务生成变异的模糊测试的测试数据;
对测试数据分阶段进行模糊测试,若在测试过程中发现UPnP服务出现异常,则确定UPnP服务存在漏洞,结束模糊测试。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
向目标主机定时发送正常数据包,并根据目标主机的响应来判断目标主机是否发生异常。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
根据设备描述信息和服务描述信息,解析出智能设备中每个服务提供的请求命令和请求参数;
将请求命令和请求参数作为模糊测试的输入向量。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
对被测系统按照测试生成策略建立测试模型,将输入向量输入测试模型,生成变异的测试数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在发现阶段模糊测试时,对测试数据中的请求头和脆弱点字段进行模糊测试;
在请求阶段模糊测试时,对测试数据中的请求命令的变异参数进行模糊测试。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
同时进行发现阶段模糊测试和请求阶段模糊测试,若发现UPnP服务出现异常,则确定UPnP服务存在漏洞,结束模糊测试。
上述存储介质,上述计算机设备,通过对智能设备的UPnP协议进行解析确定输入向量,并根据输入向量生成模糊测试的测试数据,根据测试数据分阶段对UPnP服务进行模糊测试,并通过监控服务异常来发现漏洞。提供了一种自动化的漏洞挖掘方法,能够以一种省时省力的方式发现智能设备的UPnP服务漏洞,并且提高发现UPnP服务漏洞的准确性,从而帮助减少漏洞,提高设备的安全性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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.一种漏洞测试方法,用于智能设备中UPnP服务漏洞的挖掘,其特征在于,所述方法包括:
至少向服务端发送两次HTTP请求,对所述智能设备的UPnP服务的数据包进行解析,确定输入向量,其中,所述UPnP服务的数据包包含设备描述信息和服务描述信息,第一次HTTP请求获取所述智能设备的设备描述信息以及所述服务描述信息的地址信息,第二次HTTP请求基于所述服务描述信息的地址信息获取所述服务描述信息对应的请求命令和请求参数;
根据所述输入向量,为所述UPnP服务生成变异的模糊测试的测试数据;
对所述测试数据分阶段进行模糊测试,所述模糊测试包括发现阶段模糊测试和请求阶段模糊测试,若在测试过程中发现所述UPnP服务出现异常,则确定所述UPnP服务存在漏洞,结束所述模糊测试。
2.根据权利要求1所述的方法,其特征在于,所述对所述测试数据分阶段进行模糊测试,包括:
向目标主机定时发送正常数据包,并根据所述目标主机的响应来判断目标主机是否发生异常。
3.根据权利要求1所述的方法,其特征在于,所述对所述智能设备的UPnP服务的数据包进行解析,确定输入向量,包括:
根据所述设备描述信息和服务描述信息,解析出所述智能设备中每个服务提供的请求命令和请求参数;
将所述请求命令和请求参数作为所述模糊测试的所述输入向量。
4.根据权利要求1所述的方法,其特征在于,所述根据所述输入向量,为所述UPnP服务生成变异的模糊测试的测试数据,还包括:
对被测系统按照测试生成策略建立测试模型,将所述输入向量输入所述测试模型,生成变异的所述测试数据。
5.根据权利要求1所述的方法,其特征在于,所述模糊测试包括发现阶段模糊测试和请求阶段模糊测试,包括:
在所述发现阶段模糊测试时,对所述测试数据中的请求头和脆弱点字段进行模糊测试;
在所述请求阶段模糊测试时,对所述测试数据中的请求命令的变异参数进行模糊测试。
6.根据权利要求5所述的方法,其特征在于,所述对所述测试数据分阶段进行模糊测试,若在测试过程中发现所述UPnP服务出现异常,则确定所述UPnP服务存在漏洞,结束所述模糊测试,包括:
同时进行所述发现阶段模糊测试和请求阶段模糊测试,若发现所述UPnP服务出现异常,则确定所述UPnP服务存在漏洞,结束所述模糊测试。
7.一种漏洞测试装置,用于智能设备中UPnP服务漏洞的挖掘,其特征在于,所述装置包括服务解析模块、测试数据生成模块以及模糊测试模块:
所述服务解析模块,用于至少向服务端发送两次HTTP请求,对所述智能设备的UPnP服务的数据包进行解析,确定输入向量,其中,所述UPnP服务的数据包包含设备描述信息和服务描述信息,第一次HTTP请求获取所述智能设备的设备描述信息以及所述服务描述信息的地址信息,第二次HTTP请求基于所述服务描述信息的地址信息获取所述服务描述信息对应的请求命令和请求参数;
所述测试数据生成模块,用于根据所述输入向量,为所述UPnP服务生成变异的模糊测试的测试数据;
所述模糊测试模块,用于对所述测试数据分阶段进行模糊测试,所述模糊测试包括发现阶段模糊测试和请求阶段模糊测试,若在测试过程中发现所述UPnP服务出现异常,则确定所述UPnP服务存在漏洞,结束所述模糊测试。
8.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110061346.2A CN112769845B (zh) | 2021-01-18 | 2021-01-18 | 漏洞测试方法、装置、电子装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110061346.2A CN112769845B (zh) | 2021-01-18 | 2021-01-18 | 漏洞测试方法、装置、电子装置和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112769845A CN112769845A (zh) | 2021-05-07 |
CN112769845B true CN112769845B (zh) | 2023-05-26 |
Family
ID=75702468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110061346.2A Active CN112769845B (zh) | 2021-01-18 | 2021-01-18 | 漏洞测试方法、装置、电子装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112769845B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114328216A (zh) * | 2021-12-27 | 2022-04-12 | 奇安信科技集团股份有限公司 | 一种漏洞挖掘的方法和装置 |
CN115994363A (zh) * | 2023-03-24 | 2023-04-21 | 北京邮电大学 | 基于多维度安全检测的区块链安全性评估方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8286133B2 (en) * | 2007-12-19 | 2012-10-09 | Microsoft Corporation | Fuzzing encoded data |
CN105391729A (zh) * | 2015-11-30 | 2016-03-09 | 中国航天科工集团第二研究院七〇六所 | 基于模糊测试的web漏洞自动挖掘方法 |
CN110516448A (zh) * | 2019-09-02 | 2019-11-29 | 杭州安恒信息技术股份有限公司 | 一种灰盒测试方法、装置、设备及可读存储介质 |
US10523699B1 (en) * | 2017-06-20 | 2019-12-31 | Amazon Technologies, Inc. | Privilege escalation vulnerability detection using message digest differentiation |
US10855717B1 (en) * | 2019-09-16 | 2020-12-01 | Whitehat Security, Inc. | Systems and methods of intelligent and directed dynamic application security testing |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101778020A (zh) * | 2009-01-13 | 2010-07-14 | 华为终端有限公司 | 通用即插即用设备数据模型发现及通知的方法、装置和系统 |
US10164848B1 (en) * | 2014-06-09 | 2018-12-25 | Amazon Technologies, Inc. | Web service fuzzy tester |
CN106603507A (zh) * | 2016-11-29 | 2017-04-26 | 哈尔滨安天科技股份有限公司 | 一种自动化完成网络安全自检的方法及系统 |
CN108256334B (zh) * | 2018-01-26 | 2019-06-04 | 平安科技(深圳)有限公司 | 漏洞测试方法、装置、计算机设备和存储介质 |
CN111857965A (zh) * | 2020-07-28 | 2020-10-30 | 浙江军盾信息科技有限公司 | 内网威胁检测方法、装置、设备和计算机设备 |
-
2021
- 2021-01-18 CN CN202110061346.2A patent/CN112769845B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8286133B2 (en) * | 2007-12-19 | 2012-10-09 | Microsoft Corporation | Fuzzing encoded data |
CN105391729A (zh) * | 2015-11-30 | 2016-03-09 | 中国航天科工集团第二研究院七〇六所 | 基于模糊测试的web漏洞自动挖掘方法 |
US10523699B1 (en) * | 2017-06-20 | 2019-12-31 | Amazon Technologies, Inc. | Privilege escalation vulnerability detection using message digest differentiation |
CN110516448A (zh) * | 2019-09-02 | 2019-11-29 | 杭州安恒信息技术股份有限公司 | 一种灰盒测试方法、装置、设备及可读存储介质 |
US10855717B1 (en) * | 2019-09-16 | 2020-12-01 | Whitehat Security, Inc. | Systems and methods of intelligent and directed dynamic application security testing |
Non-Patent Citations (1)
Title |
---|
基于内存模糊测试的嵌入式固件漏洞检测;朱怀东;蒋烈辉;董卫宇;;计算机工程与设计(第09期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112769845A (zh) | 2021-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106484611B (zh) | 基于自动化协议适配的模糊测试方法和装置 | |
CN112769845B (zh) | 漏洞测试方法、装置、电子装置和计算机设备 | |
CN111193716B (zh) | 业务数据调用方法、装置、计算机设备和存储介质 | |
CN111628967B (zh) | 日志数据的传输方法、装置、计算机设备和存储介质 | |
CN112399130B (zh) | 云视频会议信息的处理方法、装置、存储介质和通信设备 | |
CN106330483B (zh) | 信息获取方法、客户端设备和服务端设备 | |
CN111444500A (zh) | 鉴权方法、装置、设备及可读存储介质 | |
CN111930709B (zh) | 数据存储方法、装置、电子设备和计算机可读介质 | |
CN112350861B (zh) | 日志获取方法、装置、计算机设备和存储介质 | |
CN107172075B (zh) | 基于网络隔离的通信方法、系统及可读存储介质 | |
CN114024884B (zh) | 一种测试方法、装置、电子设备及存储介质 | |
CN112699034B (zh) | 虚拟登录用户构建方法、装置、设备及存储介质 | |
US20140344447A1 (en) | Method and apparatus for executing application | |
CN108471343B (zh) | 通讯校验码的确定方法及装置、通讯校验方法及系统 | |
CN115242894B (zh) | 数据处理方法、装置、存储介质和计算机设备 | |
CN112423322A (zh) | 型号信息发送方法、装置、存储介质及电子装置 | |
CN111786932B (zh) | 账号登录方法、装置、电子设备及计算机存储介质 | |
CN112333062A (zh) | 家居设备的控制方法、控制装置及计算机可读存储介质 | |
CN114915565B (zh) | 网络调试的方法和系统 | |
CN114039760B (zh) | 安全测试方法、装置、计算机设备和存储介质 | |
CN113766186B (zh) | 网络摄像机配置界面的跳转方法、装置、系统和电子装置 | |
CN114338461A (zh) | 一种网络连接监控方法及相关设备 | |
CN113746851A (zh) | 一种支持实时解析grpc请求的代理系统和方法 | |
CN111078477A (zh) | 接口测试的方法、装置、存储介质和电子设备 | |
CN104980471A (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 |