应用程序的漏洞检测方法和装置制造方法及图纸

技术编号:12830182 阅读:83 留言:0更新日期:2016-02-07 17:17
本发明专利技术公开了一种应用程序的漏洞检测方法和装置。其中,该方法包括:记录应用程序运行过程中的执行命令;监控执行命令是否包含监控特征,其中,在执行命令包含监控特征的情况下,回溯执行命令的父进程是否具有命令注入漏洞的属性;如果执行命令的父进程具有命令注入漏洞的属性,则确定执行命令存在命令注入的漏洞。本发明专利技术解决了现有技术用于监测命令注入攻击的方法存在漏报率高、误报率高的技术问题。

【技术实现步骤摘要】

本专利技术涉及计算机互联网领域,具体而言,涉及一种应用程序的漏洞检测方法和 装置。
技术介绍
现有技术中用于实现Web网站动态内容的技术可以包括:通用网关接口(Common Gateway Interface,简称CGI)技术、超文本预处理器(Hypertext Preprocessor的缩写,简 称PHP)等。 CGI可以根据用户输入的请求动态地传送HTML数据,使用CGI技术可实现电子商 务网站、搜索引擎处理和在线登记等功能。现有的自定义的CGI脚本是由Perl,Java,C和 C++等语言编写的,网站Web页面的设计者都需要控制网站web服务器,包括所需要的后台 程序(如数据库)。 PHP是一种比CGI更快速的执行动态网页的通用的开源脚本语言,由于PHP是将程 序嵌入到HTML文档中去执行,因此执行效率比完全生成htmL标记的CGI要高许多,而且所 有的CGI的功能PHP都能实现。语法吸收了 C语言、Java和Perl的特点,入门门槛较低, 易于学习,使用广泛,主要适用于Web开发领域。 PHP命令注入攻击漏洞是PHP应用程序中常见的脚本漏洞之一,命令注入攻击 Command Injection,是指由于Web应用程序对用户提交的数据过滤不严格,导致黑客可以 通过构造特殊命令字符串的方式,将数据提交至Web应用程序中,并利用该方式执行外部 程序或系统命令实施攻击,非法获取数据或者网络资源等。下面我们结合PHP语言的特性, 对PHP命令注入攻击进行简要的分析和描述。 PHP命令注入的漏洞攻击存在的主要原因是Web应用程序员在应用PHP语言中一 些具有命令执行功能的函数时,对用户提交的数据内容没有进行严格的过滤就带入函数中 执行而造成的。例如,当黑客提交的数据内容为向网站目录写入PHP文件时,就可以通过该 命令注入攻击漏洞写入一个PHP后门文件,进而实施进一步的渗透攻击。 针对现有的命令注入攻击,可以提供命令注入检测方案进行检测,主要包括黑盒 检测和白盒检测。 黑盒检测:主要通过构造命令注入特征来全量扫描CGI,从匹配返回的结果的特 征来判断是否存在漏洞,目前黑盒检测的效果主要依赖于扫描器的扫描深度、参数遍历深 度和扫描速度。 白盒检测:主要通过分析代码的逻辑来发现代码是否存在漏洞,目前白合检测的 效果主要依赖于代码审计软件的匹配模式和检测深度。 由于黑盒扫描器无法遍历所有的输入点,而白盒检测的审计系统也无法遍历所有 的代码逻辑,因此,现有的用于监测命令注入攻击的方法存在漏报率高、误报率高的问题。 而且开发一款黑盒扫描器或白盒审计系统周期长,难度大,开发后的运营成本也较高。 针对上述现有技术用于监测命令注入攻击的方法存在漏报率高、误报率高的问 题,目前尚未提出有效的解决方案。
技术实现思路
本专利技术实施例提供了一种应用程序的漏洞检测方法和装置,以至少解决现有技术 用于监测命令注入攻击的方法存在漏报率高、误报率高的技术问题。 根据本专利技术实施例的一个方面,提供了一种应用程序的漏洞检测方法,该方法包 括:记录应用程序运行过程中的执行命令;监控执行命令是否包含监控特征,其中,在执行 命令包含监控特征的情况下,回溯执行命令的父进程是否具有命令注入漏洞的属性;如果 执行命令的父进程具有命令注入漏洞的属性,则确定执行命令存在命令注入的漏洞。 根据本专利技术实施例的另一方面,还提供了一种应用程序的漏洞检测装置,该装置 包括:记录模块,用于记录应用程序运行过程中的执行命令;监控模块,用于监控执行命令 是否包含监控特征;回溯模块,用于在执行命令包含监控特征的情况下,回溯执行命令的父 进程是否具有命令注入漏洞的属性;确定模块,用于如果执行命令的父进程具有命令注入 漏洞的属性,则确定执行命令存在命令注入的漏洞。 在本专利技术实施例中,采用记录应用程序运行过程中的执行命令;监控执行命令是 否包含监控特征,其中,在执行命令包含监控特征的情况下,回溯执行命令的父进程是否具 有命令注入漏洞的属性;如果执行命令的父进程具有命令注入漏洞的属性,则确定执行命 令存在命令注入的漏洞的方式,通过检测当前运行的应用程序的执行命令是否包括监控特 征来确定该执行命令是否具有注入命令漏洞的潜在风险,由于在确定该执行命令具有注入 命令漏洞的潜在风险之后,进一步通过回溯该执行命令的父进程是否具有命令注入漏洞的 属性,从而确认当前执行命令存在命令注入的漏洞,因此,本申请提供了一种对具有命令注 入漏洞风险的执行命令进行进一步的命令注入验证的功能,即对该执行命令已经具有的属 性特征进行验证,从而确定该执行命令的最终性质。由于上述过程可以应用于应用程序运 行过程中的每个执行命令,因此,整个操作遍历到了应用程序中的所有执行命令,而且每个 执行命令所要验证的属性特征都是静态的,从而达到了大幅降低了监测命令注入攻击的漏 报和误报的情况的目的,进而解决了现有技术用于监测命令注入攻击的方法存在漏报率 高、误报率高的技术问题。本方案还可以改善现有的漏洞检测系统开发周期长,难度大,开 发后的运营成本也较高的问题。【附图说明】 此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中: 图1是本专利技术实施例的一种运行应用程序的漏洞检测方法的计算机终端的硬件 结构框图; 图2是根据本专利技术实施例一的应用程序的漏洞检测方法的流程图; 图3是根据本专利技术实施例一的基于PHP执行web应用程序的漏洞检测方法的详细 流程图; 图4是根据本法实施例二的应用程序的漏洞检测装置的结构示意图; 图5是根据本法实施例二的一种可选的应用程序的漏洞检测装置的结构示意图; 图6是根据本法实施例二的一种可选的应用程序的漏洞检测装置的结构示意图; 图7是根据本法实施例二的一种可选的应用程序的漏洞检测装置的结构示意图; 图8是根据本法实施例二的一种可选的应用程序的漏洞检测装置的结构示意图; 图9是根据本法实施例二的一种可选的应用程序的漏洞检测装置的结构示意图; 以及 图10是根据本专利技术实施例的一种计算机终端的结构框图。【具体实施方式】 为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的 附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是 本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术 人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范 围。 需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语"第一"、"第 二"等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用 的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例能够以除了在这里图示或 描述的那些以外的顺序实施。此外,术语"包括"和"具有"以及他们的任何变形,意图在于 覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限 于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产 品或设备固有的其它步骤或单元。 实施例1 根据本专利技术实施例,还提供了一种应用程序的本文档来自技高网
...

【技术保护点】
一种应用程序的漏洞检测方法,其特征在于,包括:记录应用程序运行过程中的执行命令;监控所述执行命令是否包含监控特征,其中,在所述执行命令包含所述监控特征的情况下,回溯所述执行命令的父进程是否具有命令注入漏洞的属性;以及如果所述执行命令的所述父进程具有所述命令注入漏洞的属性,则确定所述执行命令存在命令注入的漏洞。

【技术特征摘要】

【专利技术属性】
技术研发人员:朱海星
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1