CN114968750A - 基于人工智能的测试用例生成方法、装置、设备和介质 - Google Patents

基于人工智能的测试用例生成方法、装置、设备和介质 Download PDF

Info

Publication number
CN114968750A
CN114968750A CN202110200598.9A CN202110200598A CN114968750A CN 114968750 A CN114968750 A CN 114968750A CN 202110200598 A CN202110200598 A CN 202110200598A CN 114968750 A CN114968750 A CN 114968750A
Authority
CN
China
Prior art keywords
request
mutated
parameter
service resource
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.)
Pending
Application number
CN202110200598.9A
Other languages
English (en)
Inventor
张恒
董志强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110200598.9A priority Critical patent/CN114968750A/zh
Publication of CN114968750A publication Critical patent/CN114968750A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请涉及信息安全技术领域,提供了一种基于人工智能的测试用例生成处理方法、装置、设备和介质。本申请能够结合人工智能技术提升测试用例的生成效率且有利于提高业务逻辑漏洞的检出率。该方法包括:获取针对待测业务资源提供端的业务资源访问请求信息,并确定其中的至少一个待变异请求参数项,然后获取业务资源访问请求信息中各待变异请求参数项对应的待变异请求参数,并利用请求参数变异模型将各待变异请求参数项对应的待变异请求参数转化为相应的变异请求参数,最后根据转化得到的各待变异请求参数项对应的变异请求参数和原始的业务资源访问请求信息,生成用于对待测业务资源提供端进行业务逻辑漏洞测试的测试用例。

Description

