CN115357894A - 带有自定义验证函数的应用程序漏洞检测方法及系统 - Google Patents

带有自定义验证函数的应用程序漏洞检测方法及系统 Download PDF

Info

Publication number
CN115357894A
CN115357894A CN202210781938.6A CN202210781938A CN115357894A CN 115357894 A CN115357894 A CN 115357894A CN 202210781938 A CN202210781938 A CN 202210781938A CN 115357894 A CN115357894 A CN 115357894A
Authority
CN
China
Prior art keywords
function
verification
json
application program
module
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
CN202210781938.6A
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.)
Seczone Technology Co Ltd
Original Assignee
Seczone Technology 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 Seczone Technology Co Ltd filed Critical Seczone Technology Co Ltd
Priority to CN202210781938.6A priority Critical patent/CN115357894A/zh
Publication of CN115357894A publication Critical patent/CN115357894A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开一种带有自定义验证函数的应用程序漏洞检测方法及系统,该检测方法包括:采用IAST插桩工具插桩待测应用程序,以将漏洞检测逻辑织入到应用程序中;获取应用程序中JSON解析函数返回对象的位置信息;提取并存储JSON解析函数解析污点数据返回的JSON对象中的字段名、字段类型、字段值的映射关系,以获得跟踪数据集;对验证函数进行解析,以获取当前验证函数中与验证规则模型相匹配的验证参数;将验证参数与跟踪数据集中的相关字段名进行绑定;将跟踪数据集中与特征字段参数绑定的字段标记为默认的安全数据;根据上述方法,当漏洞检测结果所指向的字段属于与验证参数绑定的字段时,自动将该漏洞信息滤除,从而避免误报、漏报,确保检测结果的准确性。

Description

带有自定义验证函数的应用程序漏洞检测方法及系统
技术领域
本发明涉及应用程序安全检测技术领域,尤其涉及一种带有自定义验证函数的应用程序漏洞检测方法及系统。
背景技术
随着程序规模越来越大,功能越来越复杂,相应的,漏洞数量也越来越多,其造成的破坏也日趋严重。一般的安全漏洞都是来自于用户输入的污点数据没有经过安全验证或编码,直接进入敏感函数导致的。所以市面上常见的IAST工具都是通过跟踪污点数据的数据流传播过程来判断是否存在安全漏洞。在实际的应用场景中,应用程序中设置有支持用户自定义的验证函数来对输入数据进行验证,经过验证函数验证的字段为安全字段,这样,当漏洞检测结果中的漏洞信息指向该安全字段时,可自动将该条漏洞信息滤除,从而提高检测准确度。
自定义验证函数一般分两种,一是验证污点数据本身,这种验证函数的入参为污点数据中的单个特征字符串(比如登录的用户名之类、邮箱账户等),对于这种验证函数,在一个具有多个输入操作的应用程序中,即使多个输入操作包含有相同的内容,也需要分别为每一操作分别定义关于该相同字段的特征参数。第二种自定义验证函数,用于基于JSON框架进行数据存储和参数传递的应用程序,该验证函数以JSON对象整体数据和需要验证的特征字作为输入参数,也即,当用户输入请求数据后,向该验证函数中传入污点数据对象整体数据和需要验证的特征字(也即污点数据key),验证函数会利用污点数据key动态的从污点数据对象中获取具体的字段进行验证。
对于第一种自定义验证函数,由于传入验证函数的为单独的具体的字段,因此现有的IAST工具都可以很好的识别出经过验证函数验证的字段,从而将其定义为安全字段。但是对于第二种自定义验证函数,由于作为输出参数的是整个JSON对象,所以,IAST工具不能识别出当前进行验证的特征字段,如要进行安全标记,只能将JSON对象整体标记为安全,很明显,这样无法保证检测结果的准确度,而如果不进行安全标记,又会出现误报的情况。
发明内容
本发明的目的是为解决上述技术问题而提供一种带有自定义验证函数的应用程序漏洞检测方法及系统,以使得在对JSON框架进行数据存储和参数传递进行漏洞检测过程中,可有效识别出经验证函数验证过的特征字段,避免误报。
为了实现上述目的,本发明公开了一种带有自定义验证函数的应用程序漏洞检测方法,所述应用程序基于JSON框架进行数据存储和参数传递,且,所述应用程序中设置有用于对用户输入的污点数据进行自定义验证的验证函数,所述验证函数以JSON对象整体数据和需要验证的特征字作为输入参数,所述检测方法包括:
采用IAST插桩工具插桩待测应用程序,以将漏洞检测逻辑织入到所述应用程序中,所述漏洞检测逻辑通过跟踪污点数据在所述应用程序中的传播途径进行漏洞检测;
获取当前所述应用程序中JSON解析函数返回对象的位置信息;
当测试用污点数据进入所述应用程序后,提取并存储所述JSON解析函数解析所述污点数据返回的JSON对象中的字段名、字段类型、字段值的映射关系,以获得跟踪数据集;
对所述验证函数进行解析,以获取当前所述验证函数中与验证规则模型相匹配的验证参数;
将所述验证参数与所述跟踪数据集中的相关字段名进行绑定;
将所述跟踪数据集中与所述特征字段参数绑定的字段标记为默认的安全数据。
较佳地,对所述验证函数进行解析的方法包括:
采用IAST插桩工具插桩所述验证函数,在所述污点数据经过所述验证函数时,根据所述验证函数的预设规则,从该验证函数的验证参数列表位置获取所述验证参数;或者,
根据经验算法推算所述验证参数。
较佳地,通过所述IAST工具插桩所述应用程序中的JSON解析函数,以获得该JSON解析函数返回对象的位置信息。
较佳地,创建包括若干已知解析类型的JSON解析函数的函数库,并判断当前所述应用程序中任一JSON类函数是否存在于所述函数库,如果是,则直接通过所述IAST工具插桩该JSON类函数;
如果否,则根据所述应用程序中每一JSON类函数的入参和返回值来推断用作解析JSON对象的JSON解析函数。
本发明还公开一种带有自定义验证函数的应用程序漏洞检测系统,所述应用程序基于JSON框架进行数据存储和参数传递,且,所述应用程序中设置有用于对用户输入的污点数据进行自定义验证的验证函数,所述验证函数以JSON对象整体数据和需要验证的特征字作为输入参数,所述检测系统包括:
漏洞检测模块,其用于采用IAST插桩工具插桩待测应用程序,以将漏洞检测逻辑织入到所述应用程序中,所述漏洞检测逻辑通过跟踪污点数据在所述应用程序中的传播途径进行漏洞检测;
位置信息获取模块,其用于获取当前所述应用程序中JSON解析函数返回对象的位置信息;
数据集生成模块,其用于当测试用污点数据进入所述应用程序后,提取并存储所述JSON解析函数解析所述污点数据返回的JSON对象中的字段名、字段类型、字段值的映射关系,以获得跟踪数据集;
验证参数获取模块,其用于对所述验证函数进行解析,以获取当前所述验证函数中与验证规则模型相匹配的验证参数;
绑定模块,其用于将所述验证参数与所述跟踪数据集中的相关字段名进行绑定;
标记模块,其用于将所述跟踪数据集中与所述特征字段参数绑定的字段标记为默认的安全数据。
较佳地,所述验证参数获取模块用于采用IAST插桩工具插桩所述验证函数,在所述污点数据经过所述验证函数时,根据所述验证函数的预设规则从该验证函数的验证参数列表位置获取所述验证参数,或者根据经验算法推算所述验证参数。
较佳地,所述位置信息获取模块通过IAST工具插桩所述应用程序中的JSON解析函数,以获得该JSON解析函数返回对象的位置信息。
较佳地,所述位置信息获取模块包括函数库创建模块、匹配模块、插桩模块和推断模块;
所述函数库创建模块,用于创建包括若干已知解析类型的JSON解析函数的函数库;
所述匹配模块,用于将当前应用程序中任一JSON类函数与所述函数库中的函数匹配,以确认所述应用程序中的JSON解析函数;
推断模块,用于当通过匹配模块确认当前应用程序中任一JSON类函数均不与所述函数库中的函数匹配时,根据所述应用程序中每一JSON类函数的入参和返回值来推断用作解析JSON对象的JSON解析函数;
所述插桩模块,用于采用IAST工具插桩所述JSON解析函数。
本发明还公开一种带有自定义验证函数的应用程序漏洞检测系统,其包括:
一个或多个处理器;
存储器;
以及一个或多个程序,其中一个或多个程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述程序包括用于执行如上所述的带有自定义验证函数的应用程序漏洞检测方法的指令。
本发明还公开一种计算机可读存储介质,其包括计算机程序,所述计算机程序可被处理器执行以完成如上所述带有自定义验证函数的应用程序漏洞检测方法。
与现有技术相比,本发明上述技术方案,针对基于JSON框架进行数据存储和参数传递的应用程序进行漏洞检测,且通过跟踪污点数据在所述应用程序中的传播途径进行漏洞检测,其中,应用程序中还设置有验证函数,由于该验证函数以JSON对象整体数据和需要验证的特征字作为输入参数,因此,在进行漏洞检测过程中,当污点数据进行验证函数时,通过对验证函数的解析,获得当前所述验证函数中与验证规则模型相匹配的验证参数,然后将该验证参数与从JSON对象中提取出的跟踪数据集中的相关字段名进行绑定,这样,当漏洞检测结果所指向的字段属于与验证参数绑定的字段时,自动将该漏洞信息滤除,从而避免误报、漏报,确保检测结果的准确性。
附图说明
图1为本发明实施例中应用程序漏洞检测方法流程图。
图2为本发明实施例中应用程序漏洞检测系统原理结构图。
具体实施方式
为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
本实施例公开了一种应用程序漏洞检测方法,以用于基于IAST插桩工具对带有自定义验证函数的应用程序进行漏洞检测,且,该应用程序基于JSON框架进行数据存储和参数传递,所以,验证函数以JSON对象整体数据(key-value键值对)需要验证的特征字(key)作为输入参数。对于该验证函数,在应用程序的请求入口处进行统一拦截,提取预设的验证规则模型,对传入的数据进行动态匹配。这种验证规则模型的实现方式为:通过配置文件配置key-value结构的关键字匹配关系,key为污点数据中的字段名,value为验证正则。如果传入的污点数据存在相同的key,就用对应的验证正则来对污点数据进行安全验证。这种验证方式对于IAST工具来说,定位不到污点数据中的具体哪些特征字段被安全验证,这会造成误报或者漏报。因此,为解决该问题,如图1,本实施例中的检测方法包括如下几个步骤:
S1:采用IAST插桩工具插桩待测应用程序,以将漏洞检测逻辑织入到应用程序中,漏洞检测逻辑通过跟踪污点数据在应用程序中的传播途径进行漏洞检测。
S2:获取当前应用程序中JSON解析函数返回对象的位置信息。
S3:当测试用污点数据进入应用程序后,提取并存储JSON解析函数解析污点数据返回的JSON对象中的字段名、字段类型、字段值的映射关系,以获得跟踪数据集。
S4:对应用程序中请求输入接口处的验证函数进行解析,以获取当前验证函数中与验证规则模型相匹配的验证参数。例如,经请求输入接口传入的完整的污点数据(也即JSON对象整体数据)为{"email":"zhangsan@qq.com","name":zhangsan","age":30},需要验证的特征字为“email”,那么,验证函数接收到该JSON对象整体数据后,经与预设的验证规则模型匹配,得到与“email”相对应的验证正则,因此,解析后,获得的验证参数为email。
S5:将验证参数与跟踪数据集中的相关字段名进行绑定。
S6:将跟踪数据集中与特征字段参数绑定的字段标记为默认的安全数据。这样,即使检测到email字段存在安全漏洞,也可自动滤除该漏洞信息。
通过上述实施例公开的检测方法,在进行漏洞检测过程中,当污点数据进行验证函数时,通过对应用程序中JSON解析函数返回对象的位置信息的获取,可提取并存储JSON解析函数解析污点数据返回的JSON对象中的字段名、字段类型、字段值的映射关系,以获得跟踪数据集。漏洞检测逻辑通过跟踪该跟踪数据集中的数据流进行漏洞检测。由于该应用程序中设置有对污点数据中的某一或多个特征字进行验证的验证函数,而经过验证函数验证的字段可被确认为安全数据,因此,通过对验证函数的解析,获得当前验证函数中与验证规则模型相匹配的验证参数并将将该验证参数与从JSON对象中提取出的跟踪数据集中的相关字段名进行绑定后,当漏洞检测结果所指向的字段属于与验证参数绑定的字段时,自动将该漏洞信息滤除,从而避免误报、漏报,确保检测结果的准确性。
进一步地,对验证函数进行解析的方法包括:
采用IAST插桩工具插桩验证函数,在污点数据经过验证函数时,如果验证函数的语法规则为已知,则根据验证函数的预设规则,从该验证函数的验证参数列表位置获取验证参数;如果该验证函数的语法规则未知,则根据经验算法推算验证参数,关于经验算法为本领域的常规技术,在此不再赘述。
进一步地,通过IAST工具插桩应用程序中的JSON解析函数,以获得该JSON解析函数返回对象的位置信息。
基于此,在实际运用中,如欲通过IAST工具自动插桩应用程序中的JSON解析函数,事先必须使得IAST工具能够识别应用程序中的哪个函数为JSON解析函数,否则,将只能人工插桩,这将浪费时间。为解决该问题,本实施例中的定位方法还包括:
创建包括若干已知解析类型的JSON解析函数的函数库,并判断当前应用程序中任一JSON类函数是否存在于函数库,如果是,则直接通过IAST工具插桩该JSON类函数;
如果否,则根据应用程序中每一JSON类函数的入参和返回值来推断用作解析JSON对象的JSON解析函数,从而识别出该应用程序中的JSON解析函数,然后再采用IAST工具插桩识别出的JSON解析函数即可。
具体地,如下一包含JSON类函数的请求体为:
Figure BDA0003728159140000071
在上述请求体中,由于JSON类函数“readValue”已预设在函数库中,因此,通过将与函数库中的各个JSON解析函数比对,即可快速匹配出该请求体中的JSON解析函数(也即readValue),然后即可对ObjectMapper中的readValue函数插桩,并且对返回值进行标记。
又如下另一包含JSON类函数的请求体为:
Figure BDA0003728159140000081
在上述请求体中,通过与包含有多个JSON解析函数的函数库比对,未发现有与函数中相同的已知解析类型的JSON类函数,因此,由于正常JSON解析函数都会传入两个入参,一个是字符串或者字节流,作为JSON数据的载体,另外一个是JSON解析对象的类型,如java中一般返回Object对象或者跟JSON解析对象类型相同的类型,所以,根据该请求体中每一JSON类函数的入参和返回值来推断用作解析JSON对象的JSON解析函数,也即parseObject。然后,采用IAST插桩工具插桩该parseObject函数即可。
另外,JSON解析对象一般返回class或者object类型,前者可以明确知道对象类型,后者需要通过反射等技术进一步获取对象类型。
如上例中的Person.class,在步骤S3中可以通过反射等技术先获取到对象中的字段名,具体执行语句如下:
Figure BDA0003728159140000082
此时就可以将提取到的字段名、字段值、字段类型等映射关系进行存储,如{"key":"name","value":"张三","type":"string"},在此需要注意的是,此处的value属性存储的是携带内存地址的值,即两个相同的字符串“张三”也会出现不同内存地址的情况。
如图2,本发明另一较佳实施例中,还公开一种带有自定义验证函数的应用程序漏洞检测系统,应用程序基于JSON框架进行数据存储和参数传递,且,应用程序中设置有用于对用户输入的污点数据进行自定义验证的验证函数,验证函数以JSON对象整体数据和需要验证的特征字作为输入参数,检测系统包括:
漏洞检测模块,其用于采用IAST插桩工具插桩待测应用程序,以将漏洞检测逻辑织入到应用程序中,漏洞检测逻辑通过跟踪污点数据在应用程序中的传播途径进行漏洞检测;
位置信息获取模块,其用于获取当前应用程序中JSON解析函数返回对象的位置信息;
数据集生成模块,其用于当测试用污点数据进入应用程序后,提取并存储JSON解析函数解析污点数据返回的JSON对象中的字段名、字段类型、字段值的映射关系,以获得跟踪数据集;
验证参数获取模块,其用于对验证函数进行解析,以获取当前验证函数中与验证规则模型相匹配的验证参数;
绑定模块,其用于将验证参数与跟踪数据集中的相关字段名进行绑定;
标记模块,其用于将跟踪数据集中与特征字段参数绑定的字段标记为默认的安全数据。
进一步地,验证参数获取模块用于采用IAST插桩工具插桩验证函数,在污点数据经过验证函数时,根据验证函数的预设规则从该验证函数的验证参数列表位置获取验证参数,或者根据经验算法推算验证参数。
进一步地,位置信息获取模块通过IAST工具插桩应用程序中的JSON解析函数,以获得该JSON解析函数返回对象的位置信息。
进一步地,位置信息获取模块包括函数库创建模块、匹配模块、插桩模块和推断模块;
函数库创建模块,用于创建包括若干已知解析类型的JSON解析函数的函数库;
匹配模块,用于将当前应用程序中任一JSON类函数与函数库中的函数匹配,以确认应用程序中的JSON解析函数;
推断模块,用于当通过匹配模块确认当前应用程序中任一JSON类函数均不与函数库中的函数匹配时,根据应用程序中每一JSON类函数的入参和返回值来推断用作解析JSON对象的JSON解析函数;
插桩模块,用于采用IAST工具插桩JSON解析函数。
需要说明的是,本实施例中应用程序漏洞检测系统的工作原理和工作过程详见上述应用程序漏洞检测方法,在此不再赘述。
本发明还公开另一种应用程序漏洞检测系统,其包括一个或多个处理器、存储器以及一个或多个程序,其中一个或多个程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述程序包括用于执行如上所述的应用程序漏洞检测方法的指令。处理器可以采用通用的中央处理器(Central Processing Unit,CPU),微处理器,应用专用集成电路(Application Specific Integrated Circuit,ASIC),或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的应用程序漏洞检测系统中的模块所需执行的功能,或者执行本申请方法实施例的应用程序漏洞检测方法。
本发明还公开一种计算机可读存储介质,其包括计算机程序,所述计算机程序可被处理器执行以完成如上所述的应用程序漏洞检测方法。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是只读存储器(read-onlymemory,ROM),或随机存取存储器(random access memory,RAM),或磁性介质,例如,软盘、硬盘、磁带、磁碟、或光介质,例如,数字通用光盘(digital versatile disc,DVD)、或者半导体介质,例如,固态硬盘(solidstate disk,SSD)等。
本申请实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行上述应用程序漏洞检测方法。
以上所揭露的仅为本发明的优选实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明申请专利范围所作的等同变化,仍属本发明所涵盖的范围。

Claims (10)

1.一种带有自定义验证函数的应用程序漏洞检测方法,其特征在于,所述应用程序基于JSON框架进行数据存储和参数传递,且,所述应用程序中设置有用于对用户输入的污点数据进行自定义验证的验证函数,所述验证函数以JSON对象整体数据和需要验证的特征字作为输入参数,所述检测方法包括:
采用IAST插桩工具插桩待测应用程序,以将漏洞检测逻辑织入到所述应用程序中,所述漏洞检测逻辑通过跟踪污点数据在所述应用程序中的传播途径进行漏洞检测;
获取当前所述应用程序中JSON解析函数返回对象的位置信息;
当测试用污点数据进入所述应用程序后,提取并存储所述JSON解析函数解析所述污点数据返回的JSON对象中的字段名、字段类型、字段值的映射关系,以获得跟踪数据集;
对所述验证函数进行解析,以获取当前所述验证函数中与验证规则模型相匹配的验证参数;
将所述验证参数与所述跟踪数据集中的相关字段名进行绑定;
将所述跟踪数据集中与所述特征字段参数绑定的字段标记为默认的安全数据。
2.根据权利要求1所述的带有自定义验证函数的应用程序漏洞检测方法,其特征在于,对所述验证函数进行解析的方法包括:
采用IAST插桩工具插桩所述验证函数,在所述污点数据经过所述验证函数时,根据所述验证函数的预设规则,从该验证函数的验证参数列表位置获取所述验证参数;或者,
根据经验算法推算所述验证参数。
3.根据权利要求1所述的带有自定义验证函数的应用程序漏洞检测方法,其特征在于,通过所述IAST工具插桩所述应用程序中的JSON解析函数,以获得该JSON解析函数返回对象的位置信息。
4.根据权利要求3所述的带有自定义验证函数的应用程序漏洞检测方法,其特征在于,创建包括若干已知解析类型的JSON解析函数的函数库,并判断当前所述应用程序中任一JSON类函数是否存在于所述函数库,如果是,则直接通过所述IAST工具插桩该JSON类函数;
如果否,则根据所述应用程序中每一JSON类函数的入参和返回值来推断用作解析JSON对象的JSON解析函数。
5.一种带有自定义验证函数的应用程序漏洞检测系统,其特征在于,所述应用程序基于JSON框架进行数据存储和参数传递,且,所述应用程序中设置有用于对用户输入的污点数据进行自定义验证的验证函数,所述验证函数以JSON对象整体数据和需要验证的特征字作为输入参数,所述检测系统包括:
漏洞检测模块,其用于采用IAST插桩工具插桩待测应用程序,以将漏洞检测逻辑织入到所述应用程序中,所述漏洞检测逻辑通过跟踪污点数据在所述应用程序中的传播途径进行漏洞检测;
位置信息获取模块,其用于获取当前所述应用程序中JSON解析函数返回对象的位置信息;
数据集生成模块,其用于当测试用污点数据进入所述应用程序后,提取并存储所述JSON解析函数解析所述污点数据返回的JSON对象中的字段名、字段类型、字段值的映射关系,以获得跟踪数据集;
验证参数获取模块,其用于对所述验证函数进行解析,以获取当前所述验证函数中与验证规则模型相匹配的验证参数;
绑定模块,其用于将所述验证参数与所述跟踪数据集中的相关字段名进行绑定;
标记模块,其用于将所述跟踪数据集中与所述特征字段参数绑定的字段标记为默认的安全数据。
6.根据权利要求5所述的带有自定义验证函数的应用程序漏洞检测系统,其特征在于,所述验证参数获取模块用于采用IAST插桩工具插桩所述验证函数,在所述污点数据经过所述验证函数时,根据所述验证函数的预设规则从该验证函数的验证参数列表位置获取所述验证参数,或者根据经验算法推算所述验证参数。
7.根据权利要求5所述的带有自定义验证函数的应用程序漏洞检测系统,其特征在于,所述位置信息获取模块通过IAST工具插桩所述应用程序中的JSON解析函数,以获得该JSON解析函数返回对象的位置信息。
8.根据权利要求7所述的带有自定义验证函数的应用程序漏洞检测系统,其特征在于,所述位置信息获取模块包括函数库创建模块、匹配模块、插桩模块和推断模块;
所述函数库创建模块,用于创建包括若干已知解析类型的JSON解析函数的函数库;
所述匹配模块,用于将当前应用程序中任一JSON类函数与所述函数库中的函数匹配,以确认所述应用程序中的JSON解析函数;
推断模块,用于当通过匹配模块确认当前应用程序中任一JSON类函数均不与所述函数库中的函数匹配时,根据所述应用程序中每一JSON类函数的入参和返回值来推断用作解析JSON对象的JSON解析函数;
所述插桩模块,用于采用IAST工具插桩所述JSON解析函数。
9.一种带有自定义验证函数的应用程序漏洞检测系统,其特征在于,包括:
一个或多个处理器;
存储器;
以及一个或多个程序,其中一个或多个程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述程序包括用于执行如权利要求1至4任一项所述的带有自定义验证函数的应用程序漏洞检测方法的指令。
10.一种计算机可读存储介质,其特征在于,包括计算机程序,所述计算机程序可被处理器执行以完成如权利要求1至4任一项所述带有自定义验证函数的应用程序漏洞检测方法。
CN202210781938.6A 2022-07-04 2022-07-04 带有自定义验证函数的应用程序漏洞检测方法及系统 Pending CN115357894A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210781938.6A CN115357894A (zh) 2022-07-04 2022-07-04 带有自定义验证函数的应用程序漏洞检测方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210781938.6A CN115357894A (zh) 2022-07-04 2022-07-04 带有自定义验证函数的应用程序漏洞检测方法及系统

Publications (1)

Publication Number Publication Date
CN115357894A true CN115357894A (zh) 2022-11-18

Family

ID=84029938

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210781938.6A Pending CN115357894A (zh) 2022-07-04 2022-07-04 带有自定义验证函数的应用程序漏洞检测方法及系统

Country Status (1)

Country Link
CN (1) CN115357894A (zh)

Similar Documents

Publication Publication Date Title
CN108763928B (zh) 一种开源软件漏洞分析方法、装置和存储介质
Carmony et al. Extract Me If You Can: Abusing PDF Parsers in Malware Detectors.
US8635602B2 (en) Verification of information-flow downgraders
US8646088B2 (en) Runtime enforcement of security checks
CN110929264B (zh) 漏洞检测方法、装置、电子设备及可读存储介质
US8918885B2 (en) Automatic discovery of system integrity exposures in system code
CN110704304B (zh) 一种应用程序测试方法、装置、存储介质和服务器
US11888885B1 (en) Automated security analysis of software libraries
US20190325145A1 (en) Management of Security Vulnerabilities
Huang et al. Detecting sensitive data disclosure via bi-directional text correlation analysis
CN111259399B (zh) 用于web应用的动态检测漏洞攻击的方法及系统
WO2019144548A1 (zh) 安全测试方法、装置、计算机设备和存储介质
US20150143342A1 (en) Functional validation of software
US20170344746A1 (en) Utilizing likely invariants for runtime protection of web services
CN115061874A (zh) 日志信息验证方法、装置、设备及介质
CN115186274A (zh) 基于iast的安全测试方法及装置
CN109246113B (zh) 一种rest api的sql注入漏洞检测方法及装置
US20230179627A1 (en) Learning apparatus, detecting apparatus, learning method, detecting method, learning program, and detecting program
CN113434400A (zh) 测试用例的执行方法、装置、计算机设备及存储介质
US10931693B2 (en) Computation apparatus and method for identifying attacks on a technical system on the basis of events of an event sequence
CN116361793A (zh) 代码检测方法、装置、电子设备及存储介质
CN111143858A (zh) 数据检查方法及装置
CN115357894A (zh) 带有自定义验证函数的应用程序漏洞检测方法及系统
CN115357893A (zh) 基于数据流跟踪的应用程序漏洞检测方法及系统
CN116483377B (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