交互式应用程序安全测试方法及其系统技术方案

技术编号:14005671 阅读:69 留言:0更新日期:2016-11-16 23:44
本发明专利技术公开了一种交互式应用程序安全测试方法,包括:安装测试服务器端及部署目标被测程序;将探针部署于测试服务器端;运行目标测试程序并通过探针收集分析数据;探针将分析数据发送至测试服务端,测试服务器端对分析数据进行分析以得到漏洞结果。与现有技术相比,本发明专利技术的测试方法不需要专人操作,运行目标被测程序的过程中同时完成了功能测试及漏洞等安全性测试,减少了安全测试的人力投入。同时,该方法中通过探针实时获取目标被测程序运行时的真实数据,从而可以实现比传统静态源代码分析工具更高的测试精确度,还可降低漏报率。本发明专利技术同时公开了一种交互式应用程序安全测试的系统。

【技术实现步骤摘要】

本专利技术涉及软件安全测试
,更具体地涉及一种交互式应用程序安全测试方法及其系统
技术介绍
在软件的开发过程中,软件安全测试是一种检验软件中已存在的软件安全措施是否有效的测试,是保证系统安全性的重要手段,其一般包括安全功能测试和安全漏洞测试两个方面。目前,针对安全漏洞测试方面,被广泛应用的是基于静态源代码安全分析技术的分析工具。其中,静态源代码安全分析技术的原理如下:首先创建一个庞大的数据DOM树,然后在不运行代码的方式下,通过词法分析、语法分析、控制流、数据流分析等技术对程序代码进行扫描。现有采用类似技术的静态源代码安全扫描工具有:IBM AppScan for source、HP Fortify与Checkmarx CxSuite,上述扫描工具目前在国际上都具有很高的漏洞覆盖率及漏洞查找能力。然而,基于静态源代码安全分析的上述扫描工具在进行安全漏洞测试时,具有以下缺点:(1)需要专人去操作,扫描非常耗时;(2)精确度不高。因此,有必要提供一种改进的交互式应用程序安全测试方法及其系统来克服上述缺陷。
技术实现思路
本专利技术的目的是提供一种交互式应用程序安全测试方法及其系统,以在实现功能测试的同时完成漏洞等安全性测试,无需专人操作且可减少安全测试的人力投入,同时测试精确度较高。为实现上述目的,本专利技术提供了一种交互式应用程序安全测试方法,包括:安装测试服务器端及部署目标被测程序;将探针部署于测试服务器端;运行目标测试程序并通过探针收集分析数据;探针将分析数据发送至测试服务端,测试服务器端对分析数据进行分析以得到漏洞结果。与现有技术相比,本专利技术的测试方法先安装测试服务器端及部署目标被测程序,再将探针部署于测试服务器端上,之后运行目标被测程序,同时通过探针收集分析数据,接着探针将分析数据发送至测试服务器端,最后该测试服务器端对上述分析数据进行分析处理以得到漏洞结果,实现了安全测试中的漏洞测试。该测试方法不需要专人操作,运行目标被测程序的过程中同时完成了功能测试及漏洞等安全性测试,减少了安全测试的人力投入。同时,该方法中通过探针实时获取目标被测程序运行时的真实数据,从而可以实现比传统静态源代码分析工具更高的测试精确度,还可降低漏报率。较佳地,得到漏洞结果之后还包括:测试服务器端根据漏洞结果生成目标被测程序的安全报告。具体地,测试服务器端为运行于Tomcat服务器上的一JAVA WEB程序,目标被测程序为部署于Tomcat服务器上的一JAVA站点,探针为基于Java虚拟机工具接口的一代理程序。具体地,将探针部署于测试服务器端具体包括:在测试服务器端下载探针;修改Tomcat服务器的启动脚本及增加javaagent参数以使Tomcat服务器在运行时加载探针。具体地,分析数据包括上下文内容、数据流、控制流及目标被测程序运行时传递的值。可选地,漏洞结果包括SQL注入漏洞及框架与包的漏洞。相应地,本专利技术还提供了一种交互式应用程序安全测试系统,包括:测试服务器端,用于接收分析数据并对分析数据进行分析以得到漏洞结果;以及探针,部署于测试服务器端,当目标被测程序运行时,探针收集并发送分析数据至测试服务器端。与现有技术相比,本专利技术的测试系统在运行目标被测程序时,探针会收集分析数据并将分析数据传送至测试服务器端,测试服务器端会对分析数据进行分析处理以得到漏洞结果。该测试系统不需要专人操作,运行目标被测程序的过程中同时完成了功能测试及漏洞等安全性测试,减少了安全测试的人力投入。同时,该系统通过探针实时获取目标被测程序运行时的真实数据,从而可以实现比传统静态源代码分析工具更高的测试精确度,还可降低漏报率。具体地,探针部署于测试服务器端具体包括:在测试服务器端下载探针;修改Tomcat服务器的启动脚本及增加javaagent参数以使Tomcat服务器在运行时加载探针。具体地,分析数据包括上下文内容、数据流、控制流及所述目标被测程序运行时传递的值。可选地,所述漏洞结果包括SQL注入漏洞及框架与包的漏洞。通过以下的描述并结合附图,本专利技术将变得更加清晰,这些附图用于解释本专利技术的实施例。附图说明图1为本专利技术交互式应用程序安全测试系统的结构框图。图2为本专利技术交互式应用程序安全测试方法的主流程图。图3为本专利技术交互式应用程序安全测试方法第一实施例的流程图。图4为本专利技术交互式应用程序安全测试方法第二实施例的流程图。图5为本专利技术交互式应用程序安全测试方法第三实施例的流程图。具体实施方式现在参考附图描述本专利技术的实施例,附图中类似的元件标号代表类似的元件。为了更好地理解本专利技术,先对其工作原理做如下说明:面向方面的编程技术使得安全测试平台可以在程序运行时嵌入安全分析。面向对象语言提供了接口以实现面向方面的编程。例如,JVMTI(Java Virtual Machine Tool Interface)是一套由Java虚拟机提供的,为JVM相关的工具提供的本地编程接口集合。利用JVMTI,开发者可以构建一个独立于应用程序的代理程序(Agent),用来监测和协助运行在JVM上的程序,甚至能够替换和修改某些类的定义。有了这样的功能,开发者就可以实现更为灵活的运行时虚拟机监控和Java类操作。基于此,本专利技术采用了深度插桩的交互式应用程序安全测试技术,采用Agent的方式获取分析数据,然后基于这些数据分析安全漏洞。且采用该种Agent方式,在程序运行时,能够持续地监视与查找漏洞。具体地,基于上述工作原理,本专利技术提供了一种交互式应用程序安全测试系统。如图1所示,该系统包括:测试服务器端100,用于接收分析数据并对分析数据进行分析以得到漏洞结果;以及探针200,部署于测试服务器端100,当目标被测程序运行时,探针收集并发送分析数据至测试服务器端100。需要说明的是,测试服务器端(Server)100作为安全测试平台的主程序,其主要具有如下功能:(1)向开发人员、测试人员或安全运维人员提供可视化的界面,显示实时的安全信息;(2)获取来自Agent传输过来的数据,并进行智能化漏洞分析及显示;(3)采用保护规则阻止所有的攻击,诸如SQL注入、XSS,防止0day溢出;(4)提供漏洞的解决方案;(5)对共享库和第三方组件进行安全性检查;(6)导出漏洞列表报表。而探针200(Agent)作为应用程序的代理组件,其主要具有如下功能:(1)代理所有用户浏览器到应用程序之间的流量,并传输到Server;(2)获取服务器后端源代码,并传输到Server;(3)获取来自Server端发送的指令,并进行执行。相应地,本专利技术还提供了一种交互式应用程序安全测试方法,如图2所示,其主要包括:S201,安装测试服务器端及部署目标被测程序;需要说明的是,测试服务器端为运行于Tomcat服务器上的一JAVA WEB程序,目标被测程序为部署于Tomcat服务器上的一JAVA站点;S202,将探针部署于测试服务器端;需要说明的是,探针为基于Java虚拟机工具接口的一代理程序;S203,运行目标测试程序并通过探针收集分析数据;具体地,分析数据包括上下文内容、数据流、控制流及目标被测程序运行时传递的值;S204,探针将分析数据发送至测试服务端,测试服务器端对分析数据进行分析以得到漏洞结果;S205,测本文档来自技高网...
交互式应用程序安全测试方法及其系统