基于人工智能的测试用例生成方法、装置、设备和介质
技术领域
本申请涉及信息安全技术领域,特别是涉及一种基于人工智能的测试用例生成处理方法、装置、计算机设备和存储介质。
背景技术
随着互联网技术的迅速发展,网络信息安全也越来越重要。业务资源提供端可通过网络提供用户对业务资源的访问服务,而业务资源提供端难以避免地会存在业务逻辑漏洞。其中,业务逻辑漏洞主要是指由于业务设计不当产生,使得攻击方无需进行破坏性操作,而只需利用合法执行流程,即可绕过保护机制实现恶意行为的一类漏洞,例如接口枚举、越权漏洞和敏感信息回传等,攻击方利用业务逻辑漏洞使其自身行为与业务资源访问策略不一致,从而获取未授权的业务资源,导致业务信息泄露。
目前的业务逻辑漏洞检测技术中,主要依赖于测试人员经验挖掘业务逻辑漏洞或利用已有的测试用例检测业务逻辑漏洞,但通过这种方式存在测试用例的生成效率低的技术问题。
发明内容
基于此,有必要针对上述技术问题,提供一种基于人工智能的测试用例生成处理方法、装置、计算机设备和存储介质。
一种基于人工智能的测试用例生成处理方法,所述方法包括:
获取针对待测业务资源提供端的业务资源访问请求信息;
确定所述业务资源访问请求信息中的至少一个待变异请求参数项;
获取所述业务资源访问请求信息中各待变异请求参数项对应的待变异请求参数;
利用请求参数变异模型将所述各待变异请求参数项对应的待变异请求参数转化为相应的变异请求参数;
根据所述各待变异请求参数项对应的变异请求参数和所述业务资源访问请求信息,生成用于对所述待测业务资源提供端进行业务逻辑漏洞测试的测试用例。
一种基于人工智能的测试用例生成处理装置,所述装置包括:
信息获取模块,用于获取针对待测业务资源提供端的业务资源访问请求信息;
参数项确定模块,用于确定所述业务资源访问请求信息中的至少一个待变异请求参数项;
参数获取模块,用于获取所述业务资源访问请求信息中各待变异请求参数项对应的待变异请求参数;
参数变异模块,用于利用请求参数变异模型将所述各待变异请求参数项对应的待变异请求参数转化为相应的变异请求参数;
用例生成模块,用于根据所述各待变异请求参数项对应的变异请求参数和所述业务资源访问请求信息,生成用于对所述待测业务资源提供端进行业务逻辑漏洞测试的测试用例。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取针对待测业务资源提供端的业务资源访问请求信息;确定所述业务资源访问请求信息中的至少一个待变异请求参数项;获取所述业务资源访问请求信息中各待变异请求参数项对应的待变异请求参数;利用请求参数变异模型将所述各待变异请求参数项对应的待变异请求参数转化为相应的变异请求参数;根据所述各待变异请求参数项对应的变异请求参数和所述业务资源访问请求信息,生成用于对所述待测业务资源提供端进行业务逻辑漏洞测试的测试用例。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取针对待测业务资源提供端的业务资源访问请求信息;确定所述业务资源访问请求信息中的至少一个待变异请求参数项;获取所述业务资源访问请求信息中各待变异请求参数项对应的待变异请求参数;利用请求参数变异模型将所述各待变异请求参数项对应的待变异请求参数转化为相应的变异请求参数;根据所述各待变异请求参数项对应的变异请求参数和所述业务资源访问请求信息,生成用于对所述待测业务资源提供端进行业务逻辑漏洞测试的测试用例。
一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方法的步骤。
上述基于人工智能的测试用例生成处理方法、装置、计算机设备和存储介质,获取针对待测业务资源提供端的业务资源访问请求信息,并确定其中的至少一个待变异请求参数项,然后获取业务资源访问请求信息中各待变异请求参数项对应的待变异请求参数,并利用请求参数变异模型将各待变异请求参数项对应的待变异请求参数转化为相应的变异请求参数,最后根据转化得到的各待变异请求参数项对应的变异请求参数和原始的业务资源访问请求信息,生成用于对待测业务资源提供端进行业务逻辑漏洞测试的测试用例。该方案通过请求参数变异模型对待变异请求参数进行变异处理从而基于变异的请求参数自动生成相应的测试用例,能够基于人工智能实现以模糊测试技术自动化生成测试用例,不依赖于测试人员经验进行手动测试,使得测试用例的生成效率得以提升,而且所生成的测试用例检测覆盖度广以及具有方向性和针对性,有利于提升业务逻辑漏洞的检出率。
附图说明
图1为一个实施例中基于人工智能的测试用例生成处理方法的应用环境图;
图2为一个实施例中基于人工智能的测试用例生成处理方法的流程示意图;
图3为一个实施例中将待变异请求参数转化为相应的变异请求参数的步骤的流程示意图;
图4为另一个实施例中基于深度学习模糊测试技术检测业务逻辑漏洞的方法的流程示意图;
图5为一个实施例中基于人工智能的测试用例生成处理装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的基于人工智能的测试用例生成处理方法,可以应用于如图1所示的应用环境中。该应用环境中,服务器120可以通过网络与待测业务资源提供端进行通信连接,其中,待测业务资源提供端是指待进行业务逻辑漏洞检测的业务资源提供端,示例性的,例如向用户提供各种业务资源访问服务的云平台可以作为待测业务资源提供端。其中,服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现,该服务器120可以是该待测业务资源提供端如云平台中为其自身进行业务逻辑漏洞检测的组成部分,也可以是独立于该待测业务资源提供端为其提供业务逻辑漏洞检测服务的服务器。
具体的,业务逻辑漏洞通常会出现在待测业务资源提供端的Web服务中,用户访问待测业务资源提供端提供的某一功能,其实是在访问Web应用的某个url(uniformresource locator,统一资源定位符),用户访问Web应用的url结构为scheme://host:port/path?query#hash。其中,scheme表示通信协议,通常为http或https;host表示主机域名或IP地址;port表示服务的端口号,可选;path表示资源路径;query表示查询参数,多个参数用“&”符号隔开,参数名和值用“=”符号隔开;hash表示信息片段字符串,用于指定网络资源中的片段。以http://192.168.10.10/user?ID=x的url为例,用户user只能访问ID=2的资源,请求url为http://192.168.10.10/user?ID=2,攻击方通过篡改参数ID=1,从而实现访问其他用户业务资源的目的,若能成功则待测业务资源提供端存在业务逻辑漏洞。
本申请提供的基于人工智能的测试用例生成处理方法,可以由如图1所示的服务器120执行,能够基于人工智能实现以模糊测试技术自动化生成测试用例,在提升测试用例的生成效率得的同时使得所生成的测试用例检测覆盖度广以及具有方向性和针对性,服务器120还能够利用所生成的测试用例对待测业务资源提供端进行业务逻辑漏洞测试获得测试结果,提高业务逻辑漏洞的检出率。
其中,模糊测试技术(fuzz testing,fuzzing)是一种软件测试技术,其核心思想是将自动或半自动生成的随机数据输入到一个程序中,并监视程序异常,如崩溃,断言(assertion)失败,以发现可能的程序错误,比如内存泄漏等,可用于检测软件或计算机***的安全漏洞。
人工智能(Artificial Intelligence,AI)则是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术涉及领域广泛,既有硬件层面的技术也有软件层面的技术。其中,人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习、深度学习等几大方向。其中,机器学习(Machine Learning,ML)也是多领域交叉学科,其涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。
具体的,机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。本申请提供的基于人工智能的测试用例生成处理方法可以基于人工智能技术中的机器学习、深度学习实现以模糊测试技术自动化生成检测覆盖度广以及具有方向性和针对性的测试用例,并利用所生成的测试用例对待测业务资源提供端进行自动化的业务逻辑漏洞测试,在提高测试用例生成效率的同时有助于提高业务逻辑漏洞的检出率,还可具体将其应用在云上业务逻辑漏洞检测场景,作为Web漏洞扫描产品的检测模块,针对性地检测业务逻辑漏洞。
以下结合实施例和相应附图对本申请提供的基于人工智能的测试用例生成处理方法作进一步说明。
在一个实施例中,如图2所示,提供了一种基于人工智能的测试用例生成处理方法,以该方法应用于图1中的服务器120为例进行说明,包括以下步骤:
步骤S201,获取针对待测业务资源提供端的业务资源访问请求信息。
本步骤中,服务器120可获取待测业务资源提供端所能提供的所有业务资源的访问请求url信息和请求头中的cookie信息,这些信息可作为业务资源访问请求信息,供服务器120生成测试用例对该待测业务资源提供端可能存在的业务逻辑漏洞进行测试。
步骤S202,确定业务资源访问请求信息中的至少一个待变异请求参数项;
在获得业务资源访问请求信息后,服务器120可将业务资源访问请求信息进行结构化解析,得到各请求参数项,进而从各请求参数项中选取一个或多个待变异请求参数项。
示例性的,在web服务中,url结构为scheme://host:port/path?query#hash,服务器120将包括访问请求url信息和请求头中的cookie信息的业务资源访问请求信息进行结构化解析,可得到的请求参数项具体可以包括scheme,host,port,path,query和cookie,而这些请求参数项在业务资源访问请求信息中所对应的具体数值称为各请求参数项对应的请求参数,服务器120可从这些请求参数项中选取一个或者多个作为待变异请求参数项,例如服务器120可选取query和cookie作为两个待变异请求参数项。
步骤S203,获取业务资源访问请求信息中各待变异请求参数项对应的待变异请求参数;
本步骤中,服务器120在确定各待变异请求参数项后,可从业务资源访问请求信息中获取对应的请求参数作为待变异请求参数。如上所述,若服务器120可选取query和cookie作为两个待变异请求参数项,则服务器120从业务资源访问请求信息中获取query和cookie这两个待变异请求参数项对应的请求参数作为待变异请求参数。
示例性的,设url链接为http://www.example.com?user=admin&orderId=3,待变异请求参数项cookie对应的待变异请求参数为“user_role=admin;is_active=1”,待变异请求参数项query对应的待变异请求参数为“user=admin,orderId=3”。
步骤S204,利用请求参数变异模型将各待变异请求参数项对应的待变异请求参数转化为相应的变异请求参数;
本步骤主要是服务器120利用预先构建的请求参数变异模型,将每一待变异请求参数项对应的待变异请求参数转化为相应的变异请求参数,请求参数变异模型所进行的具体变异过程可以是将待变异请求参数中的全部或者部分字符或数字进行改变,以使转化后输出的请求参数与原来的输入到模型中的待变异请求参数发生变化,该变化可看作请求参数变异模型作用在待变异请求参数上的变化,以使得转化后输出的请求参数相对于输入到模型的正常请求参数而言为异常请求参数,例如将待变异请求参数项query对应的待变异请求参数中的“orderId=3”转化为“orderId=2”等,服务器120本步骤所采用的利用请求参数变异模型将请求参数进行变异的方式可以达到以模糊测试技术(fuzz testing,fuzzing)生成测试用例的效果。
步骤S205,根据各待变异请求参数项对应的变异请求参数和业务资源访问请求信息,生成用于对待测业务资源提供端进行业务逻辑漏洞测试的测试用例。
本步骤中,服务器120在得到每个待变异请求参数项对应的变异请求参数后,可将该每个待变异请求参数项对应的变异请求参数替换掉原来的业务资源访问请求信息中各待变异请求参数项对应的变异前的正常的请求参数,从而得到测试用例,该测试用例可以被服务器120用于对待测业务资源提供端进行业务逻辑漏洞测试,例如服务器120可以利用测试用例向待测业务资源提供端请求业务资源,根据待测业务资源提供端反馈的响应数据获得业务逻辑漏洞测试结果。
上述基于人工智能的测试用例生成处理方法,服务器120获取针对待测业务资源提供端的业务资源访问请求信息,并确定其中的至少一个待变异请求参数项,然后服务器120获取业务资源访问请求信息中各待变异请求参数项对应的待变异请求参数,并利用请求参数变异模型将各待变异请求参数项对应的待变异请求参数转化为相应的变异请求参数,最后服务器120根据转化得到的各待变异请求参数项对应的变异请求参数和原始的业务资源访问请求信息,生成用于对待测业务资源提供端进行业务逻辑漏洞测试的测试用例。该方案通过请求参数变异模型对待变异请求参数进行变异处理从而基于变异的请求参数自动生成相应的测试用例,能够基于人工智能实现以模糊测试技术自动化生成测试用例,不依赖于测试人员经验进行手动测试,使得测试用例的生成效率得以提升,而且所生成的测试用例检测覆盖度广以及具有方向性和针对性,有利于提升业务逻辑漏洞的检出率。
在一个实施例中,服务器120可以通过如下方式确定出至少一个待变异请求参数项,具体的,上述步骤S202可以包括:
服务器120确定用于将不同业务资源访问请求信息进行业务聚类的聚类特征请求参数项,服务器120从业务资源访问请求信息的候选请求参数项中确定至少一个待变异请求参数项。
其中,服务器120所获取的针对待测业务资源提供端的业务资源访问请求信息的数量可以是多个,服务器120可针对其各自所属的业务类型将所获取的业务资源访问请求信息进行聚类,即将不同的业务资源访问请求信息归为不同的业务类别。具体的,服务器120可依据业务资源访问请求信息中的请求参数项进行聚类,被聚类所依据的请求参数项称为聚类特征请求参数项,在此基础上,服务器120在选择待变异请求参数项时,需要从业务资源访问请求信息的候选请求参数项中进行选择,其中,待变异请求参数项包括业务资源访问请求信息所包含的各请求参数项中除前述聚类特征请求参数项以外的请求参数项,采用这种方式有利于在业务资源海量的情况下,提高业务逻辑漏洞的检测开销。
示例性的,属于同一个业务的host、post和path是不变的,由此服务器120可依据业务资源访问请求信息中的host、port和path三个请求参数项作为聚类特征请求参数项,并根据这些聚类特征请求参数项对应的请求参数将各业务资源访问请求信息进行聚类,每一类可代表一种类别的业务,从而将不同的业务区分开,基于此,服务器120在选择待变异请求参数项时可从剩余的例如query和cookie等请求参数项中选取一个或者多个作为待变异请求参数项,由于每个业务类别出现的业务逻辑漏洞会不一样,采用这种方式便于对不同类别存在的业务逻辑漏洞实施针对性处理。
在一些实施例中,服务器120可在获取针对待测业务资源提供端的业务资源访问请求信息之后,将该业务资源访问请求信息进行结构化解析,获取业务资源访问请求信息的各请求参数项以及各请求参数项对应的请求参数。
具体的,服务器120可将url进行结构化解析,得到业务资源访问请求信息所包含的各请求参数项及其具体对应的请求参数,可进一步形成相应的向量w(scheme,host,port,path,query,cookie),该向量w的维度为6,每个维度分别对应各请求参数项,向量w中的具体数值位各请求参数项所对应的请求参数。
服务器120在确定用于将不同业务资源访问请求信息进行业务聚类的聚类特征请求参数项之后,还可以进一步根据各请求参数项对应的请求参数中与聚类特征请求参数项对应的聚类特征请求参数,确定业务资源访问请求信息所属业务类别。
承上所述,服务器120可使用爬虫技术爬取待测业务资源提供端的所有业务资源url,将url解析为上述向量w,将host、port和path三个请求参数项作为聚类特征请求参数项,通过模式匹配将结构近似(即聚类特征请求参数项对应的请求参数相同)的业务资源访问请求信息分为属于同一业务类别,具体可以以集合的形式将属于不同业务类别的业务资源访问请求信息分在不同的url集合中,从而服务器120可以得到归属于各种业务类别的业务资源访问请求信息,便于对不同业务类别存在的漏洞进行针对性检测,降低检测开销。
在一个实施例中,服务器120具体可通过如下步骤将待变异请求参数转化为相应的变异请求参数,如图3所示,具体包括:
步骤S301,服务器120确定各待变异请求参数具有的参数组成特征;
步骤S302,服务器120将各待变异请求参数拆分为与各自具有的参数组成特征相适应的多个待变异子部请求参数;
其中,不同的待变异请求参数可具有各自的参数组成特征,服务器120可根据参数组成特征将各待变异请求参数拆解为与各自参数组成特征相适应的多个部分,每个部分称为待变异子部请求参数。示例性的,设待变异请求参数项cookie对应的待变异请求参数为“user_role=admin;is_active=1”,其具有的参数组成特征为键值对,从而服务器120可将该待变异请求参数拆分为两个部分,一个部分为“user_role,is_active”,另一部分为“admin,1”,这两部分即为待变异子部请求参数,通过这种方式的拆解,可以将具有复杂结构的请求参数拆解为结构相对简单的子部,便于后续进行变异处理也可以使得变异处理更具针对性。
步骤S303,服务器120利用请求参数变异模型将各待变异请求参数各自对应的多个待变异子部请求参数转化为相应的多个变异子部请求参数;
本步骤主要是服务器120利用请求参数变异模型将每个待变异请求参数各自对应的每个待变异子部请求参数都转化为相应的变异子部请求参数,承上所述,服务器120可利用请求参数变异模型将“user_role,is_active”和“admin,1”都进行变异,从而能够让待变异请求参数中的每一组成部分都可以经过参数变异模型进行变异处理,更有针对性地对待变异请求参数进行变异处理。
步骤S304,服务器120根据各待变异请求参数各自对应的多个变异子部请求参数,得到变异请求参数。
本步骤中,服务器120获得参数变异模型输出的各变异子部请求参数后,可根据各待变异请求参数各自具有的参数组成特征将相应的各变异子部请求参数进行重新组合得到变异请求参数。
通过本实施例的方案能够根据各待变异请求参数自身具有的参数组成特征进行分部拆解,从而可让各待变异请求参数所包含的每一部分都可以独立进行参数变异模型的变异处理,使得对待变异请求参数的变异处理更具有针对性和可操作性。
在一些实施例中,各待变异请求参数具有的参数组成特征通常包括键值对,示例性的,对于待变异请求参数项cookie对应的待变异请求参数为“user_role=admin;is_active=1”,待变异请求参数项query对应的待变异请求参数为“user=admin,orderId=3”,这两个待变异请求参数项对应的待变异请求参数的参数组成特征均为键值对。
对此,上述步骤S302具体包括:服务器120将各待变异请求参数拆分为待变异键部请求参数和待变异值部请求参数。
具体的,对于待变异请求参数项cookie对应的待变异请求参数为“user_role=admin;is_active=1”,服务器120将该待变异请求参数分为待变异键部请求参数“user_role,is_active”和待变异值部请求参数“admin,1”;对于待变异请求参数项query对应的待变异请求参数为“user=admin,orderId=3”,服务器120将该待变异请求参数分为待变异键部请求参数“user,orderId”和待变异值部请求参数“admin,3”。
进一步的,上述步骤S303具体包括:服务器120将各待变异请求参数各自对应的待变异键部请求参数和待变异值部请求参数输入至请求参数变异模型,以使请求参数变异模型输出各待变异请求参数各自对应的变异键部请求参数和变异值部请求参数。
承上所述,服务器120可将待变异请求参数项cookie对应的待变异键部请求参数“user_role,is_active”和待变异值部请求参数“admin,1”输入至请求参数变异模型,以使请求参数变异模型输出该待变异键部请求参数“user_role,is_active”和待变异值部请求参数“admin,1”对应的变异键部请求参数和变异值部请求参数;以及,服务器120可将待变异请求参数项query对应的待变异键部请求参数“user,orderId”和待变异值部请求参数“admin,3”输入至请求参数变异模型,该请求参数变异模型输出该待变异键部请求参数“user,orderId”和待变异值部请求参数“admin,3”对应的变异键部请求参数和变异值部请求参数。
进一步的,上述步骤S304可以包括:服务器120根据各待变异请求参数各自对应的变异键部请求参数和变异值部请求参数,得到变异请求参数。
具体的,在服务器120获得将待变异请求参数项cookie对应的变异键部请求参数和变异值部请求参数后,可根据待变异请求参数项cookie具有的参数组成特征即键值对将所获得的变异键部请求参数和变异值部请求参数重组为变异请求参数。
本实施例通过上述步骤,服务器120能够将参数组成特征为键值对的相对复杂的待变异请求参数分解为结构相对简单的键部和值部进行变异处理,使得对具有参数组成特征为键值对的待变异请求参数的变异处理具有针对性和可操作性,提高测试用例覆盖广度,有利于提高业务逻辑漏洞的检出率。
在一个实施例中,所确定的至少一个待变异请求参数项可以包括第一变异请求参数项和第二变异请求参数项,也即服务器120可以对业务资源访问请求信息中的两个请求参数项进行变异处理形成相应的测试用例,在网络业务应用场景中,业务逻辑漏洞触发点主要存在于query查询和cookie查询中,本实施例以query和cookie分别作为该第一、第二待变异请求参数项对基于query变异和基于cookie变异的测试用例生成进行说明,上述步骤S205具体包括:
服务器120获取第一变异请求参数项对应的第一变异请求参数,获取第二变异请求参数项对应的第二变异请求参数;服务器120基于该第一变异请求参数、第二变异请求参数和业务资源访问请求信息,组合形成多组测试用例。
具体的,服务器120获取第一变异请求参数项query对应的第一变异请求参数,以及获取第二变异请求参数项cookie对应的第二变异请求参数,具体的,服务器120可将该第一变异请求参数项query对应的第一变异请求参数替换掉原来的业务资源访问请求信息中该第一变异请求参数项query对应的正常的请求参数,从而得到基于query变异的测试用例,同理,服务器120也可得到基于cookie变异的测试用例,从而服务器120可以得到两种测试用例,服务器120还可以在此基础之上,对这两种变异的测试用例进行组合最终得到四种测试用例,即得到:直接用基于query变异的测试用例进行测试;先利用基于query变异的测试用例,再利用基于cookie变异的测试用例进行测试;直接用基于cookie变异的测试用例进行测试;先利用基于cookie变异的测试用例,再利用基于query变异的测试用例进行测试这四种测试用例,从而覆盖所有的测试用例,使得所获得的测试用例具有覆盖度广、针对性和方向性强的特点。
进一步的,服务器120在得到多组测试用例后还可利用该多组测试用例对前述待测业务资源提供端进行业务逻辑漏洞测试,从而得到针对该待测业务资源提供端的业务逻辑漏洞测试结果。
具体的,服务器120可采用上述四种测试用例对待测业务资源提供端进行业务逻辑漏洞测试,也即:服务器120可直接使用基于query变异的测试用例进行测试得到该组的业务逻辑漏洞测试结果;服务器120可先利用基于query变异的测试用例,再利用基于cookie变异的测试用例进行测试,得到该组的业务逻辑漏洞测试结果;服务器120可直接用基于cookie变异的测试用例进行测试,得到该组的业务逻辑漏洞测试结果;服务器120可先利用基于cookie变异的测试用例,再利用基于query变异的测试用例进行测试,得到该组的业务逻辑漏洞测试结果。本实施例,服务器120采用上述四种具有覆盖度广、针对性和方向性强的特点的测试用例,可提高业务逻辑漏洞检出率。
在一些实施例中,上述实施例中的服务器120利用各组测试用例对待测业务资源提供端进行业务逻辑漏洞测试,得到针对待测业务资源提供端的业务逻辑漏洞测试结果,具体可以包括:
服务器120分别通过各组测试用例向待测业务资源提供端请求业务资源,获取待测业务资源提供端的第一资源请求响应,以及服务器120获取第二资源请求响应,并将该第一资源请求响应与第二资源请求响应进行一致性比对,根据一致性比对结果得到业务逻辑漏洞测试结果。
其中,第二资源请求响应是指服务器120通过原来的业务资源访问请求信息向待测业务资源提供端请求业务资源的情况下,由待测业务资源提供端反馈的资源请求响应,也即该第二资源请求响应是在服务器120正常向待测业务资源提供端请求资源时得到的响应结果。为获得业务逻辑漏洞测试结果,服务器120将该第二资源请求响应与各组测试用例得到的第一资源请求响应进行一致性比对,如果服务器120所获得的一致性比对结果显示请求参数变异前后从待测业务资源提供端得到的响应结果一致,那么说明不存在业务逻辑漏洞,如果服务器120所获得的一致性比对结果显示请求参数变异前后从待测业务资源提供端得到的响应结果不一致,那么说明存在业务逻辑漏洞,服务器120可以输出相应的业务逻辑漏洞检测结果,该业务逻辑漏洞检测结果可以以检测报告的形式输出,该检测报告的具体内容可以包括潜在的业务逻辑漏洞类别、触发漏洞的测试用例、原始URL请求及其响应状态,从而方便复现漏洞和修补潜在业务逻辑漏洞。
为从整体上描述本申请提供的方案,将该方法应用于对云上业务逻辑漏洞检测的场景进行说明,可作为Web漏洞扫描产品的一个检测模块,对Web服务中存在的业务逻辑漏洞进行针对性检测,具体的,如图4所示,该方法可基于url解析模块、基于深度学习fuzzing技术生成测试用例模块和漏洞检测模块实施,从整体上来说,该检测模块的输入为Web应用根url,输出为Web应用逻辑漏洞检测结果,具体流程如下:
对于url解析模块,该url解析模块可基于所输入的Web应用根url使用爬虫技术爬取业务站点所有业务资源url(对应于业务资源访问请求信息),由于业务资源海量,为了降低检测开销,url解析模块可将url进行结构化解析,生成向量w(scheme,host,port,path,query,cookie),可进一步通过模式匹配将结构近似的一类业务资源url筛选并分为归属于不同业务类别的url集合s,其中,由于同一类别业务的host、post和path是不变的,所以可作为聚类特征请求参数项,也即url解析模块可具体提取向量w中的(host,port,path)作为聚类特征,将具有相同特征的分为同一类,从而得到不同业务类别的url集合s。
对于基于深度学习的fuzzzing技术测试用例生成模块,可分为样本预处理、神经网络编码、神经网络解码和样本生成4个子步骤,具体的:
对于不同类别的url集合s,各自均进行如下样本预处理:将url解析得到的向量w(scheme,host,port,path,query,cookie)分解为第一向量m(query)和第二向量l(cookie),可以理解的是,该两个向量可对应于前述两个待变异请求参数项及其对应的待变异请求参数,其中,该query和cookie的参数组成特征均为键值对,即都是由“name=value”的格式的字符串组成,因此第一向量m(query)和第二向量l(cookie)都可以拆解为向量N(name1,name2,…)和向量V(value1,value2,…),那么可以得到第一向量m(query)的拆解向量mN(name1,name2,…)和mV(value1,value2,…),以及可以得到第二向量l(cookie)的拆解向量lN(name1,name2,…)和lV(value1,value2,…)。
示例性的,设url链接为http://www.example.com?user=admin&orderId=3,使用的cookie为user_role=admin;is_active=1。按照上述样本预处理,query可以表示为(user=admin,orderId=3)”,query向量拆解为拆解向量mN(user,orderId)和拆解向量mV(admin,3),对应cookie向量可以表示为(user_role=admin,is_active=1)拆解为拆解向量lN(user_role,is_active)和拆解向量lV(admin,1)。
然后,该模块将拆解向量形成的待变异向量(mN,mV)和(lN,lV)分别使用循环神经网络(RNN,Recurrent Neural Network)的编码模块和解码模块依次进行神经网络编码和神经网络解码,从而得到基于query变异的fuzz样本和基于cookie变异的fuzz样本。也即在该模块当中,将循环神经网络作为前述请求参数变异模型,以借助RNN处理数据序列或向量数据的特性实施对query和cookie这两个待变异请求参数项的待变异请求参数进行变异处理,进而生成基于query变异和基于cookie变异的测试用例,而除了使用深度学习生成fuzz样本以外,也可以采用其他机器学习算法对query和cookie的待变异请求参数进行变异处理。
对于漏洞检测模块,url链接基于深度学习fuzzing技术生成了基于query变异和基于cookie变异的测试用例,而业务逻辑漏洞触发点通常存在于query查询和cookie查询中,漏洞检测模块可以对这两种变异的测试用例进行组合得到四种测试用例,从而可以覆盖所有的测试用例,然后漏洞检测模块分别校验这四种测试用例的响应数据,并将其与未变异的测试用例得到响应数据进行对比,若所得到的用户资源一致那么说明不存在业务逻辑漏洞,若所得到的用户资源不一致那么说明存在漏洞,漏洞检测模块可以输出是否存在逻辑漏洞的检测结果,该检测结果可以以检测报告的形式进行输出,具体内容可以包括潜在的逻辑漏洞类别、触发漏洞的测试用例、原始URL请求及其响应数据等,从而方便技术人员复现漏洞和修补潜在逻辑漏洞。
本申请提供的方案可实现自动化的检测业务逻辑漏洞,无需依赖于测试人员经验进行手动测试,可基于人工智能实现使用fuzzing技术生成测试用例,使得所生成的测试用例检测覆盖度广,解决人工检测覆盖用例不足的问题,并且使用深度学习生成fuzzing测试用例可以使得所生成的测试用例具有更强的方向性和针对性,避免生成测试用例的盲目性,由此可以有效提高逻辑漏洞检出率,也即实现在覆盖度广的条件下提升业务逻辑漏洞检出率。
应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种基于人工智能的测试用例生成处理装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置500具体包括:
信息获取模块501,用于获取针对待测业务资源提供端的业务资源访问请求信息;
参数项确定模块502,用于确定所述业务资源访问请求信息中的至少一个待变异请求参数项;
参数获取模块503,用于获取所述业务资源访问请求信息中各待变异请求参数项对应的待变异请求参数;
参数变异模块504,用于利用请求参数变异模型将所述各待变异请求参数项对应的待变异请求参数转化为相应的变异请求参数;
用例生成模块505,用于根据所述各待变异请求参数项对应的变异请求参数和所述业务资源访问请求信息,生成用于对所述待测业务资源提供端进行业务逻辑漏洞测试的测试用例。
在一个实施例中,参数项确定模块502,用于确定用于将不同业务资源访问请求信息进行业务聚类的聚类特征请求参数项;从所述业务资源访问请求信息的候选请求参数项中确定所述至少一个待变异请求参数项;其中,所述候选请求参数项包括所述业务资源访问请求信息所包含的各请求参数项中除所述聚类特征请求参数项以外的请求参数项。
在一个实施例中,上述装置500还可以包括:解析处理单元,用于将所述业务资源访问请求信息进行结构化解析,获取所述业务资源访问请求信息的各请求参数项以及所述各请求参数项对应的请求参数;业务分类单元,用于根据所述各请求参数项对应的请求参数中与所述聚类特征请求参数项对应的聚类特征请求参数,确定所述业务资源访问请求信息所属业务类别。
在一个实施例中,参数变异模块504,用于确定各待变异请求参数具有的参数组成特征;将所述各待变异请求参数拆分为与各自具有的参数组成特征相适应的多个待变异子部请求参数;利用所述请求参数变异模型将所述各待变异请求参数各自对应的所述多个待变异子部请求参数转化为相应的多个变异子部请求参数;根据所述各待变异请求参数各自对应的所述多个变异子部请求参数,得到所述变异请求参数。
在一个实施例中,所述参数组成特征包括键值对;参数变异模块504,具体用于将所述各待变异请求参数拆分为待变异键部请求参数和待变异值部请求参数;将所述各待变异请求参数各自对应的所述待变异键部请求参数和待变异值部请求参数输入至所述请求参数变异模型,以使所述请求参数变异模型输出所述各待变异请求参数各自对应的变异键部请求参数和变异值部请求参数;根据所述各待变异请求参数各自对应的变异键部请求参数和变异值部请求参数,得到所述变异请求参数。
在一个实施例中,所述至少一个待变异请求参数项包括第一变异请求参数项和第二变异请求参数项;用例生成模块505,进一步用于获取所述第一变异请求参数项对应的第一变异请求参数,获取所述第二变异请求参数项对应的第二变异请求参数;基于所述第一变异请求参数、第二变异请求参数和所述业务资源访问请求信息,组合形成多组测试用例;上述装置500还可以包括:漏洞检测单元,用于利用所述多组测试用例对所述待测业务资源提供端进行业务逻辑漏洞测试,得到针对所述待测业务资源提供端的业务逻辑漏洞测试结果。
在一个实施例中,上述漏洞检测单元,进一步用于分别通过各组测试用例向所述待测业务资源提供端请求业务资源,获取所述待测业务资源提供端的第一资源请求响应;获取第二资源请求响应;其中,所述第二资源请求响应为在通过所述业务资源访问请求信息向所述待测业务资源提供端请求业务资源的情况下,所述待测业务资源提供端的资源请求响应;将所述第一资源请求响应与所述第二资源请求响应进行一致性比对;根据一致性比对结果,得到所述业务逻辑漏洞测试结果。
关于基于人工智能的测试用例生成处理装置的具体限定可以参见上文中对于基于人工智能的测试用例生成处理方法的限定,在此不再赘述。上述基于人工智能的测试用例生成处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过***总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储业务资源访问请求信息、请求参数变异模型、测试用例和业务逻辑漏洞测试结果等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于人工智能的测试用例生成处理方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种基于人工智能的测试用例生成处理方法,其特征在于,所述方法包括:
获取针对待测业务资源提供端的业务资源访问请求信息;
确定所述业务资源访问请求信息中的至少一个待变异请求参数项;
获取所述业务资源访问请求信息中各待变异请求参数项对应的待变异请求参数;
利用请求参数变异模型将所述各待变异请求参数项对应的待变异请求参数转化为相应的变异请求参数;
根据所述各待变异请求参数项对应的变异请求参数和所述业务资源访问请求信息,生成用于对所述待测业务资源提供端进行业务逻辑漏洞测试的测试用例。
2.根据权利要求1所述的方法,其特征在于,所述确定所述业务资源访问请求信息中的至少一个待变异请求参数项,包括:
确定用于将不同业务资源访问请求信息进行业务聚类的聚类特征请求参数项;
从所述业务资源访问请求信息的候选请求参数项中确定所述至少一个待变异请求参数项;其中,所述候选请求参数项包括所述业务资源访问请求信息所包含的各请求参数项中除所述聚类特征请求参数项以外的请求参数项。
3.根据权利要求2所述的方法,其特征在于,
所述获取针对待测业务资源提供端的业务资源访问请求信息之后,所述方法还包括:
将所述业务资源访问请求信息进行结构化解析,获取所述业务资源访问请求信息的各请求参数项以及所述各请求参数项对应的请求参数;
所述确定用于将不同业务资源访问请求信息进行业务聚类的聚类特征请求参数项之后,所述方法还包括:
根据所述各请求参数项对应的请求参数中与所述聚类特征请求参数项对应的聚类特征请求参数,确定所述业务资源访问请求信息所属业务类别。
4.根据权利要求1所述的方法,其特征在于,所述利用请求参数变异模型将所述各待变异请求参数项对应的待变异请求参数转化为相应的变异请求参数,包括:
确定各待变异请求参数具有的参数组成特征;
将所述各待变异请求参数拆分为与各自具有的参数组成特征相适应的多个待变异子部请求参数;
利用所述请求参数变异模型将所述各待变异请求参数各自对应的所述多个待变异子部请求参数转化为相应的多个变异子部请求参数;
根据所述各待变异请求参数各自对应的所述多个变异子部请求参数,得到所述变异请求参数。
5.根据权利要求4所述的方法,其特征在于,所述参数组成特征包括键值对;
所述将所述各待变异请求参数拆分为与各自具有的参数组成特征相适应的多个待变异子部请求参数,包括:
将所述各待变异请求参数拆分为待变异键部请求参数和待变异值部请求参数;
所述利用所述请求参数变异模型将所述各待变异请求参数各自对应的所述多个待变异子部请求参数转化为相应的多个变异子部请求参数,包括:
将所述各待变异请求参数各自对应的所述待变异键部请求参数和待变异值部请求参数输入至所述请求参数变异模型,以使所述请求参数变异模型输出所述各待变异请求参数各自对应的变异键部请求参数和变异值部请求参数;
所述根据所述各待变异请求参数各自对应的所述多个变异子部请求参数,得到所述变异请求参数,包括:
根据所述各待变异请求参数各自对应的变异键部请求参数和变异值部请求参数,得到所述变异请求参数。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述至少一个待变异请求参数项包括第一变异请求参数项和第二变异请求参数项;
所述根据所述各待变异请求参数项对应的变异请求参数和所述业务资源访问请求信息,生成用于对所述待测业务资源提供端进行业务逻辑漏洞测试的测试用例,包括:
获取所述第一变异请求参数项对应的第一变异请求参数,获取所述第二变异请求参数项对应的第二变异请求参数;
基于所述第一变异请求参数、第二变异请求参数和所述业务资源访问请求信息,组合形成多组测试用例;
所述方法还包括:
利用所述多组测试用例对所述待测业务资源提供端进行业务逻辑漏洞测试,得到针对所述待测业务资源提供端的业务逻辑漏洞测试结果。
7.根据权利要求6所述的方法,其特征在于,所述利用所述多组测试用例对所述待测业务资源提供端进行业务逻辑漏洞测试,得到针对所述待测业务资源提供端的业务逻辑漏洞测试结果,包括:
分别通过各组测试用例向所述待测业务资源提供端请求业务资源,获取所述待测业务资源提供端的第一资源请求响应;
获取第二资源请求响应;其中,所述第二资源请求响应为在通过所述业务资源访问请求信息向所述待测业务资源提供端请求业务资源的情况下,所述待测业务资源提供端的资源请求响应;
将所述第一资源请求响应与所述第二资源请求响应进行一致性比对;
根据一致性比对结果,得到所述业务逻辑漏洞测试结果。
8.一种基于人工智能的测试用例生成处理装置,其特征在于,所述装置包括:
信息获取模块,用于获取针对待测业务资源提供端的业务资源访问请求信息;
参数项确定模块,用于确定所述业务资源访问请求信息中的至少一个待变异请求参数项;
参数获取模块,用于获取所述业务资源访问请求信息中各待变异请求参数项对应的待变异请求参数;
参数变异模块,用于利用请求参数变异模型将所述各待变异请求参数项对应的待变异请求参数转化为相应的变异请求参数;
用例生成模块,用于根据所述各待变异请求参数项对应的变异请求参数和所述业务资源访问请求信息,生成用于对所述待测业务资源提供端进行业务逻辑漏洞测试的测试用例。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202110200598.9A 2021-02-23 2021-02-23 基于人工智能的测试用例生成方法、装置、设备和介质 Pending CN114968750A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110200598.9A CN114968750A (zh) 2021-02-23 2021-02-23 基于人工智能的测试用例生成方法、装置、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110200598.9A CN114968750A (zh) 2021-02-23 2021-02-23 基于人工智能的测试用例生成方法、装置、设备和介质

