著录项信息
专利名称 | 在沙箱中浏览网页方法及装置 |
申请号 | CN201110448835.X | 申请日期 | 2011-12-28 |
法律状态 | 暂无 | 申报国家 | 暂无 |
公开/公告日 | 2012-07-18 | 公开/公告号 | CN102592086A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F21/53 | IPC分类号 | G;0;6;F;2;1;/;5;3;;;G;0;6;F;1;7;/;3;0查看分类表>
|
申请人 | 奇智软件(北京)有限公司 | 申请人地址 | 北京市西城区新街口外大街28号D座112室(德胜园区)
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 北京奇虎科技有限公司,奇智软件(北京)有限公司 | 当前权利人 | 北京奇虎科技有限公司,奇智软件(北京)有限公司 |
发明人 | 孙晓俊;肖鹏;朱翼鹏 |
代理机构 | 北京华沛德权律师事务所 | 代理人 | 刘丽君 |
摘要
本发明公开了在沙箱中浏览网页的方法及装置,其中,所述方法包括:将浏览器进程或浏览器页面进程放入沙箱中运行;对沙箱中运行的浏览器进程或浏览器页面进程进行监控;当所述沙箱中运行的浏览器进程或浏览器页面进程产生调用进程的事件时,将被调用的进程放入沙箱中运行,该沙箱与所述浏览器进程或浏览器页面进程所在的沙箱为同一沙箱。通过本发明,在将沙箱技术与浏览器技术相结合进行安全性防护时,能够更加有效地保证安全性。
1.一种在沙箱中浏览网页的方法,其特征在于,包括:
将浏览器进程或浏览器页面进程放入沙箱中运行,其中,在将浏览器页面进程放入沙箱中运行时,将浏览器的框架进程留在沙箱外运行;
对沙箱中运行的浏览器进程或浏览器页面进程进行监控,判断浏览器进程或浏览器页面进程是否产生了调用进程的事件;
当所述沙箱中运行的浏览器进程或浏览器页面进程产生调用进程的事件时,将被调用的进程放入沙箱中运行,该沙箱与所述浏览器进程或浏览器页面进程所在的沙箱为同一沙箱;
其中,当产生所述调用进程的事件时,判断该事件是由用户手动点击产生还是由网页中自动运行的脚本产生,如果是由用户手动点击产生,则不将被调用的进程放入到沙箱中运行,如果是由网页中自动运行的脚本产生,则将被调用的进程放入到沙箱中运行。
2.根据权利要求1所述的方法,其特征在于,所述被调用的进程包括下载进程,所述将被调用的进程放入沙箱中运行包括:
捕捉沙箱中的浏览器进程或浏览器页面进程产生的下载事件;
将该下载事件对应的文件保存路径重定向到沙箱中指定的目录中。
3.根据权利要求1所述的方法,其特征在于,所述被调用的进程包括安装文件进程,所述将被调用的进程放入沙箱中运行包括:
捕捉沙箱中的浏览器进程或浏览器页面进程产生的安装文件事件;
将该安装事件对应的文件安装路径重定向到沙箱中指定的目录中。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述对沙箱中运行的浏览器进程或浏览器页面进程进行监控包括:
通过监控沙箱中运行的浏览器进程或浏览器页面进程调用的接口函数,对所述沙箱中的浏览器进程或浏览器页面进程进行监控。
5.一种在沙箱中浏览网页的装置,其特征在于,包括:
浏览器进程放入单元,用于将浏览器进程或浏览器页面进程放入沙箱中运行,其中,在将浏览器页面进程放入沙箱中运行时,将浏览器的框架进程留在沙箱外运行;
监控单元,用于对沙箱中运行的浏览器进程或浏览器页面进程进行监控,判断浏览器进程或浏览器页面进程是否产生了调用进程的事件;
被调用进程放入单元,用于当所述沙箱中运行的浏览器进程或浏览器页面进程产生调用进程的事件时,将被调用的进程放入沙箱中运行,该沙箱与所述浏览器进程或浏览器页面进程所在的沙箱为同一沙箱;
所述被调用进程放入单元包括:
判断子单元,用于当所述沙箱中运行的浏览器进程或浏览器页面进程产生调用进程的事件时,判断该调用进程的事件是由用户手动点击产生还是由网页中自动运行的脚本产生;
放入子单元,如果该调用进程的事件是由用户手动点击产生,则不将被调用的进程放入到沙箱中运行,如果该调用进程的事件是由网页中自动运行的脚本产生,则将被调用的进程放入到沙箱中运行。
6.根据权利要求5所述的装置,其特征在于,所述被调用的进程包括下载进程,所述被调用进程放入单元包括:
第一事件捕捉子单元,用于捕捉沙箱中的浏览器进程或浏览器页面进程产生的下载事件;
第一重定向子单元,用于将该下载事件对应的文件保存路径重定向到沙箱中指定的目录中。
7.根据权利要求5所述的装置,其特征在于,所述被调用的进程包括安装文件进程,所述被调用进程放入单元包括:
第二事件捕捉子单元,用于捕捉沙箱中的浏览器进程或浏览器页面进程产生的安装文件事件;
第二重定向子单元,用于将该安装事件对应的文件安装路径重定向到沙箱中指定的目录中。
8.根据权利要求6至7任一项所述的装置,其特征在于,所述监控单元具体用于:
通过监控沙箱中运行的浏览器进程或浏览器页面进程调用的接口函数,对所述沙箱中的浏览器进程或浏览器页面进程进行监控。
在沙箱中浏览网页方法及装置\n技术领域\n[0001] 本发明涉及浏览器安全技术领域,特别是涉及在沙箱中浏览网页方法及装置。\n背景技术\n[0002] 随着计算机网络的发展与普及,网络安全方面的问题也日益突出,无论何时加载远程网站上代码并在本地执行,安全都是至关重要的问题。例如,点击一个链接可以启动一个浏览网页的应用程序。访问一个网页时,其中的所有Applet(采用Java创建的基于HTML的程序)也会自动地启动。如果再点击一个链接,或者访问一个网页时,在用户的机器上能够安装任意的代码,那么犯罪分子就可能在此时窃听机密信息、读取财务数据或者接管用户机器来发送广告等等。\n[0003] 为了解决该问题,除了使用传统的杀毒软件等工具进行保护之外,现有技术还可以将沙箱技术与浏览器技术相结合,从而实现浏览网页过程中的安全性防护。所谓沙箱技术就是为用户提供一个安全的虚拟执行环境(相当于系统环境的副本),在沙箱中打开的任何可疑文件,其对硬盘和系统注册表的操作都被定向指定到临时文件夹中,对系统副本进行修改。这样,即使文件带有木马病毒、广告插件等恶意程序,也是被限制在虚拟环境中,不会影响真实的电脑系统,并且,随着沙箱的消失,所运行过的可疑文件也会自动清除,因此电脑也就不会中毒了。\n[0004] 但是本发明人在实现本发明的过程中发现,现有技术在将沙箱技术与浏览器技术相结合进行安全性防护时,在浏览网页的过程中仍然可能存在被恶意程序攻击的情况。\n发明内容\n[0005] 本发明提供了在沙箱中浏览网页方法及装置,在将沙箱技术与浏览器技术相结合进行安全性防护时,能够更加有效地保证安全性。\n[0006] 本发明提供了如下方案:\n[0007] 一种在沙箱中浏览网页的方法,包括:\n[0008] 将浏览器进程或浏览器页面进程放入沙箱中运行;\n[0009] 对沙箱中运行的浏览器进程或浏览器页面进程进行监控;\n[0010] 当所述沙箱中运行的浏览器进程或浏览器页面进程产生调用进程的事件时,将被调用的进程放入沙箱中运行,该沙箱与所述浏览器进程或浏览器页面进程所在的沙箱为同一沙箱。\n[0011] 其中,所述被调用的进程包括下载进程,所述将被调用的进程放入沙箱中运行包括:\n[0012] 捕捉沙箱中的浏览器进程或浏览器页面进程产生的下载事件;\n[0013] 将该下载事件对应的文件保存路径重定向到沙箱中指定的目录中。\n[0014] 其中,所述被调用的进程包括安装文件进程,所述将被调用的进程放入沙箱中运行包括:\n[0015] 捕捉沙箱中的浏览器进程或浏览器页面进程产生的安装文件事件;\n[0016] 将该安装事件对应的文件安装路径重定向到沙箱中指定的目录中。\n[0017] 其中,所述对沙箱中运行的浏览器进程或浏览器页面进程进行监控包括:\n[0018] 通过监控沙箱中运行的浏览器进程或浏览器页面进程调用的接口函数,对所述沙箱中的浏览器进程或浏览器页面进程进行监控。\n[0019] 其中,所述当所述沙箱中运行的浏览器进程或浏览器页面进程产生调用进程的事件时,将所调用的进程放入沙箱中运行包括:\n[0020] 当所述沙箱中运行的浏览器进程或浏览器页面进程产生调用进程的事件时,判断该调用进程的事件是否为网页中自动运行的脚本产生;\n[0021] 如果是,则将被调用的进程放入到沙箱中运行。\n[0022] 一种在沙箱中浏览网页的装置,包括:\n[0023] 浏览器进程放入单元,用于将浏览器进程或浏览器页面进程放入沙箱中运行;\n[0024] 监控单元,用于对沙箱中运行的浏览器进程或浏览器页面进程进行监控;\n[0025] 被调用进程放入单元,用于当所述沙箱中运行的浏览器进程或浏览器页面进程产生调用进程的事件时,将被调用的进程放入沙箱中运行,该沙箱与所述浏览器进程或浏览器页面进程所在的沙箱为同一沙箱。\n[0026] 其中,所述被调用的进程包括下载进程,所述被调用进程放入单元包括:\n[0027] 第一事件捕捉子单元,用于捕捉沙箱中的浏览器进程或浏览器页面进程产生的下载事件;\n[0028] 第一重定向子单元,用于将该下载事件对应的文件保存路径重定向到沙箱中指定的目录中。\n[0029] 其中,所述被调用的进程包括安装文件进程,所述被调用进程放入单元包括:\n[0030] 第二事件捕捉子单元,用于捕捉沙箱中的浏览器进程或浏览器页面进程产生的安装文件事件;\n[0031] 第二重定向子单元,用于将该安装事件对应的文件安装路径重定向到沙箱中指定的目录中。\n[0032] 其中,所述监控单元具体用于:\n[0033] 通过监控沙箱中运行的浏览器进程或浏览器页面进程调用的接口函数,对所述沙箱中的浏览器进程或浏览器页面进程进行监控。\n[0034] 其中,所述被调用进程放入单元包括:\n[0035] 判断子单元,用于当所述沙箱中运行的浏览器进程或浏览器页面进程产生调用进程的事件时,判断该调用进程的事件是否为网页中自动运行的脚本产生;\n[0036] 放入子单元,用于如果所述判断子单元的判断结果为是,则将所述被调用的进程放入到沙箱中运行。\n[0037] 根据本发明提供的具体实施例,本发明达到了以下技术效果:\n[0038] 通过本发明,在沙箱中浏览网页时,不仅仅可以将浏览器进程或浏览器页面进程放入到沙箱中运行,而且,还可以将浏览器进程或浏览器页面进程在运行过程中调用的进程,也放入到沙箱中运行,从而在将沙箱技术与浏览器技术相结合进行安全性防护时,更加有效地保证安全性。\n附图说明\n[0039] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。\n[0040] 图1是本发明实施例提供的方法的流程图;\n[0041] 图2是本发明实施例提供的装置的示意图。\n具体实施方式\n[0042] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。\n[0043] 首先需要说明的是,本发明人在实现本发明的过程中发现,现有技术中之所以会出现“将沙箱技术与浏览器技术相结合进行安全性防护时,在浏览网页的过程中仍然存在被恶意程序攻击的情况”,是因为现有技术仅仅将浏览器进程放入到啥箱内运行,而与浏览器进程相关的其他进程(例如下载等)却仍然在沙箱外运行,这样,如果浏览器进程需要调用下载进程,下载进程就会在沙箱外进行,也即,下载到的文件会保存在本地;此时,如果该下载进程是由网页内运行的脚本自动产生的一个下载事件调用的,则该下载事件对应的文件就有可能是一个不安全的文件,这样,就造成遭受恶意程序攻击的情况。\n[0044] 基于上述考虑,本发明实施例提供了一种在沙箱中浏览网页的方法,参见图1,该方法包括:\n[0045] S101:将浏览器进程或浏览器页面进程放入沙箱中运行;\n[0046] 具体实现时,可以在浏览器启动时,自动将浏览器进程放入到沙箱中运行;或者,也可以在浏览器启动之后,当用户手动启动进入沙箱的操作时,再将浏览器进行放入到沙箱中;再者,如果浏览器具备识别网页是否安全的功能,则还可以当发现不安全网页或链接时,自动将浏览器进程放入到沙箱中运行,等等。\n[0047] 另外,在具体实现时,可以简单地将整个浏览器进程都放入到沙箱中运行。或者,也可以仅将浏览器页面进程放入沙箱内,而将浏览器的框架进程留在沙箱外运行。对于后者而言,由于提供用户操作部分的框架进程运行在沙箱之外,不受沙箱的缺陷限制,因此,用户的操作结果(例如进行网址收藏或者改变浏览器设置等)可以保存在本地;同时,浏览器进程运行于沙箱中,网页访问的结果储存在沙箱的临时目录中,网页中的恶意程序运行在沙箱的虚拟环境中,因此,不会破坏用户真实的系统,从而保证了浏览器的安全性。总之,既可以保证用户操作的方便性,也可以满足网页访问的安全性要求。\n[0048] 因此,在本发明实施例中,沙箱中的进程可以是完整的浏览器进程,或者,也可以是浏览器的页面进程。\n[0049] S102:对沙箱中运行的浏览器进程或浏览器页面进程进行监控;\n[0050] 将浏览器进程或浏览器页面进程放入沙箱之后,就要对浏览器进程或浏览器页面进程进行监控,判断浏览器进程或浏览器页面进程是否产生了调用某相关进程的事件,例如,包括下载事件、文件运行事件、文件安装事件等等。需要说明的是,当浏览器进程产生某事件时,会调用对应的接口函数(例如,下载事件对应的“download file”接口等等),因此,通过监控这些接口函数的调用情况,就可判断出是否产生了相应的事件、产生了何种事件,以及是否为沙箱内的浏览器进程或浏览器页面进程产生的该事件。\n[0051] S103:当所述沙箱中运行的浏览器进程或浏览器页面进程产生调用进程的事件时,将所述调用的进程放入沙箱中运行,以完成对网页的浏览。需要说明的是,在实际应用中,可能存在多个沙箱,并且出于安全性的考虑,不同沙箱之间通常是不允许相互通信的,因此,在讲被调用的进程放入沙箱时,要保证该被调用的进程被放入的沙箱与浏览器进程或浏览器页面进程所在的沙箱为同一沙箱。\n[0052] 如果监控到沙箱中的浏览器进程或浏览器页面进程需要调用某相关进程,则将该相关进程也放入到沙箱中运行,从而确保浏览过程中的安全性。例如,浏览的网页中存在一个视频,而如果要播放该视频,需要首先下载并安装一个插件之后才可以,此时,沙箱中的浏览器进程或浏览器页面进程就可能会产生一系列的事件。如,首先可能会检测到沙箱中的浏览器进程或浏览器页面进程产生了一下下载插件的事件,需要调用下载进程,此时,就可以将下载进程放入到沙箱中运行,也即,在捕捉到该下载事件时,将文件的下载路径重定向到沙箱内一个指定的目录中,从而使得文件保存在沙箱内,而不会对实际的本地文件产生影响;在下载完成之后,还可以对文件的运行状况进行监控,如果产生进行写注册表项等事件,则可能是需要执行安装文件的操作,此时,也可以将安装文件的进程放入到沙箱内进行,从而使得修改注册表的操作也被限制在沙箱之内,不会对实际的注册表产生影响。进而使浏览网页过程中的安全性得到保障,同时,也能使得网页中的视频能够正常播放,保证了浏览器基本功能的实现。\n[0053] 需要说明的是,在实际应用中,可能并不是调用所有进程的事件都存在不安全因素,因此,在确定是否需要将被调用的进程放入到沙箱中运行之前,还可以首先进行判断,如果确实可能存在不安全因素,再将被调用的进程放入到沙箱中运行。例如,在使用浏览器浏览网页的过程中,有些事件可能是由用户手动发生的指令,例如点击网页中的下载按钮下载某文件,或者手动安装某插件等等,则可以视为该操作已经经过了用户的确认,其安全性相对较高;但还有一些事件是由网页中插入的一些脚本自动产生的,例如,自动下载并安装某文件等等,这种情况的安全性就会很低。可见,可以根据事件产生的来源,对事件的安全性进行判断。也即,当产生某调用进程的事件时,可以首先判断该事件是由用户手动点击产生的,还是由网页中自动运行的脚本产生的,如果是前者,则可以不必将被调用的进程放入到沙箱中运行,而如果是后者,则需要将被调用的进程放入到沙箱中运行。\n[0054] 这样做的好处在于,对于网页中自动运行的脚本产生的事件,由于其安全级别比较低,因此,可以将相应的操作限制到沙箱内,在浏览器程序退出后,沙箱会删除这些临时文件,避免对本地文件造成影响。而对于用户的手动操作,由于其安全级别相对较高,并且既然是用户的操作,则其意愿可能就是要对将某文件保存在本地,或者对本地的注册表项进行修改等等,因此,也可以满足用户的意愿,避免造成用户想要保存的文件无法保存,或者想要进行的设置无法成功等现象的产生。\n[0055] 其中,在判断调用相关进程的事件是由用户手动操作产生,还是由网页中自动运行的脚本产生时,可以有多种实现方式。例如,由于如果是用户手动操作产生的事件,则通常会伴随有点击鼠标或键盘等外部输入操作,而如果是网页自动运行的脚本,则不会有外部输入操作,而是直接通过内部命令产生相关的事件,因此,就可以根据事件的产生是否伴随有外部输入操作,来区分是用户手动操作产生的事件,还是网页中自动运行的脚本产生的事件。此外,还可以通过其他方式进行判断,这里不再赘述。\n[0056] 总之,在本发明实施例中,在沙箱中浏览网页时,不仅仅可以将浏览器进程或浏览器页面进程放入到沙箱中运行,而且,还可以将浏览器进程或浏览器页面进程在运行过程中调用的进程,也放入到沙箱中运行,从而在将沙箱技术与浏览器技术相结合进行安全性防护时,更加有效地保证安全性。\n[0057] 与本发明实施例提供的在沙箱中浏览网页的方法相对应,本发明实施例还提供了一种在沙箱中浏览网页的装置,参见图2,该装置包括:\n[0058] 浏览器进程放入单元201,用于将浏览器进程或浏览器页面进程放入沙箱中运行;\n[0059] 监控单元202,用于对沙箱中运行的浏览器进程或浏览器页面进程进行监控;\n[0060] 被调用进程放入单元203,用于当所述沙箱中运行的浏览器进程或浏览器页面进程产生调用进程的事件时,将被调用的进程放入沙箱中运行,以完成对网页的浏览。\n[0061] 具体实现时,被调用的进程可以包括下载进程,相应的,被调用进程放入单元203可以包括:\n[0062] 第一事件捕捉子单元,用于捕捉沙箱中的浏览器进程或浏览器页面进程产生的下载事件;\n[0063] 第一重定向子单元,用于将该下载事件对应的文件保存路径重定向到沙箱中指定的目录中。\n[0064] 或者,所述被调用的进程还可以包括安装文件进程,相应的,被调用进程放入单元\n203可以包括:\n[0065] 第二事件捕捉子单元,用于捕捉沙箱中的浏览器进程或浏览器页面进程产生的安装文件事件;\n[0066] 第二重定向子单元,用于将该安装事件对应的文件安装路径重定向到沙箱中指定的目录中。\n[0067] 在实际应用中,监控单元202具体可以用于:\n[0068] 通过监控沙箱中运行的浏览器进程或浏览器页面进程调用的接口函数,对所述沙箱中的浏览器进程或浏览器页面进程进行监控。\n[0069] 为了更好地实现浏览器的基本功能,被调用进程放入单元203具体可以包括:\n[0070] 判断子单元,用于当所述沙箱中运行的浏览器进程或浏览器页面进程产生调用进程的事件时,判断该调用进程的事件是否为网页中自动运行的脚本产生;\n[0071] 放入子单元,用于如果所述判断子单元的判断结果为是,则将所述相关进程放入到沙箱中运行。\n[0072] 总之,通过本发明实施例提供的在沙箱中浏览网页的装置,在沙箱中浏览网页时,不仅仅可以将浏览器进程或浏览器页面进程放入到沙箱中运行,而且,还可以将浏览器进程或浏览器页面进程在运行过程中调用的进程,也放入到沙箱中运行,从而在将沙箱技术与浏览器技术相结合进行安全性防护时,更加有效地保证安全性。\n[0073] 通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。\n[0074] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。\n[0075] 以上对本发明所提供的在沙箱中浏览网页方法及装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
法律信息
- 2022-08-12
专利权的转移
登记生效日: 2022.07.29
专利权人由北京奇虎科技有限公司变更为北京奇虎科技有限公司
地址由100088 北京市西城区新街口外大街28号D座112室(德胜园区)变更为100015 北京市朝阳区酒仙桥路6号院2号楼1至19层104号内8层801
专利权人由奇智软件(北京)有限公司 变更为空
- 2015-09-30
专利权的转移
登记生效日: 2015.09.09
专利权人由奇智软件(北京)有限公司变更为北京奇虎科技有限公司
地址由100016 北京市朝阳区酒仙桥路14号兆维大厦4层东侧单元变更为100088 北京市西城区新街口外大街28号D座112室(德胜园区)
专利权人变更为奇智软件(北京)有限公司
- 2015-04-15
- 2012-09-19
实质审查的生效
IPC(主分类): G06F 21/00
专利申请号: 201110448835.X
申请日: 2011.12.28
- 2012-07-18
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2011-11-23
|
2010-08-12
| | |
2
| | 暂无 |
1997-03-27
| | |
3
| |
2011-09-14
|
2011-04-21
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |