CN105590063A - 一种挖掘漏洞的方法、装置及电子设备 - Google Patents

一种挖掘漏洞的方法、装置及电子设备 Download PDF

Info

Publication number
CN105590063A
CN105590063A CN201510996339.6A CN201510996339A CN105590063A CN 105590063 A CN105590063 A CN 105590063A CN 201510996339 A CN201510996339 A CN 201510996339A CN 105590063 A CN105590063 A CN 105590063A
Authority
CN
China
Prior art keywords
time
advance
running time
time cycle
running
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.)
Granted
Application number
CN201510996339.6A
Other languages
English (en)
Other versions
CN105590063B (zh
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.)
Zhuhai Baoqu Technology Co Ltd
Original Assignee
Beijing Kingsoft Internet Security Software 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 Beijing Kingsoft Internet Security Software Co Ltd filed Critical Beijing Kingsoft Internet Security Software Co Ltd
Priority to CN201510996339.6A priority Critical patent/CN105590063B/zh
Publication of CN105590063A publication Critical patent/CN105590063A/zh
Application granted granted Critical
Publication of CN105590063B publication Critical patent/CN105590063B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test 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

一种挖掘漏洞的方法、装置及电子设备
技术领域
本发明涉及计算机漏洞挖掘技术,尤其涉及一种挖掘漏洞的方法、装置及电子设备。
背景技术
随着计算机网络技术的高速发展,互联网络已逐渐成为人们工作生活中不可或缺的一部分。但由于互联网络应用环境的复杂性以及互联网络应用程序的多样性,电子设备中的应用程序容易受到电脑病毒、木马等网络漏洞攻击和威胁。其中,漏洞是指应用程序中存在的功能性或安全性逻辑缺陷,而利用漏洞挖掘技术,可以及时挖掘并修补应用程序中存在的漏洞,对保护互联网络用户的个人信息安全、财产安全有着积极的促进作用。
目前,在进行漏洞挖掘时,一般通过将经过模糊处理(Fuzz)的数据输入目标应用程序,再利用目标应用程序对应的进程监控目标应用程序运行输入的数据,如果目标应用程序在运行输入数据的过程中出现崩溃、死锁等导致应用程序终止的异常,则目标应用程序对应的进程记录该异常。
现有技术中,进程对崩溃、死锁等导致电子设备无法运行的异常监控是通过设置顶层异常处理方式来实现。具体来说,通过在操作系统默认的异常处理代码(UnhandledExceptionHandler)中设置并注入自定义的异常处理函数(SetUnhandledExceptionFilter),以进行异常处理回调,即利用自定义的异常处理函数钩住(Hook)默认的异常处理代码,当进程遇到无法由操作系统处理的异常后,由操作系统调用默认的异常处理代码,由于该代码Hook了异常处理函数,即SetUnhandledExceptionFilter,因而,异常处理函数进行异常处理回调,并在回调中通过转出导出函数(MiniDumpWriteDump)导出当前运行的目标应用程序的异常信息,从而实现对目标应用程序的漏洞挖掘。
但该漏洞挖掘方法,由于采用顶层异常处理方式进行漏洞挖掘,使得应用程序运行输入数据中出现的一些底层异常无法被捕获,例如,内存访问违例、CPU占用异常以及应用程序运行进入死循环等底层异常,由于这类异常并不会导致应用程序的终止,因而,该系统可由操作系统处理,不会被异常处理函数通过异常处理回调获取,使得该部分异常并不能被有效挖掘,从而不会反馈至应用程序开发者进行改善或改进,导致应用程序中存在的漏洞被忽略,漏洞挖掘效率较低。
发明内容
有鉴于此,本发明实施例提供一种挖掘漏洞的方法、装置及电子设备,提升漏洞挖掘效率。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明实施例提供一种挖掘漏洞的方法,包括:
在目标应用程序运行预先设置的输入数据的过程中,利用预先注入至操作系统中的脚本,以预先设置的时间周期数为单位,获取各应用程序对应的进程分别在所述时间周期数的各时间周期内的进程运行时间;
统计各进程在每一时间周期内的进程运行时间的总和,得到每一时间周期内的总进程运行时间;
提取目标应用程序对应的进程在每一时间周期内的目标进程运行时间,对应计算所述目标进程运行时间在所述总进程运行时间的占比;
统计占比超过预先设置的占比阈值的次数,如果统计的次数超过预先设置的次数阈值,导出所述目标应用程序在所述时间周期数内的运行信息。
可选的,所述以预先设置的时间周期数为单位,获取各应用程序对应的进程分别在所述时间周期数的各时间周期内的进程运行时间包括:
设置计数器以及按照预先设置的时间周期触发的定时器,在所述预先设置的时间周期到后,触发调用预先设置的进程运行时间获取函数;
遍历操作系统记录的进程列表,获取各进程分别在所述时间周期内的进程运行时间;
所述计数器对所述定时器的触发次数进行计数,在计数达到预先设置的时间周期数后,通知所述进程运行时间获取函数将获取的所述进程运行时间打包输出,并对计数值进行清零处理。
可选的,所述输入数据利用预先设置的模糊配置数据生成器生成。
可选的,所述运行信息包括:触发异常的地址、异常种类以及异常产生时的各寄存器值。
可选的,所述方法还包括:
过滤运行信息中预先设置的非数据运行产生的异常信息,基于过滤的结果信息进行漏洞检测。
可选的,所述方法还包括:
将所述输入数据标记为对应所述目标应用程序的漏洞检测数据并存储。
可选的,所述方法还包括:
终止所述目标应用程序或结束所述目标进程。
第二方面,本发明实施例提供一种挖掘漏洞的装置,包括:进程运行时间获取模块、总进程运行时间计算模块、占比计算模块以及运行信息导出模块,其中,
进程运行时间获取模块,用于在目标应用程序运行预先设置的输入数据的过程中,利用预先注入至操作系统中的脚本,以预先设置的时间周期数为单位,获取各应用程序对应的进程分别在所述时间周期数的各时间周期内的进程运行时间;
总进程运行时间计算模块,用于统计各进程在每一时间周期内的进程运行时间的总和,得到每一时间周期内的总进程运行时间;
占比计算模块,用于提取目标应用程序对应的进程在每一时间周期内的目标进程运行时间,对应计算所述目标进程运行时间在所述总进程运行时间的占比;
运行信息导出模块,用于统计占比超过预先设置的占比阈值的次数,如果统计的次数超过预先设置的次数阈值,导出所述目标应用程序在所述时间周期数内的运行信息。
可选的,所述进程运行时间获取模块包括:注入单元、触发单元、进程运行时间获取单元以及计数处理单元,其中,
注入单元,用于将预先设置的脚本注入至操作系统中;
触发单元,用于在目标应用程序运行预先设置的输入数据的过程中,设置计数器以及按照预先设置的时间周期触发的定时器,在所述预先设置的时间周期到后,触发调用预先设置的进程运行时间获取函数;
进程运行时间获取单元,用于遍历操作系统记录的进程列表,获取各进程分别在所述时间周期内的进程运行时间;
计数处理单元,触发所述计数器对所述定时器的触发次数进行计数,在计数达到预先设置的时间周期数后,通知所述进程运行时间获取函数将获取的所述进程运行时间打包输出,并对计数值进行清零处理。
可选的,所述输入数据利用预先设置的模糊配置数据生成器生成。
可选的,所述运行信息包括:触发异常的地址、异常种类以及异常产生时的各寄存器值。
可选的,所述装置还包括:
过滤模块,用于过滤运行信息中预先设置的非数据运行产生的异常信息,基于过滤的结果信息进行漏洞检测。
可选的,所述装置还包括:
输入数据存储模块,用于将所述输入数据标记为对应所述目标应用程序的漏洞检测数据并存储。
可选的,所述装置还包括:
异常处理模块,用于终止所述目标应用程序或结束所述目标进程。
第三方面,本发明实施例提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一所述的挖掘漏洞的方法。
本发明实施例提供的挖掘漏洞的方法、装置及电子设备,通过检测目标进程的运行时间占比,从而在目标进程的运行时间占比较大时,及时对目标进程进行处理,并获取导致该目标进程占比较大的目标应用程序运行信息,以对目标应用程序进行代码分析,从而避免由于内存访问违例、CPU占用异常以及应用程序运行进入死循环等底层异常导致的目标进程运行时间占比超限的情形,挖掘出目标应用程序中潜在的漏洞,有效提升漏洞挖掘效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例挖掘漏洞的方法流程示意图;
图2为本发明实施例以预先设置的时间周期数为单位,获取各应用程序对应的进程分别在所述时间周期数的各时间周期内的进程运行时间的流程示意图;
图3为本发明实施例挖掘漏洞的装置结构示意图;
图4为本发明电子设备一个实施例的结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1为本发明实施例挖掘漏洞的方法流程示意图。参见图1,该方法包括:
步骤11,在目标应用程序运行预先设置的输入数据的过程中,利用预先注入至操作系统中的脚本,以预先设置的时间周期数为单位,获取各应用程序对应的进程分别在所述时间周期数的各时间周期内的进程运行时间;
本步骤中,注入至操作系统中的脚本是用以执行本发明实施例的漏洞挖掘方法,关于编辑脚本以及注入脚本为公知技术,在此略去详述。
本发明实施例中,脚本可以采用能够实现其相应功能的任意语言,例如,可以采用超级文本预处理语言(PHP,HypertextPreprocessor)、C、C++、Linux等语言进行编程。
本发明实施例中,作为一可选实施例,在所述目标应用程序运行预先设置的输入数据之前,该方法还可以包括:
调用Windows操作系统的SetWindowsHookEx接口,设置用于监测和处理进程异常回调的API函数,并获取操作系统的根权限以注入脚本。
本步骤中,API函数为异常处理函数(SetUnhandledExceptionFilter)。
作为一可选实施例,在目标应用程序运行预先设置的输入数据的过程中,可以是目标应用程序加载输入数据时,也可以是目标应用程序加载输入数据完成时,还可以是目标应用程序加载输入数据完成之后,本发明实施例对此不作限定。
作为一可选实施例,图2为本发明实施例以预先设置的时间周期数为单位,获取各应用程序对应的进程分别在所述时间周期数的各时间周期内的进程运行时间的流程示意图。参见图2,该流程包括:
步骤21,设置计数器以及按照预先设置的时间周期触发的定时器,在所述预先设置的时间周期到后,触发调用预先设置的进程运行时间获取函数;
本步骤中,作为一可选实施例,时间周期可以设置为毫秒级,时间周期数可以实际需要进行设置,例如,设置为10次、50次或80次等,本发明实施例对此不作限定。
步骤22,遍历操作系统记录的进程列表,获取各进程分别在所述时间周期内的进程运行时间;
本步骤中,操作系统在为一应用程序分配并启动相应的进程后,在进程列表中记录该进程启动的时间,并在该进程运行中,记录该进程的相关信息,进程运行时间获取函数通过遍历操作系统记录的进程列表,可以获取该进程的相关信息。
本发明实施例中,关于进程运行时间获取函数遍历进程列表获取进程运行时间信息的流程为公知技术,在此略去详述。
步骤23,所述计数器对所述定时器的触发次数进行计数,在计数达到预先设置的时间周期数后,通知所述进程运行时间获取函数将获取的所述进程运行时间打包输出,并对计数值进行清零处理。
本步骤中,作为一可选实施例,进程运行时间包括:进程内核时间以及进程用户时间。
本发明实施例中,作为一可选实施例,输入数据为利用模糊配置数据(Fuzzing-Data)生成器生成的模糊配置数据。其中,模糊配置数据生成器利用模糊(Fuzzing)技术生成数据,可以向目标应用程序提供预先构造的无效的、非预期或者是随机的模糊配置数据,用于对目标内容进行模糊处理,得到用于进行漏洞测试的模糊数据,从而可以得到批量的包含各测试目标的输入数据(模糊数据),从而可以更快地定位目标应用程序中漏洞的位置。
作为一可选实施例,为了有效地避免目标应用程序对后续模糊数据中固定字段、校验和以及长度的检查,从而检测出目标应用程更多潜在的漏洞,提升输入数据的有效性,模糊配置数据生成器可以基于格式分析和目标应用程序解析相结合的方法生成输入数据,输入数据的格式采用偏移-长度-数据类型(pos-len-data)格式。
步骤12,统计各进程在每一时间周期内的进程运行时间的总和,得到每一时间周期内的总进程运行时间;
本步骤中,利用下式计算总进程运行时间:
式中,
Tj为第j个时间周期内的总进程运行时间;
tji为第j个时间周期内的第i个进程的进程运行时间;
n为进程数。
步骤13,提取目标应用程序对应的进程在每一时间周期内的目标进程运行时间,对应计算所述目标进程运行时间在所述总进程运行时间的占比;
本步骤中,作为一可选实施例,利用下式计算目标进程运行时间在所述总进程运行时间的占比:
式中,
ξj为第j个时间周期内的目标进程运行时间在总进程运行时间的占比;
tjm为第j个时间周期内的目标进程运行时间。
本发明实施例中,作为另一可选实施例,也可以利用目标进程中的内核时间进行占比计算,即计算目标进程对应的内核时间在所述总进程运行时间的占比。
步骤14,统计占比超过预先设置的占比阈值的次数,如果统计的次数超过预先设置的次数阈值,导出所述目标应用程序在所述时间周期数内的运行信息。
本步骤中,如果目标进程运行时间在总进程运行时间的占比较大(超过预先设置的占比阈值)且占比次数较多,表明该目标进程耗用电子设备的较大的CPU,可能使得CPU长时间处于满载状态,意味着虽然目标进程没有死锁或崩溃,但该目标进程处于底层的异常,可能已经卡死或进入死循环,例如,对于目标应用程序中存在的分布式拒绝服务(DDOS,DistributedDenialofService)漏洞,当大量DOS攻击源一起攻击该目标应用程序时,使得该目标应用程序占用大量CPU并处于卡死状态中,从而导致该目标进程(目标应用程序)一直占用CPU但无法运行,使得目标进程无法运行后续的输入数据,导致漏洞挖掘所需的时间长,漏洞挖掘效率低。
本发明实施例中,如果在预先设置的时间周期数内,统计的次数没有超过预先设置的次数阈值,则进入下一时间周期数。
本发明实施例中,在目标应用程序运行预先设置的输入数据的过程中,利用预先注入至操作系统中的脚本,以预先设置的时间周期数为单位,获取各应用程序对应的进程分别在所述时间周期数的各时间周期内的进程运行时间;统计各进程在每一时间周期内的进程运行时间的总和,得到每一时间周期内的总进程运行时间;提取目标应用程序对应的进程在每一时间周期内的目标进程运行时间,对应计算所述目标进程运行时间在所述总进程运行时间的占比;统计占比超过预先设置的占比阈值的次数,如果统计的次数超过预先设置的次数阈值,导出所述目标应用程序在所述时间周期数内的运行信息,从而挖掘出该目标应用程序中潜在的漏洞。这样,通过检测目标进程的运行时间占比,从而在目标进程的运行时间占比较大时,及时对目标进程进行处理,并获取导致该目标进程占比较大的目标应用程序运行信息,以对目标应用程序进行代码分析,从而避免由于内存访问违例、CPU占用异常以及应用程序运行进入死循环等底层异常导致的目标进程运行时间占比超限的情形,挖掘出目标应用程序中潜在的漏洞,有效提升漏洞挖掘效率。
作为一可选实施例,运行信息包括触发漏洞的异常信息,例如,触发异常的地址、异常种类、异常产生时的各寄存器值等,相关技术人员可以根据记录的运行信息,对该目标应用程序的漏洞进行修复。
作为再一可选实施例,该方法还可以包括:
过滤运行信息中预先设置的非数据运行产生的异常信息,基于过滤的结果信息进行漏洞检测。
本步骤中,非数据运行产生的异常信息主要是指与输入的模糊数据无关的异常信息,例如,进程或线程创建时的异常。
本发明实施例中,作为一可选实施例,该方法还可以包括:
将所述输入数据标记为对应所述目标应用程序的漏洞检测数据并存储。
本步骤中,通过将检测出的目标应用程序具有异常的输入数据进行标记和存储,可以积累后续对其它应用程序进行漏洞检测的样本。
本发明实施例中,作为另一可选实施例,该方法还可以包括:
终止所述目标应用程序或结束所述目标进程。
本步骤中,为了避免目标进程卡死或进入死循环导致占用过多CPU使得其他应用程序无法运行,可以设置在统计的次数超过预先设置的次数阈值的情况下,终止所述目标应用程序。
作为一可选实施例,该方法还可以包括:
按照预先设置的镜像周期,对目标应用程序运行的输入数据进行虚拟机镜像;
在终止所述目标应用程序或结束所述目标进程后,重加载所述虚拟机镜像。
本步骤中,作为一可选实施例,可以通过快照(snapshot)方式进行虚拟机镜像。即对当前时刻的进程状态,包括内存状态、文件操作、内核对象等进行镜像,在重加载所述虚拟机镜像时,则将所述目标应用程序的执行操作重定向到所述指定文件。
本发明实施例中,在进行虚拟机镜像时,暂停所述目标应用程序的执行,对目标应用程序进程当前时刻的进程状态进行虚拟机镜像,在虚拟机镜像创建完成后,恢复所述目标应用程序的执行。
图3为本发明实施例挖掘漏洞的装置结构示意图。参见图3,该装置包括:进程运行时间获取模块31、总进程运行时间计算模块32、占比计算模块33以及运行信息导出模块34,其中,
进程运行时间获取模块31,用于在目标应用程序运行预先设置的输入数据的过程中,利用预先注入至操作系统中的脚本,以预先设置的时间周期数为单位,获取各应用程序对应的进程分别在所述时间周期数的各时间周期内的进程运行时间;
本发明实施例中,作为一可选实施例,输入数据利用预先设置的模糊配置数据生成器生成,模糊配置数据生成器基于格式分析和目标应用程序解析相结合的方法生成输入数据,输入数据的格式采用偏移-长度-数据类型格式。脚本可以采用能够实现其相应功能的任意语言,例如,可以采用超级文本预处理语言、C、C++、Linux等语言进行编程。
本发明实施例中,作为一可选实施例,进程运行时间获取模块31包括:注入单元、触发单元、进程运行时间获取单元以及计数处理单元(图中未示出),其中,
注入单元,用于将预先设置的脚本注入至操作系统中;
触发单元,用于在目标应用程序运行预先设置的输入数据的过程中,设置计数器以及按照预先设置的时间周期触发的定时器,在所述预先设置的时间周期到后,触发调用预先设置的进程运行时间获取函数;
进程运行时间获取单元,用于遍历操作系统记录的进程列表,获取各进程分别在所述时间周期内的进程运行时间;
计数处理单元,触发所述计数器对所述定时器的触发次数进行计数,在计数达到预先设置的时间周期数后,通知所述进程运行时间获取函数将获取的所述进程运行时间打包输出,并对计数值进行清零处理。
总进程运行时间计算模块32,用于统计各进程在每一时间周期内的进程运行时间的总和,得到每一时间周期内的总进程运行时间;
本发明实施例中,利用下式计算总进程运行时间:
式中,
Tj为第j个时间周期内的总进程运行时间;
tji为第j个时间周期内的第i个进程的进程运行时间;
n为进程数。
占比计算模块33,用于提取目标应用程序对应的进程在每一时间周期内的目标进程运行时间,对应计算所述目标进程运行时间在所述总进程运行时间的占比;
本发明实施例中,利用下式计算目标进程运行时间在所述总进程运行时间的占比:
式中,
ξj为第j个时间周期内的目标进程运行时间在总进程运行时间的占比;
tjm为第j个时间周期内的目标进程运行时间。
本发明实施例中,作为另一可选实施例,进程运行时间包括:进程内核时间以及进程用户时间。也可以利用目标进程中的内核时间进行占比计算,即计算目标进程对应的内核时间在所述总进程运行时间的占比。
运行信息导出模块34,用于统计占比超过预先设置的占比阈值的次数,如果统计的次数超过预先设置的次数阈值,导出所述目标应用程序在所述时间周期数内的运行信息。
本发明实施例中,作为一可选实施例,运行信息包括:触发异常的地址、异常种类以及异常产生时的各寄存器值。
本发明实施例中,如果在预先设置的时间周期数内,统计的次数没有超过预先设置的次数阈值,则进入下一时间周期数。
作为一可选实施例,该装置还可以包括:
过滤模块35,用于过滤运行信息中预先设置的非数据运行产生的异常信息,基于过滤的结果信息进行漏洞检测。
本发明实施例中,非数据运行产生的异常信息主要是指与输入的模糊数据无关的异常信息,例如,进程或线程创建时的异常。
作为另一可选实施例,该装置还可以包括:
输入数据存储模块36,用于将所述输入数据标记为对应所述目标应用程序的漏洞检测数据并存储。
作为再一可选实施例,该装置还可以包括:
异常处理模块37,用于终止所述目标应用程序或结束所述目标进程。
本发明实施例中,为了避免目标进程卡死或进入死循环导致占用过多CPU使得其他应用程序无法运行,可以设置在统计的次数超过预先设置的次数阈值的情况下,终止所述目标应用程序。
本发明实施例还提供一种电子设备,所述电子设备包含前述任一实施例所述的装置。
图4为本发明电子设备一个实施例的结构示意图,可以实现本发明图1-3所示实施例的流程,如图4所示,上述电子设备可以包括:壳体41、处理器42、存储器43、电路板44和电源电路45,其中,电路板44安置在壳体41围成的空间内部,处理器42和存储器43设置在电路板44上;电源电路45,用于为上述电子设备的各个电路或器件供电;存储器43用于存储可执行程序代码;处理器42通过读取存储器43中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例所述的挖掘漏洞的方法。
处理器42对上述步骤的具体执行过程以及处理器42通过运行可执行程序代码来进一步执行的步骤,可以参见本发明图1-3所示实施例的描述,在此不再赘述。
该电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子设备。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种挖掘漏洞的方法,其特征在于,该方法包括:
在目标应用程序运行预先设置的输入数据的过程中,利用预先注入至操作系统中的脚本,以预先设置的时间周期数为单位,获取各应用程序对应的进程分别在所述时间周期数的各时间周期内的进程运行时间;
统计各进程在每一时间周期内的进程运行时间的总和,得到每一时间周期内的总进程运行时间;
提取目标应用程序对应的进程在每一时间周期内的目标进程运行时间,对应计算所述目标进程运行时间在所述总进程运行时间的占比;
统计占比超过预先设置的占比阈值的次数,如果统计的次数超过预先设置的次数阈值,导出所述目标应用程序在所述时间周期数内的运行信息。
2.根据权利要求1所述的方法,其特征在于,所述以预先设置的时间周期数为单位,获取各应用程序对应的进程分别在所述时间周期数的各时间周期内的进程运行时间包括:
设置计数器以及按照预先设置的时间周期触发的定时器,在所述预先设置的时间周期到后,触发调用预先设置的进程运行时间获取函数;
遍历操作系统记录的进程列表,获取各进程分别在所述时间周期内的进程运行时间;
所述计数器对所述定时器的触发次数进行计数,在计数达到预先设置的时间周期数后,通知所述进程运行时间获取函数将获取的所述进程运行时间打包输出,并对计数值进行清零处理。
3.根据权利要求1所述的方法,其特征在于,所述输入数据利用预先设置的模糊配置数据生成器生成。
4.根据权利要求1所述的方法,其特征在于,所述运行信息包括:触发异常的地址、异常种类以及异常产生时的各寄存器值。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
过滤运行信息中预先设置的非数据运行产生的异常信息,基于过滤的结果信息进行漏洞检测。
6.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
将所述输入数据标记为对应所述目标应用程序的漏洞检测数据并存储。
7.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
终止所述目标应用程序或结束所述目标进程。
8.一种挖掘漏洞的装置,其特征在于,该装置包括:进程运行时间获取模块、总进程运行时间计算模块、占比计算模块以及运行信息导出模块,其中,
进程运行时间获取模块,用于在目标应用程序运行预先设置的输入数据的过程中,利用预先注入至操作系统中的脚本,以预先设置的时间周期数为单位,获取各应用程序对应的进程分别在所述时间周期数的各时间周期内的进程运行时间;
总进程运行时间计算模块,用于统计各进程在每一时间周期内的进程运行时间的总和,得到每一时间周期内的总进程运行时间;
占比计算模块,用于提取目标应用程序对应的进程在每一时间周期内的目标进程运行时间,对应计算所述目标进程运行时间在所述总进程运行时间的占比;
运行信息导出模块,用于统计占比超过预先设置的占比阈值的次数,如果统计的次数超过预先设置的次数阈值,导出所述目标应用程序在所述时间周期数内的运行信息。
9.根据权利要求8所述的装置,其特征在于,所述进程运行时间获取模块包括:注入单元、触发单元、进程运行时间获取单元以及计数处理单元,其中,
注入单元,用于将预先设置的脚本注入至操作系统中;
触发单元,用于在目标应用程序运行预先设置的输入数据的过程中,设置计数器以及按照预先设置的时间周期触发的定时器,在所述预先设置的时间周期到后,触发调用预先设置的进程运行时间获取函数;
进程运行时间获取单元,用于遍历操作系统记录的进程列表,获取各进程分别在所述时间周期内的进程运行时间;
计数处理单元,触发所述计数器对所述定时器的触发次数进行计数,在计数达到预先设置的时间周期数后,通知所述进程运行时间获取函数将获取的所述进程运行时间打包输出,并对计数值进行清零处理。
10.根据权利要求8所述的装置,其特征在于,所述输入数据利用预先设置的模糊配置数据生成器生成。
CN201510996339.6A 2015-12-25 2015-12-25 一种挖掘漏洞的方法、装置及电子设备 Active CN105590063B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510996339.6A CN105590063B (zh) 2015-12-25 2015-12-25 一种挖掘漏洞的方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510996339.6A CN105590063B (zh) 2015-12-25 2015-12-25 一种挖掘漏洞的方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN105590063A true CN105590063A (zh) 2016-05-18
CN105590063B CN105590063B (zh) 2019-03-22

