CN102436507B - 一种浏览网页的方法及装置 - Google Patents
一种浏览网页的方法及装置 Download PDFInfo
- Publication number
- CN102436507B CN102436507B CN201110448359.1A CN201110448359A CN102436507B CN 102436507 B CN102436507 B CN 102436507B CN 201110448359 A CN201110448359 A CN 201110448359A CN 102436507 B CN102436507 B CN 102436507B
- Authority
- CN
- China
- Prior art keywords
- plug
- page
- control process
- control
- sandbox
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 255
- 230000008569 process Effects 0.000 claims abstract description 214
- 244000035744 Hura crepitans Species 0.000 claims abstract description 53
- 238000004891 communication Methods 0.000 claims abstract description 41
- 230000004044 response Effects 0.000 claims description 12
- 230000006870 function Effects 0.000 description 7
- 241000700605 Viruses Species 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- 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
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/102—Entity profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/168—Implementing security features at a particular protocol layer above the transport layer
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种浏览网页的方法及装置,其中,所述方法包括:当页面线程创建插件/控件对象时,为所述插件/控件对象创建与页面进程相独立的插件/控件进程;将所述独立的插件/控件进程放到沙箱中运行;通过实现所述插件/控件进程与所述页面进程之间进行进程间通信,实现对网页的浏览;其中,所述页面进程运行于沙箱外。通过本发明,能够在确保上网浏览安全性问题的同时,提高浏览器运行的稳定性。
Description
技术领域
本发明涉及浏览器安全技术领域,特别是涉及一种浏览网页的方法及装置。
背景技术
随着时代的进步,互联网已经成为人们生活的重要组成部分,而Web浏览器也理所应当地成为计算机等设备中最为重要的软件之一。浏览器提供了BHO(Browser Helper Object)、AxtiveX控件、工具栏组件接口,可以以插件/控件的形式定制、完善浏览器功能。
但是,随着Web浏览器重要性的日益突出,恶意软件、木马、间谍软件等网络攻击也呈现逐渐的上升,尤其是浏览器插件,由于插件/控件程序由不同的发行商发行,其技术水平也良莠不齐,经常存在安全漏洞,因此容易会成为木马、病毒的重点攻击目标。
例如,研究发现:Adobe Flash、Windows Media Player、Realplayer等常用插件都极易受到攻击。利用浏览器插件的安全漏洞,病毒能够获取用户的系统权限,向用户的计算机下载、安装、运行恶意代码,窃取用户的个人信息(如网上银行信息、电子邮件、游戏密码)等等,对用户的系统安全造成严重的影响。
此外,也有部分插件本身就是恶意插件,例如广告软件(Adware)或间谍软件(Spyware)等。此类恶意插件程序可以监视用户的上网行为,并把所记录的数据报告给插件程序的创建者,以达到投放广告、盗取游戏或银行帐号密码等非法目的。
为了提高用户上网时的安全性,通常可以将浏览器技术与沙箱技术相结合。沙箱是一个虚拟系统程序,通过虚拟化的磁盘、内存以及网络资源,提供了一种程序的隔离运行机制。在沙箱中运行的程序,创建、修改、删除的所有文件和注册表内容都会被虚拟化重定向,确保程序无法对系统关键部位进行改动,破坏系统的真实环境。
现有技术中,通常是直接将浏览器进程放入到沙箱中运行,这样可以从一定程度上确保用户上网时的安全性。但是,由于插件/控件设计水平上的限制,在运行时,经常会出现插件/控件的卡死、崩溃等不稳定现象,进而也导致整个页面进程也随之失去响应,影响浏览器的稳定性。
因此,迫切需要本领域技术人员解决的技术问题就在于,如何在确保上网浏览安全性问题的同时,提高浏览器运行的稳定性。
发明内容
本发明提供了一种浏览网页的方法及装置,能够在确保上网浏览安全性问题的同时,提高浏览器运行的稳定性。
本发明提供了如下方案:
一种浏览网页的方法,包括:
当页面线程创建插件/控件对象时,为所述插件/控件对象创建与页面进程相独立的插件/控件进程;
将所述独立的插件/控件进程放到沙箱中运行;
通过实现所述插件/控件进程与所述页面进程之间进行进程间通信,实现对网页的浏览;其中,所述页面进程运行于沙箱外。
其中,所述实现所述插件/控件进程与所述页面进程之间进行进程间通信包括:
在所述独立的插件/控件进程中创建主窗口对象及浏览器宿主对象,将所述浏览器宿主对象连接到所述主窗口对象上,以便所述页面进程通过所述主窗口向所述插件/控件进程发送消息。
其中,所述页面进程通过所述主窗口向所述插件/控件进程发送消息包括:
所述页面进程通过所述主窗口向所述插件/控件进程发送鼠标、键盘响应事件消息。
其中,所述实现所述插件/控件进程与所述页面进程之间进行进程间通信包括:
当沙箱内的插件/控件进程需要向沙箱外发出指令时,判断该指令是否为向所述插件/控件进程发出的,并且属于预置的通讯指令集,如果是,则将该指令放行,以便所述插件/控件进程向所述页面进程进行发送消息。
其中,所述插件/控件进程向所述页面进程进行发送消息包括:
当所述插件/控件进程有脚本需要调用时,将所述脚本转发到创建该插件进程的页面进程中;
或者,
当所述插件/控件进程产生绘制事件时,将所述绘制事件对应的数据发送给对应的页面进程。
一种浏览网页的装置,包括:
独立进程创建单元,用于当页面线程创建插件/控件对象时,为所述插件/控件对象创建与页面进程相独立的插件进程;
沙箱驱动单元,用于将所述独立的插件/控件进程放到沙箱中运行;
进程间通信单元,用于通过实现所述插件/控件进程与所述页面进程之间进行进程间通信,实现对网页的浏览。
其中,所述进程间通信单元包括:
第一通信子单元,用于在所述独立的插件/控件进程中创建主窗口对象及浏览器宿主对象,将所述浏览器宿主对象连接到所述主窗口对象上,以便所述页面进程通过所述主窗口向所述插件/控件进程发送消息。
其中,所述第一通信子单元具体用于:
所述页面进程通过所述主窗口向所述插件/控件进程发送鼠标、键盘响应事件消息。
其中,所述进程间通信单元包括:
第二通信子单元,用于当沙箱内的插件/控件进程需要向沙箱外发出指令时,判断该指令是否为向所述插件/控件进程发出的,并且属于预置的通讯指令集,如果是,则将该指令放行,以便所述插件/控件进程向所述页面进程进行发送消息。
其中,所述第二通信子单元具体用于:
当所述插件/控件进程有脚本需要调用时,将所述脚本转发到创建该插件/控件进程的页面进程中;
或者,
当所述插件/控件进程产生绘制事件时,将所述绘制事件对应的数据发送给对应的页面进程。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
通过本发明,由于将插件/控件从浏览器页面进程中独立出来,并且将插件/控件进程实时放入到沙箱中运行,因此,能够在保证用户上网安全性的同时,避免由于插件/控件的卡死或崩溃等现象引起浏览器页面失去响应的现象,进而提高浏览器运行的稳定性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的方法的流程图;
图2是本发明实施例提供的装置的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
首先需要说明的是,发明人在实现本发明的过程中发现,在传统的实现方式下,插件/控件和页面在同一个进程中,当有恶意程序或者插件,通过BHO、AxtiveX控件、工具栏组件等方式,在浏览器进程过程中加载时,这样的对象会在与浏览器相同的上下文中运行,并能对可用的窗口和模块执行任何行动。例如,一个BHO能够探测到典型的事件,如GoBack、GoForward、DocumentComplete等,另外BHO能够存取浏览器的菜单与工具栏并能做出修改,还能够产生新窗口来显示当前网页的一些额外信息,还能够安装钩子以监控一些消息和动作,从而可能会对用户的系统带来安全隐患。另一方面,也正是由于插件/控件和页面在同一进程中,因此,当插件/控件出现卡死、崩溃等不稳当情况时,就会导致整个页面进程失去响应,影响浏览器的稳定性。
基于上述分析,本发明实施例试图提供一种新的浏览网页的方法,通过该方法来达到确保上网浏览安全性问题的同时,提高浏览器运行的稳定性的目的。
参见图1,本发明实施例提供的浏览网页的方法可以包括以下步骤:
S101:当页面线程创建插件/控件对象时,为所述插件/控件对象创建与页面进程相独立的插件进程;
一般而言,如果一个页面中存在插件,则在该页面加载的过程中,页面进程会创建插件/控件对象,在传统的方式下,就会直接在页面进程中创建插件/控件对象,而在本发明实施例中,在页面进程创建插件/控件对象时,可以为该插件/控件对象创建独立于页面进程的插件/控件进程。也即,使得插件/控件与页面在不同的进程中,这样,如果插件发生了卡死或者崩溃等现象,由于不会对其他进程的运行造成影响,因此,也就不会使得页面发生随之失去响应的现象,避免使浏览器的稳定性受到影响。
S102:将所述独立的插件/控件进程放到沙箱中运行;
由于插件/控件被木马、病毒攻击的可能性比较大,因此,在本发明实施例中,将为插件/控件对象创建的独立进程放入到沙箱中运行,这样,可以避免由于插件/控件而给用户的系统安全造成威胁。
S103:通过实现所述插件/控件进程与所述页面进程之间进行进程间通信,实现对网页的浏览;其中,所述页面进程运行于沙箱外。
插件/控件作为对浏览器功能的补充或完善,在实现一些浏览器功能时,需要页面与插件/控件相互配合来完成。而在本发明实施例中,由于页面和插件/控件在不同的进程中,因此,还要使得页面与插件/控件之间能够进行必要的信息交互,这样才能保证浏览器功能的实现。这里所谓的信息交互包括两种情况,一种情况是页面进程需要发送消息给插件/控件进程,另一种情况就是插件/控件进程需要发送消息给页面进程。
为了使得页面进程能够发送消息给插件/控件进程,在将插件从浏览器页面进程中独立出来,并将插件/控件进程放入到沙箱中的同时,还需要在独立的插件/控件进程中创建主窗口对象及浏览器宿主对象,并将浏览器宿主对象连接到主窗口对象上。由于操作系统中的消息交互是基于窗口进行的,当在插件/控件进程中创建了主窗口对象并连接到浏览器宿主对象之后,当页面需要向插件/控件发送消息时,就可以向该插件/控件的主窗口发送,这样,插件/控件进程就可以通过该主窗口接收页面进程发送的消息。
具体实现的过程中,页面进程在多种情况下都可能会向插件/控件进程发送消息。例如,可以由浏览器页面进程接管插件/控件进程中的鼠标、键盘等响应事件,并通过消息转发机制通知给沙箱内的插件进程,再由插件/控件进程执行相应的操作。这些鼠标、键盘响应事件具体可以包括:当页面进程对象改变窗口大小、页面刷新等事件时,页面进程可以通知插件/控件进程对象调整插件的大小、位置,等等。或者,当页面关闭或者浏览器退出时,还可以通知插件/控件进程,完成插件/控件对象的释放和销毁等操作,等等。
而为了使得插件/控件进程能够发送消息给页面进程,由于页面进程自身存在窗口对象,因此不必再为页面进程创建窗口对象,但是在本发明实施例中,由于插件/控件进程在沙箱内,而浏览器页面进程在沙箱外,此时,如果插件/控件进程需要在沙箱内与沙箱外的浏览器页面进程进行进程间通讯时,由于沙箱的安全性限制,插件/控件进程向沙箱外的操作指令会被沙箱虚拟环境屏蔽,因此,需要沙箱做特殊处理,放过插件/控件进程必要的指令到沙箱外,以通知外部的浏览器页面进程,同时,外部的浏览器页面进程也可以把一些用户操作的指令(例如用户点击了某链接,或者点击“停止”、“播放”按钮等等)通知给沙箱内的插件/控件进程执行相应的处理工作。
当然,为了确保安全性,并不能让插件/控件进程发出的所有消息都能发送到沙箱外,为此,可以预先定义必要的指令集,沙箱放过内部插件/控件进程向外发出的这些指令集,从而保证浏览器的正常运行。换言之,为了保证浏览器能够正常运行,沙箱可以允许一些指令发出到沙箱外,但是前提有两点:第一,该指令是由插件/控件进程发出的,第二,该指令属于预先定义的通讯指令集,只有当这两个条件同时满足时,才能放行,以保证系统的安全性。当然,在上述的具体实现时,除了上述定义通信指令集的方式之外,还可以通过其他方式实现,例如,可以通过管道机制来实现,等等,这里不再赘述。
在具体实现时,这些可以从沙箱内放过的指令可以包括多种情况。例如,由于页面与插件/控件具有对应性,因此为了保证运行中的正确性,如果独立进程中的插件需要执行某事件,则需要将对应的脚本放入到创建该插件/控件进程的页面线程中区,在该页面线程中运行该脚本。为此,插件/控件进程还可以维护一份插件/控件主窗口与页面线程之间的映射关系,用来保证页面线程与插件/控件线程的一一对应。当插件/控件进程中需要运行某脚本时,就可以通过该映射关系找到对应的页面线程,并将该脚本放入到该页面线程中运行。显然,当插件/控件进程发出的消息时这种消息时,就应该将该消息放过,也即允许将该消息发出到处于沙箱外的页面线程,可以将这种消息写入到通讯指令集中。
此外,由于插件/控件进程是在沙箱内运行的,因此,为了使得插件/控件进程涉及到的与界面相关的内容能够展现给用户,还需要插件/控件进程将界面相关的内容、显示的位置、大小等数据发送给对应的浏览器页面进程,由浏览器页面进程绘制界面显示结果(具体的,页面进程可以调用插件/控件进程的IViewObject::Draw方法,完成插件/控件对象内容的绘制及显示),这样,用户就能够看到相关的界面显示结果。同样的,插件/控件进程发出的这种绘制消息也可以从沙箱内放过,可以将这种消息写入到通讯指令集中。
需要说明的是,在实际应用中,可能并不是所有的插件/控件都是允许与所在页面的进程独立的,例如,一些网银的控件,如果放到与页面进程相独立的另一个进程中,则可能无法实现相应的功能。因此,在具体实现时,可以仅针对一些播放器、flash等独立性强的插件/控件,或者在将插件/控件进程独立出来之后不会影响到具体功能实现的插件/控件,使用本发明实施例的方案来实现,其他的插件/控件仍然使用已有技术来实现即可。
总之,通过本发明实施例提供的浏览网页的方法,由于将插件/控件从浏览器页面进程中独立出来,并且将插件/控件进程实时放入到沙箱中运行,因此,能够在保证用户上网安全性的同时,避免由于插件/控件的卡死或崩溃等现象引起浏览器页面失去响应的现象,进而提高浏览器运行的稳定性。
与本发明实施例提供的浏览网页的方法相对应,本发明实施例还提供了一种浏览网页的装置,参见图2,该装置可以包括:
独立进程创建单元201,用于当页面线程创建插件/控件对象时,为所述插件/控件对象创建与页面进程相独立的插件/控件进程;
沙箱驱动单元202,用于将所述独立的插件/控件进程放到沙箱中运行;
进程间通信单元203,用于通过实现所述插件/控件进程与所述页面进程之间进行进程间通信,实现对网页的浏览;其中,所述页面进程运行于沙箱外。
其中,进程间通信单元203具体可以包括:
第一通信子单元,用于在所述独立的插件/控件进程中创建主窗口对象及浏览器宿主对象,将所述浏览器宿主对象连接到所述主窗口对象上,以便所述页面进程通过所述主窗口向所述插件/控件进程发送消息。
具体实现时,所述第一通信子单元具体可以用于:
所述页面进程通过所述主窗口向所述插件/控件进程发送鼠标、键盘响应事件消息。
或者,进程间通信单元203也可以包括:
第二通信子单元,用于当沙箱内的插件/控件进程需要向沙箱外发出指令时,判断该指令是否为向所述插件/控件进程发出的,并且属于预置的通讯指令集,如果是,则将该指令放行,以便所述插件/控件进程向所述页面进程进行发送消息。
具体实现时,所述第二通信子单元具体可以用于:
当所述插件/控件进程有脚本需要调用时,将所述脚本转发到创建该插件/控件进程的页面线程中;
或者,
当所述插件/控件进程产生绘制事件时,将所述绘制事件对应的数据发送给对应的页面进程。
通过本发明实施例提供的浏览网页的装置,由于将插件/控件从浏览器页面进程中独立出来,并且将插件/控件进程实时放入到沙箱中运行,因此,能够在保证用户上网安全性的同时,避免由于插件/控件的卡死或崩溃等现象引起浏览器页面失去响应的现象,进而提高浏览器运行的稳定性。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上对本发明所提供的浏览网页的方法及装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (6)
1.一种浏览网页的方法,其特征在于,包括:
当页面进程创建插件/控件对象时,为所述插件/控件对象创建与页面进程相独立的插件/控件进程,所述插件/控件进程与所述页面进程在不同的进程中;
将所述独立的插件/控件进程放到沙箱中运行;
通过实现所述插件/控件进程与所述页面进程之间的通信,实现对网页的浏览;其中,所述页面进程运行于沙箱外;所述实现插件/控件进程与所述页面进程之间的通信包括:在所述独立的插件/控件进程中创建主窗口对象及浏览器宿主对象,将所述浏览器宿主对象连接到所述主窗口对象上,当页面需要向插件/控件发送消息时向该插件/控件的主窗口发送,以便所述页面进程通过所述主窗口向所述插件/控件进程发送消息;当沙箱内的插件/控件进程需要向沙箱外发出指令时,判断该指令是否由所述插件/控件进程发出,并且属于预置的通讯指令集,如果是,则将该指令放行,以便所述插件/控件进程向所述页面进程发送消息。
2.根据权利要求1所述的方法,其特征在于,所述页面进程通过所述主窗口向所述插件/控件进程发送消息包括:
所述页面进程通过所述主窗口向所述插件/控件进程发送鼠标、键盘响应事件消息。
3.根据权利要求1所述的方法,其特征在于,所述插件/控件进程向所述页面进程发送消息包括:
当所述插件/控件进程有脚本需要调用时,将所述脚本转发到创建该插件进程的页面进程中;
或者,
当所述插件/控件进程产生绘制事件时,将所述绘制事件对应的数据发送给对应的页面进程。
4.一种浏览网页的装置,其特征在于,包括:
独立进程创建单元,用于当页面进程创建插件/控件对象时,为所述插件/控件对象创建与页面进程相独立的插件/控件进程,所述插件/控件进程与所述页面进程在不同的进程中;
沙箱驱动单元,用于将所述独立的插件/控件进程放到沙箱中运行;
进程间通信单元,用于通过实现所述插件/控件进程与所述页面进程之间的通信,实现对网页的浏览;所述进程间通信单元包括:第一通信子单元,用于在所述独立的插件/控件进程中创建主窗口对象及浏览器宿主对象,将所述浏览器宿主对象连接到所述主窗口对象上,当页面需要向插件/控件发送消息时向该插件/控件的主窗口发送,以便所述页面进程通过所述主窗口向所述插件/控件进程发送消息;以及第二通信子单元,用于当沙箱内的插件/控件进程需要向沙箱外发出指令时,判断该指令是否由所述插件/控件进程发出,并且属于预置的通讯指令集,如果是,则将该指令放行,以便所述插件/控件进程向所述页面进程发送消息。
5.根据权利要求4所述的装置,其特征在于,所述第一通信子单元具体用于:
所述页面进程通过所述主窗口向所述插件/控件进程发送鼠标、键盘响应事件消息。
6.根据权利要求4所述的装置,其特征在于,所述第二通信子单元具体用于:
当所述插件/控件进程有脚本需要调用时,将所述脚本转发到创建该插件/控件进程的页面进程中;
或者,
当所述插件/控件进程产生绘制事件时,将所述绘制事件对应的数据发送给对应的页面进程。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110448359.1A CN102436507B (zh) | 2011-12-28 | 2011-12-28 | 一种浏览网页的方法及装置 |
CN201410232650.9A CN104021167B (zh) | 2011-12-28 | 2011-12-28 | 一种浏览网页的方法及装置 |
CN201410232855.7A CN104021168B (zh) | 2011-12-28 | 2011-12-28 | 一种浏览网页的方法及装置 |
PCT/CN2012/087557 WO2013097725A1 (zh) | 2011-12-28 | 2012-12-26 | 一种浏览网页的方法及装置 |
US14/368,588 US9354951B2 (en) | 2011-12-28 | 2012-12-26 | Method and device for browsing webpage |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110448359.1A CN102436507B (zh) | 2011-12-28 | 2011-12-28 | 一种浏览网页的方法及装置 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410232650.9A Division CN104021167B (zh) | 2011-12-28 | 2011-12-28 | 一种浏览网页的方法及装置 |
CN201410232855.7A Division CN104021168B (zh) | 2011-12-28 | 2011-12-28 | 一种浏览网页的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102436507A CN102436507A (zh) | 2012-05-02 |
CN102436507B true CN102436507B (zh) | 2014-07-16 |
Family
ID=45984569
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110448359.1A Expired - Fee Related CN102436507B (zh) | 2011-12-28 | 2011-12-28 | 一种浏览网页的方法及装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9354951B2 (zh) |
CN (1) | CN102436507B (zh) |
WO (1) | WO2013097725A1 (zh) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102436507B (zh) * | 2011-12-28 | 2014-07-16 | 奇智软件(北京)有限公司 | 一种浏览网页的方法及装置 |
CN102681850B (zh) * | 2012-05-07 | 2015-05-20 | 北京奇虎科技有限公司 | 一种基于Webkit内核提供网页浏览的方法及装置 |
CN102982169B (zh) * | 2012-12-12 | 2017-05-24 | 北京奇虎科技有限公司 | 用于隔离网页插件的浏览器和方法 |
CN103034495A (zh) * | 2012-12-12 | 2013-04-10 | 北京奇虎科技有限公司 | 对网页中插件进行隔离的浏览器及网页插件的隔离方法 |
CN103064709B (zh) * | 2012-12-25 | 2016-11-09 | 北京奇虎科技有限公司 | 浏览器活动对象的执行方法、系统及浏览器 |
CN103064680B (zh) * | 2012-12-25 | 2016-08-03 | 北京奇虎科技有限公司 | 浏览器中插件的播放方法及装置 |
CN103034503B (zh) * | 2012-12-25 | 2016-07-06 | 北京奇虎科技有限公司 | 一种脚本执行方法、系统及浏览器 |
CN103019867B (zh) * | 2012-12-25 | 2016-06-01 | 北京奇虎科技有限公司 | 进程间的脚本执行方法、系统及浏览器 |
CN103019734B (zh) * | 2012-12-25 | 2016-08-03 | 北京奇虎科技有限公司 | 一种活动对象执行方法、系统及浏览器 |
CN103077047B (zh) * | 2012-12-25 | 2016-08-03 | 北京奇虎科技有限公司 | 一种插件播放方法及装置 |
CN103150390B (zh) * | 2013-03-21 | 2016-04-13 | 北京奇虎科技有限公司 | 一种对Flash窗口的处理方法和装置 |
CN106254325B (zh) * | 2013-03-25 | 2019-08-02 | 北京奇虎科技有限公司 | 网站认证信息的显示方法及浏览器 |
US20140372935A1 (en) * | 2013-06-14 | 2014-12-18 | Microsoft Corporation | Input Processing based on Input Context |
CN103544067B (zh) * | 2013-10-12 | 2016-08-24 | 福建升腾资讯有限公司 | 客户端的flash插件与服务端IE浏览器的网页脚本交互的方法 |
CN103617092A (zh) * | 2013-11-21 | 2014-03-05 | 北京奇虎科技有限公司 | 一种基于浏览器的插件运行方法和装置 |
CN103618936A (zh) * | 2013-12-16 | 2014-03-05 | 乐视致新电子科技(天津)有限公司 | 智能电视及其浏览器中链接页面的预加载方法和装置 |
US9747165B1 (en) * | 2014-04-23 | 2017-08-29 | Google Inc. | Self-recovering application |
CN104216741A (zh) * | 2014-08-25 | 2014-12-17 | 华中科技大学 | 基于APK动态加载的Android插件化实现方法、装置及交互方法 |
CN104536776B (zh) * | 2014-11-28 | 2018-11-23 | 百度在线网络技术(北京)有限公司 | 一种在宿主端插件运行环境中运行插件应用的方法与装置 |
CN105518693B (zh) * | 2014-12-29 | 2018-12-07 | 华为技术有限公司 | 一种安全防护方法,及装置 |
CN105700928B (zh) * | 2016-01-15 | 2019-08-09 | 北京金山安全软件有限公司 | 一种控件信息展示方法、装置及电子设备 |
CN107786413B (zh) * | 2016-08-24 | 2022-03-22 | 中兴通讯股份有限公司 | 一种浏览电子邮件的方法及用户终端 |
US10140165B2 (en) * | 2017-02-02 | 2018-11-27 | Microsoft Technology Licensing, Llc | Shell action browser extensions |
CN107402782A (zh) * | 2017-06-30 | 2017-11-28 | 武汉斗鱼网络科技有限公司 | 一种用于在直播软件中加载插件的方法及装置 |
US11190573B2 (en) * | 2018-07-25 | 2021-11-30 | Vmware, Inc. | Techniques for improving implementation of a remote browser within a local browser |
CN109286618A (zh) * | 2018-09-18 | 2019-01-29 | 杭州振牛信息科技有限公司 | 一种浏览器多页面同步连接呼叫中心的方法及系统 |
CN109683997B (zh) * | 2018-12-21 | 2022-02-11 | 前锦网络信息技术(上海)有限公司 | 通过沙箱访问应用程序接口的方法、沙箱及沙箱设备 |
CN114168937A (zh) * | 2022-02-10 | 2022-03-11 | 广东统信软件有限公司 | 一种资源访问方法、计算设备及可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102208004A (zh) * | 2011-05-13 | 2011-10-05 | 南京邮电大学 | 一种基于最小化特权原则的软件行为控制方法 |
CN102232217A (zh) * | 2008-12-02 | 2011-11-02 | 微软公司 | 插件的沙盒执行 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6611872B1 (en) * | 1999-01-11 | 2003-08-26 | Fastforward Networks, Inc. | Performing multicast communication in computer networks by using overlay routing |
US7254814B1 (en) * | 2001-09-28 | 2007-08-07 | Emc Corporation | Methods and apparatus for managing plug-in services |
US20050177635A1 (en) * | 2003-12-18 | 2005-08-11 | Roland Schmidt | System and method for allocating server resources |
US20070260702A1 (en) * | 2006-05-03 | 2007-11-08 | University Of Washington | Web browser architecture for virtual machine access |
US20110258526A1 (en) * | 2010-04-20 | 2011-10-20 | International Business Machines Corporation | Web content annotation management web browser plug-in |
US8819817B2 (en) * | 2011-05-25 | 2014-08-26 | Apple Inc. | Methods and apparatus for blocking usage tracking |
CN102436507B (zh) * | 2011-12-28 | 2014-07-16 | 奇智软件(北京)有限公司 | 一种浏览网页的方法及装置 |
CN102436508B (zh) * | 2011-12-28 | 2013-08-14 | 奇智软件(北京)有限公司 | 基于沙箱技术浏览网页的方法及装置 |
-
2011
- 2011-12-28 CN CN201110448359.1A patent/CN102436507B/zh not_active Expired - Fee Related
-
2012
- 2012-12-26 US US14/368,588 patent/US9354951B2/en active Active
- 2012-12-26 WO PCT/CN2012/087557 patent/WO2013097725A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102232217A (zh) * | 2008-12-02 | 2011-11-02 | 微软公司 | 插件的沙盒执行 |
CN102208004A (zh) * | 2011-05-13 | 2011-10-05 | 南京邮电大学 | 一种基于最小化特权原则的软件行为控制方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2013097725A1 (zh) | 2013-07-04 |
US20150309851A9 (en) | 2015-10-29 |
CN102436507A (zh) | 2012-05-02 |
US20150089512A1 (en) | 2015-03-26 |
US9354951B2 (en) | 2016-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102436507B (zh) | 一种浏览网页的方法及装置 | |
US11062028B2 (en) | Methods and systems for end-point malware prevention to refrain malware components from being executed | |
JP6706273B2 (ja) | インタープリタ仮想マシンを用いた挙動マルウェア検出 | |
US9355246B1 (en) | Tuning sandbox behavior based on static characteristics of malware | |
US9405899B2 (en) | Software protection mechanism | |
Fernandes et al. | Android ui deception revisited: Attacks and defenses | |
Balduzzi et al. | A solution for the automated detection of clickjacking attacks | |
US9117079B1 (en) | Multiple application versions in a single virtual machine | |
US8997217B2 (en) | Safely processing and presenting documents with executable text | |
EP2713302A1 (en) | System and method for countering detection of emulation by malware | |
US20140215226A1 (en) | Method and system for preventing tampering with software agent in a virtual machine | |
US9111089B1 (en) | Systems and methods for safely executing programs | |
MX2013013970A (es) | Sistema y metodo para conservar referencias en los aislamientos de procesos. | |
JP2016503219A (ja) | 認知挙動認識のためのシステムおよびその方法 | |
KR20110087195A (ko) | 실행 가능 텍스트를 갖는 문서의 표시 장치 및 방법 | |
WO2010077443A2 (en) | Isolating applications hosted by plug-in code | |
JP7144642B2 (ja) | フォレンジクスのための動作ベースのvmリソースキャプチャ | |
JP7442313B2 (ja) | 仮想マシンにおいて脆弱性を有するファイルを実行するときにログを作成するためのシステムおよび方法 | |
CN104021167B (zh) | 一种浏览网页的方法及装置 | |
JP2019061636A (ja) | ファイルのウイルス対策スキャン実行のため仮想マシン上にログを生成するシステム及び方法 | |
WO2017147441A1 (en) | Sub-execution environment controller | |
EP4158503A1 (en) | File upload modifications for client side applications | |
CN104021168B (zh) | 一种浏览网页的方法及装置 | |
Yang et al. | Eavesdropping user credentials via GPU side channels on smartphones | |
Levy | Interface illusions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140716 Termination date: 20211228 |
|
CF01 | Termination of patent right due to non-payment of annual fee |