【技术实现步骤摘要】
用于web应用的动态检测漏洞攻击的方法及系统
本专利技术涉及web应用的漏掉检测
,尤其涉及一种用于web应用的动态检测漏洞攻击的方法及系统。
技术介绍
随着网络技术的发展,web应用的数据也有着快速的增长,同时应用的接口数量也越来越多,为了保证应用程序正常运行,不仅需要产品在上线前对其有着充分的测试,在产品上线运行过程中也要实施进行漏洞检测,动态防御实时的漏洞攻击。但是目前实时防御安全漏洞攻击的方法存在以下问题:1、基于漏洞攻击的执行函数进行检测,无法准确的判断威胁数据来自于请求数据还是应用程序的本身数据,容易产生误报;2、基于漏洞攻击的完整流程函数进行检测,消耗性能与存储空间。因此,有必要对现有的web应用防御安全漏洞攻击的方法进行改进。
技术实现思路
本专利技术的目的是为解决上述技术问题的不足而提供一种用于web应用的动态检测漏洞攻击的方法,既保证了对漏洞检测的准确性,降低误报几率,又不会过多消耗服务器的性能和存储空间。本专利技术的另一目的是公开一种用于web应用的动态检测漏洞攻击的系统,既保证了对漏洞检测的准确性,降低误报几率,又不会过多消耗服务器的性能和存储空间。为了实现上述目的,本专利技术公开了一种用于web应用的动态检测漏洞攻击的方法,其包括:通过插桩工具插桩待检测web应用程序代码中的输入函数、变异函数和执行函数,所述输入函数为所述web应用在输入阶段接收消息的关键函数,所述执行函数为所述web应用在执行阶段执行 ...
【技术保护点】
1.一种用于web应用的动态检测漏洞攻击的方法,其特征在于,包括:/n通过插桩工具插桩待检测web应用程序代码中的输入函数、变异函数和执行函数,/n所述输入函数为所述web应用在输入阶段接收消息的关键函数,/n所述执行函数为所述web应用在执行阶段执行关键动作的的关键函数,/n所述变异函数为所述web应用在传播阶段将接收到的参数对象转换为其他不同的对象类型进行表达的传播函数;/n通过插桩工具跟踪并获取请求数据在web应用中的整个执行过程的数据流;/n提取当前所述执行函数的执行参数,判断所述执行参数中是否存在漏洞攻击代码,如果是,/n判断当前请求数据对应的数据流是否经过所述输入阶段,如果是,则对所述执行函数的执行流程进行拦截处理,并可视化展示出所述数据流经过所述变异函数的过程。/n
【技术特征摘要】
1.一种用于web应用的动态检测漏洞攻击的方法,其特征在于,包括:
通过插桩工具插桩待检测web应用程序代码中的输入函数、变异函数和执行函数,
所述输入函数为所述web应用在输入阶段接收消息的关键函数,
所述执行函数为所述web应用在执行阶段执行关键动作的的关键函数,
所述变异函数为所述web应用在传播阶段将接收到的参数对象转换为其他不同的对象类型进行表达的传播函数;
通过插桩工具跟踪并获取请求数据在web应用中的整个执行过程的数据流;
提取当前所述执行函数的执行参数,判断所述执行参数中是否存在漏洞攻击代码,如果是,
判断当前请求数据对应的数据流是否经过所述输入阶段,如果是,则对所述执行函数的执行流程进行拦截处理,并可视化展示出所述数据流经过所述变异函数的过程。
2.根据权利要求1所述的用于web应用的动态检测漏洞攻击的方法,其特征在于,当判断出所述执行参数中存在漏洞攻击代码时,进一步判断所述执行参数是否来源于传播阶段,如果否,则定义本次漏洞攻击为误触发。
3.根据权利要求1所述的用于web应用的动态检测漏洞攻击的方法,其特征在于,所述变异函数包括属于开发框架所具有的常规变异函数和用户自定义的自定义变异函数,所述自定义变异函数的获取方法包括:
通过IAST测试平台运行所述web应用的攻击测试实例,以对所述web应用进行漏洞攻击测试,并通过插桩方式跟踪请求数据从输入阶段到传播阶段,再到执行阶段的整个过程的函数流;
当发现攻击漏洞时,如果请求数据的参数类型发生变化,且如果通过所述常规变异函数不能得到请求数据在传播阶段的完整的操作过程,通过执行阶段的关键函数的参数对象逆向推演到请求数据对象,从而推导出导致所述请求数据对象发生变异的变异函数,即为自定义变异函数,然后以所述web应用为键值对的关键字,以推演出的所述自定义变异函数为键值对的值构成键值对存储在数据库中,以供插桩工具调用。
4.根据权利要求3所述的用于web应用的动态检测漏洞攻击的方法,其特征在于,还包括对得到的所述自定义变异函数进行优化的方法:
得到所述自定义变异函数后,取消所述IAST测试平台对所述传播阶段的除所述变异函数外的其他传播函数的跟踪;
对所述攻击测试实例进行请求重发,检测攻击测试实例中的所有攻击漏洞是否被检出,如果否,取未被检出攻击漏洞的带有漏洞攻击代码的请求实例所对应的原始函数流进行二次分析,以找到遗漏的自定义变异函数。
5.一种用于web应用的动态检测漏洞攻击的系统,其特征在于,包括插桩模块、数据流跟踪模块、第一判断判断模块、第二判断模块、处理模块和展示模块;
所述插桩模块,用于通过插桩工具插桩待检测web应用程序代码中的输入函数、变异函数和执行函数;
所述输入函数为所述web应用在输入阶段接收消息的关键函数;
所述执行函数为所述web应用在执行阶段执行关键动作的的关键函数;
所述变异函数为所述web应用在传播阶段将接收到的参数对象转换为其他不同的对象类型进行表达的传播函数;
所述数据流跟踪模块,用于通过所述插桩模块跟踪并获取请求数据在web应用中的整个执行过程的数据流;
所述第一判断模块,用于判断执行函数的执行参数中是否存在漏洞攻...
【专利技术属性】
技术研发人员:刘海涛,万振华,王颉,李华,董燕,
申请(专利权)人:深圳开源互联网安全技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。