[发明专利]一种网页防挂马的方法有效
申请号: | 200810198999.X | 申请日: | 2008-10-07 |
公开(公告)号: | CN101388057A | 公开(公告)日: | 2009-03-18 |
发明(设计)人: | 李成科;程虎;陈志强 | 申请(专利权)人: | 珠海金山软件股份有限公司 |
主分类号: | G06F21/00 | 分类号: | G06F21/00 |
代理公司: | 广州新诺专利商标事务所有限公司 | 代理人: | 杨焕军 |
地址: | 519015广东省珠海市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 网页 防挂马 方法 | ||
技术领域
本发明涉及计算机病毒防治领域,尤其涉及一种防御网页挂马方法。
背景技术
所谓挂马行为,就是有目的利用第三方软件的漏洞,构造能够触发漏洞的包含危险代码的数据,使得能够下载执行病毒。常见的利用大多存在于浏览器或浏览器控件中。而第三方软件的漏洞基本上都是由于程序员在编写程序时的一些不谨慎造成的,主要表现为:对输入的字符串没有做正确的长度检查,这多半会导致栈溢出;对指针的处理不正确,比如释放了某个指针指向的内存,但是忘记将该指针设置为NULL,随后又错误使用这个指针,这可能会导致堆的数据被破坏;无符号数和有符号数的不正确转换,这很有可能会导致整数溢出。总结一下,导致漏洞的原因主要是:栈溢出、整数溢出、堆数据的破坏等。
当前,检测第三方软件漏洞导致的挂马行为,主要是网页防挂马方法。
现有网页防挂马方法的主要思想就是通过拦截IE浏览器的一些操作(比如下载文件,创建进程等等),对这些操作涉及到的文件进行数字签名验证,可信验证等一系列的验证,如果验证不通过,则提示用户,让用户来决定是否要执行对应的操作。
上述网页防挂马的方法有如下优缺点:优点是,这种网页防挂马能够拦截绝大多数的挂马行为。缺点是,拦截过于广泛,缺乏针对性,所有拦截到的操作都需要用户来决定是否继续,拦截的精确度太低,大部分的工作还要由用户来做。
发明内容
本发明克服了现有技术中的不足,提供一种更加精确的网页防挂马的方法。
为了解决上述技术问题,通过以下技术方案实现:一种网页防挂马的方法,包括如下步骤:
A、监视JavaScript的内存分配情况,判断被分配的堆是否覆盖到了0x0A0A0A0A、0x0C0C0C0C、0x0D0D0D0D三个地址之一;如果是,进入步骤B,如果否,进入步骤H;
B、挂接一些网络API函数和恶意代码常用或者必须用到的API函数,进入步骤C;
C、当所述API函数被调用时,判断API函数的返回地址是否跟0x0A0A0A0A、0x0C0C0C0C、0x0D0D0D0D三个地址之一在同一个内存块内;如果是,进入步骤D,如果否,进入步骤E;
D、网页已经被挂马,进入步骤G;
E、调用VirtualQuery来获取返回地址所在内存块的属性,判断该内存块属性的Type是否为MEM_IMAGE;如果是,进入步骤F,如果否,进入步骤D;
F、将返回地址所在模块的内存中的数据与该模块对应磁盘文件的数据进行比较;如果相同,进入步骤H,如果不相同,进入步骤D;
G、挂接的API函数返回失败,拦截挂马使用所述API函数对应的原始函数进行的有危害的操作,达到防御的目的;
H、未检测到网页被挂马,步骤B中挂接的API函数对原始函数放行,即调用原始函数完成相应的功能。
上述方法的理论基础是:检测第三方软件是否被挂马,等同于检测是否有第三方软件的漏洞被触发。现有的利用第三方软件漏洞挂马行为绝大多数都使用了JavaScript的HeapSpray技术。而上述方法可以精确、有效检测使用了JavaScript的HeapSpray技术所进行的漏洞利用,因此,上述方法可以进一步精确地检测网页挂马行为。
进一步的技术方案是:
执行完所述步骤H后进入步骤I,
I、拦截一些关键函数,判断其返回地址是否在栈空间里;如果是,拦截挂马使用所述关键函数进行的有危害的操作,达到防御的目的,如果否,对所拦截的关键函数放行。
通过上述步骤I的检测,可以再进一步检测是否有栈溢出漏洞被利用,使检测网页挂马的广度得以提高。
再进一步的技术方案是:
执行完所述步骤H后执行步骤I’,
I’、拦截若干关键函数,判断其返回地址是否在栈空间里;如果是,拦截挂马使用所述关键函数进行的有危害的操作,达到防御的目的,如果否,对所拦截的关键函数放行,并进入步骤J;
J、拦截若干关键函数,判断其返回地址的页属性是否含有PAGE_EXECUTE、PAGE_EXECUTE_READ、PAGE_EXECUTE_READWRITE、PAGE_EXECUTE_WRITECOPY中的任意一个;如果是,对该步骤J中所拦截的关键函数放行,如果否,拦截挂马使用所拦截关键函数进行的有危害的操作,达到防御的目的。
通过上述步骤J的检测,可以更进一步根据内存页属性来判断是否有漏洞被利用,使检测网页挂马的广度再次提高。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珠海金山软件股份有限公司,未经珠海金山软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810198999.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:包含反噪声发生器的半导体存储器件及其控制方法
- 下一篇:螺锁工具结构