【技术保护点】
一种交互式应用程序安全测试方法,其特征在于,包括:安装测试服务器端及部署目标被测程序;将探针部署于所述测试服务器端;运行所述目标测试程序并通过所述探针收集分析数据;所述探针将所述分析数据发送至所述测试服务端,所述测试服务器端对所述分析数据进行分析以得到漏洞结果。

【技术特征摘要】
1.一种交互式应用程序安全测试方法,其特征在于,包括:安装测试服务器端及部署目标被测程序;将探针部署于所述测试服务器端;运行所述目标测试程序并通过所述探针收集分析数据;所述探针将所述分析数据发送至所述测试服务端,所述测试服务器端对所述分析数据进行分析以得到漏洞结果。2.如权利要求1所述的交互式应用程序安全测试方法,其特征在于,得到漏洞结果之后还包括:所述测试服务器端根据所述漏洞结果生成所述目标被测程序的安全报告。3.如权利要求2所述的交互式应用程序安全测试方法,其特征在于,所述测试服务器端为运行于Tomcat服务器上的一JAVA WEB程序,所述目标被测程序为部署于所述Tomcat服务器上的一JAVA站点,所述探针为基于Java虚拟机工具接口的一代理程序。4.如权利要求3所述的交互式应用程序安全测试方法,其特征在于,将探针部署于所述测试服务器端具体包括:在所述测试服务器端下载所述探针;修改所述Tomcat服务器的启动脚本及增加javaagent参数以使所述Tomcat服务器在运行时加载所述探针。5.如权利要求1所述的交互式应...

【专利技术属性】
技术研发人员:王颉包悦忠徐瑞祝曾张帆万振华
申请(专利权)人:深圳开源互联网安全技术有限公司
类型:发明
国别省市:广东;44

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

1