CN102232217A - 插件的沙盒执行 - Google Patents
插件的沙盒执行 Download PDFInfo
- Publication number
- CN102232217A CN102232217A CN2009801491277A CN200980149127A CN102232217A CN 102232217 A CN102232217 A CN 102232217A CN 2009801491277 A CN2009801491277 A CN 2009801491277A CN 200980149127 A CN200980149127 A CN 200980149127A CN 102232217 A CN102232217 A CN 102232217A
- Authority
- CN
- China
- Prior art keywords
- auxiliary code
- execution
- isolation
- plug
- code
- 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.)
- Granted
Links
Images
Classifications
-
- 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/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/161—Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4441—Reducing the execution time required by the program code
- G06F8/4442—Reducing the number of cache misses; Data prefetching
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
隔离和标识恶意插件(有意的或无意的)以防止系统中断和故障的沙盒体系结构。基于插件错误,所述体系结构通过罚分系统自动地禁用和阻止恶意插件的注册。通过禁用恶意插件以及将其发布者注册到不安全列表中来控制恶意插件的发布者。可以以多级别提供隔离,例如机器隔离、进程隔离、具有受限访问权限的安全账户、以及使用本地安全机制的过程中的应用程序域隔离。多级别隔离的组合实现了高级别的安全性。隔离提供了与其它插件执行的分离,以及对诸如文件系统和网络IP的系统资源的限制。此外,所述体系结构是用于插件执行的高度可伸缩、无状态、以及低管理的体系结构,该体系结构可以在没有预先配置的情况下通过即时添加/删除额外的沙盒服务器而被缩放。
Description
背景
软件供应商在寻找使用现有数量的当前发布的应用程序为用户提供价值的方法,而不是通过新产品的购买。这可以通过提供允许用户代码作为正常应用程序操作的一部分来运行的特征来达到。以被配置为在应用程序操作中的具体点处运行的“插件”或辅助应用程序的形式添加用户代码。在在线环境中,由于代码运行在主服务器上使这变得具有挑战性,因此编码时的错误或恶意代码可以导致对公司计算机系统或公司网络的破坏。
概述
以下提出简单的概述以便提供对此处描述的一些新颖实施例的基本理解。本概述不是大量的概述,并且不旨在确定关键/决定性的元素或描绘其范围。其唯一目的是以简化形式呈现某些概念作为之后呈现的更详细描述的序言。
所公开的体系结构是隔离软件插件代码的特征的唯一组合,以便于代码在公司主环境中被安全地运行,并且还为该环境执行有用的功能。所述体系结构包括被设计为标识和防止有意或无意的恶意插件、从错误中恢复、以及通过罚分系统自动地禁用和阻止恶意插件的注册的沙盒系统。所述沙盒系统还提供与在同一被隔离系统上运行的其它插件的隔离,以及限制对诸如机器名、IP地址、文件系统等的敏感信息和资源的访问。
可以以多级别提供隔离,例如机器隔离、进程隔离、具有受限访问权限的安全账户、以及使用本地安全机制的进程中的应用程序域隔离。所述多级别隔离的组合实现了高级别的安全性。
此外,所述体系结构是用于插件执行的高度可伸缩、无状态、以及低管理的体系结构,该体系结构可以在没有预先配置的情况下通过即时(on-the-fly)添加(或删除)额外的沙盒服务器而被简单地缩放。
为了实现前述和相关目的,此处结合以下描述和附图描述了某些说明性的方面。这些方面仅指示可实现此处公开的原理的各种方式,且所有方面及其等价物均旨在包括在所要求保护的主题的范围内。当结合附图考虑以下详细描述时,其它优点和新颖的特征将是显而易见的。
附图简述
图1示出依照所公开的体系结构的程序管理系统。
图2示出包含有用于惩罚恶意辅助代码的惩罚组件的更详细的程序管理系统。
图3示出示例性的程序管理体系结构。
图4示出用于使用沙盒服务器的程序管理的更一般的系统。
图5示出管理程序的方法。
图6示出基于罚分管理辅助代码的方法。
图7示出基于罚分管理注册的方法。
图8示出管理恶意辅助代码的发布者的方法。
图9示出基于恶意辅助代码管理机构的方法。
图10示出基于负载平衡选择沙盒服务器的方法。
图11示出依照所公开的体系结构,可执行隔离的插件执行的计算系统的框图。
图12示出用于插件隔离的程序管理的计算环境的示意框图。
具体实施方式
沙盒体系结构隔离和标识恶意插件(有意的或无意的)以防止系统中断和故障。如果插件引入错误,所述体系结构通过罚分系统自动地禁用和阻止恶意插件的注册。可以以多级别提供隔离,例如机器隔离、进程隔离、具有受限访问权限的安全账户、以及使用本地安全机制(例如.Net代码访问安全)的进程中的应用程序域(例如AppDomain)隔离。多级别隔离的组合实现了高级别的安全性。
此外,所述体系结构是用于插件执行的高度可伸缩、无状态、以及低管理的体系结构,该体系结构可以在没有预先配置的情况下通过即时添加(或删除)额外的沙盒服务器而被简单地缩放。
现在将参考附图,其中使用相同的标号来在全文中指示相同的元素。在以下描述中,出于解释的目的,阐明了众多具体细节以便提供对其彻底的理解。但是显然,所述新颖的实施例能够在没有这些具体细节的情况下实现。在其它情况中,用框图形式示出了熟知的结构和设备以便于帮助对其的描述。目的旨在涵盖落在所要求保护的主题的精神和范围之内的所有修改、等价物、以及替代物。
图1示出依照所公开的体系结构的程序管理系统100。系统100包括用于接收与应用程序106(例如服务器)一起执行的辅助代码104的接口组件102。例如,接口组件102可以是应用程序106的一部分,或者是单独一段代码。或者例如,接口组件102可以是隔离组件108的一部分。
系统100还包括用于接收辅助代码104并且使用一个或更多级别的隔离将辅助代码104安全地隔离在隔离环境110中的隔离组件108,以及用于部分地基于异常执行行为来监控和管理隔离环境110中辅助代码104的执行的管理组件112。
辅助代码104可以是接收到的用于与作为服务器应用程序的应用程序106一起执行的第三方插件,而隔离组件108可以是沙盒服务器的一部分,为了隔离执行而将辅助代码104发送至该沙盒服务器。一个或更多隔离级别包括机器隔离级别、进程隔离级别、或应用程序域代码访问隔离级别中的至少一个。在替代的实现中,可以在用户端单独地采用所述设计,或者也可以在服务器上采用所述设计。换句话说,并不需要在服务器上单独地处理隔离的插件。
接口组件102保证了来自辅助代码104的调用被定向到适当的应用程序106。换句话说,在有多个应用程序运行隔离的插件时,接口组件102将来自插件的调用正确地路由至对应的服务器应用程序。管理组件112通过禁用辅助代码104来停止在隔离环境108中执行辅助代码104。当辅助代码104被禁用的次数超过了阈值次数时,阻止辅助代码104的注册。
图2示出包含有用于惩罚恶意辅助代码的惩罚组件202的更详细的程序管理系统200。系统200包括用于接收与应用程序106(例如服务器)一起执行的辅助代码104的接口组件102,用于接收辅助代码104并且使用一个或更多级别的隔离将辅助代码104安全地隔离在隔离环境110中的隔离组件108,以及用于监控和管理隔离环境110中辅助代码104的执行的管理组件112。管理组件112将不允许运行由于惩罚系统而被禁用的禁用辅助代码104。
惩罚组件202跟踪由单独的辅助代码104累积的罚分,并且当超过阈值时禁用辅助代码104。换句话说,为恶意辅助代码104分配和累积罚分。惩罚组件202包括可配置的惩罚阈值,违反该阈值将造成对该辅助代码进一步执行的阻止。当违反惩罚阈值时,可以基于程序集签名阻止该同一辅助代码104的注册。
程序集签名包括程序集名、程序集版本、发布者公共密钥令牌、以及程序集文化信息。在系统中被禁用的程序集的历史可以潜在地充当判定哪些发布者应该被禁用的数据。
在替代的实施例中,还可以通过发布者密钥令牌来禁用程序集的注册,发布者密钥令牌是单独的功能并且独立于罚分系统而工作。
可以将接口组件102与应用程序106一起放置在服务器机器上,其中应用程序106可以是服务器应用程序。类似地,可以将管理组件112和/或惩罚组件202与应用程序106一起放置在服务器机器上。但是这并不是必须的要求,因为可以将接口组件102、管理组件112、以及惩罚组件202与隔离组件108一起放置,其中隔离组件108可以是隔离服务器(也叫做“沙盒”服务器)。
系统200还可以包括负载管理组件204,该负载管理组件用于基于增加的执行负载选择一个或更多现有的隔离组件以跨多个现有的隔离组件平衡负载。换句话说,在即时体系结构的预期中将有来自相同或不同服务器的多个应用程序以用于处理插件(辅助代码)。然后根据执行行为将插件发送到隔离服务器以用于执行、监控、以及管理。例如,恶意插件对于对应的应用程序(和服务器)或在同一网络上布置的其它系统而言将不是威胁。
换句话说,程序管理系统200包括用于接收与应用程序106一起执行的辅助代码104并且用于保证将来自辅助代码104的调用被定向至应用程序106的接口组件102。隔离组件108接收辅助代码104,并且使用机器隔离级别、进程隔离级别、或应用程序域代码访问隔离级别中的至少一个将辅助代码104安全地隔离在隔离环境110中。惩罚组件202跟踪由单独的辅助代码累积的罚分,并且当响应于辅助代码104的异常执行行为而超过阈值时禁用辅助代码104。管理组件112基于罚分监控和管理隔离环境110中辅助代码104的执行。
基于响应于异常执行行为而应用的累计总罚分,管理组件112通过禁止被禁用辅助代码104的执行来阻止辅助代码104的执行。基于提供恶意辅助代码的发布者的历史,管理组件112阻止发布者的辅助代码的执行。此外,基于在来自于机构的已经被执行或正在被执行的现有辅助代码上累积的罚分,管理组件112阻止来自于该机构的新辅助代码的注册。辅助代码104是接收的用于与应用程序106一起执行的第三方插件,其中应用程序106是服务器应用程序,而隔离组件108可以是沙盒服务器的一部分,为了隔离执行而将辅助代码104发送至该沙盒服务器。
图3示出示例性的程序管理体系结构300。程序管理体系结构300可以包括独立的沙盒服务器机器302(用于隔离环境)或对现有平台服务器机器304的增强。体系结构300可以包括在平台服务器机器304中被定义为“沙盒服务器”的服务器“角色”。沙盒服务器机器302可以是安全地执行辅助代码(AC)306的单独的专用服务器机器,也被称为“插件”。但是,这并不是必须的要求,因为可以在平台服务器机器304上共同放置沙盒服务器功能。在这一实施例中,在.Net框架的上下文中描述了体系结构300,但是当使用其他操作系统时可以使用其它类似的实现。(.Net框架通常被使用在微软公司的操作系统中,该框架包括用于与新应用程序的互通性的预编码解决方案的库。)辅助代码306可以是包含在具有明确定义的接口的.Net程序集中的.Net组件。
沙盒服务器机器302包括被描述为“主机”的主过程308(例如实现为操作系统(OS)服务)。例如作为单个过程的主过程308可以管理一个或更多被描述为“工作者”的工作者过程310。工作者过程310可以包括一个或更多应用程序域(ADs)312(在.Net框架中被称为AppDomains),该应用程序域可以被用于在工作者过程310中隔离运行的代码。因此,沙盒辅助代码306可以具有三个级别的隔离:机器、进程、以及应用程序域。
可以使用代码访问安全性(CAS)、.Net机制来限制应用程序域,以将.Net代码限制为只有“执行”特权。CAS使用与具体程序集相关的标识符。辅助代码306仅在受限制的应用程序域312中的一个中执行。主过程308和工作者过程310可以在低权限的账户下运行,该低权限账户仅在沙盒服务器机器302中执行非常有限的功能。
使用注册组件318,在平台服务器数据库314中将辅助代码306注册为辅助代码(AC)注册316。但是,如果累积罚分数已经超过了阈值,则不允许由注册组件318的注册。此外,注册组件318仅允许签名的程序集的注册。注册组件318不允许来自已经被标记为不安全的发布者的程序集的注册。如果发布者被标记为安全的,可以注册程序集以不隔离地运行。为了被执行,辅助代码306从平台服务器机器304被传送到沙盒服务器机器302。
在沙盒服务器机器302上维护程序集高速缓存320。程序集高速缓存320存储用于每一辅助代码程序集的辅助代码程序集文件322(表示为“AC程序集文件”)。当要在沙盒服务器机器302上执行辅助代码306时,检查程序集高速缓存320以确定高速缓存320是否已经包含用于执行的正确的辅助代码306。如果否,则从平台服务器数据库314中取得辅助代码306,并且将其传送到沙盒服务器机器302,在该沙盒服务器中辅助代码306作为辅助代码程序集文件322被存储在程序集高速缓存320中。每一辅助代码程序集文件322是被唯一标识的以便于版本化正确地应用和工作。
从程序集高速缓存320中周期性地清理旧的辅助代码程序集文件。围绕着程序集高速缓存有整组的管理功能,例如限制程序集高速缓存的总大小,限制每个机构程序集高速缓存的总大小,限制程序集高速缓存中程序集的总生存时间等。如果版本是旧的,即程序集已经被更新为新的程序集,或者如果程序集在高速缓存中已经超过了允许的时间,则辅助代码程序集文件被认为是旧的。
程序集高速缓存320的实现可以是不同的。例如,高速缓存320可以用本地数据库以及位于其中的程序集来实现,而不是存储为简单的文件。程序高速集缓存320是优化步骤以便不用在每次调用上跨通信信道保持传输相同的数据。
为了允许辅助代码306进行有用的工作,给予辅助代码306执行平台服务器机器功能的接口。这一接口由工作者过程310管理,并且保证辅助代码306到平台服务器机器304的所有调用返回到源平台服务器(这里为平台服务器机器304)。这可以仅当要维护事务完整性时使用。返回到同一服务器提供了设计中的简单性。同时存在内部事务插件和外部事务插件。外部事务插件可以到达不同的平台服务器。
这使得用于事务的标识符回到源平台服务器(平台服务器机器304)处被识别,以便平台服务器机器304将由辅助代码306执行的新工作与源事务相关联。这意味着由沙盒的辅助代码306在事务上执行的所有工作在正确的事务上下文中被执行,并且消除任何对分布式事务的需要。
如果在沙盒服务器机器302处辅助代码306抛出不可预测的异常、崩溃、使用过度的CPU时间或内存等,则源平台服务器机器304识别这一现象,并且使用惩罚组件324使得用于包含辅助代码306的辅助代码程序集的罚分被累积。如果超过了用于辅助代码程序集的罚分数,则禁用该辅助代码程序集,并且包含在该程序集内的一组或更多组辅助代码将不再执行。
但是此时,可以使用注册组件318再次不注册和注册程序集。相应地,保持程序集已经被禁用次数的计数。如果该计数超过定义的阈值,则直到执行管理动作之前阻止程序集进一步的注册。替代地,可以简单地重新启用被禁用的程序集。
此外,如果用于为机构注册的所有辅助代码程序集的总罚分数超过预定阈值,则直到进行一些管理动作之前阻止用于该机构的辅助代码集合的所有进一步注册。
此外,维护被阻止的发布者的表格,该表格便于由于过度数量的错误或崩溃而对发布者的阻止,从而包含有发布者身份的相关辅助代码程序集将不被注册、重新注册、或执行。
通过返回至用于操作的源平台服务器304,以通过在不同沙盒服务器机器上的多个级别的插件执行来维护体系结构300的事务完整性。
还可以有如果程序集已经正确运行了一段时间,则减少罚分的回报过程。这保证了在一段时间内的随机故障不会造成程序集被禁用。
图4示出用于使用沙盒服务器402的程序管理的更一般的系统400。在操作中,当执行具有相关的沙盒插件步骤的平台服务器机器406的平台服务器404的操作时,从配置的沙盒服务器机器408的列表中选择可用的沙盒服务器机器(例如沙盒服务器402)。该选择过程可以基于负载管理组件204的负载平衡算法。负载管理组件204周期性地查询沙盒服务器机器408以确定可用性和负载。例如,负载管理组件204可以是每个平台服务器机器410的一部分。
执行请求被转发到沙盒服务器机器402上的主过程412。主过程412确定在沙盒机器402的程序集高速缓存中的程序集是否可用,如果否,向源服务器(平台服务器机器406)请求程序集。当程序集在程序集高速缓存中时,主过程412从可用池中选择工作者过程414,并且将执行请求转发至该工作者过程414。主过程412维护工作者过程的池,监控工作者过程资源的使用(例如内存、CPU使用等),以及在超过限制时关闭工作者过程。
工作者过程的选择可以采用诸如循环法、随机、或使用某些仿射性的不同策略。一个策略是保留空闲工作者过程的列表。如果一个机构的请求到来,进行检查以确定该机构是否正在被工作中的工作过程所服务。如果是,请求被路由至该工作者过程,否则从可用的空闲工作者过程池中选取新的工作者过程并且使用它。
工作者过程414创建和/或选择工作者过程414内的适当的CAS限制的应用程序域,并且载入所需的插件程序集和类。然后工作者过程414在使用相关参数向适当的平台服务器机器406作出调用的插件上调用“Execute(执行)”,该平台服务器机器包含插件可以执行平台服务器操作的接口。此外,向插件提供插件可以执行跟踪的接口。如果插件是恶意的并且累积了超过预定惩罚阈值的罚分数,则通过由平台服务器404在数据库416中禁用来阻止插件的进一步执行。如果插件已经被禁用了超过阈值的次数,则禁用该程序集的进一步注册。如果跨所有插件集合的总的被禁用计数超过另一个阈值,则可以禁用该机构所有插件的注册。插件接口是可扩展的,因此可以向插件提供额外的服务。
此处包括了一组代表用于执行所公开的体系结构的新颖方面的示例性方法的流程图。为了解释简明的目的,尽管此处所示的一种或多种方法例如以流程图的形式被显示和表述为一系列的动作,但是应当理解到所述方法不受到动作的顺序的限制,因为某些动作可以相应地以不同的顺序出现和/或与此处显示和描述的动作中的其它动作一起同时出现。例如,那些本领域的技术人员应当理解到方法可以替代地表示为诸如状态图的一系列互相关联的状态或事件。此外,新颖的实现并不需要方法所示的所有动作。
图5示出管理程序的方法。在500处,接收辅助代码以用于执行。在502处,将辅助代码发送到隔离环境以用于执行。在504处,在隔离环境中执行辅助代码。在506处,监控辅助代码执行的异常执行行为。在508处,基于异常执行行为管理辅助代码的执行。
所述方法的额外方面可以包括为作为主操作的一部分的调度辅助代码供隔离执行。此外,在504之后,结果可以被返回平台,而主操作继续。
图6示出基于罚分管理辅助代码的方法。在600处,监控辅助代码执行的异常执行行为。在602处,基于辅助代码的异常执行行为的实例应用罚分。在604处,累积罚分以与预定的惩罚阈值比较。在606处,相对于预定阈值停止辅助代码的执行。
图7示出基于罚分管理注册的方法。在700处,罚分被应用、累积、以及与惩罚阈值比较。在702处,由累积的罚分数所确定,基于过度的异常行为阻止辅助代码的注册。在704处,基于机构的插件的过度异常行为阻止辅助代码的注册。在706处,基于不安全的发布者阻止辅助代码的注册。
图8示出管理恶意辅助代码的发布者的方法。在800处,不安全的发布者被添加到不安全发布者列表,可以通过管理动作从列表中删除。在802处,维护提供恶意辅助代码的发布者和发布者标识符的表格。在804处,从具有发布者标识符的发布者处接收辅助代码。在806处,基于所述表格和标识符阻止来自发布者的辅助代码的执行。在808处,基于所述表格和标识符阻止来自发布者的辅助代码的注册。
图9示出基于恶意辅助代码管理机构的方法。在900处,基于一组或更多组辅助代码的恶意执行,向所述一组或更多组辅助代码应用罚分。在902处,对照惩罚阈值测试恶意组的累积的罚分。在904处,禁用恶意组,并且使用管理动作来重新启用先前被禁用的组。在906处,标识一个或更多恶意组的机构。在908处,阻止该机构进行新的辅助代码的注册以及现有代码的重新注册。
图10示出基于负载平衡选择沙盒服务器的方法。在1000处,在源平台服务器处接收辅助代码以用于执行。在1002处,访问负载平衡组件。在1004处,提交执行辅助代码的请求。在1006处,由负载平衡组件为隔离执行选择一个或多个沙盒服务器。可以诸如循环法、随机、或基于某些仿射性等的用于作出选择的不同策略。在1008处,监控辅助代码的恶意行为。在1010处,将恶意行为报告回源平台服务器并且应用罚分。在1012处,基于罚分管理恶意辅助代码的注册和运行。
如在本申请中所使用的,术语“组件”和“系统”旨在表示计算机相关的实体,其可以是硬件、硬件和软件的组合、软件、或者执行中的软件。例如,组件可以是,但不限于是,在处理器上运行的进程、处理器、硬盘驱动器、多种存储驱动器(光学的和/或磁性的存储介质)、对象、可执行码、执行的线程、程序、和/或计算机。作为说明,运行在服务器上的应用程序和服务器都可以是组件。一个或更多组件可以驻留在进程和/或执行的线程中,并且组件可以位于一个计算机内和/或分布在两个或更多的计算机之间。在此使用词语“示例性”意指用作示例、实例或说明。在此被描述为“示例性”的任何方面或设计并不一定被解释为比其他方面或设计更好或有利。
现在参考图11,图11示出依照所公开的体系结构,可执行隔离的插件执行的计算系统1100的框图。为了为其各方面提供额外的上下文,图11以及以下描述旨在提供对于可实现各方面的合适计算系统1100的简要、一般表述。尽管以上描述是在可以在一个或更多计算机上运行的计算机可执行指令的一般上下文中,但是本领域的技术人员应当认识到还可以用与其他程序模块的组合和/或作为硬件和软件的组合来实现新颖的实施例。
用于实现各方面的计算系统1100包括具有处理单元1104、系统存储器1106、以及系统总线1108的计算机1102。处理单元1104可以是诸如单处理器、多处理器、单核单元、和多核单元等的各商用处理器中的任何一种。此外,本领域的技术人员应当理解可以和其它计算机系统配置一起实现所述新颖的方法,该计算机系统配置包括微型计算机、大型计算机、以及个人计算机(例如台式计算机、膝上型计算机等)、手提式计算设备、基于微处理器的或可编程的用户电子设备等,其中每一个都可以在操作上和一个或更多相关设备耦合。
系统存储器1106可以包括易失性的(VOL)存储器1110(例如随机存取存储器(RAM))和非易失性的(NON-VOL)存储器1112(例如ROM、EPROM、EEPROM等)。基本的输入/输出系统(BIOS)可以被存储在非易失性的存储器1112中,并且包括诸如在启动期间便于计算机1102中组件之间的数据和信号通信的基本例程。易失性的存储器1110还可以包括用于高速缓存数据的诸如静态RAM的高速RAM。
系统总线1108为系统组件提供接口,该系统组件包括,但不限于,存储器子系统1106到处理单元1104。系统总线1108可以是能够进一步互联到存储总线(具有或没有存储器控制器)以及外围总线(例如PCI、PCIe、AGP、LPC等)的若干类型总线结构中的任何一种,并且可以使用各种商用总线体系结构中的任何一种。
计算机1102进一步包括机器存储子系统1114,以及用于将存储子系统1114接口到系统总线1108和其它所需计算机组件的存储接口1116。例如,存储子系统1114可以包括硬盘驱动器(HDD)、磁性软盘驱动器(FDD)、和/或光盘存储驱动器(例如CD-ROM驱动器、DVD驱动器)中的一个或更多。例如,存储接口1116可以包括诸如EIDE、ATA、SATA、以及IEEE 1394等的接口技术。
一个或更多程序和数据可以被存储在存储器子系统1106、可移动存储器子系统1118(例如闪存驱动器形式因素技术)、和/或存储子系统1114中,该存储子系统包括操作系统1120、一个或更多应用程序1122、其它程序模块1124、以及程序数据1126。一般地,程序包括执行特定任务或实现特定抽象数据类型的例程、方法、数据结构、其它软件组件等。例如,在计算机1102是服务器机器(例如平台服务器、沙盒服务器)时,所述一个或更多应用程序1122、其它程序模块1124、以及程序数据1126可以包括图1中的系统100、图2中的系统200、图3中的程序管理体系结构300、一般系统400以及图5-9中的方法。
例如,操作系统1120、应用程序1122、模块1124、和/或数据1126的全部或部分也可以被高速缓存在诸如易失性存储器1110的存储器中。应当理解,所公开的体系结构能够用各种商用的操作系统或操作系统(例如作为虚拟机器)的组合来实现。
存储子系统1114和存储器子系统(1106和1118)充当用于数据、数据结构、计算机可执行指令等的易失性和非易失性存储的计算机可读介质。计算机可读介质可以是能够被计算机1102访问的任何可用介质,并且包括易失性的和非易失性的、可移动的和不可移动的介质。介质以任何合适的数字形式为计算机1102供应数据的存储。本领域的技术人员应当理解,可以使用诸如zip驱动器、磁带、快闪式存储器卡、卡带等的其它类型的计算机可读介质,以用于存储执行所公开的体系结构的新颖方法的计算机可执行指令。
用户可以使用诸如键盘和鼠标的外部的用户输入设备1128与计算机1102、程序和数据交互。其它外部的用户输入设备1128可以包括话筒、IR(红外的)遥控器、控制杆、游戏控制器、照相机识别系统、手写笔、触摸屏、姿势系统(例如眼睛的动作、头部的动作等)等等。用户可以使用诸如触摸板、话筒、键盘等的机载用户输入设备1130与计算机1102、程序和数据交互,例如其中计算机1102是便携式计算机。这些和其它的输入设备通过输入/输出(I/O)设备接口1132经由系统总线1108被连接到处理单元1104,也可以通过诸如并行端口、IEEE 1394串行端口、游戏端口、USB端口、IR接口等的其它接口被连接。I/O设备接口1132还便于使用诸如打印机、音频设备、照相机设备等的输出外设1134,诸如声卡和/或机载音频处理能力。
一个或更多图形接口1136(通常还被称为图形处理单元(GPU))在计算机1102和外部显示器1138(例如LCD、等离子体)和/或机载显示器1140(例如便携式计算机的)之间提供图形和视频信号。图形接口1136还可以被制造成计算机系统板的一部分。
计算机1102可以通过使用经由有线/无线通信子系统1142到一个或多个网络和/或其它计算机的逻辑连接,而在网络环境(例如IP)中操作。所述其它计算机可以包括工作站、服务器、路由器、个人计算机、基于微处理器的娱乐设备、对等设备、或其它通常的网络节点,并且一般包括相对于计算机1102描述的元素的许多或全部。所述逻辑连接可以包括到局域网(LAN)、广域网(WAN)、热点等的有线/无线的连接性。LAN和WAN网络环境在办公室和公司里是常见的,并且便于诸如内部网的企业范围内的计算机网络,而所有的内部网络可以连接到诸如因特网的全球通信网络。
当在网络环境中使用时,计算机1102通过有线/无线通信子系统1142(例如网络接口适配器、机载收发器子系统等)连接至网络以与有线/无线网络、有线/无线打印机、有线/无线输入设备1144等通信。计算机1102可以包括调制解调器,或具有用于通过网络建立通信的其它方式。在网络环境中,与计算机1102相关的程序和数据可以被存储在与分布式系统相关的远程存储器/存储设备中。应当理解示出的网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其它手段。
计算机1102可以使用诸如IEEE 802.xx标准族的无线电技术与有线/无线设备或实体通信,诸如用例如打印机、扫描仪、台式计算机和/或便携式计算机、个人数字助理(PDA)、通信卫星、与无线可检测标签相关的任何仪器或位置(例如公用电话亭、报摊、洗手间)、以及电话有效地布置在无线通信(例如IEEE 802.11无线电调制技术)中的无线设备。这至少包括用于热点、WiMax、以及BluetoothTM无线技术的Wi-Fi(或无线保真)。因此,通信可以是像常规网络所用的预定义的结构或者简单的是至少两个设备之间的自组织通信。WiFi网络使用名为IEEE 802.11x(a、b、g等)的无线电技术来提供安全、可靠、快速的无线连接性。可以使用WiFi网络将计算机互相连接,连接至因特网、以及连接至有线网络(使用与IEEE 802.3-相关的介质和功能)。
所示方面还可以实现在分布式计算环境中,其中由通过通信网络连接的远程处理设备执行特定的任务。在分布式计算环境中,程序模块可以位于本地和/或远程存储和/或存储器系统中。
现在参考图12,图12示出用于插件隔离的程序管理的计算环境1200的示意框图。计算环境1200包括一个或更多用户1202。用户1202可以是硬件和/或软件(例如线程、进程、计算设备)。例如,用户1202可以留有cookie(小型文字文件)和/或相关的上下文信息。
环境1200还包括一个或更多服务器1204。服务器1204也可以是硬件和/或软件(例如线程、进程、计算设备)。例如,服务器1204可以留有通过使用体系结构执行转化的线程。用户1202和服务器1204之间的一个可能的通信可以适用于在两个或更多计算机进程之间传输的数据包的形式。例如,数据包可以包括cookie(小型文字文件)和/或相关的上下文信息。环境1200包括可以被用于便于用户1202和服务器1204之间通信的通信框架1206(例如诸如因特网的全球通信网络)。
可以通过有线(包括光纤)和/或无线技术以便通信。用户1202被有效地连接到一个或更多用户数据存储1208,该用户存储可以被用于存储用户1202本地的信息(例如cookie(小型文字文件)和/或相关的上下文信息)。类似地,服务器1204被有效地连接到一个或更多服务器数据存储1210,该服务器数据存储可以被用于存储服务器1204本地的信息。
上文所描述的包括所公开的体系结构的示例。当然,不可能描述组件和/或方法的每一可想象的组合,但是本领域的普通技术人员可以认识到,许多另外的组合和置换是可能的。因此,所述新颖的体系结构旨在包含落入所附权利要求书的精神和范围中的所有这样的改变、修改和变化。此外,就在说明书和权利要求书中使用术语“包括”而言,这一术语旨在以与术语“包含”用作权利要求书中的过渡词语所解释的类似的方式为包含性的。
Claims (15)
1.一种计算机实现的程序管理系统(100),包括:
用于接收与应用程序一起执行的辅助代码的接口组件(102);
用于接收辅助代码并且使用一个或更多级别的隔离将辅助代码安全地隔离在隔离环境中的隔离组件(108);以及
用于部分地基于异常执行行为来监控和管理隔离环境中辅助代码的执行的管理组件(112)。
2.如权利要求1所述的系统,其特征在于,所述辅助代码是接收的用于与应用程序一起执行的第三方插件,该应用程序是服务器应用程序,而所述隔离组件是沙盒服务器的一部分,为了隔离执行而将辅助代码发送至该沙盒服务器。
3.如权利要求1所述的系统,其特征在于,所述一个或更多隔离级别包括机器隔离级别、进程隔离级别、或应用程序域代码访问隔离级别中的至少一个。
4.如权利要求1所述的系统,其特征在于,所述接口组件保证了来自辅助代码的调用被定向到应用程序。
5.如权利要求1所述的系统,其特征在于,所述管理组件通过基于响应于异常执行行为而应用的累积总罚分来禁用辅助代码,来停止辅助代码的执行。
6.如权利要求1所述的系统,其特征在于,还包括基于异常执行行为来跟踪由辅助代码累积的罚分的惩罚组件。
7.如权利要求1所述的系统,其特征在于,还包括基于增加的执行负载来选择一个或更多现有隔离组件的负载管理组件。
8.一种管理程序的计算机实现的方法,包括:
接收辅助代码以用于执行(500);
将辅助代码发送到隔离环境以用于执行(502);
在隔离环境中执行辅助代码(504);
监控辅助代码执行的异常执行行为(506);以及
基于异常执行行为管理辅助代码的执行(508)。
9.如权利要求8所述的方法,其特征在于,还包括:
基于异常执行行为应用和累积罚分;以及
相对于罚分的预定阈值停止执行辅助代码。
10.如权利要求9所述的方法,其特征在于,所述罚分是基于与辅助代码执行中的错误相关的异常行为。
11.如权利要求8所述的方法,其特征在于,还包括相对于罚分的预定阈值阻止注册辅助代码。
12.如权利要求8所述的方法,其特征在于,还包括基于辅助代码已经被禁用的次数来管理辅助代码。
13.如权利要求8所述的方法,其特征在于,还包括基于跨来自于机构的已经被执行或正在被执行的现有辅助代码累积的罚分以阻止来自该机构的新的辅助代码的注册。
14.如权利要求8所述的方法,其特征在于,还包括基于提供恶意辅助代码的发布者的历史以阻止来自该发布者的辅助代码的执行。
15.如权利要求8所述的方法,其特征在于,还包括基于负载平衡数据以从多个沙盒服务器中选择沙盒服务器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/326,114 | 2008-12-02 | ||
US12/326,114 US8745361B2 (en) | 2008-12-02 | 2008-12-02 | Sandboxed execution of plug-ins |
PCT/US2009/062922 WO2010065222A1 (en) | 2008-12-02 | 2009-11-02 | Sandboxed execution of plug-ins |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102232217A true CN102232217A (zh) | 2011-11-02 |
CN102232217B CN102232217B (zh) | 2015-02-04 |
Family
ID=42223846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980149127.7A Active CN102232217B (zh) | 2008-12-02 | 2009-11-02 | 插件的沙盒执行 |
Country Status (12)
Country | Link |
---|---|
US (3) | US8745361B2 (zh) |
EP (1) | EP2356578A4 (zh) |
JP (1) | JP2012510679A (zh) |
KR (1) | KR101652135B1 (zh) |
CN (1) | CN102232217B (zh) |
AU (1) | AU2009322881B2 (zh) |
BR (1) | BRPI0920054A2 (zh) |
CA (1) | CA2742121A1 (zh) |
IL (1) | IL212332A0 (zh) |
MX (1) | MX2011005834A (zh) |
RU (1) | RU2011122280A (zh) |
WO (1) | WO2010065222A1 (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102436507A (zh) * | 2011-12-28 | 2012-05-02 | 奇智软件(北京)有限公司 | 一种浏览网页的方法及装置 |
CN102622439A (zh) * | 2012-03-06 | 2012-08-01 | 奇智软件(北京)有限公司 | 一种在浏览器中展示文档的方法及装置 |
CN102663283A (zh) * | 2012-03-20 | 2012-09-12 | 浪潮电子信息产业股份有限公司 | 一种动态隔离计算机系统的方法 |
CN102982169A (zh) * | 2012-12-12 | 2013-03-20 | 北京奇虎科技有限公司 | 用于隔离网页插件的浏览器和方法 |
CN103617092A (zh) * | 2013-11-21 | 2014-03-05 | 北京奇虎科技有限公司 | 一种基于浏览器的插件运行方法和装置 |
CN103955468A (zh) * | 2012-03-06 | 2014-07-30 | 北京奇虎科技有限公司 | 基于浏览器的文档展示方法及装置 |
CN104021168A (zh) * | 2011-12-28 | 2014-09-03 | 北京奇虎科技有限公司 | 一种浏览网页的方法及装置 |
CN104021167A (zh) * | 2011-12-28 | 2014-09-03 | 北京奇虎科技有限公司 | 一种浏览网页的方法及装置 |
CN104081748A (zh) * | 2012-01-25 | 2014-10-01 | 微软公司 | 文档通信运行时接口 |
CN104536776A (zh) * | 2014-11-28 | 2015-04-22 | 百度在线网络技术(北京)有限公司 | 一种在宿主端插件运行环境中运行插件应用的方法与装置 |
CN105302563A (zh) * | 2015-11-09 | 2016-02-03 | 歌尔声学股份有限公司 | 移动应用服务的插件化方法及系统 |
CN105518693A (zh) * | 2014-12-29 | 2016-04-20 | 华为技术有限公司 | 一种安全防护方法,及装置 |
CN105760755A (zh) * | 2016-02-24 | 2016-07-13 | 浪潮通用软件有限公司 | 一种Visual Studio扩展包的隔离方法 |
CN106030528A (zh) * | 2014-02-19 | 2016-10-12 | 微软技术许可有限责任公司 | 数据代理服务 |
CN106462476A (zh) * | 2014-05-29 | 2017-02-22 | 苹果公司 | 将应用的功能扩展到另一应用的允许扩展的相容扩展点 |
CN109325345A (zh) * | 2018-09-21 | 2019-02-12 | 百度在线网络技术(北京)有限公司 | 用于在沙盒环境中运行第三方代码的方法和装置 |
TWI683264B (zh) * | 2017-11-23 | 2020-01-21 | 兆豐國際商業銀行股份有限公司 | 監控管理系統及同步訊息定義檔的方法 |
CN113486331A (zh) * | 2021-07-21 | 2021-10-08 | 维沃移动通信(杭州)有限公司 | Api调用请求处理方法、装置、电子设备及可读存储介质 |
Families Citing this family (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9418040B2 (en) * | 2005-07-07 | 2016-08-16 | Sciencelogic, Inc. | Dynamically deployable self configuring distributed network management system |
US8856782B2 (en) | 2007-03-01 | 2014-10-07 | George Mason Research Foundation, Inc. | On-demand disposable virtual work system |
US9098698B2 (en) | 2008-09-12 | 2015-08-04 | George Mason Research Foundation, Inc. | Methods and apparatus for application isolation |
US8745361B2 (en) | 2008-12-02 | 2014-06-03 | Microsoft Corporation | Sandboxed execution of plug-ins |
FR2940695B1 (fr) * | 2008-12-30 | 2012-04-20 | Eads Secure Networks | Serveur passerelle a micronoyau |
CN101510167B (zh) * | 2009-03-31 | 2016-04-20 | 阿里巴巴集团控股有限公司 | 一种插件运行的方法、装置及系统 |
US9762701B1 (en) * | 2009-04-10 | 2017-09-12 | Open Invention Network Llc | System and method for cached streaming application isolation |
US8839422B2 (en) | 2009-06-30 | 2014-09-16 | George Mason Research Foundation, Inc. | Virtual browsing environment |
US20110154214A1 (en) * | 2009-12-18 | 2011-06-23 | Microsoft Corporation | Offloading Content Retrieval And Decoding In Pluggable Content-Handling Systems |
US9009697B2 (en) | 2011-02-08 | 2015-04-14 | International Business Machines Corporation | Hybrid cloud integrator |
US9063789B2 (en) | 2011-02-08 | 2015-06-23 | International Business Machines Corporation | Hybrid cloud integrator plug-in components |
US9128773B2 (en) | 2011-02-25 | 2015-09-08 | International Business Machines Corporation | Data processing environment event correlation |
US9104672B2 (en) * | 2011-02-25 | 2015-08-11 | International Business Machines Corporation | Virtual security zones for data processing environments |
US9053580B2 (en) | 2011-02-25 | 2015-06-09 | International Business Machines Corporation | Data processing environment integration control interface |
US8988998B2 (en) | 2011-02-25 | 2015-03-24 | International Business Machines Corporation | Data processing environment integration control |
CN102184356B (zh) * | 2011-04-21 | 2014-04-02 | 奇智软件(北京)有限公司 | 利用沙箱技术进行防御的方法、装置及安全浏览器 |
CN103514401A (zh) * | 2011-04-21 | 2014-01-15 | 北京奇虎科技有限公司 | 利用沙箱技术进行防御的方法、装置及安全浏览器 |
CN103942488B (zh) * | 2011-04-21 | 2017-06-23 | 北京奇虎科技有限公司 | 利用沙箱技术进行防御的方法、装置及安全浏览器 |
US20130167028A1 (en) * | 2011-06-01 | 2013-06-27 | Adobe Systems Incorporated | Restricting media content rendering |
US8973158B2 (en) | 2011-07-20 | 2015-03-03 | Microsoft Technology Licensing Llc | Trust level activation |
WO2013082437A1 (en) * | 2011-12-02 | 2013-06-06 | Invincia, Inc. | Methods and apparatus for control and detection of malicious content using a sandbox environment |
US9336061B2 (en) | 2012-01-14 | 2016-05-10 | International Business Machines Corporation | Integrated metering of service usage for hybrid clouds |
US9626710B1 (en) | 2012-05-23 | 2017-04-18 | Amazon Technologies, Inc. | Best practice analysis, optimized resource use |
US8954574B1 (en) | 2012-05-23 | 2015-02-10 | Amazon Technologies, Inc. | Best practice analysis, migration advisor |
US10740765B1 (en) | 2012-05-23 | 2020-08-11 | Amazon Technologies, Inc. | Best practice analysis as a service |
US8769059B1 (en) * | 2012-05-23 | 2014-07-01 | Amazon Technologies, Inc. | Best practice analysis, third-party plug-ins |
US9003479B2 (en) * | 2012-12-11 | 2015-04-07 | International Business Machines Corporation | Uniformly transforming the characteristics of a production environment |
US9197446B2 (en) * | 2012-12-12 | 2015-11-24 | Google Inc. | Address pinning |
CN103064709B (zh) * | 2012-12-25 | 2016-11-09 | 北京奇虎科技有限公司 | 浏览器活动对象的执行方法、系统及浏览器 |
US9740390B2 (en) * | 2013-03-11 | 2017-08-22 | Spikes, Inc. | Dynamic clip analysis |
CN104063284B (zh) * | 2013-03-18 | 2016-07-06 | 腾讯科技(深圳)有限公司 | 运行应用程序的方法和装置 |
WO2014188492A1 (ja) * | 2013-05-20 | 2014-11-27 | 三菱電機株式会社 | 監視制御装置 |
US9292525B2 (en) * | 2013-06-19 | 2016-03-22 | BlackBerry Limited; 2236008 Ontario Inc. | Searching data using pre-prepared search data |
US10230750B2 (en) * | 2015-06-08 | 2019-03-12 | Securboration, Inc. | Secure computing environment |
RU2618947C2 (ru) * | 2015-06-30 | 2017-05-11 | Закрытое акционерное общество "Лаборатория Касперского" | Способ предотвращения работы программ, содержащих нежелательный для пользователя функционал |
US11637866B2 (en) * | 2015-10-28 | 2023-04-25 | Qomplx, Inc. | System and method for the secure evaluation of cyber detection products |
US10021120B1 (en) * | 2015-11-09 | 2018-07-10 | 8X8, Inc. | Delayed replication for protection of replicated databases |
US9665714B1 (en) * | 2016-05-31 | 2017-05-30 | AO Kaspersky Lab | System and method of detecting malicious files on virtual machines in a distributed network |
RU2638000C1 (ru) | 2017-02-08 | 2017-12-08 | Акционерное общество "Лаборатория Касперского" | Способ контроля системы исполнения программируемого логического контроллера |
US11423140B1 (en) * | 2017-03-27 | 2022-08-23 | Melih Abdulhayoglu | Auto-containment of guest user applications |
US10951644B1 (en) | 2017-04-07 | 2021-03-16 | Comodo Security Solutions, Inc. | Auto-containment of potentially vulnerable applications |
US20190138712A1 (en) * | 2017-05-31 | 2019-05-09 | Adnomus, Inc. | Systems and methods for real-time data processing analytics engine with adaptive component services |
CN107395650B (zh) * | 2017-09-07 | 2020-06-09 | 杭州安恒信息技术股份有限公司 | 基于沙箱检测文件识别木马回连方法及装置 |
CN107968721B (zh) * | 2017-11-02 | 2020-09-11 | 江苏神州信源系统工程有限公司 | 针对服务器主动放行的方法、网络管控系统及被管控终端 |
CN108647513B (zh) * | 2018-03-22 | 2020-04-28 | 华中科技大学 | 一种基于TrustZone的共享库安全隔离方法及系统 |
US10908948B2 (en) * | 2018-04-04 | 2021-02-02 | Vmware, Inc | Multiple application instances in operating systems that utilize a single process for application execution |
US10942945B2 (en) * | 2018-10-19 | 2021-03-09 | Oracle International Corporation | Isolated hierarchical runtime environments for multi-tenant databases |
CN110324486A (zh) * | 2019-04-25 | 2019-10-11 | 维沃移动通信有限公司 | 一种应用程序控制方法及终端 |
US11321101B2 (en) * | 2019-07-10 | 2022-05-03 | Vmware, Inc. | Deployment and isolation of plugins in a virtualized computing environment |
EP3786826A1 (en) * | 2019-08-30 | 2021-03-03 | Barclays Execution Services Limited | Secure validation pipeline in a third party cloud environment |
US11886587B2 (en) | 2020-10-13 | 2024-01-30 | Kyndryl, Inc | Malware detection by distributed telemetry data analysis |
US11487870B1 (en) * | 2021-04-30 | 2022-11-01 | Snowflake Inc. | Logging from user-defined functions |
CN113656092B (zh) * | 2021-07-29 | 2024-04-19 | 浙江中控信息产业股份有限公司 | 一种基于插件式的scada系统驱动协议高效管理方法 |
US12050708B2 (en) | 2022-03-11 | 2024-07-30 | Oracle International Corporation | Cardinal method for hierarchical phased secure access to system entities in isolated multi-tenant database for autonomous cloud environments |
US12045335B2 (en) * | 2022-03-29 | 2024-07-23 | International Business Machines Corporation | Software discovery within software packaging and deployment systems |
Family Cites Families (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5974549A (en) * | 1997-03-27 | 1999-10-26 | Soliton Ltd. | Security monitor |
US6167522A (en) * | 1997-04-01 | 2000-12-26 | Sun Microsystems, Inc. | Method and apparatus for providing security for servers executing application programs received via a network |
US6275938B1 (en) * | 1997-08-28 | 2001-08-14 | Microsoft Corporation | Security enhancement for untrusted executable code |
US6836888B1 (en) * | 2000-03-17 | 2004-12-28 | Lucent Technologies Inc. | System for reverse sandboxing |
GB0007063D0 (en) * | 2000-03-23 | 2000-05-10 | Simsci Limited | Mulitvariate statistical process monitors |
US7461148B1 (en) | 2001-02-16 | 2008-12-02 | Swsoft Holdings, Ltd. | Virtual private server with isolation of system components |
EP1233333A1 (en) * | 2001-02-19 | 2002-08-21 | Hewlett-Packard Company | Process for executing a downloadable service receiving restrictive access rights to al least one profile file |
US7392546B2 (en) * | 2001-06-11 | 2008-06-24 | Bea Systems, Inc. | System and method for server security and entitlement processing |
US7228551B2 (en) * | 2001-06-11 | 2007-06-05 | Microsoft Corporation | Web garden application pools having a plurality of user-mode web applications |
DE50100101D1 (de) * | 2001-06-26 | 2003-03-13 | Aladdin Knowledge Systems Gmbh | Verfahren zum Erweitern einer mittels eines Installationsprogramms zu installierenden Anwendung um eine Funktion und Computerprogrammprodukt |
WO2003054704A1 (en) * | 2001-12-19 | 2003-07-03 | Netuitive Inc. | Method and system for analyzing and predicting the behavior of systems |
US20030135509A1 (en) | 2002-01-11 | 2003-07-17 | Davis Andrew Thomas | Edge server java application framework having application server instance resource monitoring and management |
US20040123117A1 (en) * | 2002-12-18 | 2004-06-24 | Symantec Corporation | Validation for behavior-blocking system |
US7493614B2 (en) * | 2003-03-31 | 2009-02-17 | Microsoft Corporation | System architecture and related methods for dynamically adding software components to extend functionality of system processes |
US10110632B2 (en) * | 2003-03-31 | 2018-10-23 | Intel Corporation | Methods and systems for managing security policies |
US7508532B2 (en) * | 2003-05-20 | 2009-03-24 | Microsoft Corporation | Method and system for sandboxing printer drivers |
US7415703B2 (en) * | 2003-09-25 | 2008-08-19 | International Business Machines Corporation | Loading software on a plurality of processors |
US7444678B2 (en) * | 2003-10-28 | 2008-10-28 | Aol Llc | Securing resources from untrusted scripts behind firewalls |
US20050177635A1 (en) * | 2003-12-18 | 2005-08-11 | Roland Schmidt | System and method for allocating server resources |
US7490268B2 (en) * | 2004-06-01 | 2009-02-10 | The Trustees Of Columbia University In The City Of New York | Methods and systems for repairing applications |
US7908653B2 (en) * | 2004-06-29 | 2011-03-15 | Intel Corporation | Method of improving computer security through sandboxing |
US7630313B2 (en) * | 2004-09-30 | 2009-12-08 | Alcatel-Lucent Usa Inc. | Scheduled determination of network resource availability |
US7680758B2 (en) | 2004-09-30 | 2010-03-16 | Citrix Systems, Inc. | Method and apparatus for isolating execution of software applications |
US7519809B2 (en) * | 2005-04-07 | 2009-04-14 | International Business Machines Corporation | Operating system-wide sandboxing via switchable user skins |
US20070118609A1 (en) | 2005-11-23 | 2007-05-24 | France Telecom | Distributed computing architecture and associated method of providing a portable user environment |
US7941813B1 (en) | 2006-02-17 | 2011-05-10 | Parallels Holdings, Ltd. | System and method for using virtual machine for driver installation sandbox |
US8381299B2 (en) * | 2006-02-28 | 2013-02-19 | The Trustees Of Columbia University In The City Of New York | Systems, methods, and media for outputting a dataset based upon anomaly detection |
US7849451B2 (en) | 2006-03-02 | 2010-12-07 | Oracle America Inc. | Dynamic delegation chain for runtime adaptation of a code unit to an environment |
US7725922B2 (en) * | 2006-03-21 | 2010-05-25 | Novell, Inc. | System and method for using sandboxes in a managed shell |
US8151323B2 (en) | 2006-04-12 | 2012-04-03 | Citrix Systems, Inc. | Systems and methods for providing levels of access and action control via an SSL VPN appliance |
US7747785B2 (en) * | 2006-04-14 | 2010-06-29 | Microsoft Corporation | Instant messaging plug-ins |
US7979891B2 (en) * | 2006-05-09 | 2011-07-12 | Oracle International Corporation | Method and system for securing execution of untrusted applications |
US20080016339A1 (en) * | 2006-06-29 | 2008-01-17 | Jayant Shukla | Application Sandbox to Detect, Remove, and Prevent Malware |
US8656461B2 (en) * | 2006-07-28 | 2014-02-18 | Microsoft Corporation | Copy-paste trust system |
US20080070665A1 (en) * | 2006-09-19 | 2008-03-20 | Cyberscan Technology, Inc. | Regulated gaming - compartmented freelance code |
US7845006B2 (en) * | 2007-01-23 | 2010-11-30 | International Business Machines Corporation | Mitigating malicious exploitation of a vulnerability in a software application by selectively trapping execution along a code path |
US8146109B2 (en) * | 2007-02-15 | 2012-03-27 | Microsoft Corporation | Version resiliency for a host application and custom code |
JP5081480B2 (ja) * | 2007-03-28 | 2012-11-28 | 株式会社エヌ・ティ・ティ・ドコモ | ソフトウェア挙動モデル化装置、ソフトウェア挙動モデル化方法、ソフトウェア挙動検証装置及びソフトウェア挙動検証方法 |
US7899762B2 (en) * | 2007-05-17 | 2011-03-01 | International Business Machines Corporation | Apparatus, method, and computer program product providing improved identification of suspect entries in transaction data |
US20090049547A1 (en) * | 2007-08-13 | 2009-02-19 | Yuan Fan | System for real-time intrusion detection of SQL injection web attacks |
US8316101B2 (en) * | 2008-03-15 | 2012-11-20 | Microsoft Corporation | Resource management system for hosting of user solutions |
US8424082B2 (en) | 2008-05-08 | 2013-04-16 | Google Inc. | Safely executing an untrusted native code module on a computing device |
US20090293121A1 (en) * | 2008-05-21 | 2009-11-26 | Bigus Joseph P | Deviation detection of usage patterns of computer resources |
US8214364B2 (en) * | 2008-05-21 | 2012-07-03 | International Business Machines Corporation | Modeling user access to computer resources |
US9098698B2 (en) * | 2008-09-12 | 2015-08-04 | George Mason Research Foundation, Inc. | Methods and apparatus for application isolation |
US8745361B2 (en) | 2008-12-02 | 2014-06-03 | Microsoft Corporation | Sandboxed execution of plug-ins |
US9003517B2 (en) | 2009-10-28 | 2015-04-07 | Microsoft Technology Licensing, Llc | Isolation and presentation of untrusted data |
US8621619B2 (en) | 2009-12-03 | 2013-12-31 | Google Inc. | Dynamic code insertion for static analysis based sandboxes |
US8479286B2 (en) | 2009-12-15 | 2013-07-02 | Mcafee, Inc. | Systems and methods for behavioral sandboxing |
-
2008
- 2008-12-02 US US12/326,114 patent/US8745361B2/en active Active
-
2009
- 2009-11-02 CN CN200980149127.7A patent/CN102232217B/zh active Active
- 2009-11-02 WO PCT/US2009/062922 patent/WO2010065222A1/en active Application Filing
- 2009-11-02 EP EP09830799A patent/EP2356578A4/en not_active Withdrawn
- 2009-11-02 CA CA2742121A patent/CA2742121A1/en not_active Abandoned
- 2009-11-02 MX MX2011005834A patent/MX2011005834A/es active IP Right Grant
- 2009-11-02 KR KR1020117012044A patent/KR101652135B1/ko active IP Right Grant
- 2009-11-02 BR BRPI0920054A patent/BRPI0920054A2/pt not_active Application Discontinuation
- 2009-11-02 AU AU2009322881A patent/AU2009322881B2/en active Active
- 2009-11-02 JP JP2011539542A patent/JP2012510679A/ja not_active Withdrawn
- 2009-11-02 RU RU2011122280/08A patent/RU2011122280A/ru not_active Application Discontinuation
-
2011
- 2011-04-14 IL IL212332A patent/IL212332A0/en unknown
-
2014
- 2014-05-08 US US14/273,481 patent/US9705905B2/en active Active
-
2017
- 2017-06-06 US US15/615,411 patent/US10542022B2/en active Active
Cited By (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104021167B (zh) * | 2011-12-28 | 2017-06-16 | 北京奇虎科技有限公司 | 一种浏览网页的方法及装置 |
CN104021168B (zh) * | 2011-12-28 | 2017-06-16 | 北京奇虎科技有限公司 | 一种浏览网页的方法及装置 |
CN102436507A (zh) * | 2011-12-28 | 2012-05-02 | 奇智软件(北京)有限公司 | 一种浏览网页的方法及装置 |
CN104021167A (zh) * | 2011-12-28 | 2014-09-03 | 北京奇虎科技有限公司 | 一种浏览网页的方法及装置 |
WO2013097725A1 (zh) * | 2011-12-28 | 2013-07-04 | 北京奇虎科技有限公司 | 一种浏览网页的方法及装置 |
CN104021168A (zh) * | 2011-12-28 | 2014-09-03 | 北京奇虎科技有限公司 | 一种浏览网页的方法及装置 |
CN102436507B (zh) * | 2011-12-28 | 2014-07-16 | 奇智软件(北京)有限公司 | 一种浏览网页的方法及装置 |
CN104081748A (zh) * | 2012-01-25 | 2014-10-01 | 微软公司 | 文档通信运行时接口 |
CN104081748B (zh) * | 2012-01-25 | 2017-02-22 | 微软技术许可有限责任公司 | 文档通信运行时接口 |
CN103955468A (zh) * | 2012-03-06 | 2014-07-30 | 北京奇虎科技有限公司 | 基于浏览器的文档展示方法及装置 |
CN102622439A (zh) * | 2012-03-06 | 2012-08-01 | 奇智软件(北京)有限公司 | 一种在浏览器中展示文档的方法及装置 |
CN102622439B (zh) * | 2012-03-06 | 2014-06-11 | 北京奇虎科技有限公司 | 一种在浏览器中展示文档的方法及装置 |
CN103955468B (zh) * | 2012-03-06 | 2017-12-19 | 北京奇虎科技有限公司 | 基于浏览器的文档展示方法及装置 |
CN102663283A (zh) * | 2012-03-20 | 2012-09-12 | 浪潮电子信息产业股份有限公司 | 一种动态隔离计算机系统的方法 |
CN102663283B (zh) * | 2012-03-20 | 2016-02-10 | 浪潮电子信息产业股份有限公司 | 一种动态隔离计算机系统的方法 |
CN102982169A (zh) * | 2012-12-12 | 2013-03-20 | 北京奇虎科技有限公司 | 用于隔离网页插件的浏览器和方法 |
CN102982169B (zh) * | 2012-12-12 | 2017-05-24 | 北京奇虎科技有限公司 | 用于隔离网页插件的浏览器和方法 |
CN103617092A (zh) * | 2013-11-21 | 2014-03-05 | 北京奇虎科技有限公司 | 一种基于浏览器的插件运行方法和装置 |
CN106030528B (zh) * | 2014-02-19 | 2019-08-06 | 微软技术许可有限责任公司 | 数据代理服务 |
CN106030528A (zh) * | 2014-02-19 | 2016-10-12 | 微软技术许可有限责任公司 | 数据代理服务 |
CN106462476A (zh) * | 2014-05-29 | 2017-02-22 | 苹果公司 | 将应用的功能扩展到另一应用的允许扩展的相容扩展点 |
CN106462476B (zh) * | 2014-05-29 | 2019-09-17 | 苹果公司 | 将应用的功能扩展到另一应用的允许扩展的相容扩展点 |
CN104536776B (zh) * | 2014-11-28 | 2018-11-23 | 百度在线网络技术(北京)有限公司 | 一种在宿主端插件运行环境中运行插件应用的方法与装置 |
CN104536776A (zh) * | 2014-11-28 | 2015-04-22 | 百度在线网络技术(北京)有限公司 | 一种在宿主端插件运行环境中运行插件应用的方法与装置 |
CN105518693A (zh) * | 2014-12-29 | 2016-04-20 | 华为技术有限公司 | 一种安全防护方法,及装置 |
CN105518693B (zh) * | 2014-12-29 | 2018-12-07 | 华为技术有限公司 | 一种安全防护方法,及装置 |
CN105302563B (zh) * | 2015-11-09 | 2019-09-17 | 歌尔股份有限公司 | 移动应用服务的插件化方法及系统 |
CN105302563A (zh) * | 2015-11-09 | 2016-02-03 | 歌尔声学股份有限公司 | 移动应用服务的插件化方法及系统 |
CN105760755A (zh) * | 2016-02-24 | 2016-07-13 | 浪潮通用软件有限公司 | 一种Visual Studio扩展包的隔离方法 |
CN105760755B (zh) * | 2016-02-24 | 2018-06-19 | 浪潮通用软件有限公司 | 一种Visual Studio扩展包的隔离方法 |
TWI683264B (zh) * | 2017-11-23 | 2020-01-21 | 兆豐國際商業銀行股份有限公司 | 監控管理系統及同步訊息定義檔的方法 |
CN109325345A (zh) * | 2018-09-21 | 2019-02-12 | 百度在线网络技术(北京)有限公司 | 用于在沙盒环境中运行第三方代码的方法和装置 |
CN109325345B (zh) * | 2018-09-21 | 2022-10-28 | 百度在线网络技术(北京)有限公司 | 用于在沙盒环境中运行第三方代码的方法和装置 |
CN113486331A (zh) * | 2021-07-21 | 2021-10-08 | 维沃移动通信(杭州)有限公司 | Api调用请求处理方法、装置、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20100138639A1 (en) | 2010-06-03 |
EP2356578A1 (en) | 2011-08-17 |
KR101652135B1 (ko) | 2016-08-29 |
US20140245437A1 (en) | 2014-08-28 |
EP2356578A4 (en) | 2012-09-05 |
US8745361B2 (en) | 2014-06-03 |
JP2012510679A (ja) | 2012-05-10 |
BRPI0920054A2 (pt) | 2015-12-15 |
AU2009322881B2 (en) | 2014-07-24 |
AU2009322881A1 (en) | 2010-06-10 |
CN102232217B (zh) | 2015-02-04 |
MX2011005834A (es) | 2011-06-21 |
US9705905B2 (en) | 2017-07-11 |
RU2011122280A (ru) | 2012-12-10 |
KR20110093816A (ko) | 2011-08-18 |
US20180027007A1 (en) | 2018-01-25 |
US10542022B2 (en) | 2020-01-21 |
IL212332A0 (en) | 2011-06-30 |
CA2742121A1 (en) | 2010-06-10 |
WO2010065222A1 (en) | 2010-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102232217B (zh) | 插件的沙盒执行 | |
CN104823207B (zh) | 通过与随机成分组合来保护用于移动支付应用程序的个人识别号码 | |
CN102792277B (zh) | 在云计算环境中启动虚拟实例的方法和系统 | |
CN103890714B (zh) | 涉及基于集群的资源池的主机感知资源管理的系统和方法 | |
US10230734B2 (en) | Usage-based modification of user privileges | |
CN105659211B (zh) | 虚拟机管理器促进的选择性代码完整性实施 | |
CN106250782A (zh) | 一种基于sql语句解析的数据权限控制方法及装置 | |
CN106133743A (zh) | 用于优化预安装应用程序的扫描的系统和方法 | |
CN107636621A (zh) | 检测数据中心中的异常资源使用 | |
CN102077175A (zh) | 用于结合分布式raid执行应用的方法和系统 | |
CN104320389A (zh) | 一种基于云计算的融合身份保护系统及方法 | |
CN107358096A (zh) | 文件病毒查杀方法及系统 | |
US20080134320A1 (en) | Method for automatic role activation | |
CN105183546A (zh) | 基于可信资源池的虚拟机安全迁移方法 | |
US10402549B1 (en) | Systems and methods for creating validated identities for dependent users | |
CN110399719A (zh) | Bit文件加载方法、装置、设备及计算机可读存储介质 | |
Alassafi et al. | Investigating the security factors in cloud computing adoption: Towards developing an integrated framework | |
CN102929802B (zh) | 一种存储资源的保护方法及系统 | |
US20150370886A1 (en) | Information processing device which carries out risk analysis and risk analysis method | |
CN101359320A (zh) | 多处理器系统中的单元兼容性 | |
Mirjalili et al. | Security observance throughout the life-cycle of embedded systems | |
CN105122264A (zh) | 用于控制对文件系统访问的系统和方法 | |
US20240273193A1 (en) | Advanced persistent threat detection | |
US20240273192A1 (en) | Dynamic cloud configuration changes based on advanced persistent threat detection | |
WO2022255005A1 (ja) | 監視システム、監視方法、監視装置および機能制限装置 |
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 | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150728 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20150728 Address after: Washington State Patentee after: Micro soft technique license Co., Ltd Address before: Washington State Patentee before: Microsoft Corp. |