用于防护网页攻击的方法和设备技术

技术编号:8079030 阅读:159 留言:0更新日期:2012-12-13 21:55
本发明专利技术涉及一种用于防护网页攻击的方法和设备。该方法包括:在调用改变内存地址的内存保护属性的已挂钩待检测函数之前,获取已挂钩待检测函数的第一参数和第二参数,其中,所述已挂钩待检测函数是完成挂钩操作的待检测函数;检测与所述第一参数相关联的内存地址页的第一属性是否为与可执行相关联的权限,并且检测与所述第二参数相关联的内存地址页的第二属性是否被修改成与可写相关联的权限;以及当所述第一属性是与可执行相关联的权限,并且所述第二属性被修改成与可写相关联的权限时,警告或阻止所述已挂钩待检测函数的执行。

【技术实现步骤摘要】

本专利技术涉及计算机网络安全技术,尤其涉及一种用于防护网页攻击的方法和设备
技术介绍
网页木马攻击是当前最流行的网络攻击之一。目前,网页木马大多基于浏览器的缓冲区溢出漏洞,攻击者通过溢出漏洞来改变和控制程序的执行流程,从而最终控制系统下载并运行木马。网页木马攻击的过程一般是攻击者通过j avascript操作浏览器的堆内存,将恶意代码shellcode写入浏览器的堆内存地址,通过缓冲区溢出漏洞改变程序的执行流程,使得浏览器堆内存中的shellcode得以执行。随着网页木马攻击越来越普遍,各安全厂商的安全产品也加强了针对网页木马攻击的安全防护功能,其中防护网页木马攻击而普遍使用的技术是针对shellcode经常使用的关键函数进行HOOK钩子监控,该技术一般是内联挂钩(inline hook),将汇编代码直接写入到API函数的内存区域,在原始函数的汇编代码入口插入5字节的jmp跳转指令,跳转到安全软件自定义的函数地址执行自定义代码进行安全检测,发现有恶意代码调用关键函数立即阻止并拦击网页木马的攻击行为,安全检测完毕再跳回原始函数的地址继续执行代码。另一方面,黑客也开始使用新的攻击技术针对网页木马防护技术进行攻防,网络上出现过一类专门针对安全软件Η00Κ钩子关键API函数摘钩的攻击方法,一旦这类摘钩的攻击方法成功就会导致安全软件的防护完全失效。安全软件防护网页木马攻击常会对执行木马文件的函数进行内联挂钩(inlinehook),如 CreateProcessIntemalW 函数,网页木马在调用 CreateProcessIntemalW 函数执行木马文件前安全软件会对CreateProcessIntemalW函数进行安全监控和检测,攻击者便对CreateProcessIntemalW函数的前几个字节的jmp跳转指令进行内联挂钩(inlinehook)还原,使安全软件的防护完全失效。这种绕过Η00Κ钩子防护,针对关键API函数的内联挂钩(inline hook)还原的攻击方式需要进行两个步骤I、使用VirtualProtect函数改变关键API函数入口内存区域的内存保护属性为可写权限,从而能够对入口内存区域的指令拥有修改权限。2、还原inline hook (内联挂钩)的jmp跳转指令为普通的函数入口指令,从而使安全软件的安全检测无法生效。因此针对Η00Κ钩子关键API函数摘钩的恶意攻击进行防护和检测,目前已成为安全软件的重要功能。
技术实现思路
本专利技术的主要目的在于提供一种用于防护网页攻击的方法和设备,以解决现有技术存在的针对HOOK钩子关键API函数摘钩的恶意攻击问题,其中,该方法可以包括在调用改变内存地址的内存保护属性的已挂钩待检测函数之前,获取已挂钩待检测函数的第一参数和第二参数,其中,所述已挂钩待检测函数是完成挂钩操作的待检测函数;检测与所述第一参数相关联的内存地址页的第一属性是否为与可执行相关联的权限,并且检测与所述第二参数相关联的内存地址页的第二属性是否被修改成与可写相关联的权限;以及当所述第一属性是与可执行相关联的权限并且所述第二属性被修改成与可写相关联的权限时,警告或阻止所述已挂钩待检测函数的执行。根据本专利技术的实施例,该方法还可以包括当所述第一属性不是与可执行相关联的权限并且所述第二属性未被修改成与可写相关联的权限时,完成 所述已挂钩待检测函数的执行。根据本专利技术的实施例,该方法还可以包括当所述第一属性不是与可执行相关联的权限并且所述第二属性被修改成与可写相关联的权限时,完成所述已挂钩待检测函数的执行。根据本专利技术的实施例,该方法还可以包括当所述第一属性是与可执行相关联的权限并且所述第二属性未被修改成与可写相关联的权限时,完成所述已挂钩待检测函数的执行。根据本专利技术的另一方面,还提供一种用于防护网页攻击的设备。该设备可以包括获取模块,用于在调用改变内存地址的内存保护属性的已挂钩待检测函数之前获取已挂钩待检测函数的第一参数和第二参数,其中,所述已挂钩待检测函数是完成挂钩操作的待检测函数;检测模块,用于检测与所述第一参数相关联的内存地址页的第一属性是否为与可执行相关联的权限,并且检测与所述第二参数相关联的内存地址页的第二属性是否被修改成与可写相关联的权限;以及阻止与执行模块,用于当所述第一属性是与可执行相关联的权限并且所述第二属性被修改成与可写相关联的权限时,警告或阻止所述已挂钩待检测函数的执行。根据本专利技术的实施例,所述阻止与执行模块还可以被配置成当所述第一属性不是与可执行相关联的权限并且所述第二属性未被修改成与可写相关联的权限时,完成所述已挂钩待检测函数的执行。根据本专利技术的实施例,所述阻止与执行模块还可以被配置成当所述第一属性不是与可执行相关联的权限并且所述第二属性被修改成与可写相关联的权限时,完成所述已挂钩待检测函数的执行。根据本专利技术的实施例,所述阻止与执行模块还可以被配置成当所述第一属性是与可执行相关联的权限并且所述第二属性未被修改成与可写相关联的权限时,完成所述已挂钩待检测函数的执行。根据本专利技术的实施例,与可执行相关联的权限可以是可执行或可读可执行,与可写相关联的权限可以是可读可写可执行或可写可拷贝可执行。根据本专利技术的实施例,所述第一参数可以是lpAddress参数,所述第二参数可以是 flNewProtect 参数。根据本专利技术的实施例,所述待检测函数可以是VirtualPiOtect函数,所述已挂钩待检测函数可以是VirtualPiOtectEx函数,所述第一属性为内存保护属性,以及所述第二属性为内存保护属性。根据本专利技术的实施例,获取模块可以分成获取第一参数的第一获取模块和获取第二参数的第二获取模块。根据本专利技术的实施例,所述检测模块可以包括用于检测与所述第一参数相关联的内存地址页的第一属性是否为与可执行相关联的权限的第一检测模块,和用于检测与所述第二参数相关联的内存地址页的第二属性是否被修改成与可写相关联的权限的第二检测模块。与现有技术相比,根据本专利技术的技术方案,检测发现和阻断通过网页木马的改写内存保护属性行为,防止网页木马摘掉安全软件所有HOOK钩子的关键API函数。 附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中图I是根据本专利技术实施例的用于防护网页攻击的方法的流程图;图2是根据本专利技术实施例的用于防护网页攻击的设备的框图;以及图3示出了适于用来实现本专利技术实施例的计算机系统的框图。具体实施例方式本专利技术实施例在于,进程在调用改变内存页保护属性的API函数时,对修改的内存地址的内存页属性进行检测,通过规则对内存地址页的原有内存页保护属性进行判别,一旦发现恶意的修改行为即阻止和警告,保护HOOK钩子函数入口地址不被修改内存保护属性,并且不被恶意篡改。本申请的技术方案主要通过监控对改变内存属性的API函数的调用,保护HOOK钩子函数入口地址的内存保护属性不被修改成可写。为使本专利技术的目的、技术方案和优点更加清楚,以下结合附图及具体实施例,对本专利技术作进一步地详细说明。根据本专利技术的实施例,提供了一种用于防护网页攻击的方法和设备。 如前所述,为了防止网页木马,通过HOOK技术对待检测函数进本文档来自技高网
...

【技术保护点】
一种用于防护网页攻击的方法,其特征在于,包括:在调用改变内存地址的内存保护属性的已挂钩待检测函数之前,获取已挂钩待检测函数的第一参数和第二参数,其中,所述已挂钩待检测函数是完成挂钩操作的待检测函数;检测与所述第一参数相关联的内存地址页的第一属性是否为与可执行相关联的权限,并且检测与所述第二参数相关联的内存地址页的第二属性是否被修改成与可写相关联的权限;以及当所述第一属性是与可执行相关联的权限,并且所述第二属性被修改成与可写相关联的权限时,警告或阻止所述已挂钩待检测函数的执行。

【技术特征摘要】

【专利技术属性】
技术研发人员:宋申雷刘起张聪
申请(专利权)人:北京奇虎科技有限公司
类型:发明
国别省市:

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

1