[发明专利]一种针对网页的恶意攻击进行防护的方法、装置和浏览器有效
申请号: | 201210252213.4 | 申请日: | 2012-07-19 |
公开(公告)号: | CN102831339A | 公开(公告)日: | 2012-12-19 |
发明(设计)人: | 宋申雷;刘起;张聪 | 申请(专利权)人: | 北京奇虎科技有限公司 |
主分类号: | G06F21/00 | 分类号: | G06F21/00 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 苏培华 |
地址: | 100000 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 针对 网页 恶意 攻击 进行 防护 方法 装置 浏览器 | ||
技术领域
本申请涉及浏览器技术,特别是涉及一种针对网页的恶意攻击进行防护的方法、装置和浏览器。
背景技术
网页木马攻击是当前最流行的网络攻击之一,目前网页木马大量使用浏览器的缓冲区溢出漏洞,通过溢出漏洞改变和控制程序的执行流程,最终控制系统下载运行木马。网页木马攻击的过程一般是:攻击者通过javascript操作浏览器的堆内存,将恶意代码shellcode写入浏览器的堆内存地址,通过缓冲区溢出漏洞改变程序的执行流程,使得浏览器堆内存中的shellcode得以执行。
随着基于浏览器的恶意攻击越来越普遍,各种浏览器也加强了浏览器的安全功能,其中一项重要安全功能是:数据执行保护(Data Execution Prevention,DEP)。在溢出攻击中恶意代码shellcode是被存放在堆内存中的,但无论是堆还是栈在进程空间里都属于数据页面,数据不能当成代码执行,因此在数据页面上的数据一般是不应该被执行的,DEP(数据执行保护)即禁止应用程序和服务在非可执行权限的数据页内存中执行代码指令。
但是,另一方面,攻击者也开始使用大量绕过和对抗DEP(数据执行保护)的技术进行网页木马攻击。目前,攻击者主要使用返回导向编程技术(Return Oriented Programming,ROP)进行恶意攻击。ROP技术是攻击者不通过写入shellcode到漏洞程序的进程空间,而是利用已经在内存空间中存在的动态链接库或可执行代码来执行任意操作,最后达到绕过DEP(数据执行保护)的一种恶意攻击技术。
因此,目前需要解决的技术问题是:如何对使用ROP技术的恶意攻击进行防护,以提高网页浏览的安全性。
发明内容
本申请提供了一种针对网页的恶意攻击进行防护的方法、装置和浏览器,以解决攻击者使用ROP技术绕过DEP进行网页木马攻击的问题。
为了解决上述问题,本申请公开了一种针对网页的恶意攻击进行防护的方法,包括:
当进程调用改变内存页保护属性的应用程序编程接口时,对要修改的内存地址的内存页保护属性进行检测,所述检测包括:
获取所述内存地址的原有内存页保护属性,并检查所述原有内存页保护属性是否设置为可执行权限;
获取所述内存地址的修改后的内存页保护属性,并检查所述修改后的内存页保护属性是否设置可执行权限;
当所述内存地址的原有内存页保护属性不具有可执行权限,并且所述修改后的内存页保护属性具有可执行权限时,警告并阻止对所述内存地址的内存页保护属性的修改行为。
优选地,通过监控VirtualProtect函数来对要修改的内存地址的内存页保护属性进行检测,其中,所述VirtualProtect函数的作用是改变内存页保护属性。
优选地,所述获取所述内存地址的原有内存页保护属性,包括:获取所述VirtualProtect函数的lpAddress参数,所述lpAddress参数表示要修改的内存地址的起始地址;通过查询函数获取所述起始地址对应的原有内存页保护属性。
优选地,所述获取所述内存地址的修改后的内存页保护属性,包括:获取所述VirtualProtect函数的flNewProtect参数,所述flNewProtect参数表示修改后的内存页保护属性。
优选地,所述内存页保护属性包括以下8种:不可读权限,只读权限,可读可写权限,可执行权限,可读可执行权限,可读可写可执行权限,可写可拷贝权限,可写可拷贝可执行权限。
优选地,所述内存地址的原有内存页保护属性不具有可执行权限,包括:所述原有内存页保护属性为不可读权限,或只读权限,或可读可写权限,或可写可拷贝权限;所述修改后的内存页保护属性具有可执行权限,包括:所述修改后的内存页保护属性为可执行权限,或可读可执行权限,或可读可写可执行权限,或可写可拷贝可执行权限。
优选地,所述要修改的内存地址为恶意代码所在的内存地址。
本申请还提供了一种针对网页的恶意攻击进行防护的装置,包括:
检测模块,用于当进程调用改变内存页保护属性的应用程序编程接口时,对要修改的内存地址的内存页保护属性进行检测,所述检测模块包括:
第一获取单元,用于获取所述内存地址的原有内存页保护属性;
第一检查单元,用于检查所述原有内存页保护属性是否设置为可执行权限;
第二获取单元,用于获取所述内存地址的修改后的内存页保护属性;
第二检查单元,用于检查所述修改后的内存页保护属性是否设置可执行权限;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司,未经北京奇虎科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210252213.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种具有双重微开保护功能的台钻
- 下一篇:用于液态物质的定量灌装机构及灌装机