浏览器防注入的方法、浏览器客户端和装置的制造方法

文档序号:8226014阅读:349来源:国知局
浏览器防注入的方法、浏览器客户端和装置的制造方法
【技术领域】
[0001]本发明涉及浏览器技术领域,具体涉及一种浏览器防注入的方法、一种浏览器客户端和一种带有浏览器客户端的装置。
【背景技术】
[0002]浏览器是指可以显示网页服务器或者文件系统的HTML(超文本标记语言,HyperText Mark-up Language))文件内容,并让用户与这些文件交互的一种软件。网页浏览器主要通过HTTP协议与网页服务器交互并获取网页,这些网页由URL(统一资源定位符,Uniform Resource Locator)指定,文件格式通常为HTML。
[0003]在浏览器使用过程中,可能有其他程序向浏览器注入LSP (Layered ServiceProvider,分层服务提供商)节点,即注入LSP的动态链接库,而这些动态链接库的功能是在Winsock中对浏览器发送的网络请求进行处理,其可以对浏览器进行劫持,比如网络请求被重定向到不安全网页、收藏夹里自动反复添加不安全网站、IE选项卡中出现不能更改或被隐藏的项目、获取在网页中的登录名和密码等,因此,这些程序注入的动态链接库对于用户的浏览器来说并不安全。

【发明内容】

