CN104508676B - 虚拟机中的强制保护控制 - Google Patents

虚拟机中的强制保护控制 Download PDF

Info

Publication number
CN104508676B
CN104508676B CN201380040924.8A CN201380040924A CN104508676B CN 104508676 B CN104508676 B CN 104508676B CN 201380040924 A CN201380040924 A CN 201380040924A CN 104508676 B CN104508676 B CN 104508676B
Authority
CN
China
Prior art keywords
called side
module
access
decision
making
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
Application number
CN201380040924.8A
Other languages
English (en)
Other versions
CN104508676A (zh
Inventor
L·可勒维
B·维尼勒
C·托伊纳尔德
J·布瑞弗德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alcatel Lucent SAS
Original Assignee
Alcatel Lucent SAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alcatel Lucent SAS filed Critical Alcatel Lucent SAS
Publication of CN104508676A publication Critical patent/CN104508676A/zh
Application granted granted Critical
Publication of CN104508676B publication Critical patent/CN104508676B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring 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/53Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring 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/54Monitoring 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 adding security routines or objects to programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2113Multi-level security, e.g. mandatory access control

Abstract

本发明涉及一种用于通过强制访问控制模块(Instr_module)来在适于运行面向对象程序和基于强类型语言的虚拟机(VM)中确保强制访问控制(MAC)的方法(100),所述方法包括:‑使用访问策略(Acc_pol)来配置强制访问控制模块(Instr_module);‑当接收到指示方法调用的事件(Meth_entry)或对变量成员的访问请求的事件时,向被称为“调用方”(CalR)的对象和被称为“被调用方”(CalE)的对象添加访问控制标签(LabE,LabR),其中调用方调用方法(Meth)或请求访问,被调用方被方法(Meth)调用或被调用方的访问被请求,根据调用方和被调用方的语言类型(Typ_CalR,Typ_CalE);‑根据访问控制标签(LabE,LabR)、调用方和被调用方的实例数(Inst_Num)、访问策略(Acc_pol)以及访问权限而做出被称为“否定决策”的阻止方法(Meth)的执行或对变量成员的访问的决策(Dec)或被称为“肯定决策”的让虚拟机(VM)运行方法(Meth)或访问变量成员的决策(Dec);‑向虚拟机(VM)传输决策(Dec)用于阻止或准许相应的访问尝试。

Description

虚拟机中的强制保护控制
技术领域
本发明涉及虚拟机,以及更具体地,涉及虚拟机中的安全控制。
背景技术
由于软件的生态系统趋于越来越复杂,对整个系统应用信息安全变得非常困难。实际上,如今机器软件栈的构筑很少仅通过使用内部软件,而是通常结合开源软件、商用软件以及内部方案,所有这些在安全开发和设计的知识和技术上都大相径庭。因此,设计、开发、部署和维护活动中的单个失败可能引起安全漏洞。此外,软件的脆弱性在应用层愈加显著,既在客户端侧(Flash插件、Acrobat阅读器、互联网浏览器、智能手机应用)也在服务器侧(机器虚拟化、应用服务器(PHP、Java、.Net)、网络中间件、数据库)。
长期以来,自主访问控制(DAC)一直被使用。此方法是基于用户或角色的,因此如果根/管理员访问被攻击者获得,总体的访问控制就变成无用的。为解决这个问题,强制访问控制(MAC)已经被设计。强制访问控制是通过强迫做访问请求检查从而强制执行操作系统授权的安全方式。这是关于独立于系统用户的安全策略来完成的。
一种MAC实现,SElinux,可以在系统层应用来强制执行安全策略,无论用户身份如何。甚至非法“根”(“root”)都可以被MAC阻止。视窗Vista和视窗7现在默认包含MAC,并且管理员任务必须显式地被定义或被批准。
然而,这种访问控制对确保虚拟机例如Java虚拟机(JVM)中的安全并不有效。实际上,JVM过程对系统而言如同黑盒子,因而系统常常不可能区分JVM中的恶意与合法的活动。Java认证和授权服务(JAAS)典型地用于保证在JVM中的安全,但是此安全机制不是强制性的,而且只是介于JVM和系统中间的周界防护。
发明内容
本发明的目标是描述其提供应用于虚拟机的强制访问控制模型的安全模型。
为此目标,本发明提供用于通过强制访问控制模块来在适于运行面向对象程序和基于强类型语言的虚拟机中确保强制访问控制的方法,该方法包括:
-使用访问策略来配置强制访问控制模块;
-当接收到指示方法调用或对变量成员的访问请求的事件时,根据调用方和被调用方的语言类型,向被称为“调用方”(CalR)的对象和被称为“被调用方”(CalE)的对象添加访问控制标签(LabE,LabR),其中该调用方调用方法(Meth)或请求访问,该被调用方被方法(Meth)调用或该被调用方的访问被请求,该添加访问控制标签是根据该调用方和该被调用方的语言类型(Typ_CalR,Typ_CalE);
-根据该访问控制标签、该调用方和该被调用方的实例数以及访问策略而做出被称为“否定决策”的阻止该方法的执行或对该变量成员的访问的决策或者被称为“肯定决策”的让该虚拟机运行该方法或访问该变量成员的决策;
-向该虚拟机传输该决策用于阻止或准许相应的访问尝试。
根据非限制性的实施例,该方法可以包括一个或多个以下附加特性:
-配置该强制访问控制模块的步骤是在当接收到指示该虚拟机的开始或初始化(VM_start,VM_init)的事件时被实现的。
-事件是激活回调功能的面向标准化检测工具的事件。
-事件的接收直接修改虚拟机内部。
-配置该强制访问控制模块的步骤包括加载定义语言类型和访问控制标签之间的对应的标记策略文件,并且添加标签的步骤通过所述标记策略文件而被实现。
-添加访问控制标签的步骤包括使用外部数据库,该外部数据库包括对象实例和访问控制标签之间的对应。
-做出决策的步骤通过该强制访问控制模块和外部决策引擎之间的协作来被实现。
-该方法包括在外部数据库中记录的步骤:
·关于被调用的方法的信息;
·关于该调用方和该被调用方的信息,例如它们的语言类型和它们的访问控制标签、它们的实例数;
·所做出的决策。
-该方法包括在否定决策的情况下由该虚拟机引发异常用于阻止被请求的方法的执行或对该变量成员的访问。
此外,用于在适于运行面向对象程序和基于强类型语言的虚拟机中确保强制访问控制的强制访问控制模块被提供,包括:
-参考监视器,其为用于方法调用和对变量成员的访问的强制路径,其适于向该虚拟机传输被称为“否定决策”的阻止该方法的执行或对该变量成员的访问的决策或被称为“肯定决策”的让该虚拟机运行该方法或访问该变量成员的决策;
-标记引擎,其适于向被称为“调用方”的对象和被称为“被调用方”的对象添加访问控制标签,其中该调用方调用方法或请求访问,该被调用方被方法调用或该被调用方的访问被请求,该添加访问控制标签是根据该调用方和该被调用方的语言类型(Typ_CalR,Typ_CalE);
-决策引擎,其适于根据该标签、该调用方和该被调用方的实例数、以及访问策略做出该决策。
根据非限制性的实施例,该强制访问控制模块可以包括一个或多个下列附加特性:
-该强制访问控制模块是部分地位于该虚拟机的外部的模块,其被称为检测工具模块,其适于通过标准协议和标准检测工具接口与该虚拟机通信。
-该标记引擎适于与虚拟机通信用于请求该调用方和该被调用方的语言类型。
-标记引擎适于与包括对象实例和访问控制标签之间的对应的外部数据库通信。
-该决策引擎适于与外部决策引擎通信,并且等待来自该决策引擎的外部决策从而做出肯定或否定决策。
-该强制访问控制模块包括适于在外部数据库中记录关于被调用的方法的信息的跟踪引擎,例如该调用方和该被调用方的语言类型和访问控制标签、它们的实例数以及所做出的决策。
附图说明
现在仅通过示例的方式并且参考附图描述根据本发明实施例的一些设备和/或方法的实施例,其中:
-图1示出示意地说明根据本发明的非限制性实施例的方法的流程图;
-图2示意地示出根据本发明的非限制性实施例的强制访问控制模块。
具体实施方式
以下描述中,对本领域技术人员所熟知的功能或结构没有详细描述,因为它们将用不必要的细节而使得本发明难以理解。
图1示出说明根据本发明的非限制性实施例的方法100的流程图。该方法100目标是在适于运行面向对象程序和基于强类型语言的虚拟机中确保强制访问控制。更具体地,方法100目标在于,如果不符合策略则阻止该虚拟机从第一对象执行方法或者从不同于前一个对象的第二对象访问变量成员。
本原则可以应用于任意基于虚拟机VM的系统,例如Java虚拟机(JVM)、Dalvik、Python或PHP,只要参考监视器可以被实现、相关的语言是基于对象的、以及方法的调用或域成员的访问可以被拦截或阻止。
如图2中所示,方法100被强制访问控制模块Instr_module执行,在此非限制性实施例中,该模块部分地在虚拟机VM的外部。使用外部模块避免了对虚拟机VM的修改。在此配置下,位于虚拟机VM和强制访问控制模块Instr_module之间的标准接口Instr_Interf被使用。控制模块Instr_module需要取出对一些事件的订阅,至少是指示虚拟机VM的开始VM_start或初始化VM_init的事件,以及指示方法调用Meth_entry或对变量成员的访问请求的事件。
要注意的是在另一个未详细说明的实施例中,强制访问控制模块完全包含在虚拟机VM中。将控制模块包含到虚拟机中允许性能提高和响应时间缩短。
在详细的实施例中,控制模块Instr_module包括彼此相互通信的若干模块,其功能解释如下:
-参考监视器Ref_mon;
-策略加载模块Pol_load;
-标记引擎Lab_eng;
-决策引擎Dec_eng;
-追踪引擎Tr_eng;
方法100包括:
-在步骤1中,一旦虚拟机VM准备好执行用户程序,它就引发开始事件VM_start或初始化事件VM_init,其触发控制模块Instr_module的配置。更精确地,定义访问策略Acc_pol的访问策略文件Acc_rul_file,和定义标记策略Lab_pol的标记策略文件Lab_pol_file由策略加载模块Pol_load加载。访问策略Acc_pol以及标记策略Lab_pol的概念在后文解释。
-在步骤2中,当指示方法调用的事件Meth_entry或指示对变量成员的访问请求的事件出现时,参考监视器Ref_mon被调用。图1和2处理其被称为调用方CalR的对象调用方法Meth以及方法Meth调用其被称为被调用方CalE的情况。
参考监视器Ref_mon是在调用方法或者在请求访问变量成员时的强制路径:这是在虚拟机VM内实现强制访问控制所必须的。参考监视器Ref_mon识别调用方CalR以及被调用方CalE,以便从它们的类型签名和请求的权限上推断出安全上下文。
要注意的是,由James P.Anderson定义的参考监视器Ref_mon是调解实体之间的访问请求从而强制执行访问控制策略的验证机制。根据定义,参考监视器是强制性的、防篡改的并且足够小可以被正式证明的。
-在步骤3中,标记引擎Lab_eng被初始化。标记引擎Lab_eng的目标在于向被调用方CalE和调用方CalR添加访问控制标签LabE和LabR。标签是指出一组具有相同安全需求的实体的唯一的安全标识符。标记机制将实体与预定义的标签关联。贴标签是根据标记策略Lab_pol来执行的。例如,标记策略可以基于语言的继承原则。这意味着给定类的安全标签默认地从它的一个超类继承。
在此非限制性实施例中,如果调用方CalR和被调用方CalE的标签已知,标记引擎Lab_eng首先询问外部数据库Lab_cache,该数据库包括对象实例和访问控制标签之间的对应。此步骤是可选的但如果调用方CalR和被调用方CalE先前已经参与了方法的调用,则该步骤提高了性能。如果外部数据库Lab_cache没有已经存储希望的标签,标记引擎Lab_eng就根据调用方CalR和被调用方CalE的类型Typ_CalR、Typ_CalE向它们添加控制标签LabE和LabR。实际上,标记策略Lab_Pol定义语言类型和访问控制标签之间的对应。于是标记引擎Lab_eng在外部数据库Lab_cache中存储对应。
-在步骤4中,决策引擎Dec_eng被初始化从而根据所述访问控制标签LabE和LabR、调用方的实例数Inst_Num_CalR和被调用方的实例数Inst_Num_CalE、访问策略Acc_pol以及访问权限(例如读/写)而做出被称为“否定决策”(“negative decision”)的阻止方法Meth的执行的决策Dec,或被称为“肯定决策”(“positive decision”)的让虚拟机VM运行方法Meth的决策。
在此非限制性实施例中,外部决策引擎Ext_dec_eng与决策引擎Dec_Eng连接:决策引擎Dec_Eng依靠此第三方访问控制引擎Ext_dec_eng做出补充决策。在此情况下,本地决策Loc_Dec被发往外部决策引擎Ext_dec_Eng,其根据本地决策Loc_Dec做出外部决策Ext_Dec。外部决策引擎对于避免其目标在于绕过访问策略的传递信息流尤其重要。换而言之,外部决策引擎Ext_dec_eng控制间接访问冲突。由于决策引擎Dec_Eng和外部决策引擎Ext_dec_eng之间的协作令其成为可能。
以下用例示出此情况。该用例涉及两个Java对象,管理员(Admin)和用户(User),以及机密数据“秘密”(“secret”)。目标是确保关于User对象的Admin对象的机密性,多亏有标记策略。访问控制策略Acc_pol允许从Main对Admin和User的方法调用。结果是,不使用外部决策引擎Ext_dec_Eng,从Admin向Main的直接信息流以及从Main向User的直接信息流被允许,但不是直接地从Admin向User。实际上,Admin和User之间的方法调用默认地被访问策略Acc_pol拒绝。通过监视对象实例之间的所有信息流,外部决策引擎Ext_dec_eng允许避免User通过Main获取秘密。
-在步骤5中,如果决策Dec是肯定的,也就是说决策引擎Dec_eng根据访问策略Acc_pol准许方法Meth的调用,参考监视器Ref_mon则被请求让虚拟机VM运行被调用的方法Meth。反之,如果决策Dec是否定的,也就是说决策引擎Dec_eng没有准许方法调用,参考监视器Ref_mon则被请求引发虚拟机异常从而阻止方法Meth的调用。
要注意的是,在不是方法调用而是对变量成员的访问请求的情况下,肯定决策意味着访问被准许,以及否定决策意味着访问被拒绝。
要注意的是,在本发明的非限制性实施例中,关于被调用的方法Meth的信息、关于调用方CalR和被调用方CalE的信息例如它们的语言类型Typ_CalE、Typ_CalR和它们的访问控制标签LabE和LabR、它们的实例数Inst_Num、以及所做的决策Loc_Dec、Ext_Dec都由追踪引擎Tr_eng记录在外部数据库Tr_database中。更具体地,追踪引擎Tr_eng从策略检查方法Meth是否必须被日志记录。如果是的,提取的信息被格式化为访问请求并且创建追踪日志。
被称为SEJava的专门针对Java虚拟机的此MAC模型的第一实现已经被测试过。SEJava通过调解每个方法调用和域访问从而控制两个Java对象(类或类实例)之间的每个信息流。安全上下文是基于Java对象的并且标记机制依赖于Java对象类型签名(关于Java类型签名的细节参见Oracle的Java规范)。SEJava已经在OpenJDK的Java虚拟机上使用JVMTI规范实现了,也就是说没有在JVM内部打补丁。JVMTI是来自Oracle的标准的JavaAPI,使得能够检测兼容的虚拟机并且其主要用于分析目的。JVMTI已经被调整以用作Anderson参考监视器以便针对所有方法调用而调用SEJava引擎。该引擎检查方法调用是否满足SEJava安全策略。利用标准检测工具接口(此处为JVMTI),在虚拟机内实现参考监视器变得容易了。
与主要控制方法和外部资源(例如文件)之间的流的JAAS相反,SEJava使得能够:
-控制所有Java对象之间的流;
-在“访问控制强制执行”阶段之前的“学习”阶段可以学习所需要的安全策略;
-将SEJava与例如PIGA的外部参考监视器连接。PIGA的细节在下列文稿中:
·J.Briffaut,“形式化和保证系统的安全属性:访问检测中的应用(Formalisation et garantie de propriétés de sécurité système:application à ladétection d’intrusions)”,信息学博士论文,2007年12月13日,LIFO奥尔良大学,法国。
·J.Briffaut,C.Toinard,M.Peres,“用于协调Linux桌面内的多重保护的动态端到端安全(A dynamic End-to-End Security for Coordinating Multiple Protectionswithin a Linux Desktop)”,合作和安全研讨会(Colsec 2010),收录在2010协作技术和系统国际专题讨论会(CTS 2010)论文集中,美国。
在真实产品中,安全建模将基于软件的运行时观察而被辅助。默认和初始标记将基于应用程序的Java类型层次的叶。每种类型将被分配其唯一的安全上下文,允许观察不同类型对象的所有实例之间的信息流。这已经是当前SEJava实现中的情况。
结果将向负责创建用于此应用的安全模型的人显示。用户可以选择连接或分割现有的安全上下文。他还将选择什么是被允许和被禁止的信息,由此创建访问控制规则。
被称为SEDalvik的第二实现已经被测试过。基于如上所描述的相同的安全模型,在此实现中仅有的不同是它已经被写成集成到虚拟机解释器和调试器中。这是可能的是因为所使用的语言Java(安全模型)是相同的,即使VM字节码不同。
总结来说,方法提供一种用于Java应用的有效隔离机制。实际上,对于虚拟机可用的大部分先进的安全特征是全局性地基于数据污点(“data tainting”)、虚拟机程序分析的解释器状态的虚拟机深度检查。但是它们中的大多数不能执行具有动态策略的实时虚拟机程序强制执行。
此外,目前的针对虚拟机的安全特征强制开发者和/或管理员提供用于每个程序的运行的特定安全策略。方法100使得能够动态计算安全上下文和需要的规则。首先,安全上下文从类命名的约定(即签名)中导出。其次,参考监视器Ref_mon审查所有的方法调用。因此方法100使得能够将所有被拒绝的调用转变成SEJava规则。
重要的是要注意:
-不需要具有应用的源代码;
-不需要修改源代码来观察信息流,
-虚拟机不需要修改(取决于JVMTI支持)
因此所提议的方法和其实现可以适用于已经存在的应用或软件产品。
具有关于现有方案的三种增强:
-信息流的控制在所有Java对象之间执行;
-该方案不需要任何代码预处理、分析或任何检测工具;
-已定义的策略完全可以适用于新程序和/或可以被直接学习。

Claims (15)

1.一种用于通过强制访问控制模块(Instr_module)来在适于运行面向对象程序和基于强类型语言的虚拟机(VM)中确保强制访问控制(MAC)的方法(100),所述方法包括:
使用访问策略(Acc_pol)来配置所述强制访问控制模块(Instr_module);
当接收到指示方法调用(Meth_entry)或对变量成员的访问请求的第一事件时,向被称为“调用方”(CalR)的对象和被称为“被调用方”(CalE)的对象添加访问控制标签(LabE,LabR),其中所述调用方调用方法(Meth)或请求访问,所述被调用方被方法(Meth)调用或所述被调用方的访问被请求,所述添加访问控制标签是根据所述调用方和所述被调用方的语言类型(Typ_CalR,Typ_CalE);
根据所述访问控制标签(LabE,LabR)、所述调用方和所述被调用方的实例数(Inst_Num)、所述访问策略(Acc_pol)以及访问权限而做出被称为“否定决策”的阻止所述方法(Meth)的执行或对所述变量成员的访问的决策(Dec)或者被称为“肯定决策”的让所述虚拟机(VM)运行所述方法(Meth)或访问所述变量成员的决策(Dec);
向所述虚拟机(VM)传输所述决策(Dec)用于阻止或准许相应的访问尝试。
2.根据在前的权利要求所述的方法(100),其中配置所述强制访问控制模块(Instr_module)的步骤是在当接收到指示所述虚拟机(VM)的开始或初始化(VM_start,VM_init)的第二事件时被实现的。
3.根据在前的任意一项权利要求所述的方法(100),其中第一事件和第二事件是激活回调功能的面向标准化检测工具的事件。
4.根据权利要求1或2所述的方法(100),其中配置所述强制访问控制模块(Instr_module)的步骤包括加载定义语言类型和访问控制标签之间的对应性的标记策略文件(Lab_pol_file),并且添加标签(LabE,LabR)的步骤通过所述标记策略文件(Lab_pol_file)而被实现。
5.根据权利要求1或2所述的方法(100),其中添加访问控制标签(LabE,LabR)的步骤包括使用外部数据库(Lab_cache),所述外部数据库包括对象实例和访问控制标签之间的对应性。
6.根据权利要求1或2所述的方法(100),其中做出决策(Dec)的步骤通过所述强制访问控制模块(Instr_module)和外部决策引擎(Ext_dec_eng)之间协作来被实现。
7.根据权利要求1或2所述的方法(100),包括在外部数据库(Tr_database)中记录:
关于被调用的方法(Meth)的信息;
关于所述调用方(CalR)和所述被调用方(CalE)的以下至少一种信息:所述调用方(CalR)和所述被调用方(CalE)的语言类型(Typ_CalE,Typ_CalR)、所述调用方(CalR)和所述被调用方(CalE)的访问控制标签(LabE,LabR),以及所述调用方(CalR)和所述被调用方(CalE)的实例数(Inst_Num);
所做出的决策(Dec)。
8.根据权利要求1或2所述的方法(100),包括在否定决策的情况下由所述虚拟机(VM)引发异常,用于阻止被请求的方法(Meth)的执行或对所述变量成员的访问。
9.一种用于在适于运行面向对象程序和基于强类型语言的虚拟机(VM)中确保强制访问控制(MAC)的强制访问控制模块(Instr_module),包括:
参考监视器(Ref_mon),所述参考监视器为用于方法(Meth)调用和对变量成员的访问的强制路径,所述参考监视器适于向所述虚拟机(VM)传输被称为“否定决策”的阻止所述方法(Meth)的执行或对所述变量成员的访问的决策(Dec)或被称为“肯定决策”的让所述虚拟机(VM)运行所述方法(Meth)或访问所述变量成员的决策(Dec);
标记引擎(Lab_eng),所述标记引擎适于向被称为“调用方”(CalR)的对象和被称为“被调用方”(CalE)的对象添加访问控制标签(LabE,LabR),其中所述调用方调用方法(Meth)或请求访问,所述被调用方被方法(Meth)调用或所述被调用方的访问被请求,所述添加访问控制标签是根据所述调用方和所述被调用方的语言类型(Typ_CalR,Typ_CalE);
决策引擎(Dec_eng),所述决策引擎适于根据所述标签(LabE,LabR)、所述调用方和所述被调用方的实例数(Inst_Num)、访问权限以及访问策略(Acc_pol)做出所述决策(Dec)。
10.根据权利要求9所述的强制访问控制模块(Instr_module),其中所述强制访问控制模块(Instr_module)是部分地位于所述虚拟机(VM)的外部的模块,所述强制访问控制模块被称为检测工具模块,所述强制访问控制模块适于通过标准协议和标准检测工具接口(Instr_interf)与所述虚拟机(VM)通信。
11.根据权利要求9或10所述的强制访问控制模块(Instr_module),其中所述标记引擎(Lab_eng)适于与虚拟机(VM)通信用于请求所述调用方和所述被调用方的语言类型(Typ_CalR,Typ_CalE)。
12.根据权利要求9至10中的任意一项所述的强制访问控制模块(Instr_module),其中所述标记引擎(Lab_eng)适于与包括对象实例和访问控制标签之间的对应性的外部数据库(Lab_cache)通信。
13.根据权利要求9至10中的任意一项所述的强制访问控制模块(Instr_module),其中所述决策引擎(Dec_eng)适于与外部决策引擎(Ext_dec_eng)通信并且等待来自所述外部决策引擎(Ext_dec_eng)的外部决策(Ext_Dec)从而做出肯定或否定决策(Dec)。
14.根据权利要求9至10中的任意一项所述的强制访问控制模块(Instr_module),包括适于在外部数据库(Tr_database)中记录关于被调用的方法(Meth)的信息的追踪引擎(Tr_eng),所述关于被调用的方法(Meth)的信息包括所述调用方和所述被调用方的语言类型(Typ_CalE,Typ_CalR)和访问控制标签(LabE,LabR)、所述调用方和所述被调用方的实例数(Inst_Num)以及所做出的决策(Dec)。
15.一种虚拟机(VM)包括根据权利要求9所述的强制访问控制模块(Instr_module)。
CN201380040924.8A 2012-08-03 2013-07-09 虚拟机中的强制保护控制 Active CN104508676B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP12179254.3A EP2696303B1 (en) 2012-08-03 2012-08-03 Mandatory access control (MAC) in virtual machines
EP12179254.3 2012-08-03
PCT/EP2013/064475 WO2014019815A1 (en) 2012-08-03 2013-07-09 Mandatory protection control in virtual machines

Publications (2)

Publication Number Publication Date
CN104508676A CN104508676A (zh) 2015-04-08
CN104508676B true CN104508676B (zh) 2017-12-01

Family

ID=48748256

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380040924.8A Active CN104508676B (zh) 2012-08-03 2013-07-09 虚拟机中的强制保护控制

Country Status (6)

Country Link
US (1) US9374377B2 (zh)
EP (1) EP2696303B1 (zh)
JP (1) JP5990646B2 (zh)
KR (1) KR101665894B1 (zh)
CN (1) CN104508676B (zh)
WO (1) WO2014019815A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9971613B2 (en) * 2013-10-04 2018-05-15 Vmware, Inc. Tag based permission system and method for virtualized environments
US9665721B2 (en) * 2014-04-23 2017-05-30 NSS Labs, Inc. Threat and defense evasion modeling system and method
US10552638B2 (en) * 2015-05-13 2020-02-04 Intel Corporation Integrity protection of a mandatory access control policy in an operating system using virtual machine extension root operations
CN105701416B (zh) 2016-01-11 2019-04-05 华为技术有限公司 强制访问控制方法、装置和物理主机
US11429410B2 (en) * 2017-05-09 2022-08-30 Vmware, Inc. Tag based firewall implementation in software defined networks
US11157609B1 (en) * 2019-05-09 2021-10-26 Juniper Networks, Inc Apparatus, system, and method for secure execution of unsigned scripts
CN112989429B (zh) * 2021-05-18 2021-08-17 长扬科技(北京)有限公司 一种强制访问的控制方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101452397A (zh) * 2008-11-27 2009-06-10 上海交通大学 虚拟化环境中的强制访问控制方法及装置
CN102063466A (zh) * 2010-12-03 2011-05-18 中国科学院软件研究所 基于策略的数据库强制访问控制方法及其系统
CN102542182A (zh) * 2010-12-15 2012-07-04 苏州凌霄科技有限公司 基于Windows平台的强制访问控制装置及控制方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3756397B2 (ja) 2000-11-06 2006-03-15 日本電信電話株式会社 アクセス制御方法およびアクセス制御装置および記録媒体
US20050182958A1 (en) * 2004-02-17 2005-08-18 Duc Pham Secure, real-time application execution control system and methods
JP4628073B2 (ja) 2004-11-30 2011-02-09 株式会社エヌ・ティ・ティ・ドコモ アクセス制御装置及びアクセス制御方法
ATE527616T1 (de) * 2004-12-23 2011-10-15 Sap Ag Umgekehrtes herleiten von zugriffsteuerungen
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US8037457B2 (en) * 2006-09-29 2011-10-11 Sap Ag Method and system for generating and displaying function call tracker charts
JP5382450B2 (ja) 2008-02-14 2014-01-08 日本電気株式会社 アクセス制御装置、その方法及び情報記録媒体
US20090319529A1 (en) * 2008-06-20 2009-12-24 Raytheon Company Information Rights Management
JP5035182B2 (ja) 2008-08-27 2012-09-26 富士通株式会社 アクセス制御システム、アクセス制御方法、アクセス制御プログラム、及びアクセス制御プログラムを記録した記録媒体
JP4653230B2 (ja) * 2008-09-22 2011-03-16 株式会社エヌ・ティ・ティ・ドコモ Api検査装置及び状態監視装置
US9213566B2 (en) * 2008-11-26 2015-12-15 Red Hat, Inc. Implementing security in process-based virtualization
US20110072487A1 (en) * 2009-09-23 2011-03-24 Computer Associates Think, Inc. System, Method, and Software for Providing Access Control Enforcement Capabilities in Cloud Computing Systems
US9038168B2 (en) 2009-11-20 2015-05-19 Microsoft Technology Licensing, Llc Controlling resource access based on resource properties
US8938782B2 (en) * 2010-03-15 2015-01-20 Symantec Corporation Systems and methods for providing network access control in virtual environments
JP5488854B2 (ja) * 2010-03-30 2014-05-14 日本電気株式会社 シンクライアントシステム、シンクライアントシステムにおけるアクセス制御方法およびアクセス制御プログラム
US9323921B2 (en) * 2010-07-13 2016-04-26 Microsoft Technology Licensing, Llc Ultra-low cost sandboxing for application appliances

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101452397A (zh) * 2008-11-27 2009-06-10 上海交通大学 虚拟化环境中的强制访问控制方法及装置
CN102063466A (zh) * 2010-12-03 2011-05-18 中国科学院软件研究所 基于策略的数据库强制访问控制方法及其系统
CN102542182A (zh) * 2010-12-15 2012-07-04 苏州凌霄科技有限公司 基于Windows平台的强制访问控制装置及控制方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Mandatory Access Control at the Object Level in the Java Virtual Machine";VIVEK HALDAR ET AL;《Technical Report NO.04-06,Department of Information and Computer Science, University of California》;20040430;文献第2页第7-8段、第4页第3节第1段-第5页第3.1节第3段 *

Also Published As

Publication number Publication date
JP5990646B2 (ja) 2016-09-14
EP2696303B1 (en) 2017-05-10
KR20150028833A (ko) 2015-03-16
US9374377B2 (en) 2016-06-21
CN104508676A (zh) 2015-04-08
EP2696303A1 (en) 2014-02-12
WO2014019815A1 (en) 2014-02-06
US20150128209A1 (en) 2015-05-07
JP2015529898A (ja) 2015-10-08
KR101665894B1 (ko) 2016-10-24

Similar Documents

Publication Publication Date Title
CN104508676B (zh) 虚拟机中的强制保护控制
Seo et al. FLEXDROID: Enforcing In-App Privilege Separation in Android.
Wang et al. Compac: Enforce component-level access control in android
US9836608B2 (en) System, method and apparatus for simultaneous definition and enforcement of access-control and integrity policies
Tuncay et al. Draco: A system for uniform and fine-grained access control for web code on android
KR20090010872A (ko) CLDC OSGi 환경에서 어플리케이션의 접속 권한을관리하는 방법 및 장치
Lu et al. Demystifying resource management risks in emerging mobile app-in-app ecosystems
US9871800B2 (en) System and method for providing application security in a cloud computing environment
Rossi et al. {SEApp}: Bringing mandatory access control to Android apps
US10929148B2 (en) Executing services in containers
US9398019B2 (en) Verifying caller authorization using secret data embedded in code
Hiet et al. Policy-based intrusion detection in web applications by monitoring java information flows
Zhan et al. Splitting third-party libraries’ privileges from android apps
Seghir et al. Evicheck: Digital evidence for android
US10747871B2 (en) System and method for producing secure data management software
Venelle et al. Security enhanced java: Mandatory access control for the java virtual machine
Cai et al. Enforcing ACL access control on android platform
Wu et al. CDroid: practically implementation a formal-analyzed CIFC model on Android
VANČO et al. Dynamic security policy enforcement on Android
Winderix Security Enhanced LLVM
Sharma Generating smartphone phishing applications for deception based defense
Ismail et al. An Investigation into Access Control in Various Types of Operating Systems
Heuser Towards modular and flexible access control on smart mobile devices
Qiang et al. JSFfox: Run-Timely Confining JavaScript for Firefox
Que et al. Lightweight Optimization of Android Permission Model

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant