CN111552967A - 一种应用软件安全漏洞检测方法 - Google Patents
一种应用软件安全漏洞检测方法 Download PDFInfo
- Publication number
- CN111552967A CN111552967A CN202010295225.XA CN202010295225A CN111552967A CN 111552967 A CN111552967 A CN 111552967A CN 202010295225 A CN202010295225 A CN 202010295225A CN 111552967 A CN111552967 A CN 111552967A
- Authority
- CN
- China
- Prior art keywords
- application software
- vulnerability
- detection program
- vulnerability detection
- data
- 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
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 13
- 238000000034 method Methods 0.000 claims abstract description 44
- 230000005540 biological transmission Effects 0.000 claims abstract description 4
- 230000006870 function Effects 0.000 abstract description 26
- 238000012360 testing method Methods 0.000 abstract description 15
- 238000012795 verification Methods 0.000 abstract description 5
- 230000008447 perception Effects 0.000 abstract description 3
- 230000001960 triggered effect Effects 0.000 description 4
- 230000035515 penetration Effects 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种应用软件安全漏洞检测方法,包括以下步骤:S1、利用钩子技术对应用软件进行的方法或者函数进行挂载;S2、当被挂载的方法或者函数被调用时,触发漏洞检测程序;S3、漏洞检测程序对用户输入数据的传递过程进行分析并检测应用软件的安全漏洞。本发明的一种应用软件安全漏洞检测方法的实现程序始终处于运行时非执行态,可以对应用软件进行无感知的测试,不会生成脏数据。本技术不依赖于payload,测试能力稳定,漏报率低,且可以对数据加密和数据验签的应用软件进行测试。
Description
技术领域
本发明涉及网络服务器的安全防护技术领域,尤其是涉及一种应用软件安全漏洞检测方法。
背景技术
如今,计算机已经进入千家万户,成为了人们生活中不可或缺的一部分,同时软件***安全性也成为了一个备受关注的技术问题。目前,应用软件安全漏洞检测包括人工渗透、传统的黑盒检测等,这些测试方法都是通过一定的手段来检测用户输入的数据能不能传到漏洞执行的代码位置,人工渗透是通过人工生成payload进行输入测试,而黑盒检测则是模拟人工进行payload测试。
目前应用软件安全漏洞检测中的人工渗透、传统的黑盒检测等的测试方法存在以下缺陷:一、对于有数据加密和验签的环境无法测试,当应用软件存在数据加密解密和验证签名的情况,人工和黑盒将无法发送payload进入***,无法对***进行测试;二、漏洞的检测能力受探测的payload的质量和数量影响,测试能力不稳定;三、会给应用软件带入很多测试的脏数据。
发明内容
本发明的目的在于解决现有技术的不足,提供一种应用软件安全漏洞检测方法。
本发明解决上述技术问题采用的技术方案是:一种应用软件安全漏洞检测方法,包括以下步骤:
S1、利用钩子技术对应用软件进行的方法或者函数进行挂载;
S2、当被挂载的方法或者函数被调用时,触发漏洞检测程序;
S3、漏洞检测程序对用户输入数据的传递过程进行分析并检测应用软件的安全漏洞。
以上技术方案中,钩子技术是一种在内存中修改方法或函数的方法的技术,钩子技术允许本发明的实现程序拦截并处理方法或函数的执行逻辑,当指定的方法或函数被调用后,钩子技术就可以在方法或函数的原始代码被执行之前将其捕获,从而得到对方法或函数的控制权,进而可以对该方法或函数进行处理或修改,加入所需的功能。通过钩子技术对应用软件进行的方法或者函数进行挂载,当被挂载的方法或函数被调用时,即可触发漏洞检测程序。具体地,在一个方法或者函数被挂载时,在该方法或函数的中间语言层或者汇编层***一个回调指令,这时候如果该方法被调用,则通过执行回调指令触发漏洞检测程序。漏洞检测程序的主要流程分为信息收集、信息聚合、漏洞判断三个过程,信息收集即拿到被挂载的方法或函数收集到的信息,信息聚合即在信息聚合点汇总信息,漏洞判断即在信息汇总后,判断是否存在漏洞存在的必要信息、是否存在漏洞不存在的信息等。该方法的实现程序始终处于运行时非执行态,可以对应用软件进行无感知的测试,不会生成脏数据。以上技术不依赖于payload,测试能力稳定,漏报率低,且可以对数据加密和数据验签的应用软件进行测试。
作为优选,步骤S3中,将漏洞检测程序的入参值与用户输入数据进行比较,若相同则认为其入参值为用户输入数据,且将应用软件的上下文信息保存,然后进行检测应用软件的安全漏洞;若漏洞检测程序的入参值与用户输入数据不相同,则将漏洞检测程序的入参值与下一个用户输入数据进行比较,重复运行。
作为优选,漏洞检测程序检测应用软件的安全漏洞时,漏洞检测程序判断应用软件的方法或函数是否具有漏洞执行特性,若是,则认为应用软件存在漏洞;若否,则重新返回至将漏洞检测程序的入参值与下一个用户输入数据进行比较。以上技术方案中,当触发漏洞检测程序时,在漏洞执行特性方法或函数集合中查找当前应用软件的方法或者函数,若查找成功,则认为当前应用软件存在漏洞,否则认为当前应用软件无漏洞,然后将漏洞检测程序的入参值与下一个用户输入数据进行比较,重复运行。
作为优选,漏洞检测程序检测应用软件的安全漏洞时,漏洞检测程序还判断应用软件的方法或函数是否具有数据传播特性,若是,则认为其输出数据也为用户输入的数据;若否,则重新返回至将漏洞检测程序的入参值与下一个用户输入数据进行比较。以上技术方案中,当触发漏洞检测程序时,在数据传播特性方法或函数集合中查找当前应用软件的方法或者函数,若查找成功,则认为当前应用软件存在数据传播特性,否则认为当前应用软件不存在数据传播特性,然后将漏洞检测程序的入参值与下一个用户输入数据进行比较,重复运行。
本发明具有的有益效果是:
本发明的一种应用软件安全漏洞检测方法的实现程序始终处于运行时非执行态,可以对应用软件进行无感知的测试,不会生成脏数据。本技术不依赖于payload,测试能力稳定,漏报率低,且可以对数据加密和数据验签的应用软件进行测试。
附图说明
图1是本发明的应用软件安全漏洞检测方法的流程示意框图。
具体实施方式
以下结合附图和实施方式对本发明作进一步的说明。
如图1所示,本实施例的一种应用软件安全漏洞检测方法,包括以下步骤:
S1、利用钩子技术对应用软件进行的方法或者函数进行挂载;
S2、当被挂载的方法或者函数被调用时,触发漏洞检测程序;
S3、漏洞检测程序对用户输入数据的传递过程进行分析并检测应用软件的安全漏洞。
本实施例中,步骤S3中,将漏洞检测程序的入参值与用户输入数据进行比较,若相同则认为其入参值为用户输入数据,且将应用软件的上下文信息保存,然后进行检测应用软件的安全漏洞;若漏洞检测程序的入参值与用户输入数据不相同,则将漏洞检测程序的入参值与下一个用户输入数据进行比较,重复运行。
本实施例中,漏洞检测程序检测应用软件的安全漏洞时,漏洞检测程序判断应用软件的方法或函数是否具有漏洞执行特性,若是,则认为应用软件存在漏洞;若否,则重新返回至将漏洞检测程序的入参值与下一个用户输入数据进行比较。
本实施例中,漏洞检测程序检测应用软件的安全漏洞时,漏洞检测程序还判断应用软件的方法或函数是否具有数据传播特性,若是,则认为其输出数据也为用户输入的数据;若否,则重新返回至将漏洞检测程序的入参值与下一个用户输入数据进行比较。
在本发明的描述中,需要说明的是,如出现术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等,其所指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,如出现术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,如出现术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
在不改变本发明的创造内容下进行简单的置换均视为相同的创造。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (4)
1.一种应用软件安全漏洞检测方法,其特征在于,包括以下步骤:
S1、利用钩子技术对应用软件进行的方法或者函数进行挂载;
S2、当被挂载的方法或者函数被调用时,触发漏洞检测程序;
S3、漏洞检测程序对用户输入数据的传递过程进行分析并检测应用软件的安全漏洞。
2.根据权利要求1所述的一种应用软件安全漏洞检测方法,其特征在于,步骤S3中,将漏洞检测程序的入参值与用户输入数据进行比较,若相同则认为其入参值为用户输入数据,且将应用软件的上下文信息保存,然后进行检测应用软件的安全漏洞;若漏洞检测程序的入参值与用户输入数据不相同,则将漏洞检测程序的入参值与下一个用户输入数据进行比较,重复运行。
3.根据权利要求2所述的一种应用软件安全漏洞检测方法,其特征在于,漏洞检测程序检测应用软件的安全漏洞时,漏洞检测程序判断应用软件的方法或函数是否具有漏洞执行特性,若是,则认为应用软件存在漏洞;若否,则重新返回至将漏洞检测程序的入参值与下一个用户输入数据进行比较。
4.根据权利要求2或3所述的一种应用软件安全漏洞检测方法,其特征在于,漏洞检测程序检测应用软件的安全漏洞时,漏洞检测程序还判断应用软件的方法或函数是否具有数据传播特性,若是,则认为其输出数据也为用户输入的数据;若否,则重新返回至将漏洞检测程序的入参值与下一个用户输入数据进行比较。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010295225.XA CN111552967A (zh) | 2020-04-15 | 2020-04-15 | 一种应用软件安全漏洞检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010295225.XA CN111552967A (zh) | 2020-04-15 | 2020-04-15 | 一种应用软件安全漏洞检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111552967A true CN111552967A (zh) | 2020-08-18 |
Family
ID=72005626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010295225.XA Pending CN111552967A (zh) | 2020-04-15 | 2020-04-15 | 一种应用软件安全漏洞检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111552967A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112632554A (zh) * | 2020-11-05 | 2021-04-09 | 杭州孝道科技有限公司 | 一种基于修改运行时payload技术的漏洞验证方法 |
CN113885958A (zh) * | 2021-09-30 | 2022-01-04 | 杭州默安科技有限公司 | 一种拦截脏数据的方法和*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170264631A1 (en) * | 2014-08-14 | 2017-09-14 | Deutsche Telekom Ag | Control device for a network and vulnerability scanner |
CN107657177A (zh) * | 2017-09-30 | 2018-02-02 | 北京奇虎科技有限公司 | 一种漏洞检测方法及装置 |
CN107766733A (zh) * | 2017-10-10 | 2018-03-06 | 北京奇虎科技有限公司 | 一种安全漏洞的屏蔽方法、装置及终端 |
-
2020
- 2020-04-15 CN CN202010295225.XA patent/CN111552967A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170264631A1 (en) * | 2014-08-14 | 2017-09-14 | Deutsche Telekom Ag | Control device for a network and vulnerability scanner |
CN107657177A (zh) * | 2017-09-30 | 2018-02-02 | 北京奇虎科技有限公司 | 一种漏洞检测方法及装置 |
CN107766733A (zh) * | 2017-10-10 | 2018-03-06 | 北京奇虎科技有限公司 | 一种安全漏洞的屏蔽方法、装置及终端 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112632554A (zh) * | 2020-11-05 | 2021-04-09 | 杭州孝道科技有限公司 | 一种基于修改运行时payload技术的漏洞验证方法 |
CN113885958A (zh) * | 2021-09-30 | 2022-01-04 | 杭州默安科技有限公司 | 一种拦截脏数据的方法和*** |
CN113885958B (zh) * | 2021-09-30 | 2023-10-31 | 杭州默安科技有限公司 | 一种拦截脏数据的方法和*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109660502A (zh) | 异常行为的检测方法、装置、设备及存储介质 | |
CN110445688B (zh) | 基于数据收集的接口服务功能监测方法及*** | |
CN106828362B (zh) | 汽车信息的安全测试方法及装置 | |
CN112906010B (zh) | 一种自动化攻击测试方法及基于此的自动化安全测试方法 | |
CN107294953B (zh) | 攻击操作检测方法及装置 | |
CN107172122A (zh) | 一种异常处理方法及装置 | |
KR101132197B1 (ko) | 악성 코드 자동 판별 장치 및 방법 | |
CN103051627A (zh) | 一种反弹式木马的检测方法 | |
CN111552967A (zh) | 一种应用软件安全漏洞检测方法 | |
CN113438225B (zh) | 一种车载终端漏洞检测方法、***、设备及存储介质 | |
CN112163198B (zh) | 一种主机登录安全检测方法、***、装置及存储介质 | |
CN117336055B (zh) | 一种网络异常行为检测方法、装置、电子设备及存储介质 | |
CN113158197A (zh) | 一种基于主动iast的sql注入漏洞检测方法、*** | |
CN111343184B (zh) | 一种通信协议的验证方法和装置 | |
CN111881460A (zh) | 一种漏洞利用检测方法、***、设备及计算机存储介质 | |
CN111198797A (zh) | 操作监控方法及装置、操作分析方法及装置 | |
CN111327588A (zh) | 一种网络访问安全检测方法、***、终端和可读存储介质 | |
CN112699369A (zh) | 一种通过栈回溯检测异常登录的方法及装置 | |
CN114629711B (zh) | 一种针对Windows平台特种木马检测的方法及*** | |
CN108427882B (zh) | 基于行为特征抽取的安卓软件动态分析检测法 | |
WO2020113401A1 (zh) | 数据检测方法、装置及设备 | |
CN104252598B (zh) | 一种检测应用漏洞的方法及装置 | |
CN106940647B (zh) | 代码管理方法和装置 | |
CN115828256A (zh) | 一种越权与未授权逻辑漏洞检测方法 | |
CN112054927B (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 |