Family

ID=55929637

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510996339.6A Active CN105590063B (zh) 2015-12-25 2015-12-25 一种挖掘漏洞的方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN105590063B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106792191A (zh) * 2016-12-22 2017-05-31 深圳Tcl数字技术有限公司 智能电视管理方法及装置
CN107515820A (zh) * 2016-06-17 2017-12-26 阿里巴巴集团控股有限公司 服务器监测方法及装置、检测服务器
CN107742080A (zh) * 2017-09-30 2018-02-27 北京奇虎科技有限公司 针对虚拟化环境的漏洞挖掘方法及装置
CN107894949A (zh) * 2017-10-11 2018-04-10 五八有限公司 异常处理的方法、装置及设备
TWI656453B (zh) * 2016-11-22 2019-04-11 財團法人資訊工業策進會 檢測系統及檢測方法
CN111143844A (zh) * 2019-12-25 2020-05-12 浙江军盾信息科技有限公司 一种物联网设备的安全检测方法、系统及相关装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120260304A1 (en) * 2011-02-15 2012-10-11 Webroot Inc. Methods and apparatus for agent-based malware management
CN103365717A (zh) * 2013-06-25 2013-10-23 华为技术有限公司 内存访问方法、装置及系统
CN103530235A (zh) * 2013-10-18 2014-01-22 北京奇虎科技有限公司 移动终端中清理内存的方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120260304A1 (en) * 2011-02-15 2012-10-11 Webroot Inc. Methods and apparatus for agent-based malware management
CN103365717A (zh) * 2013-06-25 2013-10-23 华为技术有限公司 内存访问方法、装置及系统
CN103530235A (zh) * 2013-10-18 2014-01-22 北京奇虎科技有限公司 移动终端中清理内存的方法及装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107515820A (zh) * 2016-06-17 2017-12-26 阿里巴巴集团控股有限公司 服务器监测方法及装置、检测服务器
CN107515820B (zh) * 2016-06-17 2021-02-05 阿里巴巴集团控股有限公司 服务器监测方法及装置、检测服务器
TWI656453B (zh) * 2016-11-22 2019-04-11 財團法人資訊工業策進會 檢測系統及檢測方法
CN106792191A (zh) * 2016-12-22 2017-05-31 深圳Tcl数字技术有限公司 智能电视管理方法及装置
CN106792191B (zh) * 2016-12-22 2019-12-03 深圳Tcl数字技术有限公司 智能电视管理方法及装置
CN107742080A (zh) * 2017-09-30 2018-02-27 北京奇虎科技有限公司 针对虚拟化环境的漏洞挖掘方法及装置
CN107894949A (zh) * 2017-10-11 2018-04-10 五八有限公司 异常处理的方法、装置及设备
CN111143844A (zh) * 2019-12-25 2020-05-12 浙江军盾信息科技有限公司 一种物联网设备的安全检测方法、系统及相关装置