[0004]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的浏览器客户端和相应的浏览器防注入方法。
[0005]依据本发明的一个方面,提供了一种浏览器防注入的方法,包括:
[0006]复制当前浏览器的源分层服务提供商链表,获得第一分层服务提供商链表;
[0007]将所述第一分层服务提供商链表中不允许访问的源节点转换为虚拟节点,得到转换后的第二分层服务提供商链表;所述虚拟节点实现各分层服务提供商接口并返回空值;
[0008]控制当前浏览器的网络请求通过所述第二分层服务提供商链表传输。
[0009]优选地,将所述第一分层服务提供商链表中不允许访问的源节点转换为虚拟节点,还包括:
[0010]通过所述源分层服务提供商链表的配置信息,获得第一分层服务提供商链表的各源节点的身份信息;
[0011]将所述各源节点的身份信息与预置的身份信息名单进行匹配,根据匹配结果确定不允许访问的源节点;
[0012]将所述不允许访问的源节点在注册表中的路径转换为虚拟节点的路径。
[0013]优选地,所述将所述不允许访问的源节点在注册表中的路径转换为虚拟节点的路径,包括:
[0014]所述浏览器向当前操作系统中的第一操作系统服务发送注册表路径设置请求,以便所述第一操作系统服务通过调用一虚拟的设备级驱动程序将所述不允许访问的源节点在注册表中的路径转换为虚拟节点的路径。
[0015]优选地,还包括:
[0016]浏览器获取第一操作系统服务的安装文件并进行安装,以得到所述当前操作系统中的第一操作系统服务。
[0017]优选地,所述浏览器向当前操作系统中的第一操作系统服务发送注册表路径设置请求,包括:
[0018]所述浏览器通过预置的接口向独立于浏览器的第二应用程序发送注册表路径设置请求;所述独立于浏览器的第二应用程序将所述注册表路径设置请求发送至当前操作系统中的第一操作系统服务,以便所述第一操作系统服务通过调用一虚拟的设备级驱动程序将所述不允许访问的源节点在注册表中的路径转换为虚拟节点的路径。
[0019]优选地,所述浏览器获取第一操作系统服务的安装文件并进行安装,以得到所述当前操作系统中的第一操作系统服务,包括:
[0020]获取第一操作系统服务的安装文件,通过所述第一操作系统服务的安装文件安装所述第一操作系统服务的动态链接库和所述虚拟的设备级驱动程序;
[0021]启动所述第一操作系统服务所在进程,以加载第一操作系统服务的动态链接库;所述第一操作系统服务通过所述动态链接库调用所述虚拟的设备级驱动程序。
[0022]优选地,所述浏览器获取第一操作系统服务的安装文件并进行安装,以得到所述当前操作系统中的第一操作系统服务,包括:
[0023]判断所述第一操作系统服务是否存在;如果所述第一操作系统服务不存在,则获取第一操作系统服务的安装文件并进行安装,以得到所述当前操作系统中的第一操作系统服务。
[0024]优选地,所述第一操作系统服务通过调用一虚拟的设备级驱动程序将所述不允许访问的源节点在注册表中的路径转换为虚拟节点的路径包括:
[0025]所述第一操作系统服务接收到所述注册表路径设置请求,根据所述注册表路径设置请求创建I/o请求包下发至所述虚拟的设备级驱动程序;
[0026]所述虚拟的设备级驱动程序接收到所述I/O请求包后,调用注册表修改函数将所述不允许访问的源节点在注册表中的路径转换为虚拟节点的路径。
[0027]优选地,在将所述不允许访问的源节点在注册表中的路径转换为虚拟节点的路径之前,还包括:
[0028]第一操作系统服务判断所述注册表路径设置请求的发送方是否为指定浏览器;
[0029]如果所述注册表路径设置请求的发送方不是指定浏览器,则不进入后续处理;
[0030]如果所述注册表路径设置请求的发送方是指定浏览器,则根据所述注册表路径设置请求创建I/o请求包下发至所述虚拟的设备级驱动程序。
[0031]优选地,所述注册表路径设置请求包括所述浏览器的身份验证信息;
[0032]进一步的,所述第一操作系统服务判断所述注册表路径设置请求的发送方是否为指定浏览器包括:
[0033]解析所述注册表路径设置请求中的身份验证信息,将所述身份验证信息与预先存储的身份验证信息进行匹配;如果匹配上,则判断所述注册表路径设置请求的发送方是指定浏览器。
[0034]优选地,在将所述不允许访问的源节点在注册表中的路径转换为虚拟节点的路径之前,还包括:
[0035]所述虚拟的设备级驱动程序根据所述I/O请求包判断所述注册表路径设置请求的发送方是否为指定浏览器;
[0036]如果所述注册表路径设置请求的发送方不是指定浏览器,则不进入后续处理;
[0037]如果所述注册表路径设置请求的发送方是指定浏览器,则调用注册表修改函数将所述不允许访问的源节点在注册表中的路径转换为虚拟节点的路径。
[0038]优选地,所述注册表路径设置请求包括所述浏览器的身份验证信息;
[0039]进一步的,所述虚拟的设备级驱动程序根据所述I/O请求包判断所述注册表路径设置请求的发送方是否为指定浏览器包括:
[0040]所述虚拟的设备级驱动程序接收由第一操作系统服务发送的I/O请求包;所述I/O请求包括浏览器的身份验证信息;
[0041]解析所述I/O请求包中的身份验证信息,将所述身份验证信息与预先存储的身份验证信息进行匹配;如果匹配上,则判断所述注册表路径设置请求的发送方是指定浏览器。
[0042]优选地,所述将当前浏览器的网络请求通过所述第二分层服务提供商链表传输包括:
[0043]通过所述源分层服务提供商链表的配置信息,从注册表查找第二分层服务提供商链表各节点的动态链接库并进行加载。
[0044]依据本发明的另外一个方面,还公开了一种浏览器客户端,包括:
[0045]网络组件,其配置为发起向服务器发送的网络请求;
[0046]防注入组件,具体包括:
[0047]链表复制模组,其配置为复制当前浏览器的源分层服务提供商链表,获得第一分层服务提供商链表;
[0048]链表转换模组,其配置为将所述第一分层服务提供商链表中不允许访问的源节点转换为虚拟节点,得到转换后的第二分层服务提供商链表;所述虚拟节点实现各分层服务提供商接口并返回空值;
[0049]请求控制模组,其配置为控制所述网络请求通过所述第二分层服务提供商链表传输。
[0050]优选地,所述链表转换模组包括:
[0051]源节点身份查找模组,其配置为通过所述源分层服务提供商链表的配置信息,获得第一分层服务提供商链表的各源节点的身份信息;
[0052]源节点转换确定模组,其配置为将所述各源节点的身份信息与预置的身份信息名单进行匹配,根据匹配结果确定不允许访问的源节点;
[0053]源节点转换模组,其配置为将所述不允许访问的源节点在注册表中的路径转换为虚拟节点的路径。
[0054]优选地,所述源节点转换模组包括:
[0055]第一转换模组,其配置为所述浏览器向当前操作系统中的第一操作系统服务发送注册表路径设置请求,以便所述第一操作系统服务通过调用一虚拟的设备级驱动程序将所述不允许访问的源节点在注册表中的路径转换为虚拟节点的路径。
[0056]优选地,所述的浏览器客户端,还包括:
[0057]服务安装模组,其配置为浏览器获取第一操作系统服务的安装文件并进行安装,以得到所述当前操作系统中的第一操作系统服务。
[0058]优选地,所述第一转换模组包括:
[0059]向外发送模组,其配置为所述浏览器通过预置的接口向独立于浏览器的第二应用程序发送注册表路径设置请求;所述独立于浏览器的第二应用程序将所述注册表路径设置请求发送至当前操作系统中的第一操作系统服务,以便所述第一操作系统服务通过调用一虚拟的设备级驱动程序将所述不允许访问的源节点在注册表中的路径转换为虚拟节点的路径,。
[0060]优选地,所述服务安装模组包括:
[0061]第一安装模组,其配置为获取第一操作系统服务的安装文件,通过所述第一操作系统服务的安装文件安装所述第一操作系统服务的动态链接库和所述虚拟的设备级驱动程序;
[0062]服务启动模组,其配置为启动所述第一操作系统服务所在进程,以加载第一操作系统服务的动态链接库;所述第一操作系统服务通过所述动态链接库调用所述虚拟的设备级驱动程序。
[0063]优选地,所述第一转换模组之前还包括:
[0064]服务判断模组,其配置为判断所述第一操作系统服务是否存在;如果所述第一操作系统服务不存在,则获取第一操作系统服务的安装文件并进行安装,以得到所述当前操作系统中的第一操作系统服务。
[0065]优选地,所述第一转换模组包括:
[0066]请求转换模组,其配置为所述第一操作系统服务接收到所述注册表路径设置请求,根据所述注册表路径设置请求创建I/o请求包下发至所述虚拟的设备级驱动程序;
[0067]第二转换模组,其配置为所述虚拟的设备级驱动程序接收到所述I/O请求包后,调用注册表修改函数将所述不允许访问的源节点在注册表中的路径转换为虚拟节点的路径。
[0068]优选地,所述第一转换模组还包括:
[0069]第一身份判断模组,其配置为在将所述不允许访问的源节点在注册表中的路径转换为虚拟节点的路径之前,第一操作系统服务判断所述注册表路径设置请求的发送方是否为指定浏览器;如果所述注册表路径设置请求的发送方不是指定浏览器,则不进入后续处理;如果所述注册表路径设置请求的发送方是指定浏览器,则根据所述注册表路径设置请求创建I/o请求包下发至所述虚拟的设备级驱动程序。
[0070]优选地,所述注册表路径设置请求包括所述浏览器的身份验证信息;
[0071]进一步的,所述第一身份判断模组,包括:
[0072]第一解析判断模组,其配置为解析所述注册表路径设置请求中的身份验证信息,将所述身份验证信息与预先存储的身份验证信息进行匹配;如果匹配上,则判断所述注册表路径设置请求的发送方是指定浏览器。
[0073]优选地,所述第一转换模组还包括:
[0074]第二身份判断模组,其配置为在将所述不允许访问的源节点在注册表中的路径转换为虚拟节点的路径之前,所述虚拟的设备级驱动程序根据所述I/o请求包判断所述注册表路径设置请求的发送方是否为指定浏览器;如果所述注册表路径设置请求的发送方不是指定浏览器,则不进入后续处理;如果所述注册表路径设置请求的发送方是指定浏览器,则调用注册表修改函数将所述不允许访问的源节点在注册表中的路径转换为虚拟节点的路径。
[0075]优选地,所述注册表路径设置请求包括所述浏览器的身份验证信息;
[0076]进一步的,所述第二身份判断模组包括:
[0077]I/O请求包接收模组,其配置为所述虚拟的设备级驱动程序接收由第一操作系统服务发送的I/o请求包;所述I/O请求包括浏览器的身份验证信息;
[0078]第二解析判断模组,其配置为解析所述I/O请求包中的身份验证信息,将所述身份验证信息与预先存储的身份验证信息进行匹配;如果匹配上,则判断所述注册表路径设置请求的发送方是指定浏览器。
[0079]优选地,所述请求控制模组包括:
[0080]第二链表加载模组,其配置为通过所述源分层服务提供商链表的配置信息,从注册表查找第二分层服务提供商链表各节点的动态链接库并进行加载。
[0081]依据本发明的另外一个方面,还公开了一种带有浏览器客户端的装置,包括:
[0082]处理器,以及加载有多条可执行指令的存储器,所述多条指令包括执行以下步骤的方法:
[0083]发起向服务
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1