CN117874772B - 应用软件漏洞扫描方法及系统 - Google Patents
应用软件漏洞扫描方法及系统 Download PDFInfo
- Publication number
- CN117874772B CN117874772B CN202410268659.9A CN202410268659A CN117874772B CN 117874772 B CN117874772 B CN 117874772B CN 202410268659 A CN202410268659 A CN 202410268659A CN 117874772 B CN117874772 B CN 117874772B
- Authority
- CN
- China
- Prior art keywords
- source code
- detection
- application
- operating system
- log
- 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
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000001514 detection method Methods 0.000 claims abstract description 71
- 230000006870 function Effects 0.000 claims description 60
- 238000012360 testing method Methods 0.000 claims description 41
- 230000007547 defect Effects 0.000 claims description 15
- 230000008439 repair process Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 5
- 239000000523 sample Substances 0.000 claims description 5
- 230000001960 triggered effect Effects 0.000 claims description 5
- 230000002159 abnormal effect Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 4
- 238000013522 software testing Methods 0.000 claims description 3
- 230000000875 corresponding effect Effects 0.000 description 13
- 230000015556 catabolic process Effects 0.000 description 8
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000035772 mutation Effects 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种应用软件漏洞扫描方法及系统,其本申请先初步判断应用程序崩溃时操作系统内核函数崩溃信号与源代码的溃信号:如果两者信号不一致,则初步判断不存在源代码漏洞;若一致,则根据问题发生概率排序,依次深入检测特殊问题,对发现的特殊问题进行记录,并在所有特殊问题检测结束后通知用户或系统进行修复,若无法修复,系统会提示检测无效并重新执行检测流程;如能成功修复,再次比较操作系统内核函数崩溃信号与源代码溃信号,若修复后两种信号不再一致,则确认不存在源代码漏洞;反之,若依然相同,则确定存在源代码漏洞,可以排除特殊问题不会误判。
Description
技术领域
本发明属于数据安全检测领域,具体涉及一种应用软件漏洞扫描方法及系统。
背景技术
现有技术之中有应用软件漏洞扫描技术,一般的过程如下:1.获取待检测的应用软件的程序源代码和程序基本信息(如编程语言类型、编程框架、面向工作类型等)。2.对源代码进行插桩处理,在关键代码位置插入探针以监控程序执行状态。3.利用程序基本信息在程序信息数据库中匹配测试种子,提高测试的针对性。4.根据预设的变异策略(如加、乘、字节翻转、位翻转、字节设置等)对测试种子进行变异生成测试用例。5.通过循环测试机制,利用测试用例对源代码进行多轮测试,并获取基于边和块的代码覆盖率,根据覆盖率生成新的变异策略,动态调整测试路径以增加覆盖率。6.根据崩溃结果确定是否存在漏洞。具体为:比较应用程序崩溃时操作系统内核函数产生的第一崩溃信号与源代码相应产生的第二崩溃信号,若二者相同,则认定存在程序源代码漏洞。
这种技术确定是否有漏洞的原理为:
因为在进行漏洞扫描测试时,通常会构造特定的测试用例以探索软件潜在的安全问题。当一个精心设计的测试用例触发了程序异常行为,导致应用软件崩溃时:
第一崩溃信号是由操作系统内核在检测到严重错误(如非法内存访问、除数为零等)或系统调用失败时产生的,它反映了底层硬件或系统层面对异常情况的响应。
第二崩溃信号则是根据程序基本信息及崩溃时的状态分析得到的,可能通过调试信息、堆栈回溯或其他日志记录方式反映出源代码中的崩溃位置和原因。
如果这两个崩溃信号相同或者可以关联起来,并且该崩溃是由测试用例有意触发的、非正常预期的行为,则很可能表明源代码中存在安全漏洞。因为正常的程序运行不应该由于合法输入而触发此类系统级的崩溃。这种机制能够帮助识别那些可能导致恶意攻击者利用的异常处理漏洞。
不过实际上即使应用程序崩溃时操作系统内核函数产生的第一崩溃信号与源代码相应产生的第二崩溃信号相同,也不能一概而论地认定程序源代码一定存在漏洞。以下是一些可能的情形:
比如存在硬件故障、资源耗尽、操作系统内核错误或驱动程序问题,或者应用程序调用的标准库函数或第三方框架内部的原本就有缺陷,这些问题中也可能出现“应用程序崩溃时操作系统内核函数产生的第一崩溃信号与源代码相应产生的第二崩溃信号相同”,不过程序源代码并不存在漏洞,所以现有的这种应用软件漏洞扫描技术因为判别标准就存在问题即“比较应用程序崩溃时操作系统内核函数产生的第一崩溃信号与源代码相应产生的第二崩溃信号,若二者相同,则认定存在程序源代码漏洞”存在问题,所以误判概率非常大,所以现有技术中常见的扫描软件经常出现误判。
发明内容
本发明的目的在于提供一种应用软件漏洞扫描方法及系统,以解决上述背景技术中提出的问题。
为了解决上述技术问题,本发明提供如下技术方案:
本申请公开了应用软件漏洞扫描方法,包括步骤有,首先统计应用软件测试中特殊问题的发生概率,获取待检测的应用软件的程序源代码,插入探针以监控程序执行状态;然后匹配测试种子,对测试种子进行变异生成测试用例,利用测试用例对源代码进行多轮测试,根据应用程序崩溃时操作系统内核函数崩溃信号与源代码的溃信号比较进行初步判断,若应用程序崩溃时操作系统内核函数崩溃信号与源代码的溃信号不相同,则认定不存在程序源代码漏洞;
若应用程序崩溃时操作系统内核函数崩溃信号与源代码的溃信号相同则按照应用软件测试中特殊问题的发生概率的大小排序依次对应用软件测试中特殊问题进行检测;
如果检测存在特殊问题则记录对应特殊问题;
当所有特殊问题检测结束则提醒用户或系统自行修复出现的对应特殊问题;
如果用户或系统不能修复出现的对应特殊问题则输出检测无效并重新检测;
如果用户或系统修复出现的对应特殊问题则继续根据应用程序崩溃时操作系统内核函数崩溃信号与源代码的溃信号比较,若应用程序崩溃时操作系统内核函数崩溃信号与源代码的溃信号不相同,则认定不存在程序源代码漏洞;
如果应用程序崩溃时操作系统内核函数崩溃信号与源代码的溃信号仍然相同,则认定存在程序源代码漏洞。
优选地,应用软件测试中特殊问题包括硬件故障、资源耗尽、操作系统内核错误、驱动程序问题、应用程序调用的标准库函数或第三方框架内部缺陷,应用软件测试中特殊问题的发生概率包括每一种特殊问题的发生概率。
优选地,特殊问题进行检测包括硬件故障检测、资源耗尽检测、操作系统内核错误检测、驱动程序问题检测、应用程序调用的标准库函数或第三方框架内部缺陷检测。
优选地,硬件故障检测具体为调用BIOS内置的POST自检功能进行测试,判断是否存在硬件故障。
优选地,资源耗尽检测具体为调用任务管理器可查看系统的CPU、内存、硬盘及网络使用情况,如果发现内存占用率持续高于阈值且持续时间达到阈值或有异常进程,则判断内存不足;以及调用日志分析,检查系统事件查看器中的错误报告,查找是否有内存错误信息文件;
操作系统内核错误检测具体为调用操作系统的系统日志文件,包括Kernel ErrorLog、System Event Log,从中找寻是否有操作系统内核错误文件。
优选地,驱动程序问题检测具体为调用设备管理器,查看是否存在带感叹号或问号的设备;以及调用事件查看器中的应用程序和系统日志,从中找寻是否有驱动错误文件。
优选地,应用程序调用的标准库函数或第三方框架内部缺陷检测具体:调用应用程序运行时生成的日志,包括错误信息、堆栈跟踪和调试输出,检索日志中是否包含有关标准库函数或第三方框架内部问题的文件;以及单独为调用库函数或框架接口的部分运行测试例,以检查是否触发问题文件。
本申请实施例还提供了一种包括计算机设备的系统,可以包括终端设备或服务器,前述的应用软件漏洞扫描方法的数据计算程序可以配置在该计算机设备中。
有益效果
本申请先初步判断应用程序崩溃时操作系统内核函数崩溃信号与源代码的溃信号:如果两者信号不一致,则初步判断不存在源代码漏洞;若一致,则根据问题发生概率排序,依次深入检测特殊问题,对发现的特殊问题进行记录,并在所有特殊问题检测结束后通知用户或系统进行修复,若无法修复,系统会提示检测无效并重新执行检测流程;如能成功修复,再次比较操作系统内核函数崩溃信号与源代码溃信号,若修复后两种信号不再一致,则确认不存在源代码漏洞;反之,若依然相同,则确定存在源代码漏洞,可以排除特殊问题不会误判。
附图说明
图1为应用软件漏洞扫描方法流程图。
具体实施方式
下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请公开了一种应用软件漏洞扫描方法,如图1,包括步骤有首先统计应用软件测试中特殊问题的发生概率,应用软件测试中特殊问题包括硬件故障、资源耗尽、操作系统内核错误、驱动程序问题、应用程序调用的标准库函数或第三方框架内部缺陷,应用软件测试中特殊问题的发生概率包括每一种特殊问题的发生概率;
然后获取待检测的应用软件的程序源代码,插入探针以监控程序执行状态;然后匹配测试种子,对测试种子进行变异生成测试用例,利用测试用例对源代码进行多轮测试,根据应用程序崩溃时操作系统内核函数崩溃信号与源代码的溃信号比较进行初步判断,若应用程序崩溃时操作系统内核函数崩溃信号与源代码的溃信号不相同,则认定不存在程序源代码漏洞;
若应用程序崩溃时操作系统内核函数崩溃信号与源代码的溃信号相同则按照应用软件测试中特殊问题的发生概率的大小排序依次对应用软件测试中特殊问题进行检测;按照应用软件测试中特殊问题的发生概率的大小排序依次对应用软件测试中特殊问题进行检测具体为,获取硬件故障、资源耗尽、操作系统内核错误、驱动程序问题、应用程序调用的标准库函数或第三方框架内部缺陷分别的发生概率的大小,首先对发生概率最大的特殊问题检测,然后对发生概率排序次大的特殊问题检测,最后对对发生概率最小的特殊问题检测,特殊问题进行检测包括硬件故障检测、资源耗尽检测、操作系统内核错误检测、驱动程序问题检测、应用程序调用的标准库函数或第三方框架内部缺陷检测;
硬件故障检测具体为调用BIOS内置的POST自检功能进行测试,判断是否存在硬件故障;虽然一般情况下我们不能直接调用POST,但可以通过记录了启动时的硬件自检信息系统事件日志;或者使用硬件检测工具,读取BIOS提供的信息,从而帮助判断是否存在硬件故障;
资源耗尽检测具体为调用任务管理器可查看系统的CPU、内存、硬盘及网络使用情况,如果发现内存占用率持续高于阈值且持续时间达到阈值或有异常进程,则判断内存不足;以及调用日志分析,检查系统事件查看器中的错误报告,查找是否有内存错误信息文件;
操作系统内核错误检测具体为调用操作系统的系统日志文件,包括Kernel ErrorLog、System Event Log,从中找寻是否有操作系统内核错误文件。
在不同的操作系统中,软件调用系统日志文件的过程会有所不同。以下分别说明Windows和Linux环境下软件如何调用操作系统的系统日志文件:Windows 环境,通过API或PowerShell命令;
在Windows操作系统中,可以通过编程方式调用Event Tracing for Windows(ETW) API或者使用Windows Management Instrumentation (WMI) 来读取系统事件日志,如System Event Log。使用.NET Framework中的System.Diagnostics.EventLog类可以编写代码来访问和读取系统事件日志。PowerShell中也可以使用`Get-WinEvent`命令来获取系统日志信息。
例如,查看System日志:
```powershell
Get-WinEvent -LogName 'System'
```
使用wevtutil工具:
- 命令行工具wevtutil可以用来查询、导出和管理事件日志。
- 查看System日志配置及内容的命令示例:
```shell
wevtutil gl System
wevtutil el System > system_events.txt # 将System日志内容导出到文本文件
```
Linux环境,通过编程接口,在Linux系统中,通常使用syslog协议,软件可以通过编程接口(如C库函数)直接写入内核日志(/var/log/kern.log)或其他由rsyslog、syslog-ng等日志服务管理的日志文件。Python等高级语言也有对应的库,如logging模块结合syslogHandler,可以将日志发送到系统日志。通过命令行工具使用`cat`, `more`, 或 `less` 命令可以直接查看日志文件内容,例如查看Kernel错误日志:
```shell
less /var/log/kern.log
```
使用`journalctl`命令(对于使用systemd的日志系统)可以查看内核消息以及其他系统日志:
```shell
journalctl -k # 查看内核日志
```
使用logrotate工具:
虽然不是直接读取日志文件,但软件也可以通过logrotate这类工具管理日志文件的生命周期,确保日志大小可控且定期归档。
驱动程序问题检测具体为调用设备管理器,查看是否存在带感叹号或问号的设备;以及调用事件查看器中的应用程序和系统日志,从中找寻是否有驱动错误文件。
应用程序调用的标准库函数或第三方框架内部缺陷检测具体:调用应用程序运行时生成的日志,包括错误信息、堆栈跟踪和调试输出,检索日志中是否包含有关标准库函数或第三方框架内部问题的文件;以及单独为调用库函数或框架接口的部分运行测试例,以检查是否触发问题文件。
如果检测存在特殊问题则记录对应特殊问题;
当所有特殊问题检测结束则提醒用户或系统自行修复出现的对应特殊问题;
如果用户或系统不能修复出现的对应特殊问题则输出检测无效并重新检测;
如果用户或系统修复出现的对应特殊问题则继续根据应用程序崩溃时操作系统内核函数崩溃信号与源代码的溃信号比较,若应用程序崩溃时操作系统内核函数崩溃信号与源代码的溃信号不相同,则认定不存在程序源代码漏洞;
如果应用程序崩溃时操作系统内核函数崩溃信号与源代码的溃信号仍然相同,则认定存在程序源代码漏洞。
可见,本申请先初步判断应用程序崩溃时操作系统内核函数崩溃信号与源代码的溃信号:如果两者信号不一致,则初步判断不存在源代码漏洞;若一致,则根据问题发生概率排序,依次深入检测特殊问题,对发现的特殊问题进行记录,并在所有特殊问题检测结束后通知用户或系统进行修复,若无法修复,系统会提示检测无效并重新执行检测流程;如能成功修复,再次比较操作系统内核函数崩溃信号与源代码溃信号,若修复后两种信号不再一致,则确认不存在源代码漏洞;反之,若依然相同,则确定存在源代码漏洞,可以排除特殊问题不会误判。
本申请要保护的实施例包括:
本申请公开了应用软件漏洞扫描方法,包括步骤有,首先统计应用软件测试中特殊问题的发生概率,获取待检测的应用软件的程序源代码,插入探针以监控程序执行状态;然后匹配测试种子,对测试种子进行变异生成测试用例,利用测试用例对源代码进行多轮测试,根据应用程序崩溃时操作系统内核函数崩溃信号与源代码的溃信号比较进行初步判断,若应用程序崩溃时操作系统内核函数崩溃信号与源代码的溃信号不相同,则认定不存在程序源代码漏洞;
若应用程序崩溃时操作系统内核函数崩溃信号与源代码的溃信号相同则按照应用软件测试中特殊问题的发生概率的大小排序依次对应用软件测试中特殊问题进行检测;
如果检测存在特殊问题则记录对应特殊问题;
当所有特殊问题检测结束则提醒用户或系统自行修复出现的对应特殊问题;
如果用户或系统不能修复出现的对应特殊问题则输出检测无效并重新检测;
如果用户或系统修复出现的对应特殊问题则继续根据应用程序崩溃时操作系统内核函数崩溃信号与源代码的溃信号比较,若应用程序崩溃时操作系统内核函数崩溃信号与源代码的溃信号不相同,则认定不存在程序源代码漏洞;
如果应用程序崩溃时操作系统内核函数崩溃信号与源代码的溃信号仍然相同,则认定存在程序源代码漏洞。
优选地,应用软件测试中特殊问题包括硬件故障、资源耗尽、操作系统内核错误、驱动程序问题、应用程序调用的标准库函数或第三方框架内部缺陷,应用软件测试中特殊问题的发生概率包括每一种特殊问题的发生概率。
优选地,特殊问题进行检测包括硬件故障检测、资源耗尽检测、操作系统内核错误检测、驱动程序问题检测、应用程序调用的标准库函数或第三方框架内部缺陷检测。
优选地,硬件故障检测具体为调用BIOS内置的POST自检功能进行测试,判断是否存在硬件故障。
优选地,资源耗尽检测具体为调用任务管理器可查看系统的CPU、内存、硬盘及网络使用情况,如果发现内存占用率持续高于阈值且持续时间达到阈值或有异常进程,则判断内存不足;以及调用日志分析,检查系统事件查看器中的错误报告,查找是否有内存错误信息文件;
操作系统内核错误检测具体为调用操作系统的系统日志文件,包括Kernel ErrorLog、System Event Log,从中找寻是否有操作系统内核错误文件。
优选地,驱动程序问题检测具体为调用设备管理器,查看是否存在带感叹号或问号的设备;以及调用事件查看器中的应用程序和系统日志,从中找寻是否有驱动错误文件。
优选地,应用程序调用的标准库函数或第三方框架内部缺陷检测具体:调用应用程序运行时生成的日志,包括错误信息、堆栈跟踪和调试输出,检索日志中是否包含有关标准库函数或第三方框架内部问题的文件;以及单独为调用库函数或框架接口的部分运行测试例,以检查是否触发问题文件。
本申请实施例还提供了一种包括计算机设备的系统,可以包括终端设备或服务器,前述的应用软件漏洞扫描方法的数据计算程序可以配置在该计算机设备中。下面对该计算机设备进行介绍。
若计算机设备为服务器,本申请实施例还提供一种服务器,服务器可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central ProcessingUnits,简称CPU)(例如,一个或一个以上处理器)和存储器,一个或一个以上存储应用程序或数据的存储介质(例如一个或一个以上海量存储设备)。其中,存储器和存储介质可以是短暂存储或持久存储。存储在存储介质的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器可以设置为与存储介质通信,在服务器上执行存储介质中的一系列指令操作。
服务器还可以包括一个或一个以上电源,一个或一个以上有线或无线网络接口,一个或一个以上输入输出接口,和/或,一个或一个以上操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
另外,本申请实施例还提供了一种存储介质,所述存储介质用于存储计算机程序,所述计算机程序用于执行上述实施例提供的方法。
本申请实施例还提供了一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例提供的方法。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(英文:Read-only Memory,缩写:ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
所以本申请还公开了应用软件漏洞扫描系统,包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述应用软件漏洞扫描方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以按照实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。以权利要求的保护范围为准。
Claims (9)
1.应用软件漏洞扫描方法,其特征在于,包括步骤,首先统计应用软件测试中特殊问题的发生概率,获取待检测的应用软件的程序源代码,插入探针以监控程序执行状态;然后匹配测试种子,对测试种子进行变异生成测试用例,利用测试用例对源代码进行多轮测试,根据应用程序崩溃时操作系统内核函数崩溃信号与源代码的溃信号比较进行初步判断,若应用程序崩溃时操作系统内核函数崩溃信号与源代码的溃信号不相同,则认定不存在程序源代码漏洞;
若应用程序崩溃时操作系统内核函数崩溃信号与源代码的溃信号相同则按照应用软件测试中特殊问题的发生概率的大小排序依次对应用软件测试中特殊问题进行检测;
如果检测存在特殊问题则记录对应特殊问题;
当所有特殊问题检测结束则提醒用户或系统自行修复出现的对应特殊问题;
如果用户或系统不能修复出现的对应特殊问题则输出检测无效并重新检测;
如果用户或系统修复出现的对应特殊问题则继续根据应用程序崩溃时操作系统内核函数崩溃信号与源代码的溃信号比较,若应用程序崩溃时操作系统内核函数崩溃信号与源代码的溃信号不相同,则认定不存在程序源代码漏洞;
如果应用程序崩溃时操作系统内核函数崩溃信号与源代码的溃信号仍然相同,则认定存在程序源代码漏洞;
应用软件测试中特殊问题包括硬件故障、资源耗尽、操作系统内核错误、驱动程序问题、应用程序调用的标准库函数或第三方框架内部缺陷,应用软件测试中特殊问题的发生概率包括每一种特殊问题的发生概率;特殊问题进行检测包括硬件故障检测、资源耗尽检测、操作系统内核错误检测、驱动程序问题检测、应用程序调用的标准库函数或第三方框架内部缺陷检测。
2.根据权利要求1所述的应用软件漏洞扫描方法,其特征在于,硬件故障检测具体为调用BIOS内置的POST自检功能进行测试,判断是否存在硬件故障。
3.根据权利要求1所述的应用软件漏洞扫描方法,其特征在于,资源耗尽检测包括调用任务管理器可查看系统的CPU、内存、硬盘及网络使用情况,如果发现内存占用率持续高于阈值且持续时间达到阈值或有异常进程,则判断内存不足。
4.根据权利要求1所述的应用软件漏洞扫描方法,其特征在于,资源耗尽检测包括调用日志分析,检查系统事件查看器中的错误报告,查找是否有内存错误信息文件。
5.根据权利要求1所述的应用软件漏洞扫描方法,其特征在于,操作系统内核错误检测具体为调用操作系统的系统日志文件,包括Kernel Error Log、System Event Log,从中找寻是否有操作系统内核错误文件。
6.根据权利要求1所述的应用软件漏洞扫描方法,其特征在于,驱动程序问题检测包括调用设备管理器,查看是否存在带感叹号或问号的设备。
7.根据权利要求1所述的应用软件漏洞扫描方法,其特征在于,驱动程序问题检测包括调用事件查看器中的应用程序和系统日志,从中找寻是否有驱动错误文件。
8.根据权利要求1所述的应用软件漏洞扫描方法,其特征在于,应用程序调用的标准库函数或第三方框架内部缺陷检测包括:调用应用程序运行时生成的日志,包括错误信息、堆栈跟踪和调试输出,检索日志中是否包含有关标准库函数或第三方框架内部问题的文件;
应用程序调用的标准库函数或第三方框架内部缺陷检测包括:单独为调用库函数或框架接口的部分运行测试例,以检查是否触发问题文件。
9.应用软件漏洞扫描系统,包括指令的计算机程序产品,其特征在于,当其在计算机上运行时,使得计算机执行权利要求1所述应用软件漏洞扫描方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410268659.9A CN117874772B (zh) | 2024-03-11 | 2024-03-11 | 应用软件漏洞扫描方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410268659.9A CN117874772B (zh) | 2024-03-11 | 2024-03-11 | 应用软件漏洞扫描方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117874772A CN117874772A (zh) | 2024-04-12 |
CN117874772B true CN117874772B (zh) | 2024-06-11 |
Family
ID=90595133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410268659.9A Active CN117874772B (zh) | 2024-03-11 | 2024-03-11 | 应用软件漏洞扫描方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117874772B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102968352A (zh) * | 2012-12-14 | 2013-03-13 | 杨晓松 | 进程监控及多级恢复系统和方法 |
CN108762837A (zh) * | 2018-05-21 | 2018-11-06 | Oppo广东移动通信有限公司 | 应用程序预加载方法、装置、存储介质及终端 |
CN113051153A (zh) * | 2021-02-23 | 2021-06-29 | 国家计算机网络与信息安全管理中心 | 一种应用软件漏洞扫描方法及相关设备 |
CN115510454A (zh) * | 2022-10-12 | 2022-12-23 | 网易(杭州)网络有限公司 | 游戏测试方法、装置、电子设备及存储介质 |
CN116909800A (zh) * | 2023-09-13 | 2023-10-20 | 深圳市智慧城市科技发展集团有限公司 | 崩溃信息的定位方法、崩溃信息的定位装置及存储介质 |
CN117290138A (zh) * | 2023-09-05 | 2023-12-26 | Oppo广东移动通信有限公司 | 故障处理方法、装置、系统、终端设备及存储介质 |
-
2024
- 2024-03-11 CN CN202410268659.9A patent/CN117874772B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102968352A (zh) * | 2012-12-14 | 2013-03-13 | 杨晓松 | 进程监控及多级恢复系统和方法 |
CN108762837A (zh) * | 2018-05-21 | 2018-11-06 | Oppo广东移动通信有限公司 | 应用程序预加载方法、装置、存储介质及终端 |
CN113051153A (zh) * | 2021-02-23 | 2021-06-29 | 国家计算机网络与信息安全管理中心 | 一种应用软件漏洞扫描方法及相关设备 |
CN115510454A (zh) * | 2022-10-12 | 2022-12-23 | 网易(杭州)网络有限公司 | 游戏测试方法、装置、电子设备及存储介质 |
CN117290138A (zh) * | 2023-09-05 | 2023-12-26 | Oppo广东移动通信有限公司 | 故障处理方法、装置、系统、终端设备及存储介质 |
CN116909800A (zh) * | 2023-09-13 | 2023-10-20 | 深圳市智慧城市科技发展集团有限公司 | 崩溃信息的定位方法、崩溃信息的定位装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117874772A (zh) | 2024-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109284269B (zh) | 异常日志分析方法、装置、存储介质及服务器 | |
Cotroneo et al. | Fault triggers in open-source software: An experience report | |
US6532552B1 (en) | Method and system for performing problem determination procedures in hierarchically organized computer systems | |
US7024592B1 (en) | Method for reducing catastrophic failures in continuously operating software systems | |
US9529694B2 (en) | Techniques for adaptive trace logging | |
US7519866B2 (en) | Computer boot operation utilizing targeted boot diagnostics | |
US7823134B2 (en) | Early warning mechanism for enhancing enterprise availability | |
KR101036702B1 (ko) | 프로그램 실행 불안정성의 상태들에 기초하여 소프트웨어프로그램에 대한 커스텀 제품 지원을 제공하기 위한 방법,시스템 및 장치 | |
US7617074B2 (en) | Suppressing repeated events and storing diagnostic information | |
US8381036B2 (en) | Systems and methods for restoring machine state history related to detected faults in package update process | |
US8291379B2 (en) | Runtime analysis of a computer program to identify improper memory accesses that cause further problems | |
US8108724B2 (en) | Field replaceable unit failure determination | |
US10733077B2 (en) | Techniques for monitoring errors and system performance using debug trace information | |
US7363546B2 (en) | Latent fault detector | |
Jiang et al. | Fuzzing Error Handling Code using {Context-Sensitive} Software Fault Injection | |
US7685469B2 (en) | Method and apparatus of analyzing computer system interruptions | |
US20030084376A1 (en) | Software crash event analysis method and system | |
US20070083792A1 (en) | System and method for error detection and reporting | |
US20090204946A1 (en) | Intelligent software code updater | |
US20080010536A1 (en) | Breakpoints with Separate Conditions | |
US8621276B2 (en) | File system resiliency management | |
Masri et al. | Generating profile-based signatures for online intrusion and failure detection | |
US9009671B2 (en) | Crash notification between debuggers | |
CN117874772B (zh) | 应用软件漏洞扫描方法及系统 | |
CN117076301A (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 |