CN104536981B - 实现浏览器安全的方法、浏览器客户端和装置 - Google Patents
实现浏览器安全的方法、浏览器客户端和装置 Download PDFInfo
- Publication number
- CN104536981B CN104536981B CN201410743201.0A CN201410743201A CN104536981B CN 104536981 B CN104536981 B CN 104536981B CN 201410743201 A CN201410743201 A CN 201410743201A CN 104536981 B CN104536981 B CN 104536981B
- Authority
- CN
- China
- Prior art keywords
- browser
- intercept
- window message
- independently
- window
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 414
- 230000008569 process Effects 0.000 claims abstract description 359
- 230000004048 modification Effects 0.000 claims abstract description 133
- 238000012986 modification Methods 0.000 claims abstract description 133
- 238000009434 installation Methods 0.000 claims abstract description 86
- 230000006870 function Effects 0.000 claims description 112
- 230000002155 anti-virotic effect Effects 0.000 claims description 24
- 230000005540 biological transmission Effects 0.000 claims description 20
- 238000002347 injection Methods 0.000 claims description 19
- 239000007924 injection Substances 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 17
- 244000035744 Hura crepitans Species 0.000 claims description 16
- 230000008859 change Effects 0.000 claims description 14
- 230000010354 integration Effects 0.000 claims description 14
- 238000006243 chemical reaction Methods 0.000 claims description 9
- 238000001514 detection method Methods 0.000 claims description 8
- 230000003362 replicative effect Effects 0.000 claims description 5
- 238000012795 verification Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 4
- 239000011800 void material Substances 0.000 description 6
- 235000014510 cooky Nutrition 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000011900 installation process Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000001035 drying Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种实现浏览器安全的方法、浏览器客户端,涉及浏览器技术领域。所述方法包括:在浏览器进行安装时,通过浏览器安装包在浏览器所在操作系统中安装一随操作系统启动而启动的系统服务;在浏览器中内置一安全组件,浏览器启动后通过该安全组件调用所述系统服务,拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改。本发明的实现浏览器安全的方法,将与安全相关的系统服务写入浏览器的逻辑中,使安全功能成为浏览器本身的一个功能,通过浏览器内置的安全组件调用所述系统服务保护浏览器本身的安全,由此解决了浏览器无法通过自身对自己的安全性进行监控和保护的问题。
Description
技术领域
本发明涉及浏览器技术领域,具体涉及一种实现浏览器安全的方法、浏览器客户端和一种带有浏览器客户端的装置。
背景技术
浏览器是指可以显示网页服务器或者文件系统的HTML(超文本标记语言,HyperText Mark-up Language))文件内容,并让用户与这些文件交互的一种软件。网页浏览器主要通过HTTP协议与网页服务器交互并获取网页,这些网页由URL(统一资源定位符,Uniform Resource Locator)指定,文件格式通常为HTML。
但是传统的浏览器对于自身的安全很少能进行监控和处理,需要借助于第三方的杀毒软件对浏览器的进行安全保护,由于需要与其他软件进行交互,其需要将很多浏览器接口开放给第三方程序,而很多不安全的程序也可以利用这些接口,导致浏览器的信息和操作很容易被劫持,使用户在使用浏览器过程中存在潜在的不安全性,其浏览器安全保护的自主性、灵活性差。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的浏览器客户端和相应的实现浏览器安全的方法。
依据本发明的一个方面,提供了一种实现浏览器安全的方法,包括:
在浏览器进行安装时,通过浏览器安装包在浏览器所在操作系统中安装一随操作系统启动而启动的系统服务;
在浏览器中内置一安全组件,浏览器启动后通过该安全组件调用所述系统服务,
拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改。
优选地,所述浏览器数据包括浏览器访问的网页数据,
进一步的,所述拦截独立于浏览器进程的第一进程对浏览器数据的修改包括:
针对浏览器访的网页数据,通过所述安全组件调用系统服务,对所述网页数据进行安全扫描。
优选地,拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改包括:
拦截独立于浏览器进程的第一进程对浏览器数据中的安全信息的获取;所述安全信息包括网址、下载文件、电话号码、公众号、即时聊天号其中至少一个。
优选地,还包括:
调用系统服务获取浏览器的安全的更新文件,以进行更新。
优选地,拦截独立于浏览器进程的第一进程对浏览器数据的修改包括:
拦截独立于浏览器进程的第一进程对操作系统中与浏览器相关的配置参数的修改。
优选地,拦截独立于浏览器进程的第一进程对操作系统中与浏览器相关的配置信息的修改包括:
拦截独立于浏览器的第二进程将当前操作系统中HTTP协议的关联处理程序从当前浏览器修改为其他处理程序的操作;
和/或,拦截独立于浏览器的第二进程对当前浏览器功能的配置信息的修改。
优选地,拦截独立于浏览器进程的第一进程对浏览器数据的修改包括:
拦截独立于浏览器进程的第一进程对当前浏览器记录的用户个性化数据的修改。
优选地,拦截独立于浏览器进程的第一进程对浏览器数据的修改包括:
对于浏览器访问的网址,利用云杀毒引擎对所述网址进行安全判定;如果所述网址不安全,则进行拦截。
优选地,拦截独立于浏览器进程的第一进程对浏览器数据的修改包括:
对于通过浏览器下载的文件,利用云杀毒引擎对所述文件进行安全检测。
优选地,拦截独立于浏览器进程的第一进程对浏览器数据的修改包括:
当确定浏览器打开的网页为网购页面时,检测当前的网购环境是否安全;
进一步的,还包括:针对当前的网购页面,在所述安全的系统环境生成保护单号。
优选地,拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改包括:
判断当前打开的网页是否安全,如果不安全,则将所述网页对于的网页进程放入沙箱运行。
优选地,拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改包括:
拦截独立于浏览器的第一进程向浏览器注入代码以劫持浏览器。
优选地,所述拦截独立于浏览器的第一进程向浏览器注入代码以劫持浏览器包括:
复制当前浏览器的源分层服务提供商链表,获得第一分层服务提供商链表;
将所述第一分层服务提供商链表中不允许访问的源节点转换为虚拟节点,得到转换后的第二分层服务提供商链表;所述虚拟分层服务提供商节点实现各分层服务提供商接口并返回空值;
将当前浏览器的网络请求通过所述第二分层服务提供商链表传输。
优选地,将所述第一分层服务提供商链表中不允许访问的源节点转换为虚拟节点,包括:
通过所述源分层服务提供商链表的配置信息,获得源分层服务提供商链表的各源节点的身份信息;
将所述各源节点的身份信息与预置的身份信息名单进行匹配,根据匹配结果确定不允许访问的源节点;
将所述不允许访问的源节点在注册表中的路径转换为虚拟节点的路径。
优选地,所述拦截独立于浏览器的第一进程向浏览器注入代码以劫持浏览器包括:
加载用于拦截窗口消息的窗口消息钩子函数;
针对操作系统中的窗口消息,通过所述窗口消息钩子函数进行拦截;
判断所述窗口消息是否为劫持浏览器的窗口消息;
如果所述窗口消息是劫持浏览器的窗口消息,则停止所述窗口消息的传输。
优选地,所述加载用于拦截窗口消息的窗口消息钩子函数,包括:
调用动态链接库加载函数加载所述窗口消息钩子函数所在的动态链接库,以加载所述窗口消息钩子函数。
优选地,所述判断所述窗口消息是否为劫持浏览器的窗口消息,包括:
将所述窗口消息所属的窗口句柄名与预置的窗口句柄名单进行匹配;如果所述窗口句柄匹配上,则确定所述窗口消息为劫持浏览器的窗口消息。
优选地,还包括:
获取所述窗口句柄所属应用程序的验证签名;
对所述验证签名进行验证,如果所述验证失败,则确定所述窗口消息为劫持浏览器才窗口消息。
优选地,所述针对操作系统中的窗口消息,通过所述窗口消息钩子函数进行拦截包括:
针对操作系统中的创建窗口的窗口消息,通过所述窗口消息钩子函数进行拦截。
优选地,所述拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改包括:
利用所述系统服务,通过调用一虚拟的设备级驱动程序拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改。
依据本发明的另外一个方面,提供了一种浏览器客户端,包括:
安装组件,其配置为在浏览器进行安装时,通过浏览器安装包在浏览器所在操作系统中安装一随操作系统启动而启动的系统服务;
安全组件,其配置为在浏览器中内置一安全组件,浏览器启动后通过该安全组件调用所述系统服务,拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改。
优选地,所述浏览器数据包括浏览器访问的网页数据,
进一步的,所述安全组件包括:
网页安全模组,其配置为针对浏览器访的网页数据,通过所述安全组件调用系统服务,对所述网页数据进行安全扫描。
优选地,所述安全组件包括:
安全信息拦截模组,其配置为拦截独立于浏览器进程的第一进程对浏览器数据中的安全信息的获取;所述安全信息包括网址、下载文件、电话号码、公众号、即时聊天号其中至少一个。
优选地,还包括:
安全更新模组,其配置为调用系统服务获取浏览器的安全的更新文件,以进行更新。
优选地,所述安全组件包括:
配置保护模组,其配置为拦截独立于浏览器进程的第一进程对操作系统中与浏览器相关的配置参数的修改。
优选地,所述配置保护模组包括:
默认浏览器保护模组,其配置为拦截独立于浏览器的第二进程将当前操作系统中HTTP协议的关联处理程序从当前浏览器修改为其他处理程序的操作;
和/或,浏览器功能配置保护模组,其配置为拦截独立于浏览器的第二进程对当前浏览器功能的配置信息的修改。
优选地,所述安全组件包括:
个性化数据保护模组,其配置为拦截独立于浏览器进程的第一进程对当前浏览器记录的用户个性化数据的修改。
优选地,所述安全组件包括:
网址云保护模组,其配置为对于浏览器访问的网址,利用云杀毒引擎对所述网址进行安全判定;如果所述网址不安全,则进行拦截。
优选地,所述安全组件包括:
下载文件保护模组,其配置为对于通过浏览器下载的文件,利用云杀毒引擎对所述文件进行安全检测。
优选地,所述安全组件包括:
网购保护模组,其配置为当确定浏览器打开的网页为网购页面时,检测当前的网购环境是否安全;;
进一步的,还包括:
保护单号生成模组,其配置为针对当前的网购页面,在所述安全的系统环境生成保护单号。
优选地,所述安全组件包括:
沙箱运行模组,其配置为判断当前打开的网页是否安全,如果不安全,则将所述网页对于的网页进程放入沙箱运行。
优选地,所述安全组件包括:
注入拦截模组,其配置为拦截独立于浏览器的第一进程向浏览器注入代码以劫持浏览器。
优选地,所述注入拦截模组包括:
链表复制模组,其配置为复制当前浏览器的源分层服务提供商链表,获得第一分层服务提供商链表;
链表转换模组,其配置为将所述第一分层服务提供商链表中不允许访问的源节点转换为虚拟节点,得到转换后的第二分层服务提供商链表;所述虚拟分层服务提供商节点实现各分层服务提供商接口并返回空值;
请求控制模组,其配置为将当前浏览器的网络请求通过所述第二分层服务提供商链表传输。
优选地,所述链表转换模组包括:
节点身份获取模组,其配置为通过所述源分层服务提供商链表的配置信息,获得源分层服务提供商链表的各源节点的身份信息;
节点身份确定模组,其配置为将所述各源节点的身份信息与预置的身份信息名单进行匹配,根据匹配结果确定不允许访问的源节点;
节点转换模组,其配置为将所述不允许访问的源节点在注册表中的路径转换为虚拟节点的路径。
优选地,所述注入拦截模组包括:
钩子加载模组,其配置为加载用于拦截窗口消息的窗口消息钩子函数;
窗口信息拦截模组,其配置为针对操作系统中的窗口消息,通过所述窗口消息钩子函数进行拦截;
窗口信息判断模组,其配置为判断所述窗口消息是否为劫持浏览器的窗口消息;
窗口信息处理模组,其配置为如果所述窗口消息是劫持浏览器的窗口消息,则停止所述窗口消息的传输。
优选地,所述钩子加载模组包括:
第一钩子加载模组,其配置为调用动态链接库加载函数加载所述窗口消息钩子函数所在的动态链接库,以加载所述窗口消息钩子函数。
优选地,所述窗口信息判断模组包括:
句柄匹配模组,其配置为将所述窗口消息所属的窗口句柄名与预置的窗口句柄名单进行匹配;如果所述窗口句柄匹配上,则确定所述窗口消息为劫持浏览器的窗口消息。
优选地,还包括:
签名获取模组,其配置为获取所述窗口句柄所属应用程序的验证签名;
签名验证模组,其配置为对所述验证签名进行验证,如果所述验证失败,则确定所述窗口消息为劫持浏览器才窗口消息。
优选地,所述窗口信息拦截模组包括:
创建拦截模组,其配置为针对操作系统中的创建窗口的窗口消息,通过所述窗口消息钩子函数进行拦截。
优选地,所述安全组件包括:
第一安全模组,其配置为利用所述系统服务,通过调用一虚拟的设备级驱动程序拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改。
依据本发明的另外一个方面,提供了一种带有浏览器客户端的装置,包括:
处理器,以及加载有多条可执行指令的存储器,所述多条指令包括执行以下步骤的方法:
在浏览器进行安装时,通过浏览器安装包在浏览器所在操作系统中安装一随操作系统启动而启动的系统服务;
在浏览器中内置一安全组件,浏览器启动后通过该安全组件调用所述系统服务,拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改。
优选地,所述浏览器数据包括浏览器访问的网页数据,
进一步的,所述拦截独立于浏览器进程的第一进程对浏览器数据的修改包括:
针对浏览器访的网页数据,通过所述安全组件调用系统服务,对所述网页数据进行安全扫描。
优选地,拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改包括:
拦截独立于浏览器进程的第一进程对浏览器数据中的安全信息的获取;所述安全信息包括网址、下载文件、电话号码、公众号、即时聊天号其中至少一个。
优选地,还包括:
调用系统服务获取浏览器的安全的更新文件,以进行更新。
优选地,拦截独立于浏览器进程的第一进程对浏览器数据的修改包括:
拦截独立于浏览器进程的第一进程对操作系统中与浏览器相关的配置参数的修改。
优选地,拦截独立于浏览器进程的第一进程对操作系统中与浏览器相关的配置信息的修改包括:
拦截独立于浏览器的第二进程将当前操作系统中HTTP协议的关联处理程序从当前浏览器修改为其他处理程序的操作;
和/或,拦截独立于浏览器的第二进程对当前浏览器功能的配置信息的修改。
优选地,拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改包括:
拦截独立于浏览器的第一进程向浏览器注入代码以劫持浏览器。
优选地,所述拦截独立于浏览器的第一进程向浏览器注入代码以劫持浏览器包括:
复制当前浏览器的源分层服务提供商链表,获得第一分层服务提供商链表;
将所述第一分层服务提供商链表中不允许访问的源节点转换为虚拟节点,得到转换后的第二分层服务提供商链表;所述虚拟分层服务提供商节点实现各分层服务提供商接口并返回空值;
将当前浏览器的网络请求通过所述第二分层服务提供商链表传输。
优选地,所述拦截独立于浏览器的第一进程向浏览器注入代码以劫持浏览器包括:
加载用于拦截窗口消息的窗口消息钩子函数;
针对操作系统中的窗口消息,通过所述窗口消息钩子函数进行拦截;
判断所述窗口消息是否为劫持浏览器的窗口消息;
如果所述窗口消息是劫持浏览器的窗口消息,则停止所述窗口消息的传输。
根据本发明的实现浏览器安全的方法,可在传统浏览器的功能上,将与安全相关的系统服务写入浏览器的逻辑中,使安全功能成为浏览器本身的一个功能,通过浏览器内置的安全组件调用所述系统服务,拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改,由此解决了浏览器无法通过自身对自己的安全性进行监控和保护的问题,取得了可以由浏览器自身对浏览器的安全进行保护的有益效果。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的一种实现浏览器安全的方法的流程示意图;
图2示出了根据本发明一个实施例的一种实现浏览器安全的方法的流程示意图;
图3示出了根据本发明一个实施例的一种实现浏览器安全的方法的流程示意图;
图4示出了根据本发明一个实施例的一种浏览器客户端的结构示意图;
图5示出了根据本发明一个实施例的一种浏览器客户端的结构示意图;
图6示出了根据本发明一个实施例的一种浏览器客户端的结构示意图;
图7示出了根据本发明一个实施例的一种带有浏览器客户端的装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例一
参照图1,其示出了本发明一种实现浏览器安全的方法的流程示意图,具体可以包括:
步骤110,在浏览器进行安装时,通过浏览器安装包在浏览器所在操作系统中安装一随操作系统启动而启动的系统服务;
在本发明实施例中,将浏览器中会内置一个安全组件,对应安全组件会设置一个系统服务,提供安全保护需要的系统权限,该系统服务在浏览器安装包中跟随浏览器的安装逻辑一起安装,该系统服务只与浏览器的安全组件进行内部交互,其不需要适于浏览器针对外部应用程序的接口,可以在浏览器内部进行安全保护。
那么,在本发明实施例中,在浏览器进行安装时,通过浏览器安装包在浏览器所在操作系统中安装一随操作系统启动而启动的系统服务。在安装所述系统服务时,还可由浏览器安装包由所述系统服务控制安装对应的虚拟的设备级驱动程序,虚拟的设备级驱动程序属于内核级程序,其具有操作系统的最高权限,所述系统服务可以在需要时调用所述虚拟的设备级驱动程序去执行拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改的操作。
在系统服务安装时会在系统文件中生成一个dll文件,并将该dll的相关参数写入操作系统服务的注册表中。同时,会将虚拟的设备级驱动程序的sys文件安装至操作系统,并将sys文件的相关参数写入注册表中。操作系统启动后,会启动系统服务的exe文件,等待浏览器的安全组件的通知。
步骤120,在浏览器中内置一安全组件,浏览器启动后通过该安全组件调用所述系统服务,拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改。
本发明在浏览器传统的功能组件架构之上,还内置了一个安全组件,浏览器启动后通过该安全组件调用所述启动后的系统服务,以拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改,即对浏览器的相关数据进行保护。
优选地,所述通过该安全组件调用所述系统服务,拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改包括:
子步骤131,通过该安全组件调用所述系统服务,控制虚拟的设备级驱动程序拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改。
对于安全保护来说,很多的操作需要系统的高级权限,比如对于windows系统,其至少分为内核级权限和用户级权限,对于浏览器这个用户层的程序来说,其属于用户级权限,其操作受到很多限制,比如修改拦截其他进程的操作、修改某些注册表的操作在用户级权限的定义中均被认为是不允许的,其无法实现对浏览器的安全保护操作。那么本发明则可以通过系统服务去控制虚拟的设备级驱动,得到内核级权限,而内核级权限是最高权限,可以进行任意操作。因此,可以实现浏览器对自身的安全保护操作。
优选地,所述浏览器数据包括浏览器访问的网页数据。
在本发明实施例中,用户在使用浏览器访问网页过程中可从服务器获得的网页数据,那么本发明可对网页数据进行保护。
进一步的,所述拦截独立于浏览器进程的第一进程对浏览器数据的修改包括:
子步骤132,针对浏览器访的网页数据,通过所述安全组件调用系统服务,对所述网页数据进行安全扫描。
在用户使用浏览器发起网络访问请求,获取网页数据进行解析、渲染的过程中,本发明实施例的安全组件则针对浏览器访的网页数据,通过所述安全组件调用系统服务,对所述网页数据进行安全扫描。在扫描时,可以根据预先在云端服务器搜集和统计得到的url(Uniform Resoure Locator:统一资源定位符)网址库,扫描所述网页的url是否为安全的url,比如是否为诈骗的url、钓鱼url等,如果不安全,则可获取所述url对应的网页内容,提示用户关闭所述网页,当用户选择继续访问所述网页时才继续获取所述url对应的网页内容;也可以扫描所述网页内容中是否存在不安全的链接,比如分析所述网页内容中的广告部分内容的url,根据前述url网址库判断所述广告url是否安全,如果不安全,则可暂停渲染所述广告内容部分或者将广告内容部分替换为安全内容,还可提示用户提示用户关闭所述网页,当用户选择继续访问所述网页时才继续访问所述url。
也可以对网页中调用的的js文件进行判断,判断该js文件是否安全,如果不安全,则禁止所述js文件的调用。
当然对于不安全的url的处理可以将其放入沙箱中运行,即优选的,拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改包括:
子步骤133,判断当前打开的网页是否安全,如果不安全,则将所述网页对于的网页进程放入沙箱运行。
沙箱是一种按照安全策略限制程序行为的执行环境。由于每个网页数据的处理均需要在一个网页进程中执行,那么当判断该网页数据不安全时,可以将处理该网页数据的网页进程放入沙箱中运行,限制其运行权限。避免网页中的木马、恶意脚本的执行而影响到本地系统的安全。
优选地,拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改包括:
子步骤134,拦截独立于浏览器进程的第一进程对浏览器数据中的安全信息的获取;所述安全信息包括网址、下载文件、电话号码、公众号、即时聊天号其中至少一个。
在浏览器的使用过程中,其存在大量的数据,比如访问网页时的url,收藏夹中收藏的url,由浏览器的下载器所下载的文件,用户在网页中输入的电话号码、登录微博等社交网站的公众号、在网页中输入的即时聊天号、银行账户信息等个性化信息,以及cookie中记录的用户登录各个网站的登录账号和密码等登录信息。本发明对浏览器本身记录的上述个性化信息均可进行保护,拦截独立于浏览器进程的第一进程对所述个性化信息的获取。本发明可以监控在浏览器指定位置读取浏览器cookie信息的进程,或者监控读取收藏夹的url的进程是否为浏览器进程,如果不是,则可认为其是独立于浏览器进程的第一进程,那么拦截其获取动作。或者判断当前网页是否需要输入账号信息(公众号、银行账户、邮箱账户、即时通讯账户等信息)的网页,如果是,则判断是否有获取所述账号信息的进程是否为浏览器进程,如果不是,则可认为其是独立于浏览器进程的第一进程,那么拦截其获取动作。
优选地,还包括:
子步骤135,调用系统服务获取浏览器的安全的更新文件,以进行更新。
在本发明实施例中,对于浏览器的更新,为了防止有被篡改了内容的更新文件,比如加入了木马的更新文件,在浏览器获取更新文件时获取到上述更新文件,本发明则调用系统服务获取浏览器的更新文件,因为系统服务本身具备较高的安全性,其获取更新文件时,其更新文件不容易被替换,同时也可检测所述更新文件是否是安全的更新文件,那么进行更新时,能对浏览器进行安全更新。
优选地,拦截独立于浏览器进程的第一进程对浏览器数据的修改包括:
子步骤136,拦截独立于浏览器进程的第一进程对操作系统中与浏览器相关的配置参数的修改。
在本发明实施例中,浏览器本身在操作系统中会进行相关的配置,比如设置为操作系统的默认浏览器,比如存储浏览器功能配置参数。
本发明则可拦截独立于浏览器进程的第一进程对上述这些操作系统中与浏览器相关的配置参数的修改。
进一步的,优选地,所述拦截独立于浏览器进程的第一进程对操作系统中与浏览器相关的配置信息的修改包括:
子步骤137,拦截独立于浏览器的第二进程将当前操作系统中HTTP协议的关联处理程序从当前浏览器修改为其他处理程序的操作;
本发明可以拦截修改当前操作系统默认浏览器的操作,保证当前浏览器设置为操作系统的默认浏览器。在拦截过程中,可以拦截对注册表中HKEY_CLASSES_ROOT\http\shell\open\command子键的默认根值项和注册表中KEY_CLASSES_ROOT\http\shell\open\ddeexec\Application子键的默认根值项的修改操作。比如当有独立于浏览器的第二进程调用RegSetValueEx()函数,修改上述注册表项时,则对该进程的调用进行拦截,不让其调用。
其中RegSetValueEx()为注册表修改函数,其函数原型为:
RegSetValueEx(
HKEY hKey,//打开当前句柄,也可以是注册表五个根键之一
LPCTSTR lpValueName,//字符串类型指针,指向设置键值的值项名称
LPDWORD lpReserved,//保留置,通常为0
DWORD dwType,//要设置键值项数值的类型
const BYTE*lpData,//指向设置的数值所在的缓冲区指针,如果不想设置可设为NULL
DWORD cbData);//指定lpData数据的缓冲区的长度,以字节为单位。
和/或,子步骤138,拦截独立于浏览器的第二进程对当前浏览器功能的配置信息的修改。
另外,也可以对浏览器功能配置信息的修改,比如配置的浏览器的首页页信息,配置的是否打开广告过滤插件,配置的工具栏显示内容,配置的快捷键的功能等等功能配置信息。以浏览器首页为例,可以拦截修改注册表中浏览器首页键值的函数,独立于浏览器的第二进程可以先查找注册表中浏览器首页键值,比如通过当ADVAPI32!RegQueryValueExW或者SHDOCVW!URLSubRegQueryW查询注册表首页键值,然后调用RegSetValueEx()函数修改所述键值,本发明则可直接对浏览器的第二进程对上述函数的调用进行拦截。
优选地,拦截独立于浏览器进程的第一进程对浏览器数据的修改包括:
子步骤138,拦截独立于浏览器进程的第一进程对当前浏览器记录的用户个性化数据的修改。
在本发明实施例中,浏览器本地会记录很多用户的个性化数据,比如用户收藏的网页,在收藏是一般是以网页名字的形式显示URL。那么可能有独立于浏览器进程的第一进程在网页名字的基础之下把内部的URL修改了,那么用户点在收藏夹中击该网页名字时,访问的并不是其收藏时的网页,而是修改后的网页,其存在安全风险。另外,浏览器本地也可能存储cookie信息,而cookie中可能记录了用户访问的各种信息,比如访问了哪些网站、登录了哪些账户和密码等,那么独立于浏览器的进程如果获取到上述数据,则用户的个性化数据则泄密了。
那么,本发明则可拦截独立于浏览器进程的第一进程对上述浏览器记录的用户个性化数据的修改以及获取。
优选地,拦截独立于浏览器进程的第一进程对浏览器数据的修改包括:
子步骤139,对于浏览器访问的网址,利用云杀毒引擎对所述网址进行安全判定;如果所述网址不安全,则进行拦截。
在本发明实施例中,为了降低浏览器的规模,即避免浏览器对自己进行安全保护时,其文件特别大,本发明则结合了云杀毒引擎的方式,即安全组件获取到所述url后,通过所述安全模组调用云杀毒引擎,在云杀毒引擎中对所述url的安全性进行判断,然后云杀毒引擎将判断结果返回给安全模组,安全模组则分析所述判断结果,如果所述URL不安全,则通过系统服务拦截所述url的加载,进一步的,还可将所述url对应的网页进程放入沙箱中运行。当然,也可以提示用户的该url的不安全状态。
优选地,拦截独立于浏览器进程的第一进程对浏览器数据的修改包括:
子步骤140,对于通过浏览器下载的文件,利用云杀毒引擎对所述文件进行安全检测。
在用户使用浏览器的过程中,也可能通过浏览器的下载器以下载文件,本发明实施例也可对浏览器下载文件的过程进行安全保护。比如对浏览器触发的下载链接,通过云杀毒引擎判断所述下载链接是否安全,如果不安全,则通知安全组件,提示用户是否需要继续下载,安全组件同时通过系统服务对所述下载过程进行拦截。对于浏览器下载器中下载完成的文件,安全组件则可以通过系统服务获取所述文件的特征信息,系将所述特征信息上传至云杀毒引擎以判断所述文件是否安全,并将云杀毒引擎的判断结果返回浏览器的安全组件,然后安全组件则可在下载器中该文件的相应位置提示所述文件是否安全。
优选地,拦截独立于浏览器进程的第一进程对浏览器数据的修改包括:
子步骤141,当确定浏览器打开的网页为网购页面时,检测当前的网购环境是否安全;;
在本发明实施例中对于浏览器打开的网页,还可判断该网页是否为网购页面,当确定浏览器打开的网页为网购页面时,检测系统环境是否安全。
具体的,本实施例中,根据预先收集的购物类网站集合,分析每个购物类网站的域名,提取每个购物类网站的网购特征词,得到网购特征词集合;例如,淘宝网的域名为www.taobao.com,将taobao设为淘宝网的网购特征词添加到网购特征词集合;当用户通过终端浏览器当前登陆的网站域名为paimai.taobao.com时,由于该域名中包括的关键词taobao与网购特征词集合中包括的网购特征词taobao相匹配,则可以确定用户当前登陆的网站为购物类网站,同理,本实施例也可以根据预先收集的支付类网站集合,分析每个支付类网站的域名,提取每个支付类网站的支付特征词,得到支付特征词集合;例如,招商银行的域名为www.cmbchina.com,将cmbchina设为招商银行网站的支付特征词,并添加到预设支付特征词集合中;当用户当前登陆的网站域名为ccclub.cmbchina.com时,由于该域名中包括的关键词cmbchina与支付特征词集合中包括的支付特征词cmbchina相匹配,则可以确定用户当前登陆的网站为支付类网站,其对应的网页也可以理解为网页页面。
那么本发明则可以监控网购环境是否安全。比如判断本地系统环境是否安全,比如有独立于浏览器的进程获取所述网页中的信息,如果有则可将系统环境调整为针对网购页面的安全的系统环境。还比如检测网购页面本身的安全,比如根据所述网购页面所在网站的IP地址,若所述IP地址包括在IP地址黑名单中,则确定所述网站是危险网页,网购页面也是危险页面。又比如根据所述网购页面的统一资源定位符URL,计算所述URL的哈希值,若计算的所述哈希值包括在哈希值黑名单中,则确定所述网购页面是危险页;举例来说,在实际应用中,根据黑名单网站列表中包括的危险网页的URL,检测每个危险网页的URL的refer链地址,计算每个危险网页的refer链地址的哈希值,得到哈希值黑名单;因此,当前访问的网站是网购页面时,获取该网购页面的URL的refer链地址,计算该网购页面的refer链地址的哈希值,若该网购页面的refer链地址的哈希值在上述哈希值黑名单中,则确定该网购页面的危险概率较大。
进一步的,还包括:
子步骤142,针对当前的网购页面,在所述安全的系统环境生成保护单号。
在本发明实施例中,对于用户使用浏览器进行网购时,本发明可针对用户的网购行为进行额外赔偿保护,当用户在本发明的安全浏览器的架构下网购时被骗之后,本发明可以对其在当前的安全的系统环境下生成保护单号,记录用户的网购行为,并传输至服务器,如果用户被骗,则可以向服务器申请赔偿,服务器接收到所述申请后,则根据所述保护单号判断是否符合赔偿条件以进行赔偿。
优选地,拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改包括:
子步骤144,拦截独立于浏览器的第一进程向浏览器注入代码以劫持浏览器。
在浏览器使用过程中,可能有其他程序向浏览器注入一些动态链接库,以控制浏览器执行自己需要的逻辑,比如网络请求被重定向到不安全网页、收藏夹里自动反复添加不安全网站、IE选项卡中出现不能更改或被隐藏的项目、获取在网页中的登录名和密码等,因此,这些程序注入的动态链接库对于用户的浏览器来说并不安全。而本发明则可通过安全组件调用所述系统服务拦截上述独立于浏览器的第一进程向浏览器注入劫持浏览器的代码。
在本发明实施例中,所述对浏览器安装文件和/或浏览器数据的修改中的修改可以理解为对其进行篡改或者获取。
所述拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改包括:
子步骤145,利用所述系统服务,通过调用一虚拟的设备级驱动程序拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改。
在本发明实施例中,前述提及的拦截过程,可以通过所述系统服务调用虚拟的设备级驱动进行拦截,其通过内核级权限进行拦截,保证拦截的成功率。
本发明实施例中,对于浏览器架构也进行了全新的改动,在浏览器的传统架构之上,即在浏览器传统的组件:用户界面组件,包括地址栏、后退/前进按钮、书签目录等,也就是除了用来显示你所请求页面的主窗口之外的其他部分;浏览器引擎组件,用来查询及操作渲染引擎的接口;渲染引擎组件,用来显示请求的内容,例如,如果请求内容为html,它负责解析html及css,并将解析后的结果显示出来;网络组件,用来完成网络调用,例如http请求;UI后端组件,用来绘制类似组合选择框及对话框等基本组件;JS解释器组件,用来解释执行JS代码;数据存储组件,浏览器需要在硬盘中保存类似cookie的各种数据;等组件的架构之上,添加了安全组件,并相应该安全组件设置了系统服务,该安全组件将上述组件工作过程中产生的数据通过系统服务进行保护,提高了浏览器安全保护的自主性、灵活性,不用依赖于第三方的杀毒软件。
实施例二
参照图2,其示出了本发明一种实现浏览器安全的方法的流程示意图,具体可以包括:
步骤210,在浏览器进行安装时,通过浏览器安装包在浏览器所在操作系统中安装一随操作系统启动而启动的系统服务;
步骤220,在浏览器中内置一安全组件,浏览器启动后通过该安全组件调用所述系统服务,拦截拦截独立于浏览器的第一进程向浏览器注入代码以劫持浏览器,具体包括:
步骤S222,复制当前浏览器的源分层服务提供商链表,获得第一分层服务提供商链表;
在实际应用中,其他应用程序可按照正常方式向浏览器注入LSP(LayeredService Provider,分层服务提供商)节点,即向浏览器注入LSP的DLL(Dynamic LinkLibrary,动态链接库),注入后会将LSP的DLL写入注册表中(比如写入注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parame ters的相应位置中),并将相关配置信息写入浏览器的源LSP链表的配置信息中,该配置信息中记录了上述dll的注册表位置等信息。那么,按照传统的方式,浏览器启动后,向外发送请求之前,会根据浏览器源LSP链表的配置信息加载源LSP链表,即加载LSP链表中各节点的dll,然后浏览器的网络请求会从源LSP链表中的第一个LSP节点开始,向下逐个通过LSP节点进行传输,直到传输到其他协议层,比如TCP/IP协议层。
但是本发明在浏览器的第一个网络请求发出之前,会首先对源LSP链表进行转换。首先即复制一份源LSP链表,比如将源LSP链表中的有序的dll文件复制一份,该复制版本作为第一LSP链表以备后续处理。
比如源LSP链表为:A.dll—>B.dll—>C.dll—>D.dll,复制得到的第一LSP链表为A.dll—>B.dll—>C.dll—>D.dll。当然,本发明实施例中可以通过浏览器的源LSP链表的配置信息,查找注册表中记录的各源节点的路径,然后通过所述路径将源LSP链表的各个源节点进行复制。
步骤S224,将所述第一分层服务提供商链表中不允许访问的源节点转换为虚拟节点,得到转换后的第二分层服务提供商链表;所述虚拟分层服务提供商节点实现各分层服务提供商接口并返回空值;
将前述复制得到的第一LSP链表,可逐个判断所述第一LSP链表中的各个节点是否为不允许访问的源节点。其中,对源节点的判断可以通过节点的名称进行判断,比如一个LSP节点的名称为mswsock.dll,可以通过白名单或者说黑名单进行判断。比如将允许访问的源节点的名称写入白名单,那么第一LSP链表中的各节点不在白名单中时,即不允许访问,或者可以理解为不允许加载该LSP节点的dll。在本发明实施例中,可以只将系统初始情况下默认的LSP节点名称写入白名单,当然还可以将其他安全的应用程序注入的LSP节点名称写入白名单,该白名单可以通过服务器进行更新。同理,也可以构建LSP节点的黑名单。
对于不允许访问的源节点,本发明实施例则将其转换为虚拟节点,即fake.dll,该虚拟的LSP节点可以实现LSP的所有接口,那么该虚拟节点的上一个节点传输的网络请求可以正常访问该虚拟节点,该虚拟节点对网络请求的不进行处理,即返回空值NULL,然后继续将网络请求向下传输。因此该虚拟节点不会产生网络请求发送的异常,导致不能上网等情况。那么在将不允许访问的源节点替换为前述虚拟节点后,即得到第二LSP链表。
优选地,将所述第一分层服务提供商链表中不允许访问的源节点转换为虚拟节点,包括:
子步骤S2241,通过所述源分层服务提供商链表的配置信息,获得源分层服务提供商链表的各源节点的身份信息;
由于第一LSP链表中的各个节点与源LSP链表的各节点完全一致,那么即可通过读取浏览器中源LSP链表的配置信息,获得第一分层服务提供商链表的各源节点的身份信息。在源LSP链表的配置信息中,一般存储了源节点的身份信息,比如对于每个节点记录的注册表项及记录的名称、顺序等信息,那么本发明实施例可以通过配置信息确定各个节点身份信息,比如其名称。比如上述例子中,可以获得各第一LSP链表中各个节点的身份信息按序为A、B、C、D。
子步骤S2242,将所述各源节点的身份信息与预置的身份信息名单进行匹配,根据匹配结果确定不允许访问的源节点;
在本发明实施例中,可以构建身份信息白名单或者身份信息黑名单,对所述各源节点的身份信息进行匹配。比如白名单中设置[A、D],那么将A、B、C、D分别与上述白名单进行匹配后,确定名称B、C的源节点不允许访问。
子步骤S2243,将所述不允许访问的源节点在注册表中的路径转换为虚拟节点的路径,得到第二分层服务提供商链表;
在本发明实施例中,可以预先设置虚拟节点,如fake.dll,存储与指定路径。
而源节点如果要使用,则需要通过注册表中对应的注册表项所记录的源节点路径去加载所述源节点,那么可将不允许访问的源节点在注册表中对应注册表项的路径替换为虚拟节点的路径。
在本发明实施例中,可以针对所有不允许访问的源节点设置一个虚拟节点,将将不允许访问的源节点在注册表中对应注册表项的路径替换为该虚拟节点的路径,比如都替换为fake.dll的路径。当然,也可以根据确定的不允许访问的源节点个数,以初始设置的虚拟节点为蓝本,复制相应个数的虚拟节点,并将各个虚拟节点的文件名修改为不一样,比如前述例子有B、C两个节点,那么可以复制得到两个虚拟节点fake1.dll、fake2.dll,各自有一个路径,那么B.dll的注册表路径修改为fake1.dll的路径,C.dll的注册表路径修改为fake2.dll的路径。
如此,得到第二LSP链表,该链表的中允许加载的源节点保留,不允许加载的源节点即转换为了虚拟节点。
优选地,所述将所述不允许访问的源节点在注册表中的路径转换为虚拟节点的路径包括:
子步骤A2242,所述系统服务接收安全组件向系统服务发送的注册表路径设置请求,并根据所述注册表路径设置请求创建I/O请求包下发至所述虚拟的设备级驱动程序;
在本发明实施例中,系统服务会随系统启动而启动,并一直维持运行,监听是否收到浏览器发送的请求,如果接收到浏览器发送的注册表路径设置请求,则会根据所述注册表路径设置请求创建I/O请求包(I/O Request Packet,IRP)下发至所述虚拟的设备级驱动。因为windows操作系统从应用层向底层驱动传送指令是通过I/O请求包传输的。系统服务调用本发明实施例中虚拟的设备级驱动,则标需要以所述设备级驱动为目构建IRP,然后将所述IRP下发至所述设备级驱动中。所述IRP包括控制所述设备级驱动将所述不允许访问的源节点在注册表中的路径转换为虚拟节点的路径的指令,比如包括了不允许访问节点的注册表项信息,对应该不允许访问节点的虚拟节点的路径等信息。
子步骤A2243,所述虚拟的设备级驱动程序接收到所述I/O请求包后,调用注册表修改函数将所述不允许访问的源节点在注册表中的路径转换为虚拟节点的路径。
所述虚拟的设备级确定程序接收到所述系统服务下发的I/O请求包后,解析所述I/O请求包中的指令,得到不允许访问节点的注册表项信息,以及对应该不允许访问节点的虚拟节点的路径信息,那么可以调用注册表修改函数,将该不允许访问的源节点在注册表中的路径转换为虚拟节点的路径。
步骤S226,将当前浏览器的网络请求通过所述第二分层服务提供商链表传输。
那么,对于浏览器的网络请求,即可控制其通过所述第二LSP链表进行传输。
优选地,所述将当前浏览器的网络请求通过所述第二分层服务提供商链表传输包括:
子步骤S2261,通过所述源分层服务提供商链表的配置信息,从注册表查找第二分层服务提供商链表各节点的动态链接库并进行加载。
由于本发明实施例没有修改浏览器的源分层服务提供商链表的配置信息,只是修改了与配置信息对应的节点路径以及节点内容,浏览器根据原LSP链表的配置信息去获取相应的dll时,对于替换了路径的源节点配置信息,其会从其注册表项中记录的路径加载虚拟节点,最终即加载了第二LSP链表,并未加载不允许访问的真实的源节点的dll。
在本发明实施例中,可以安全组件可以通过系统服务,去调用虚拟的设备级驱动将所述第一分层服务提供商链表中不允许访问的源节点转换为虚拟节点。其中,可以通过注册表修改函数RegSetValueEx()函数将该不允许访问的源节点在注册表中的路径转换为虚拟节点的路径。
在浏览器的网络请求向外传输过程中,其需要先通过LSP链表的处理,才能向下传输至通信协议层(比如TCP/IP层),然后再传输至外部,那么传统技术可以向LSP链表中注入自定义的LSP节点,以对浏览器的网络请求进行劫持和处理,可能产生安全风险等问题。而本发明实施例中,无论其他应用程序如何注入LSP节点,本发明实施例中,在浏览器发送第一个网络请求之前,将系统中包括应用程序注入的LSP节点的源LSP链表进行替换为第二LSP链表,其中将不需要访问的源节点替换为虚拟节点,完全不用理会有多少个应用程序注入了多少个LSP节点,也可保证浏览器下发的网络请求通过安全的LSP链表进行传输,提高了浏览器的安全性。
实施例三
参照图3,其示出了本发明一种实现浏览器安全的方法的流程示意图,具体可以包括:
步骤310,在浏览器进行安装时,通过浏览器安装包在浏览器所在操作系统中安装一随操作系统启动而启动的系统服务;
步骤320,在浏览器中内置一安全组件,浏览器启动后通过该安全组件调用所述系统服务,拦截拦截独立于浏览器的第一进程向浏览器注入代码以劫持浏览器,具体包括:
步骤S321,加载用于拦截窗口消息的窗口消息钩子函数;
在本发明实施例中加载CBT钩子函数WH_CBT,该WH_CBT钩子函数当windows窗口激活、创建、释放(关闭)、最小化、最大化或改变窗口时的窗口消息都可通过该WH_CBT进行拦截。本发明则可以加载上述CBT钩子函数。
优选地,所述加载用于拦截窗口消息的窗口消息钩子函数,包括:
子步骤S3211,调用动态链接库加载函数加载所述窗口消息钩子函数所在的动态链接库,以加载所述窗口消息钩子函数。
WH_CBT需要通过SetWindowsHookEx函数进行安装,其函数原型为:SetWindowsHookEx(
int idHook,
HOOKPROC lpfn,
HINSTANCE hMod,
DWORD dwThreadId;
其中,int idHook=WH_CBT;
HOOKPROC lpfn为/钩子过程的指针,也即拦截到指定系统消息后的预处理过程,须定义在DLL中;
HINSTANCE hMod,应用程序实例的句柄,可以为CBT钩子所在DLL;
HINSTANCE hMod,该参数被设置为0,表示此钩子为监视系统所有线程的全局钩子。
由于上述安装逻辑需要以dll的方式实现,而对于dll的加载和运行,则可通过动态链接库加载函数LoadLibrary加载CBT钩子所在的dll,并把CBT钩子的执行逻辑也一并加载。LoadLibrary函数原型如下:
LoadLibraryA(
__in LPCSTR lpLibFileName
);
其中lpLibFileName为dll的名称。
那么通过上述方式,把CBT钩子函数所在的dll进行加载,从而即加载了CBT钩子函数以及其钩取到窗口消息后的处理逻辑。
优选地,所述加载用于拦截窗口消息的窗口消息钩子函数,包括:
子步骤A322,所述系统服务接收安全组件向系统服务发送的加载请求,根据所述加载请求创建I/O请求包下发至所述虚拟的设备级驱动程序;
在本发明实施例中,系统服务会随系统启动而启动,并一直维持运行,监听是否收到浏览器发送的请求,如果接收到浏览器发送的加载请求,则会根据所述加载请求创建I/O请求包(I/O Request Packet,IRP)下发至所述虚拟的设备级驱动。因为windows操作系统从应用层向底层驱动传送指令是通过I/O请求包传输的。系统服务调用本发明实施例中虚拟的设备级驱动,则标需要以所述设备级驱动为目构建IRP,然后将所述IRP下发至所述设备级驱动中。所述IRP包括控制所述设备级驱动加载CBT钩子函数的信息,比如CBT钩子函数所在dll的路径。
子步骤A323,所述虚拟的设备级驱动程序接收到所述I/O请求包后,调用动态链接库加载函数加载用于拦截窗口消息的窗口消息钩子函数。
所述虚拟的设备级确定程序接收到所述系统服务下发的I/O请求包后,解析所述I/O请求包中的指令,得到CBT钩子函数所在dll的信息,那么可以调用动态链接库加载函数,加载所述窗口消息钩子函数所在的动态链接库,以加载所述窗口消息钩子函数。通过上述方式,即加载CBT钩子函数。
步骤S322,针对操作系统中的窗口消息,通过所述窗口消息钩子函数进行拦截;
在本发明实施例中,当有应用程序向浏览器注入不安全的动态链接库时,其是通过窗口消息控制操作系统向浏览器注入,那么本发明可以在其发送窗口消息时即可通过CBT钩子函数对其进行拦截。
步骤S323,判断所述窗口消息是否为劫持浏览器的窗口消息;如果所述窗口消息是劫持浏览器的窗口消息,转入步骤S324;
在本发明实施例中,可以根据拦截的窗口消息的窗口句柄判断其是否为劫持浏览器的窗口消息。
优选地,所述判断所述窗口消息是否为劫持浏览器的窗口消息,包括:
子步骤S3231,将所述窗口消息所属的窗口句柄名与预置的窗口句柄名单进行匹配;如果所述窗口句柄匹配上,则确定所述窗口消息为劫持浏览器的窗口消息。
在本发明实施例中,对于浏览器之外的其他应用程序,如果要向浏览器注入劫持浏览器的dll,其需要通过窗口消息启动相应的窗口等操作,在该窗口之下发送执行dll注入过程,windows系统则对接收到窗口消息进行处理,比如执行dll安装过程,将该dll写入浏览器指定位置,将dll的相关参数写入与浏览器相关的注册表项中。而每个窗口均有窗口句柄,那么本发明可以预先对向浏览器注入不符合安全要求的dll的应用程序启动的窗口句柄进行统计,生成窗口句柄黑名单。那么本发明对于拦截到的窗口消息,可以直接通过所述窗口消息获取其所属的窗口句柄,将其与黑名单中的窗口句柄进行匹配,如果匹配上,则确定所述窗口消息为劫持浏览器的窗口消息,即可以通过窗口句柄的匹配结果确定所述窗口消息是否为劫持浏览器的窗口消息。
当然,本发明预置的窗口句柄名单,可以不断根据对应用程序的分析进行更新,其可以通过云服务器更新到客户端中。
优选地,还包括:
子步骤S3232,获取所述窗口句柄所属应用程序的验证签名;
子步骤S3233,对所述验证签名进行验证,如果所述验证失败,则确定所述窗口消息为劫持浏览器才窗口消息。
如果验证成功,则放行所述窗口消息。
在本发明实施例中,对于窗口消息,在判断其窗口句柄在预置的窗口句柄名单之内后,还可以获取所述窗口句柄所属应用程序的验证签名,比如第三方安全平台的验证签名,然后对该数字签名与预先记录的验证签名进行匹配,如果匹配上,则说明该窗口句柄的应用程序安装的dll安全,可以允许其进行安装,如果验证失败,则可认为该窗口句柄的应用程序安装的dll不安全,拒绝其进行安装。当然,所述验证签名也可以通过云端服务器进行更新。
子步骤S3231、子步骤S3232、子步骤S3233的组合可对窗口消息进行多重判断,使对窗口消息的拦截范围可以灵活的进行配置,允许安全的应用程序向浏览器注入dll,不允许不安全的应用程序向浏览器注入dll,也保护了浏览器的安全性。
优选地,所述针对操作系统中的窗口消息,通过所述窗口消息钩子函数进行拦截包括:
子步骤S3234,针对操作系统中的创建窗口的窗口消息,通过所述窗口消息钩子函数进行拦截。
在本发明实施例中,可以理解,当一个应用程序要向浏览器注入dll时,其需要执行安装过程,而安装过程在windows系统首先需要创建一个安装用的窗口,本发明实施例则可只拦截创建窗口的窗口消息,本发明实施例则可只拦截创建窗口的窗口消息,可判断其是否为向浏览器注入不安全的dll的应用程序的窗口消息。
优选地,所述针对操作系统中的创建窗口的窗口消息,通过所述窗口消息钩子函数进行拦截包括:
子步骤321,针对操作系统中的创建窗口的WM_CREATE消息,通过所述窗口消息钩子函数进行拦截。
WM_CREATE是windows中一个窗口消息,当一个应用程序通过CreateWindowEx函数或者CreateWindow函数请求创建窗口时发送此消息。那么应用程序创建向浏览器注入dll的安装窗口时,也会发送WM_CREATE消息。那么本发明即可通过CBT钩子就可拦截到应用程序创建的所述安装窗口的WM_CREATE消息。
本实施例则可只拦截创建窗口的窗口消息,当其为预先记录的要向浏览器注入不安全dll的应用程序发送的创建窗口的消息,则可停止对应窗口的创建,从而避免应用程序将不安全的dll注入浏览器。并且由于只拦截创建窗口的窗口消息,不拦截其他类型的窗口消息,降低了拦截的范围,避免占用过多的系统资源。
步骤S324,停止所述窗口消息的传输。
如果所述窗口消息不是劫持浏览器的窗口消息,则放行所述窗口消息。
那么对于确定CBT钩子拦截的窗口消息为劫持浏览器的窗口消息后,即可停止该消息的后续传输过程,不让其进行后续处理。比如将所述窗口消息删除。
当然,确定所述窗口消息为劫持浏览器的窗口消息后,还可生成弹出框,提示用户有应用程序向浏览器注入不安全的dll,等待用户选择是否运行该窗口消息继续传输,如果用户选择继续传输,则放弃拦截,如果用户选择不继续传输,则可停止所述窗口消息的传输。
本发明实施例可针对想将dll注入浏览器的应用程序,在其创建窗口、或者在其所在窗口之下发送窗口消息时即对其进行拦截,即在应用程序执行具体的dll注入过程之前就进行拦截,然后对窗口消息进行判断,当根据窗口消息判断其为劫持浏览器的消息时,则停止窗口消息的传输,不让其进行后续操作,可以直接防止所述应用程序对浏览器注入不安全的dll,从而保护了浏览器的安全性。
实施例四
参照图4,其示出了本发明一种浏览器客户端的结构示意图,具体可以包括:
安装组件410,其配置为在浏览器进行安装时,通过浏览器安装包在浏览器所在操作系统中安装一随操作系统启动而启动的系统服务;
安全组件420,其配置为在浏览器中内置一安全组件,浏览器启动后通过该安全组件调用所述系统服务,拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改。
优选地,所述浏览器数据包括浏览器访问的网页数据,
进一步的,所述安全组件包括:
网页安全模组,其配置为针对浏览器访的网页数据,通过所述安全组件调用系统服务,对所述网页数据进行安全扫描。
优选地,所述安全组件包括:
安全信息拦截模组,其配置为拦截独立于浏览器进程的第一进程对浏览器数据中的安全信息的获取;所述安全信息包括网址、下载文件、电话号码、公众号、即时聊天号其中至少一个。
优选地,还包括:
安全更新模组,其配置为调用系统服务获取浏览器的安全的更新文件,以进行更新。
优选地,所述安全组件包括:
配置保护模组,其配置为拦截独立于浏览器进程的第一进程对操作系统中与浏览器相关的配置参数的修改。
优选地,所述配置保护模组包括:
默认浏览器保护模组,其配置为拦截独立于浏览器的第二进程将当前操作系统中HTTP协议的关联处理程序从当前浏览器修改为其他处理程序的操作;
和/或,浏览器功能配置保护模组,其配置为拦截独立于浏览器的第二进程对当前浏览器功能的配置信息的修改。
优选地,所述安全组件包括:
个性化数据保护模组,其配置为拦截独立于浏览器进程的第一进程对当前浏览器记录的用户个性化数据的修改。
优选地,所述安全组件包括:
网址云保护模组,其配置为对于浏览器访问的网址,利用云杀毒引擎对所述网址进行安全判定;如果所述网址不安全,则进行拦截。
优选地,所述安全组件包括:
下载文件保护模组,其配置为对于通过浏览器下载的文件,利用云杀毒引擎对所述文件进行安全检测。
优选地,所述安全组件包括:
网购保护模组,其配置为当确定浏览器打开的网页为网购页面时,检测当前的网购环境是否安全;;
进一步的,还包括:
保护单号生成模组,其配置为针对当前的网购页面,在所述安全的系统环境生成保护单号。
优选地,所述安全组件包括:
沙箱运行模组,其配置为判断当前打开的网页是否安全,如果不安全,则将所述网页对于的网页进程放入沙箱运行。
优选地,所述安全组件包括:
注入拦截模组,其配置为拦截独立于浏览器的第一进程向浏览器注入代码以劫持浏览器。
优选地,所述安全组件包括:
第一安全模组,其配置为利用所述系统服务,通过调用一虚拟的设备级驱动程序拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改。
实施例五
参照图5,其示出了本发明一种浏览器客户端的结构示意图,具体可以包括:
安装组件510,其配置为在浏览器进行安装时,通过浏览器安装包在浏览器所在操作系统中安装一随操作系统启动而启动的系统服务;
安全组件520,其配置为在浏览器中内置一安全组件,浏览器启动后通过该安全组件调用所述系统服务,拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改,包括:
注入拦截模组521,其配置为拦截独立于浏览器的第一进程向浏览器注入代码以劫持浏览器,具体包括:
链表复制模组5211,其配置为复制当前浏览器的源分层服务提供商链表,获得第一分层服务提供商链表;
链表转换模组5212,其配置为将所述第一分层服务提供商链表中不允许访问的源节点转换为虚拟节点,得到转换后的第二分层服务提供商链表;所述虚拟分层服务提供商节点实现各分层服务提供商接口并返回空值;
请求控制模组5213,其配置为将当前浏览器的网络请求通过所述第二分层服务提供商链表传输。
优选地,所述链表转换模组5212包括:
节点身份获取模组,其配置为通过所述源分层服务提供商链表的配置信息,获得源分层服务提供商链表的各源节点的身份信息;
节点身份确定模组,其配置为将所述各源节点的身份信息与预置的身份信息名单进行匹配,根据匹配结果确定不允许访问的源节点;
节点转换模组,其配置为将所述不允许访问的源节点在注册表中的路径转换为虚拟节点的路径。
优选地,所述链表转换模组5212包括:
请求接收模组,其配置为所述第一操作系统服务接收安全模组发送的注册表路径设置请求,并根据所述注册表路径设置请求创建I/O请求包下发至所述虚拟的设备级驱动程序;
第二转换模组,其配置为所述虚拟的设备级驱动程序接收到所述I/O请求包后,调用注册表修改函数将所述不允许访问的源节点在注册表中的路径转换为虚拟节点的路径。
实施例六
参照图6,其示出了本发明一种浏览器客户端的结构示意图,具体可以包括:
安装组件610,其配置为在浏览器进行安装时,通过浏览器安装包在浏览器所在操作系统中安装一随操作系统启动而启动的系统服务;
安全组件620,其配置为在浏览器中内置一安全组件,浏览器启动后通过该安全组件调用所述系统服务,拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改,包括:
注入拦截模组621,其配置为拦截独立于浏览器的第一进程向浏览器注入代码以劫持浏览器,具体包括:
钩子加载模组6212,其配置为加载用于拦截窗口消息的窗口消息钩子函数;
窗口信息拦截模组6213,其配置为针对操作系统中的窗口消息,通过所述窗口消息钩子函数进行拦截;
窗口信息判断模组6214,其配置为判断所述窗口消息是否为劫持浏览器的窗口消息;
窗口信息处理模组6215,其配置为如果所述窗口消息是劫持浏览器的窗口消息,则停止所述窗口消息的传输。
优选地,所述钩子加载模组包括:
第一钩子加载模组,其配置为调用动态链接库加载函数加载所述窗口消息钩子函数所在的动态链接库,以加载所述窗口消息钩子函数。
优选地,所述窗口信息判断模组包括:
句柄匹配模组,其配置为将所述窗口消息所属的窗口句柄名与预置的窗口句柄名单进行匹配;如果所述窗口句柄匹配上,则确定所述窗口消息为劫持浏览器的窗口消息。
优选地,还包括:
签名获取模组,其配置为获取所述窗口句柄所属应用程序的验证签名;
签名验证模组,其配置为对所述验证签名进行验证,如果所述验证失败,则确定所述窗口消息为劫持浏览器才窗口消息。
优选地,所述窗口信息拦截模组包括:
创建拦截模组,其配置为针对操作系统中的创建窗口的窗口消息,通过所述窗口消息钩子函数进行拦截。
优选地,所述钩子加载模组6212包括:
请求接收模组,其配置为第一操作系统服务接收安全组件发送的加载请求,并根据所述加载请求创建I/O请求包下发至所述虚拟的设备级驱动程序;
驱动加载模组,其配置为所述虚拟的设备级驱动程序接收到所述I/O请求包后,调用动态链接库加载函数加载用于拦截窗口消息的窗口消息钩子函数。
实施例七
参照图7,其示出了本发明一种带有浏览器客户端的装置的结构示意图,所述装置700具体可以包括:
处理器710,以及加载有多条可执行指令的存储器720,所述多条指令包括执行以下步骤的方法:
在浏览器进行安装时,通过浏览器安装包在浏览器所在操作系统中安装一随操作系统启动而启动的系统服务;
在浏览器中内置一安全组件,浏览器启动后通过该安全组件调用所述系统服务,拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改。
所述浏览器数据包括浏览器访问的网页数据,
进一步的,所述拦截独立于浏览器进程的第一进程对浏览器数据的修改包括:
针对浏览器访的网页数据,通过所述安全组件调用系统服务,对所述网页数据进行安全扫描。
优选地,拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改包括:
拦截独立于浏览器进程的第一进程对浏览器数据中的安全信息的获取;所述安全信息包括网址、下载文件、电话号码、公众号、即时聊天号其中至少一个。
优选地,还包括:调用系统服务获取浏览器的安全的更新文件,以进行更新。
优选地,拦截独立于浏览器进程的第一进程对浏览器数据的修改包括:
拦截独立于浏览器进程的第一进程对操作系统中与浏览器相关的配置参数的修改。
优选地,拦截独立于浏览器进程的第一进程对操作系统中与浏览器相关的配置信息的修改包括:
拦截独立于浏览器的第二进程将当前操作系统中HTTP协议的关联处理程序从当前浏览器修改为其他处理程序的操作;
和/或,拦截独立于浏览器的第二进程对当前浏览器功能的配置信息的修改。
优选地,拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改包括:
拦截独立于浏览器的第一进程向浏览器注入代码以劫持浏览器。
优选地,所述拦截独立于浏览器的第一进程向浏览器注入代码以劫持浏览器包括:
复制当前浏览器的源分层服务提供商链表,获得第一分层服务提供商链表;
将所述第一分层服务提供商链表中不允许访问的源节点转换为虚拟节点,得到转换后的第二分层服务提供商链表;所述虚拟分层服务提供商节点实现各分层服务提供商接口并返回空值;
将当前浏览器的网络请求通过所述第二分层服务提供商链表传输。
优选地,所述拦截独立于浏览器的第一进程向浏览器注入代码以劫持浏览器包括:
加载用于拦截窗口消息的窗口消息钩子函数;
针对操作系统中的窗口消息,通过所述窗口消息钩子函数进行拦截;
判断所述窗口消息是否为劫持浏览器的窗口消息;
如果所述窗口消息是劫持浏览器的窗口消息,则停止所述窗口消息的传输。
当然,所述多条指令还包括执行前述各个步骤的方法。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的实现浏览器安全设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
A1、一种实现浏览器安全的方法,包括:
在浏览器进行安装时,通过浏览器安装包在浏览器所在操作系统中安装一随操作系统启动而启动的系统服务;
在浏览器中内置一安全组件,浏览器启动后通过该安全组件调用所述系统服务,
拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改。
A2、如A1所述的方法,所述浏览器数据包括浏览器访问的网页数据,
进一步的,所述拦截独立于浏览器进程的第一进程对浏览器数据的修改包括:
针对浏览器访的网页数据,通过所述安全组件调用系统服务,对所述网页数据进行安全扫描。
A3、如A1所述的方法,拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改包括:
拦截独立于浏览器进程的第一进程对浏览器数据中的安全信息的获取;所述安全信息包括网址、下载文件、电话号码、公众号、即时聊天号其中至少一个。
A4、如A1所述的方法,还包括:
调用系统服务获取浏览器的安全的更新文件,以进行更新。
A5、如A1所述的方法,拦截独立于浏览器进程的第一进程对浏览器数据的修改包括:
拦截独立于浏览器进程的第一进程对操作系统中与浏览器相关的配置参数的修改。
A6、如A5所述的方法,拦截独立于浏览器进程的第一进程对操作系统中与浏览器相关的配置信息的修改包括:
拦截独立于浏览器的第二进程将当前操作系统中HTTP协议的关联处理程序从当前浏览器修改为其他处理程序的操作;
和/或,拦截独立于浏览器的第二进程对当前浏览器功能的配置信息的修改。
A7、如A1所述的方法,拦截独立于浏览器进程的第一进程对浏览器数据的修改包括:
拦截独立于浏览器进程的第一进程对当前浏览器记录的用户个性化数据的修改。
A8、如A1所述的方法,拦截独立于浏览器进程的第一进程对浏览器数据的修改包括:
对于浏览器访问的网址,利用云杀毒引擎对所述网址进行安全判定;如果所述网址不安全,则进行拦截。
A9、如A1所述的方法,拦截独立于浏览器进程的第一进程对浏览器数据的修改包括:
对于通过浏览器下载的文件,利用云杀毒引擎对所述文件进行安全检测。
A10、如A1所述的方法,拦截独立于浏览器进程的第一进程对浏览器数据的修改包括:
当确定浏览器打开的网页为网购页面时,检测当前的网购环境是否安全;;
进一步的,还包括:针对当前的网购页面,在所述安全的系统环境生成保护单号。
A11、如A2所述的方法,拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改包括:
判断当前打开的网页是否安全,如果不安全,则将所述网页对于的网页进程放入沙箱运行。
A12、如A1所述的方法,拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改包括:
拦截独立于浏览器的第一进程向浏览器注入代码以劫持浏览器。
A13、如A12所述的方法,所述拦截独立于浏览器的第一进程向浏览器注入代码以劫持浏览器包括:
复制当前浏览器的源分层服务提供商链表,获得第一分层服务提供商链表;
将所述第一分层服务提供商链表中不允许访问的源节点转换为虚拟节点,得到转换后的第二分层服务提供商链表;所述虚拟分层服务提供商节点实现各分层服务提供商接口并返回空值;
将当前浏览器的网络请求通过所述第二分层服务提供商链表传输。
A14、如A13所述的方法,将所述第一分层服务提供商链表中不允许访问的源节点转换为虚拟节点,包括:
通过所述源分层服务提供商链表的配置信息,获得源分层服务提供商链表的各源节点的身份信息;
将所述各源节点的身份信息与预置的身份信息名单进行匹配,根据匹配结果确定不允许访问的源节点;
将所述不允许访问的源节点在注册表中的路径转换为虚拟节点的路径。
A15、如A12所述的方法,所述拦截独立于浏览器的第一进程向浏览器注入代码以劫持浏览器包括:
加载用于拦截窗口消息的窗口消息钩子函数;
针对操作系统中的窗口消息,通过所述窗口消息钩子函数进行拦截;
判断所述窗口消息是否为劫持浏览器的窗口消息;
如果所述窗口消息是劫持浏览器的窗口消息,则停止所述窗口消息的传输。
A16、如A15所述的方法,所述加载用于拦截窗口消息的窗口消息钩子函数,包括:
调用动态链接库加载函数加载所述窗口消息钩子函数所在的动态链接库,以加载所述窗口消息钩子函数。
A17、如A16所述的方法,所述判断所述窗口消息是否为劫持浏览器的窗口消息,包括:
将所述窗口消息所属的窗口句柄名与预置的窗口句柄名单进行匹配;如果所述窗口句柄匹配上,则确定所述窗口消息为劫持浏览器的窗口消息。
A18、如A16所述的方法,还包括:
获取所述窗口句柄所属应用程序的验证签名;
对所述验证签名进行验证,如果所述验证失败,则确定所述窗口消息为劫持浏览器才窗口消息。
A19、如A18所述的方法,所述针对操作系统中的窗口消息,通过所述窗口消息钩子函数进行拦截包括:
针对操作系统中的创建窗口的窗口消息,通过所述窗口消息钩子函数进行拦截。
A20、如A1所述的方法,所述拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改包括:
利用所述系统服务,通过调用一虚拟的设备级驱动程序拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改。
本发明还公开了B21、一种浏览器客户端,包括:
安装组件,其配置为在浏览器进行安装时,通过浏览器安装包在浏览器所在操作系统中安装一随操作系统启动而启动的系统服务;
安全组件,其配置为在浏览器中内置一安全组件,浏览器启动后通过该安全组件调用所述系统服务,拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改。
B22、如B21所述的浏览器客户端,所述浏览器数据包括浏览器访问的网页数据,
进一步的,所述安全组件包括:
网页安全模组,其配置为针对浏览器访的网页数据,通过所述安全组件调用系统服务,对所述网页数据进行安全扫描。
B23、如B21所述的浏览器客户端,所述安全组件包括:
安全信息拦截模组,其配置为拦截独立于浏览器进程的第一进程对浏览器数据中的安全信息的获取;所述安全信息包括网址、下载文件、电话号码、公众号、即时聊天号其中至少一个。
B24、如B21所述的浏览器客户端,还包括:
安全更新模组,其配置为调用系统服务获取浏览器的安全的更新文件,以进行更新。
B25、如B21所述的浏览器客户端,所述安全组件包括:
配置保护模组,其配置为拦截独立于浏览器进程的第一进程对操作系统中与浏览器相关的配置参数的修改。
B26、如B25所述的浏览器客户端,所述配置保护模组包括:
默认浏览器保护模组,其配置为拦截独立于浏览器的第二进程将当前操作系统中HTTP协议的关联处理程序从当前浏览器修改为其他处理程序的操作;
和/或,浏览器功能配置保护模组,其配置为拦截独立于浏览器的第二进程对当前浏览器功能的配置信息的修改。
B27、如B21所述的浏览器客户端,所述安全组件包括:
个性化数据保护模组,其配置为拦截独立于浏览器进程的第一进程对当前浏览器记录的用户个性化数据的修改。
B28、如B21所述的浏览器客户端,所述安全组件包括:
网址云保护模组,其配置为对于浏览器访问的网址,利用云杀毒引擎对所述网址进行安全判定;如果所述网址不安全,则进行拦截。
B29、如B21所述的浏览器客户端,所述安全组件包括:
下载文件保护模组,其配置为对于通过浏览器下载的文件,利用云杀毒引擎对所述文件进行安全检测。
B30、如B21所述的浏览器客户端,所述安全组件包括:
网购保护模组,其配置为当确定浏览器打开的网页为网购页面时,检测当前的网购环境是否安全;;
进一步的,还包括:
保护单号生成模组,其配置为针对当前的网购页面,在所述安全的系统环境生成保护单号。
B31、如B22所述的浏览器客户端,所述安全组件包括:
沙箱运行模组,其配置为判断当前打开的网页是否安全,如果不安全,则将所述网页对于的网页进程放入沙箱运行。
B32、如B22所述的浏览器客户端,所述安全组件包括:
注入拦截模组,其配置为拦截独立于浏览器的第一进程向浏览器注入代码以劫持浏览器。
B33、如B32所述的方法,所述注入拦截模组包括:
链表复制模组,其配置为复制当前浏览器的源分层服务提供商链表,获得第一分层服务提供商链表;
链表转换模组,其配置为将所述第一分层服务提供商链表中不允许访问的源节点转换为虚拟节点,得到转换后的第二分层服务提供商链表;所述虚拟分层服务提供商节点实现各分层服务提供商接口并返回空值;
请求控制模组,其配置为将当前浏览器的网络请求通过所述第二分层服务提供商链表传输。
B34、如B33所述的浏览器客户端,所述链表转换模组包括:
节点身份获取模组,其配置为通过所述源分层服务提供商链表的配置信息,获得源分层服务提供商链表的各源节点的身份信息;
节点身份确定模组,其配置为将所述各源节点的身份信息与预置的身份信息名单进行匹配,根据匹配结果确定不允许访问的源节点;
节点转换模组,其配置为将所述不允许访问的源节点在注册表中的路径转换为虚拟节点的路径。
B35、如B32所述的浏览器客户端,所述注入拦截模组包括:
钩子加载模组,其配置为加载用于拦截窗口消息的窗口消息钩子函数;
窗口信息拦截模组,其配置为针对操作系统中的窗口消息,通过所述窗口消息钩子函数进行拦截;
窗口信息判断模组,其配置为判断所述窗口消息是否为劫持浏览器的窗口消息;
窗口信息处理模组,其配置为如果所述窗口消息是劫持浏览器的窗口消息,则停止所述窗口消息的传输。
B36、如B35所述的浏览器客户端,所述钩子加载模组包括:
第一钩子加载模组,其配置为调用动态链接库加载函数加载所述窗口消息钩子函数所在的动态链接库,以加载所述窗口消息钩子函数。
B37、如B36所述的浏览器客户端,所述窗口信息判断模组包括:
句柄匹配模组,其配置为将所述窗口消息所属的窗口句柄名与预置的窗口句柄名单进行匹配;如果所述窗口句柄匹配上,则确定所述窗口消息为劫持浏览器的窗口消息。
B38、如B36所述的浏览器客户端,还包括:
签名获取模组,其配置为获取所述窗口句柄所属应用程序的验证签名;
签名验证模组,其配置为对所述验证签名进行验证,如果所述验证失败,则确定所述窗口消息为劫持浏览器才窗口消息。
B39、如B38所述的浏览器客户端,所述窗口信息拦截模组包括:
创建拦截模组,其配置为针对操作系统中的创建窗口的窗口消息,通过所述窗口消息钩子函数进行拦截。
B40、如B21所述的浏览器客户端,所述安全组件包括:
第一安全模组,其配置为利用所述系统服务,通过调用一虚拟的设备级驱动程序拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改。
本发明还公开了C41、一种带有浏览器客户端的装置,包括:
处理器,以及加载有多条可执行指令的存储器,所述多条指令包括执行以下步骤的方法:
在浏览器进行安装时,通过浏览器安装包在浏览器所在操作系统中安装一随操作系统启动而启动的系统服务;
在浏览器中内置一安全组件,浏览器启动后通过该安全组件调用所述系统服务,拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改。
C42、如C41所述的装置,所述浏览器数据包括浏览器访问的网页数据,
进一步的,所述拦截独立于浏览器进程的第一进程对浏览器数据的修改包括:
针对浏览器访的网页数据,通过所述安全组件调用系统服务,对所述网页数据进行安全扫描。
C43、如C41所述的装置,拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改包括:
拦截独立于浏览器进程的第一进程对浏览器数据中的安全信息的获取;所述安全信息包括网址、下载文件、电话号码、公众号、即时聊天号其中至少一个。
C44、如C41所述的装置,还包括:
调用系统服务获取浏览器的安全的更新文件,以进行更新。
C45、如C41所述的装置,拦截独立于浏览器进程的第一进程对浏览器数据的修改包括:
拦截独立于浏览器进程的第一进程对操作系统中与浏览器相关的配置参数的修改。
C46、如C45所述的装置,拦截独立于浏览器进程的第一进程对操作系统中与浏览器相关的配置信息的修改包括:
拦截独立于浏览器的第二进程将当前操作系统中HTTP协议的关联处理程序从当前浏览器修改为其他处理程序的操作;
和/或,拦截独立于浏览器的第二进程对当前浏览器功能的配置信息的修改。
C47、如C41所述的装置,拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改包括:
拦截独立于浏览器的第一进程向浏览器注入代码以劫持浏览器。
C48、如C47所述的装置,所述拦截独立于浏览器的第一进程向浏览器注入代码以劫持浏览器包括:
复制当前浏览器的源分层服务提供商链表,获得第一分层服务提供商链表;
将所述第一分层服务提供商链表中不允许访问的源节点转换为虚拟节点,得到转换后的第二分层服务提供商链表;所述虚拟分层服务提供商节点实现各分层服务提供商接口并返回空值;
将当前浏览器的网络请求通过所述第二分层服务提供商链表传输。
C49、如C47所述的装置,所述拦截独立于浏览器的第一进程向浏览器注入代码以劫持浏览器包括:
加载用于拦截窗口消息的窗口消息钩子函数;
针对操作系统中的窗口消息,通过所述窗口消息钩子函数进行拦截;
判断所述窗口消息是否为劫持浏览器的窗口消息;
如果所述窗口消息是劫持浏览器的窗口消息,则停止所述窗口消息的传输。
Claims (47)
1.一种实现浏览器安全的方法,包括:
在浏览器进行安装时,通过浏览器安装包在浏览器所在操作系统中安装一随操作系统启动而启动的系统服务;
在浏览器中内置一安全组件,浏览器启动后通过该安全组件调用所述系统服务,
拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改;
所述拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改包括:
利用所述系统服务,通过调用一虚拟的设备级驱动程序拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改。
2.如权利要求1所述的方法,其特征在于,所述浏览器数据包括浏览器访问的网页数据,
进一步的,所述拦截独立于浏览器进程的第一进程对浏览器数据的修改包括:
针对浏览器访的网页数据,通过所述安全组件调用系统服务,对所述网页数据进行安全扫描。
3.如权利要求1所述的方法,其特征在于,拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改包括:
拦截独立于浏览器进程的第一进程对浏览器数据中的安全信息的获取;所述安全信息包括网址、下载文件、电话号码、公众号、即时聊天号其中至少一个。
4.如权利要求1所述的方法,其特征在于,还包括:
调用系统服务获取浏览器的安全的更新文件,以进行更新。
5.如权利要求1所述的方法,其特征在于,拦截独立于浏览器进程的第一进程对浏览器数据的修改包括:
拦截独立于浏览器进程的第一进程对操作系统中与浏览器相关的配置参数的修改。
6.如权利要求5所述的方法,其特征在于,拦截独立于浏览器进程的第一进程对操作系统中与浏览器相关的配置信息的修改包括:
拦截独立于浏览器的第二进程将当前操作系统中HTTP协议的关联处理程序从当前浏览器修改为其他处理程序的操作;
和/或,拦截独立于浏览器的第二进程对当前浏览器功能的配置信息的修改。
7.如权利要求1所述的方法,其特征在于,拦截独立于浏览器进程的第一进程对浏览器数据的修改包括:
拦截独立于浏览器进程的第一进程对当前浏览器记录的用户个性化数据的修改。
8.如权利要求1所述的方法,其特征在于,拦截独立于浏览器进程的第一进程对浏览器数据的修改包括:
对于浏览器访问的网址,利用云杀毒引擎对所述网址进行安全判定;如果所述网址不安全,则进行拦截。
9.如权利要求1所述的方法,其特征在于,拦截独立于浏览器进程的第一进程对浏览器数据的修改包括:
对于通过浏览器下载的文件,利用云杀毒引擎对所述文件进行安全检测。
10.如权利要求1所述的方法,其特征在于,拦截独立于浏览器进程的第一进程对浏览器数据的修改包括:
当确定浏览器打开的网页为网购页面时,检测当前的网购环境是否安全;
进一步的,还包括:针对当前的网购页面,在所述安全的系统环境生成保护单号。
11.如权利要求2所述的方法,其特征在于,拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改包括:
判断当前打开的网页是否安全,如果不安全,则将所述网页对于的网页进程放入沙箱运行。
12.如权利要求1所述的方法,其特征在于,拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改包括:
拦截独立于浏览器的第一进程向浏览器注入代码以劫持浏览器。
13.如权利要求12所述的方法,其特征在于,所述拦截独立于浏览器的第一进程向浏览器注入代码以劫持浏览器包括:
复制当前浏览器的源分层服务提供商链表,获得第一分层服务提供商链表;
将所述第一分层服务提供商链表中不允许访问的源节点转换为虚拟节点,得到转换后的第二分层服务提供商链表;所述虚拟分层服务提供商节点实现各分层服务提供商接口并返回空值;
将当前浏览器的网络请求通过所述第二分层服务提供商链表传输。
14.如权利要求13所述的方法,其特征在于,将所述第一分层服务提供商链表中不允许访问的源节点转换为虚拟节点,包括:
通过所述源分层服务提供商链表的配置信息,获得源分层服务提供商链表的各源节点的身份信息;
将所述各源节点的身份信息与预置的身份信息名单进行匹配,根据匹配结果确定不允许访问的源节点;
将所述不允许访问的源节点在注册表中的路径转换为虚拟节点的路径。
15.如权利要求12所述的方法,其特征在于,所述拦截独立于浏览器的第一进程向浏览器注入代码以劫持浏览器包括:
加载用于拦截窗口消息的窗口消息钩子函数;
针对操作系统中的窗口消息,通过所述窗口消息钩子函数进行拦截;
判断所述窗口消息是否为劫持浏览器的窗口消息;
如果所述窗口消息是劫持浏览器的窗口消息,则停止所述窗口消息的传输。
16.如权利要求15所述的方法,其特征在于,所述加载用于拦截窗口消息的窗口消息钩子函数,包括:
调用动态链接库加载函数加载所述窗口消息钩子函数所在的动态链接库,以加载所述窗口消息钩子函数。
17.如权利要求16所述的方法,其特征在于,所述判断所述窗口消息是否为劫持浏览器的窗口消息,包括:
将所述窗口消息所属的窗口句柄名与预置的窗口句柄名单进行匹配;如果所述窗口句柄匹配上,则确定所述窗口消息为劫持浏览器的窗口消息。
18.如权利要求16所述的方法,其特征在于,还包括:
获取所述窗口句柄所属应用程序的验证签名;
对所述验证签名进行验证,如果所述验证失败,则确定所述窗口消息为劫持浏览器才窗口消息。
19.如权利要求18所述的方法,其特征在于,所述针对操作系统中的窗口消息,通过所述窗口消息钩子函数进行拦截包括:
针对操作系统中的创建窗口的窗口消息,通过所述窗口消息钩子函数进行拦截。
20.一种浏览器客户端,包括:
安装组件,其配置为在浏览器进行安装时,通过浏览器安装包在浏览器所在操作系统中安装一随操作系统启动而启动的系统服务;
安全组件,其配置为在浏览器中内置一安全组件,浏览器启动后通过该安全组件调用所述系统服务,拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改;
所述安全组件包括:
第一安全模组,其配置为利用所述系统服务,通过调用一虚拟的设备级驱动程序拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改。
21.如权利要求20所述的浏览器客户端,其特征在于,所述浏览器数据包括浏览器访问的网页数据,
进一步的,所述安全组件包括:
网页安全模组,其配置为针对浏览器访的网页数据,通过所述安全组件调用系统服务,对所述网页数据进行安全扫描。
22.如权利要求20所述的浏览器客户端,其特征在于,所述安全组件包括:
安全信息拦截模组,其配置为拦截独立于浏览器进程的第一进程对浏览器数据中的安全信息的获取;所述安全信息包括网址、下载文件、电话号码、公众号、即时聊天号其中至少一个。
23.如权利要求20所述的浏览器客户端,其特征在于,还包括:
安全更新模组,其配置为调用系统服务获取浏览器的安全的更新文件,以进行更新。
24.如权利要求20所述的浏览器客户端,其特征在于,所述安全组件包括:
配置保护模组,其配置为拦截独立于浏览器进程的第一进程对操作系统中与浏览器相关的配置参数的修改。
25.如权利要求24所述的浏览器客户端,其特征在于,所述配置保护模组包括:
默认浏览器保护模组,其配置为拦截独立于浏览器的第二进程将当前操作系统中HTTP协议的关联处理程序从当前浏览器修改为其他处理程序的操作;
和/或,浏览器功能配置保护模组,其配置为拦截独立于浏览器的第二进程对当前浏览器功能的配置信息的修改。
26.如权利要求20所述的浏览器客户端,其特征在于,所述安全组件包括:
个性化数据保护模组,其配置为拦截独立于浏览器进程的第一进程对当前浏览器记录的用户个性化数据的修改。
27.如权利要求20所述的浏览器客户端,其特征在于,所述安全组件包括:
网址云保护模组,其配置为对于浏览器访问的网址,利用云杀毒引擎对所述网址进行安全判定;如果所述网址不安全,则进行拦截。
28.如权利要求20所述的浏览器客户端,其特征在于,所述安全组件包括:
下载文件保护模组,其配置为对于通过浏览器下载的文件,利用云杀毒引擎对所述文件进行安全检测。
29.如权利要求20所述的浏览器客户端,其特征在于,所述安全组件包括:
网购保护模组,其配置为当确定浏览器打开的网页为网购页面时,检测当前的网购环境是否安全;
进一步的,还包括:
保护单号生成模组,其配置为针对当前的网购页面,在所述安全的系统环境生成保护单号。
30.如权利要求21所述的浏览器客户端,其特征在于,所述安全组件包括:
沙箱运行模组,其配置为判断当前打开的网页是否安全,如果不安全,则将所述网页对于的网页进程放入沙箱运行。
31.如权利要求21所述的浏览器客户端,其特征在于,所述安全组件包括:
注入拦截模组,其配置为拦截独立于浏览器的第一进程向浏览器注入代码以劫持浏览器。
32.如权利要求31所述的浏览器客户端,其特征在于,所述注入拦截模组包括:
链表复制模组,其配置为复制当前浏览器的源分层服务提供商链表,获得第一分层服务提供商链表;
链表转换模组,其配置为将所述第一分层服务提供商链表中不允许访问的源节点转换为虚拟节点,得到转换后的第二分层服务提供商链表;所述虚拟分层服务提供商节点实现各分层服务提供商接口并返回空值;
请求控制模组,其配置为将当前浏览器的网络请求通过所述第二分层服务提供商链表传输。
33.如权利要求32所述的浏览器客户端,其特征在于,所述链表转换模组包括:
节点身份获取模组,其配置为通过所述源分层服务提供商链表的配置信息,获得源分层服务提供商链表的各源节点的身份信息;
节点身份确定模组,其配置为将所述各源节点的身份信息与预置的身份信息名单进行匹配,根据匹配结果确定不允许访问的源节点;
节点转换模组,其配置为将所述不允许访问的源节点在注册表中的路径转换为虚拟节点的路径。
34.如权利要求31所述的浏览器客户端,其特征在于,所述注入拦截模组包括:
钩子加载模组,其配置为加载用于拦截窗口消息的窗口消息钩子函数;
窗口信息拦截模组,其配置为针对操作系统中的窗口消息,通过所述窗口消息钩子函数进行拦截;
窗口信息判断模组,其配置为判断所述窗口消息是否为劫持浏览器的窗口消息;
窗口信息处理模组,其配置为如果所述窗口消息是劫持浏览器的窗口消息,则停止所述窗口消息的传输。
35.如权利要求34所述的浏览器客户端,其特征在于,所述钩子加载模组包括:
第一钩子加载模组,其配置为调用动态链接库加载函数加载所述窗口消息钩子函数所在的动态链接库,以加载所述窗口消息钩子函数。
36.如权利要求35所述的浏览器客户端,其特征在于,所述窗口信息判断模组包括:
句柄匹配模组,其配置为将所述窗口消息所属的窗口句柄名与预置的窗口句柄名单进行匹配;如果所述窗口句柄匹配上,则确定所述窗口消息为劫持浏览器的窗口消息。
37.如权利要求35所述的浏览器客户端,其特征在于,还包括:
签名获取模组,其配置为获取所述窗口句柄所属应用程序的验证签名;
签名验证模组,其配置为对所述验证签名进行验证,如果所述验证失败,则确定所述窗口消息为劫持浏览器才窗口消息。
38.如权利要求37所述的浏览器客户端,其特征在于,所述窗口信息拦截模组包括:
创建拦截模组,其配置为针对操作系统中的创建窗口的窗口消息,通过所述窗口消息钩子函数进行拦截。
39.一种带有浏览器客户端的装置,包括:
处理器,以及加载有多条可执行指令的存储器,所述多条指令包括执行以下步骤的方法:
在浏览器进行安装时,通过浏览器安装包在浏览器所在操作系统中安装一随操作系统启动而启动的系统服务;
在浏览器中内置一安全组件,浏览器启动后通过该安全组件调用所述系统服务,拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改;
所述安全组件包括:
第一安全模组,其配置为利用所述系统服务,通过调用一虚拟的设备级驱动程序拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改。
40.如权利要求39所述的装置,其特征在于,所述浏览器数据包括浏览器访问的网页数据,
进一步的,所述拦截独立于浏览器进程的第一进程对浏览器数据的修改包括:
针对浏览器访的网页数据,通过所述安全组件调用系统服务,对所述网页数据进行安全扫描。
41.如权利要求39所述的装置,其特征在于,拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改包括:
拦截独立于浏览器进程的第一进程对浏览器数据中的安全信息的获取;所述安全信息包括网址、下载文件、电话号码、公众号、即时聊天号其中至少一个。
42.如权利要求39所述的装置,其特征在于,还包括:
调用系统服务获取浏览器的安全的更新文件,以进行更新。
43.如权利要求39所述的装置,其特征在于,拦截独立于浏览器进程的第一进程对浏览器数据的修改包括:
拦截独立于浏览器进程的第一进程对操作系统中与浏览器相关的配置参数的修改。
44.如权利要求43所述的装置,其特征在于,拦截独立于浏览器进程的第一进程对操作系统中与浏览器相关的配置信息的修改包括:
拦截独立于浏览器的第二进程将当前操作系统中HTTP协议的关联处理程序从当前浏览器修改为其他处理程序的操作;
和/或,拦截独立于浏览器的第二进程对当前浏览器功能的配置信息的修改。
45.如权利要求39所述的装置,其特征在于,拦截独立于浏览器进程的第一进程对浏览器安装文件和/或浏览器数据的修改包括:
拦截独立于浏览器的第一进程向浏览器注入代码以劫持浏览器。
46.如权利要求45所述的装置,其特征在于,所述拦截独立于浏览器的第一进程向浏览器注入代码以劫持浏览器包括:
复制当前浏览器的源分层服务提供商链表,获得第一分层服务提供商链表;
将所述第一分层服务提供商链表中不允许访问的源节点转换为虚拟节点,得到转换后的第二分层服务提供商链表;所述虚拟分层服务提供商节点实现各分层服务提供商接口并返回空值;
将当前浏览器的网络请求通过所述第二分层服务提供商链表传输。
47.如权利要求45所述的装置,其特征在于,所述拦截独立于浏览器的第一进程向浏览器注入代码以劫持浏览器包括:
加载用于拦截窗口消息的窗口消息钩子函数;
针对操作系统中的窗口消息,通过所述窗口消息钩子函数进行拦截;
判断所述窗口消息是否为劫持浏览器的窗口消息;
如果所述窗口消息是劫持浏览器的窗口消息,则停止所述窗口消息的传输。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410743201.0A CN104536981B (zh) | 2014-12-05 | 2014-12-05 | 实现浏览器安全的方法、浏览器客户端和装置 |
PCT/CN2015/094845 WO2016086767A1 (zh) | 2014-12-05 | 2015-11-17 | 实现浏览器安全的方法、浏览器客户端和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410743201.0A CN104536981B (zh) | 2014-12-05 | 2014-12-05 | 实现浏览器安全的方法、浏览器客户端和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104536981A CN104536981A (zh) | 2015-04-22 |
CN104536981B true CN104536981B (zh) | 2018-01-16 |
Family
ID=52852509
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410743201.0A Active CN104536981B (zh) | 2014-12-05 | 2014-12-05 | 实现浏览器安全的方法、浏览器客户端和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104536981B (zh) |
WO (1) | WO2016086767A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104536981B (zh) * | 2014-12-05 | 2018-01-16 | 北京奇虎科技有限公司 | 实现浏览器安全的方法、浏览器客户端和装置 |
CN106649417A (zh) * | 2015-11-04 | 2017-05-10 | 珠海市君天电子科技有限公司 | 一种窗口拦截方法及装置 |
CN105468674A (zh) * | 2015-11-12 | 2016-04-06 | 珠海市君天电子科技有限公司 | 窗口拦截方法、装置和终端设备 |
CN105825127B (zh) * | 2016-03-11 | 2019-03-01 | 珠海豹趣科技有限公司 | 一种窗口销毁拦截方法及装置 |
CN105893847B (zh) * | 2016-04-22 | 2019-01-25 | 珠海豹趣科技有限公司 | 一种保护安全防护应用程序文件的方法、装置及电子设备 |
CN106446684B (zh) * | 2016-09-22 | 2019-12-03 | 武汉斗鱼网络科技有限公司 | 一种基于密码控件的网络账号保护方法及系统 |
CN108073804B (zh) * | 2016-11-14 | 2022-11-29 | 百度在线网络技术(北京)有限公司 | 一种风险识别方法和装置 |
CN107728888B (zh) * | 2017-10-26 | 2020-02-18 | 竞技世界(北京)网络技术有限公司 | 一种安卓终端虚拟按键实现方法 |
CN108170574B (zh) * | 2017-12-25 | 2021-04-20 | 深圳Tcl新技术有限公司 | 一种网址信息处理方法及装置 |
CN108549809A (zh) * | 2018-04-02 | 2018-09-18 | 郑州云海信息技术有限公司 | 一种基于数字证书的应用程序进程控制方法与系统 |
CN110188294A (zh) * | 2019-05-05 | 2019-08-30 | 平安科技(深圳)有限公司 | Url拦截转换方法、装置以及计算机设备 |
CN110135132A (zh) * | 2019-05-13 | 2019-08-16 | 重庆八戒传媒有限公司 | 一种快速解决项目常规安全问题的方法、装置以及存储介质 |
CN110278271B (zh) * | 2019-06-24 | 2022-04-12 | 厦门美图之家科技有限公司 | 网络请求控制方法、装置及终端设备 |
CN112580088A (zh) * | 2019-09-30 | 2021-03-30 | 北京国双科技有限公司 | 数据加载方法、装置、计算机设备和存储介质 |
CN113050927B (zh) * | 2021-04-12 | 2024-01-23 | 平安国际智慧城市科技股份有限公司 | 基于自定义指令的权限控制方法、装置和计算机设备 |
CN113296654B (zh) * | 2021-05-27 | 2023-12-29 | 深信服科技股份有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN114095464B (zh) * | 2021-11-16 | 2023-08-08 | 成都知道创宇信息技术有限公司 | 即时消息实现方法和系统 |
CN117278803B (zh) * | 2023-11-21 | 2024-05-17 | 深圳软牛科技有限公司 | Drm视频解密方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7152106B2 (en) * | 2001-07-06 | 2006-12-19 | Clickfox, Llc | Use of various methods to reconstruct experiences of web site visitors |
CN102981874A (zh) * | 2012-11-15 | 2013-03-20 | 北京奇虎科技有限公司 | 计算机处理系统和注册表重定向方法 |
US8407779B1 (en) * | 2011-07-29 | 2013-03-26 | Juniper Networks, Inc. | Transposing a packet firewall policy within a node |
CN102999354A (zh) * | 2012-11-15 | 2013-03-27 | 北京奇虎科技有限公司 | 文件加载方法和装置 |
CN103023869A (zh) * | 2012-11-02 | 2013-04-03 | 北京奇虎科技有限公司 | 恶意攻击防止方法和浏览器 |
CN103218561A (zh) * | 2013-03-18 | 2013-07-24 | 珠海市君天电子科技有限公司 | 一种保护浏览器的防篡改方法和装置 |
CN103823873A (zh) * | 2014-02-27 | 2014-05-28 | 北京奇虎科技有限公司 | 一种浏览器设置项的读/写方法、装置和系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5974549A (en) * | 1997-03-27 | 1999-10-26 | Soliton Ltd. | Security monitor |
CN103116723A (zh) * | 2013-02-06 | 2013-05-22 | 北京奇虎科技有限公司 | 一种网址拦截处理的方法、装置和系统 |
CN104536981B (zh) * | 2014-12-05 | 2018-01-16 | 北京奇虎科技有限公司 | 实现浏览器安全的方法、浏览器客户端和装置 |
-
2014
- 2014-12-05 CN CN201410743201.0A patent/CN104536981B/zh active Active
-
2015
- 2015-11-17 WO PCT/CN2015/094845 patent/WO2016086767A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7152106B2 (en) * | 2001-07-06 | 2006-12-19 | Clickfox, Llc | Use of various methods to reconstruct experiences of web site visitors |
US8407779B1 (en) * | 2011-07-29 | 2013-03-26 | Juniper Networks, Inc. | Transposing a packet firewall policy within a node |
CN103023869A (zh) * | 2012-11-02 | 2013-04-03 | 北京奇虎科技有限公司 | 恶意攻击防止方法和浏览器 |
CN102981874A (zh) * | 2012-11-15 | 2013-03-20 | 北京奇虎科技有限公司 | 计算机处理系统和注册表重定向方法 |
CN102999354A (zh) * | 2012-11-15 | 2013-03-27 | 北京奇虎科技有限公司 | 文件加载方法和装置 |
CN103218561A (zh) * | 2013-03-18 | 2013-07-24 | 珠海市君天电子科技有限公司 | 一种保护浏览器的防篡改方法和装置 |
CN103823873A (zh) * | 2014-02-27 | 2014-05-28 | 北京奇虎科技有限公司 | 一种浏览器设置项的读/写方法、装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104536981A (zh) | 2015-04-22 |
WO2016086767A1 (zh) | 2016-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104536981B (zh) | 实现浏览器安全的方法、浏览器客户端和装置 | |
CN104539584B (zh) | 浏览器防注入方法、浏览器客户端和装置 | |
US10834102B2 (en) | Client-side attack detection in web applications | |
CN110651252A (zh) | 内容管理系统扩展 | |
CN102999354B (zh) | 文件加载方法和装置 | |
CN103763354B (zh) | 一种升级数据下载的方法及装置 | |
CN105631359A (zh) | 一种网页操作的控制方法和装置 | |
CN104854561A (zh) | 用于应用程序管理框架的应用程序封装 | |
US10649877B2 (en) | Macro-script execution control | |
CN105683988A (zh) | 管理软件补救 | |
CN103678506B (zh) | 在浏览器中加载应用程序快捷方式的方法、装置和浏览器 | |
CN103117893B (zh) | 一种网络访问行为的监控方法、装置和一种客户端设备 | |
US20180343174A1 (en) | Rule based page processing and network request processing in browsers | |
US9906579B2 (en) | Methods and systems for dynamically generating and reusing dynamic web content | |
CN104239786A (zh) | 免root主动防御配置方法及装置 | |
CN104156235A (zh) | 一种浏览器插件和/或扩展的更新方法和装置 | |
CN102981874B (zh) | 计算机处理系统和注册表重定向方法 | |
CN103678505A (zh) | 一种在浏览器中运行应用程序的方法、装置和浏览器 | |
CN110348210A (zh) | 安全防护方法及装置 | |
CN105094791A (zh) | 状态栏通知的存储方法及装置 | |
CN106096394A (zh) | 一种安卓应用的广告拦截方法和装置 | |
CN103019765A (zh) | 一种文件重定向方法、装置和计算机系统 | |
CN106845270B (zh) | 一种无痕浏览方法及装置 | |
CN103577180A (zh) | 数据处理方法及装置 | |
CA2906517A1 (en) | Online privacy management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220725 Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015 Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd. Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park) Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd. Patentee before: Qizhi software (Beijing) Co.,Ltd. |