Publications (1)

Publication Number Publication Date
CN114968750A true CN114968750A (zh) 2022-08-30

Family

ID=82954511

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110200598.9A Pending CN114968750A (zh) 2021-02-23 2021-02-23 基于人工智能的测试用例生成方法、装置、设备和介质

Country Status (1)

Country Link
CN (1) CN114968750A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115879115A (zh) * 2022-12-13 2023-03-31 北京水木羽林科技有限公司 一种Web应用安全漏洞的检测方法及***
CN117806966A (zh) * 2023-12-29 2024-04-02 北京安胜华信科技有限公司 一种越权测试用例生成方法及***

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115879115A (zh) * 2022-12-13 2023-03-31 北京水木羽林科技有限公司 一种Web应用安全漏洞的检测方法及***
CN115879115B (zh) * 2022-12-13 2024-03-29 北京水木羽林科技有限公司 一种Web应用安全漏洞的检测方法及***
CN117806966A (zh) * 2023-12-29 2024-04-02 北京安胜华信科技有限公司 一种越权测试用例生成方法及***

Similar Documents

Publication Publication Date Title
CN110505241B (zh) 一种网络攻击面检测方法及***
WO2019144039A1 (en) Complex application attack quantification, testing, detection and prevention
Halfond et al. Improving penetration testing through static and dynamic analysis
US11212297B2 (en) Access classification device, access classification method, and recording medium
CN112560045A (zh) 应用程序漏洞检测方法、装置、计算机设备和存储介质
JP2019192198A (ja) 悪意あるコンテナを検出するための機械学習モデルをトレーニングするシステムおよび方法
Amalfitano et al. Combining automated gui exploration of android apps with capture and replay through machine learning
CN113315742B (zh) 攻击行为检测方法、装置及攻击检测设备
Barzegar et al. Attack scenario reconstruction using intrusion semantics
US9906542B2 (en) Testing frequency control using a volatility score
CN108229170B (zh) 利用大数据和神经网络的软件分析方法和装置
CN112685738B (zh) 一种基于多级投票机制的恶意混淆脚本静态检测方法
Gutiérrez‐Madroñal et al. Evolutionary mutation testing for IoT with recorded and generated events
CN114968750A (zh) 基于人工智能的测试用例生成方法、装置、设备和介质
Ezzati-Jivan et al. A stateful approach to generate synthetic events from kernel traces
CN113590454A (zh) 测试方法、装置、计算机设备和存储介质
Auricchio et al. An automated approach to web offensive security
CN116915442A (zh) 漏洞测试方法、装置、设备和介质
Wetzig et al. Unsupervised anomaly alerting for iot-gateway monitoring using adaptive thresholds and half-space trees
CN114880637B (zh) 账户风险的验证方法、装置、计算机设备和存储介质
Jiang et al. Efficient generation of valid test inputs for deep neural networks via gradient search
CN116611064A (zh) 一种基于门控循环单元的混合模型恶意软件检测方法
CN117009972A (zh) 漏洞检测方法、装置、计算机设备和存储介质
Maurel et al. Comparing the Detection of XSS Vulnerabilities in Node. js and a Multi-tier JavaScript-based Language via Deep Learning
CN114780398A (zh) 面向Cisco IOS-XE的Web命令注入漏洞检测方法

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