Also Published As

Publication number Publication date
CN105590063B (zh) 2019-03-22

Similar Documents

Publication Publication Date Title
CN105590063A (zh) 一种挖掘漏洞的方法、装置及电子设备
US10380003B2 (en) Diagnostic workflow for production debugging
Ju et al. On fault resilience of openstack
US9355003B2 (en) Capturing trace information using annotated trace output
CN105512562B (zh) 一种漏洞挖掘方法、装置及电子设备
CN104361076A (zh) 浏览器的异常处理方法和装置
US10360140B2 (en) Production sampling for determining code coverage
US9043760B2 (en) Creating dynamic interactive views from trace events for performing deterministic performance analysis
CN106528430A (zh) 一种应用程序的检测方法、装置及电子设备
US10057331B2 (en) Automatic abstraction of flow of control in a distributed virtualization platform
CN114626069A (zh) 威胁建模方法及装置
CN105528546B (zh) 一种挖掘漏洞的方法、装置及电子设备
Weber et al. Automatic Undo for Cloud Management via {AI} Planning
CN105468531A (zh) 一种挖掘漏洞的方法、装置及电子设备
CN106897063B (zh) 一种基于efi将os启动项永久添加至bios中的方法及系统
Colombo et al. Fast-forward runtime monitoring—an industrial case study
CN104850781A (zh) 一种动态多级恶意代码行为分析方法及系统
Fu et al. Runtime recovery actions selection for sporadic operations on public cloud
CN105912431A (zh) 服务器reboot测试方法、服务器、控制器和系统
CN110389897A (zh) Sdk逻辑测试方法、装置、存储介质及服务器
CN115437940A (zh) 一种适用于金融级云平台的api接口测试方法
US8965826B2 (en) Dynamic backjumping in constraint satisfaction problem solving
CN115065558A (zh) Apt攻击的攻击流程溯源方法及装置
CN109800099A (zh) 一种用户操作行为的还原方法、存储介质和终端设备
CN104657265A (zh) 软件故障注入和分析的流程定义方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20190121

Address after: 519031 Room 105-53811, No. 6 Baohua Road, Hengqin New District, Zhuhai City, Guangdong Province

Applicant after: Zhuhai Leopard Technology Co.,Ltd.

Address before: 100085 East District, Second Floor, 33 Xiaoying West Road, Haidian District, Beijing

Applicant before: BEIJING KINGSOFT INTERNET SECURITY SOFTWARE Co.,Ltd.

GR01 Patent grant
GR01 Patent grant