CN1690957B - 通过安全虚拟机器实施安全政策的方法和*** - Google Patents
通过安全虚拟机器实施安全政策的方法和*** Download PDFInfo
- Publication number
- CN1690957B CN1690957B CN2005100626459A CN200510062645A CN1690957B CN 1690957 B CN1690957 B CN 1690957B CN 2005100626459 A CN2005100626459 A CN 2005100626459A CN 200510062645 A CN200510062645 A CN 200510062645A CN 1690957 B CN1690957 B CN 1690957B
- Authority
- CN
- China
- Prior art keywords
- security
- instruction
- data
- virtual machine
- equipment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- E—FIXED CONSTRUCTIONS
- E01—CONSTRUCTION OF ROADS, RAILWAYS, OR BRIDGES
- E01H—STREET CLEANING; CLEANING OF PERMANENT WAYS; CLEANING BEACHES; DISPERSING OR PREVENTING FOG IN GENERAL CLEANING STREET OR RAILWAY FURNITURE OR TUNNEL WALLS
- E01H5/00—Removing snow or ice from roads or like surfaces; Grading or roughening snow or ice
- E01H5/04—Apparatus propelled by animal or engine power; Apparatus propelled by hand with driven dislodging or conveying levelling elements, conveying pneumatically for the dislodged material
- E01H5/06—Apparatus propelled by animal or engine power; Apparatus propelled by hand with driven dislodging or conveying levelling elements, conveying pneumatically for the dislodged material dislodging essentially by non-driven elements, e.g. scraper blades, snow-plough blades, scoop blades
- E01H5/065—Apparatus propelled by animal or engine power; Apparatus propelled by hand with driven dislodging or conveying levelling elements, conveying pneumatically for the dislodged material dislodging essentially by non-driven elements, e.g. scraper blades, snow-plough blades, scoop blades characterised by the form of the snow-plough blade, e.g. flexible, or by snow-plough blade accessories
- E01H5/066—Snow-plough blade accessories, e.g. deflector plates, skid shoes
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Architecture (AREA)
- Civil Engineering (AREA)
- Structural Engineering (AREA)
- Storage Device Security (AREA)
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Abstract
提供了一种用于实施以安全虚拟机器的指令集编码的安全政策的方法和***。安全***提供了执行以安全虚拟机器的指令集表达的安全程序的安全虚拟机器。安全***将安全程序储存在安全虚拟机器的指令存储中。当发生安全实施事件时,安全虚拟机器使用安全实施事件的数据执行其指令存储的指令,以实施安全政策。
Description
技术领域
所描述的技术一般涉及实施安全政策来阻挡计算机程序的不合需要的行为。
背景技术
诸如操作***和文件***等软件***提供了应用编程接口,应用程序通过其能够访问软件***的服务。应用程序接口可向函数提供用于执行制定服务的参数。例如,文件***可具有用于创建文件的函数(也称为“***调用”)。该函数可具有指定要创建的文件的文件位置、文件名、文件类型、文件大小等的参数。当应用程序调用一函数时,它传递对应于为该函数定义的形式参数的实际参数。函数可在实际参数上执行某些核查,以确保它们是有效的。例如,创建文件函数可确保指定的文件类型是有效的。如果参数无效,则函数向应用程序返回一出错。
由于各种原因,软件***可以极其复杂。软件***可寻求与该软件***的所有现有版本后向兼容。在这一情况下,软件***可能需要支持现有版本的应用程序接口的所有函数。由于通常向每一版本添加新函数,因此函数的数量可能相当大,并且其交互十分复杂。某些软件***也可包括由同一公司的不同部门或不同的公司开发的软件组件。这些组件的交互也可以相当复杂。
对软件***越来越重要的是确保其应用编程接口对无意的误用或有意的攻击都不是易破坏的。软件***的一个易破坏性可以通过其应用编程接口的参数。当现有版本的函数与较新版本的函数组合时,并且当集成来自不同开发者的组件时,由函数执行的现有参数确认可能不足以确保函数的正确行为。例如,由一个公司开发的文件***的应用编程接口可以与由另一公司开发的文件服务器集成、应用编程接口的最大文件大小参数可以大于文件服务器支持的参数。在这一情况下,应用编程接口可接受的文件大小可导致文件服务器的问题。作为另一示例,***管理员可能希望进一步限制最大文件大小,但是***管理员可能没有可用的手段来实施该限制。
需要的是一种用于实施安全政策,尤其是为应用程序接口的参数指定有效条件的安全政策的机制。
发明内容
用于实施安全政策的方法和***是由一安全虚拟机器提供的。该安全虚拟机器包括处理器引擎、指令存储、数据存储和指令指针。该安全虚拟引擎执行使用从安全政策的高级语言表示所编译的中间语言指定的安全程序。该安全程序被加载到指令存储用于执行。当出现安全实施事件时,诸如调用应用编程接口的函数,将来自安全实施事件的数据储存在数据存储中,并且处理器引擎开始从指令存储中取出并执行用于安全程序的指令。指令指定了要采取的行动,以基于安全实施事件的数据实施安全政策。
附图说明
图1所示是一个实施例中安全***的组件的框图。
图2所示是一个实施例中数据存储的数据结构的框图。
图3所示是一个实施例中安全虚拟机器的指令的布局的图示。
图4所示是一个实施例中加载程序组件的处理的流程图。
图5所示是一个实施例中***调用截取组件的处理的流程图。
图6所示是一个实施例中安全虚拟机器的处理器引擎的处理的流程图。
图7所示是一个实施例中安全虚拟机器的解除引用(dereference)组件的处理的流程图。
图8所示是一个实施例中安全虚拟机器的求值测试组件的处理的流程图。
图9所示是一个实施例中安全虚拟机器的测试组件的处理的流程图。
图10所示是一个实施例中安全虚拟机器的匹配字符串组件的处理的流程图。
图11所示是一个实施例中安全虚拟机器的非测试(nontest)组件的处理的流程图。
具体实施方式
提供了一种在计算机***中用于实施以安全虚拟机器的指令集编码的安全政策的方法和***。在一个实施例中,安全***提供了一安全虚拟机器,它执行以安全虚拟机器的指令集(即,中间语言)表达的安全程序。安全***可包括一编译器,它接受以高级语言表示的安全政策,并生成以安全虚拟机器的中间语言表达的安全政策表示的安全程序。安全***在安全虚拟机器的指令存储中储存安全程序。当发生安全实施事件时(即,需要核查一行动来确保它遵循安全政策),则安全虚拟机器使用来自安全实施事件的数据执行来自其指令存储的安全程序的指令,以实施该安全政策。如果安全实施事件表明正在试图执行不合需要的行为(如,可能会恶意利用操作***的易破坏性的行动),则安全程序可阻挡该尝试。在一个实施例中,安全***的安全虚拟机器在操作***的内核模式中执行,以标识并防止应用程序和外部***对执行安全***的计算机***执行不合需要的行为的尝试。
在一个实施例中,安全***标识由应用程序向***服务(如,文件***和存储器管理***)发出的***调用的参数何时可能导致不合需要的行为。安全政策包含规则,其每一个规则都指定了基于***调用的参数的条件,以及当满足该条件时要采取的行动。例如,当用指定大于1GB的文件大小的参数发出一文件创建***调用时,可满足规则的条件。与该规则相关联的行动可阻挡文件的创建。高级语言可以是基于XML的语言,并且每一规则可以由规则条件和行动标签来标识。当编译以高级语言表示的安全政策规则时,将每一规则转换成中间语言的指令以形成安全程序。例如,规则可被转换成一系列指令。一个指令将***调用与表明函数是“文件创建”的值进行比较,一个指令将文件大小参数与其值为1GB的常量进行比较,一个指令输出指示来阻挡***调用。
在一个实施例中,安全虚拟机器包括处理器引擎、指令存储、指令指针和数据存储。当初始化安全虚拟机器来实施安全政策时,安全***用实现安全政策的安全程序加载指令存储。安全***也将安全程序的数据加载到数据存储中。当接收***调用时,安全***将***调用的参数(包括标识***调用的值)储存在数据存储中。安全***也可将发出***调用的进程的进程控制信息储存在数据存储中。安全***初始化指令指针以指向安全程序的起始指令。处理器引擎通过取出并执行由指令指针指向的起始指令来开始安全程序。所执行的每一指令修改指令指针以指向要执行的下一指令。指令引用数据存储中的数据以实施安全政策。安全程序的执行生成一输出行动集,它指定了为实施安全政策而要采取的行动(如,阻挡***调用)。
在一个实施例中,安全政策可包括要对其核查参数的每一***调用的子政策。安全***可将每一子政策编译成一单独的安全子程序,它可与其它安全子程序无关地加载到指令存储中。每一子政策可对应于单个***调用的安全实施。安全***可维护每一***调用到指令存储中的指令指针以及指向对应的安全子程序的数据存储中的数据的起始数据指针的映射。当在***调用上实施安全政策时,安全***将指令指针初始化成对应的起始指令指针,并将数据指针初始化成对应的起始数据指针。安全子程序可使用与指令指针和数据指针有关的指令和数据引用技术。以这一方式,每一安全子程序的指令和数据都是可重定位的。在以下描述中,单个安全程序通过解码每一***调用并跳转到适当的指令位置以处理该***调用,来处理所有的***调用。本领域的技术人员可以理解,所描述的***可适用于支持每一***调用的子程序。
图1所示是一个实施例中安全***的组件的框图。该安全***包括在用户模式100中执行的某些组件,以及在内核模式120中执行的其它组件。政策编译器102是在用户模式中执行的组件,以将政策存储103的安全政策编译成可由安全虚拟机器执行的安全程序。内核模式组件包括***调用截取组件121、加载程序组件122和安全虚拟机器125。安全虚拟机器包括指令指针126、处理器引擎127、指令存储128和数据存储129。加载程序组件将由政策编译器编译的安全程序加载到安全虚拟机器的指令存储中、将程序数据储存到数据存储中、并设置起始指令指针。***调用截取组件截取由应用程序101发出的***调用,并将每一***调用的参数和应用程序的进程控制信息储存到数据存储中。在截取了***调用并储存了其参数之后,***调用截取组件指令处理器引擎执行指令存储的安全程序。处理器引擎通过取出由指令指针指向的指令并执行由指令指定的操作来执行安全程序。操作包括将为实施安全政策而采取的行动储存在数据存储的输出行动集中。在完成了安全程序的执行以后,***调用截取组件执行输出行动集的行动。
实现安全***的计算装置可包括中央处理单元、存储器、输入设备(如,键盘和定位设备)、输出设备(如,显示设备)和存储设备(如,盘驱动器)。存储器和存储设备是可包含实现安全***的指令的计算机可读介质。另外,数据结构和消息结构可通过诸如通信链路上的信号等数据传输介质来储存或发送。可使用各种通信链路,如因特网、局域网、广域网或点对点拨号连接。
图1示出了其中可实现安全***的合适的操作环境的一个示例。该操作环境仅是合适的操作环境的一个示例,并非暗示对安全***的使用范围或功能的任何局限。适合使用的其它众所周知的计算***、环境和配置包括个人计算机、服务器计算机、手持式或膝上设备、多处理器***、基于微处理器的***、可编程消费者电子设备、网络PC、小型机、大型机、包括上述***或设备的任一个的分布式计算环境等等。
安全***可以在诸如由一个或多个其它设备执行的程序模块等计算机可执行指令的一般上下文环境中描述。一般而言,程序模块包括例程、程序、对象、组件、数据结构等等,执行特定的任务或实现特定的抽象数据类型。通常,如各个实施例中所需要的,程序模块的功能可以组合或分布。
图2所示是一个实施例中数据存储的数据结构的框图。该数据结构包括文字数据结构201、动态数据结构211、***调用参数数据结构221、进程控制块数据接口231以及行动输出集241。文字数据结构包括文字数据表202和文字数据存储203。文字数据表包含引用储存在文字数据存储中的文字数据的固定大小的条目。“文字数据”指对于当前加载的安全政策的生命周期恒定不变的安全程序的数据。文字数据只能通过加载新的安全政策来改变。动态数据结构具有与文字数据结构相似的组织,但是它储存“动态”数据而非“文字数据”。“动态数据”指可在不加载新安全政策的情况下修改的安全程序的数据。例如,动态数据可包括免除安全政策的应用程序名。文字和动态数据表的每一条目指向对应的数据存储中的数据。文字和动态数据存储的数据以自描述格式来表示。该格式包括数据类型和数据大小信息。在一个实施例中,安全虚拟机器支持布尔型、整型、字符串和原始二进制(也称为“二进制大对象(blob)”)数据类型,以及整型、字符串和二进制大对象的数组。指令使用对文字和动态表的索引而引用文字和动态数据。当执行指令时,安全虚拟机器通过检索索引的条目并使用其值作为指向文字或动态数据存储中的数据项的起始的指针,来对到文字和动态表的索引解除引用。由于数据是自描述的,因此可确定数据的类型和大小。***调用参数数据结构包括字符串表222、整型表223和原始二进制表224。***调用的参数依照其数据类型储存在这些表中。进程控制块数据结构是包含了对安全虚拟机器可用的每一条进程控制信息的条目的表。在一个实施例中,进程控制信息包括应用程序标识符和线程标识符。行动输出集可以是一组行动标记,它在执行安全程序的过程中生成,并表明为在***调用上实施安全政策而采取的行动。行动可包括阻挡***调用和通知用户。
图3所示是一个实施例中安全虚拟机器的指令的布局的图示。每一指令包括操作字段310、参数1字段320、真分支字段330、假分支字段340和参数2字段350。参数1字段引用与***调用相关联的数据(即,储存在***调用数据结构中或进程控制数据结构中),参数2字段引用与安全程序相关联的数据(即,直接数据或储存在文字或动态数据结构中的数据)。操作字段包括参数2描述符311(“m”)和操作码312。参数2描述符指定了如何解释参数2。参数2可包含直接数据、对动态数据的引用或对文字数据的引用。当指定引用时,安全虚拟机器在执行指令的操作之前对参数2解除引用。操作码标识了如下文更详细定义的指令的操作。参数1字段包含参数1描述符321(“s”)和索引322。参数1描述符表明参数1是涉及***调用参数还是涉及进程控制信息。如果参数1描述符指示***调用参数,则索引的较高位指定了是要索引***调用参数数据结构的字符串表、整型表还是原始二进制表,而较低位指示了表的索引的条目。如果参数1描述符指示进程控制信息,则索引指示特定的进程控制信息。真分支字段和假分支字段包含偏移,它根据该指令的条件码被求值为真还是为假来指定要执行的下一指令。该偏移被添加到当前指令指针,以指向要执行的下一指令。
表1和2示出了一个实施例中安全虚拟机器的指令。指令可被分类为在数据上执行测试的指令和不执行测试的指令。表1示出了非测试指令。
表1
操作码 | 描述 | 参数 |
HALT | 停止处理 | p2:状态码 |
ACTION | 将行动码添加到输出行动集 | p2:行动码 |
JMP | 跳转到新的指令 | p2:从当前位置的跳转偏移 |
RESET | 将输出行动集清零 | p2:忽略 |
表2示出了测试指令。该模式指令可定义用于比较两个字符串的正则表达式,它可用于文件名的通配符类型比较(如,“*.DAT”)。
表2
操作码 | 描述 |
TEST | 布尔型:测试p2是否为TRUE |
CMPEQ | 整型:比较p1=p2 |
CMPNE | 整型:比较p1!=p1 |
CMPLT | 整型:比较p1<p2 |
CMPLE | 整型:比较p1<=p2 |
CMPGE | 整型:比较p1>=p2 |
CMPGT | 整型:比较p1>p2 |
BLOB_MATCH | 二进制大对象:p1==p2 |
STRING_MATCH | 字符串:p1==p2 |
PATTERN_MATCH | 字符串:p1与p2匹配通配符模式 |
BLOB_MEMBEROF | 二进制大对象:p1==p2[i] |
INT_MEMBEROF | 整型:p1==p2[i] |
操作码 | 描述 |
STRING_MEMBEROF | 字符串:p1==p2[i] |
PATTERN_MEMBEROF | 字符串:p1与p2[i]匹配通配符模式 |
图4所示是一个实施例中加载程序组件的处理的流程图。当要将安全程序加载到安全虚拟机器中时,调用该组件。安全程序包含虚拟指令、文字数据块和动态数据块。文字数据块包括文字数据表的信息,后面跟随文字数据存储的信息。组件将文字数据块复制到在起始位置处开始的文字存储中。组件然后将该基本位置添加到文字数据表中的每一偏移,以将偏移转换成指针。组件以类似的方式处理动态数据块。虚拟指令包含与文字存储和动态存储有关的偏移。在块401,组件识别文字存储内的起始位置,并复制在该起始位置开始的安全程序的文字数据块。在块402,组件将起始位置添加到文字数据表的每一偏移,以将安全程序的偏移转换成指针。在块403,组件标识动态存储内的起始位置,并复制在该起始位置处开始的安全程序的动态数据块。在块404,组件将起始位置添加到动态数据表的每一偏移,以将安全程序的偏移转换成指针。在块405,组件将安全程序的虚拟指令复制到指令存储,然后完成。
图5所示是一个实施例中***调用截取组件的处理的流程图。当***调用被截取时调用该组件。该组件初始化***调用参数数据结构以及进程控制数据结构,然后启动安全虚拟机器。该组件也可提供一指令的指令指针,该指令用于启动执行来处理***调用。当使用安全子程序时,该组件可具有***调用到起始指令指针和指向该***调用的文字和动态数据结构的起始数据指针的映射。加载程序组件可被多次调用,以加载安全程序的不同子程序用于处理不同的***调用。由于指令和数据是基于偏移的,指令和数据可被储存在指令存储和数据存储的下一可用位置。在块501,组件将当前指令指针设为安全程序的起始指令指针,并将行动输出集复位成初始状态(如,空)。在块502-504,组件循环将***调用的参数储存到***调用参数数据结构中。在块502,组件选择***调用的下一参数。在判别块503,如果已选择了***调用的所有参数,则组件在块505继续,否则组件在块504继续。在块504,组件将所选择的参数储存在***调用参数数据结构的适当表中,然后循环到块502以选择***调用的下一参数。在块505-507,组件循环将进程控制信息储存在进程控制数据结构中。在块505,组件为发出***调用的进程选择下一进程控制信息。在判别块506,如果已选择了所有的进程控制信息,则组件在块508继续,否则组件在块507继续。在块507,组件将所选择的进程控制信息储存到进程控制数据结构中,然后循环到块505以选择下一进程控制信息。或者,与使用并初始化内部进程控制数据结构相反,安全***可在需要时直接从进程控制块检索进程控制信息。本领域的技术人员可以理解,进程控制块由操作***在创建进程时创建。在块508,组件启动安全虚拟机器以在截取的***调用上实施安全政策。在由安全虚拟机器完成了安全程序的执行之后,组件执行行动输出集的行动。
图6所示是一个实施例中安全虚拟机器的处理器引擎的处理的流程图。处理器引擎基于截取的***调用而初始化***调用参数存储、运行安全虚拟机器、并执行输出行动集的行动。在块601-607,处理器引擎循环加载并执行储存在指令存储中的安全程序的指令,直到执行了停止指令。在一个实施例中,安全政策可定义为,只要满足一规则的条件,就不测试其它规则。在块601,处理器引擎取出由当前指令指针指向的指令。在块602,处理器引擎调用组件以对参数1和参数2解除引用。在判别块603,如果指令的操作码是测试操作,则处理器引擎在块604继续。如果指令的操作码是非测试操作(除停止操作之外),则处理器引擎在块608继续。如果指令的操作码是停止操作,则处理器引擎在块609继续。在块604,处理器引擎调用求值测试组件来确定测试操作是求值为真还是假。调用的组件将条件码标志设为真或假。在判别块605,如果条件码为真,则处理器引擎在块607继续,否则处理器引擎在块606继续。在块606,处理器引擎将假分支字段的偏移添加到当前指令指针,然后循环到块601以取出下一指令。在块607,处理器引擎将真分支字段的偏移添加到当前指令指针,然后循环到块601以取出下一指令。在块608,处理器引擎调用执行非测试组件,然后循环到块601以取出下一指令。执行非测试组件执行指令的操作,并将当前指令指针设为指向要执行的下一指令。执行非测试组件将指令的真分支的偏移(或在跳转指令的情况下为参数2)添加到指令指针。在块609,组件执行停止指令,然后完成。
图7所示是一个实施例中安全虚拟机器的解除引用组件的处理的流程图。该组件对取出的指令的参数1和参数2解除引用。在块701-708,组件对参数1解除引用。在判别块701,如果参数1是如由参数1描述符指示的***调用参数,则组件在块703继续,否则组件在块702继续。在块702,组件将解除引用的参数1设为由参数1的索引指定的进程控制信息,然后在块709继续。在判别块703,如果参数1的索引指示该***调用参数是整型,则组件在块704继续,否则组件在块705继续。在块704,组件将解除引用的参数1设为由索引指定的整型,并在块709继续。在判别块705,如果参数1的索引指示***调用参数是字符串,则组件在块706继续,否则组件在块707继续。在块706,组件将解除引用的参数1设为由索引指定的字符串,并在块709继续。在判别块707,如果参数1的索引指示***调用参数是原始二进制,则组件在块708继续,否则发生错误。在块708,组件将解除引用的参数1设为由索引指定的原始二进制,并在块709继续。在块709-714,组件对参数2解除引用。在判别块709,如果参数2描述符指示直接数据,则组件在块710继续,否则组件在块711继续。在块710,组件将解除引用的参数2设为取出的指令中的参数2的值,然后返回。在判别块711,如果参数2描述符指示文字数据,则组件在块712继续,否则组件在块713继续。在块712,组件将解除引用的参数2设为由取出的指令中的参数2指示的文字数据,然后返回。在判别块713,如果参数2描述符指示动态数据,则组件在块714继续,否则发生错误。在块714,组件将解除引用的参数2设为由取出的指令中的参数2指定的动态数据,然后返回。
图8所示是一个实施例中安全虚拟机器的求值测试组件的处理的流程图。该组件对加载的指令的操作码进行解码,并调用一组件实现对该操作码的测试。调用的组件将条件码设为真或假。在判别块801-803,组件对加载的指令的操作码进行解码。在块804-806,该组件调用实现该经解码的操作码的组件,然后返回。
图9所示是一个实施例中安全虚拟机器的测试组件的处理的流程图。测试组件实现测试操作码。在901,组件将条件码设为解除引用的参数2的值,然后返回。
图10所示是一个实施例中的安全虚拟机器的匹配字符串组件的处理的流程图。该组件确定解除引用的参数1是否与解除引用的参数2相匹配。在一个实施例中,安全虚拟机器可使用模式匹配。例如,参数可包括“通配符”规范或更一般地包括正则表达式。在判别块1001,如果参数1和参数2的长度相匹配,则组件在块1003继续,否则解除引用的参数不能匹配,并且组件在块1002继续。在块1002,组件将条件码设为假然后返回。在块1003-1006,组件循环核查解除引用参数的字符串的每一字符。在块1003,组件选择每一字符串的下一字符。在判别块1004,如果已选择了该字符串的所有字符,则组件在块1008继续,否则组件在块1005继续。在块1005,组件归一化所选择的字符。例如,组件可将每一字符设为小写以实现大小写不敏感比较。在判别块1006,如果所选择的字符相匹配,则组件循环到块1003以选择该字符串的下一字符,否则组件在块1007继续。在块1007,组件将条件码设为假然后返回。在块1008,该字符串的所有字符相匹配,组件将条件码设为真然后返回。
图11所示是一个实施例中安全虚拟机器的非测试组件的处理的流程图。该组件执行取出的指令的非测试操作码的操作,包括将当前指令指针设为指向要执行的下一指令。在判别块1101,如果操作码是行动操作,则组件在块1102继续,否则组件在块1103继续。在块1102,组件将取出的指令的参数2添加到行动输出集,然后在块1107继续。在判别块1103,如果操作码是复位操作,则组件在块1104继续,否则组件在块1105继续。在块1104,组件将行动输出集清零,然后在块1107继续。在判别块1105,如果操作码是跳转操作,则组件在块1106继续,否则组件继续解码更多的操作码。在块1106,组件将参数2添加到当前指令指针,然后返回。在块1107,组件将真分支字段的值添加到当前指令指针,然后返回。
本领域的技术人员可以理解,尽管此处为说明目的描述了安全***的特定实施例,然而可在不脱离本发明的精神和范围的情况下作出各种修改。本领域的技术人员可以理解,使用安全虚拟机器的安全***可用于实施各种各样的安全政策。例如,安全***可用于实施通过网络接收的消息、由交易处理器接收的交易、以及更一般地提供应用编程接口的任何应用程序的安全。另外,本发明不受权利要求书以外的任何内容的限制。
Claims (34)
1.一种计算机***中用于实施安全政策的方法,其特征在于,所述方法包括:
提供一安全政策;
基于一安全虚拟机器的指令集将所述安全政策编译成一安全程序;
将所述安全程序加载到所述安全虚拟机器的指令存储器中;以及
在出现一安全实施事件时,所述安全实施事件出现在所述安全虚拟机器外部的一应用程序的执行期间,基于所述安全实施事件的数据执行被加载到所述指令存储器中的安全程序的指令,以实施所述安全政策。
2.如权利要求1所述的方法,其特征在于,所述安全政策为***调用指定了安全性。
3.如权利要求1所述的方法,其特征在于,所述安全实施事件是所述应用程序发出一***调用。
4.如权利要求3所述的方法,其特征在于,所述***调用的参数是所述安全实施事件的数据。
5.如权利要求3所述的方法,其特征在于,发出所述***调用的应用程序的进程控制信息是所述安全实施事件的数据。
6.如权利要求1所述的方法,其特征在于,所述安全程序的数据被储存在一文字数据结构中。
7.如权利要求6所述的方法,其特征在于,所述指令包含对储存在所述文字数据结构中的文字数据的引用。
8.如权利要求1所述的方法,其特征在于,所述安全程序的数据被储存在一动态数据结构中。
9.如权利要求8所述的方法,其特征在于,所述指令包含对储存在所述动态数据结构中的动态数据的引用。
10.如权利要求1所述的方法,其特征在于,所述指令标识要执行的下一指令的位置。
11.如权利要求1所述的方法,其特征在于,所述安全虚拟机器支持布尔型、整型、字符串和原始二进制数据类型。
12.如权利要求1所述的方法,其特征在于,所述安全虚拟机器支持正则表达式模式匹配比较。
13.如权利要求1所述的方法,其特征在于,所述安全程序的执行创建一输出行动集,所述输出行动集指定了如何处理所述安全实施事件。
14.如权利要求1所述的方法,其特征在于,所述指令的执行是在内核模式中执行的。
15.如权利要求1所述的方法,其特征在于,所述指令包括操作码、参数和分支字段。
16.如权利要求15所述的方法,其特征在于,所述分支字段包括一真分支字段,所述真分支字段指定了当所述指令的条件求值为真时的下一指令;以及一假分支字段,所述假分支字段指定了当所述指令的条件求值为假时的下一指令。
17.如权利要求1所述的方法,其特征在于,所述安全实施事件指定了要阻挡的行为。
18.一种计算机***中用于实施安全政策的设备,其特征在于,所述设备包括:
用于提供一安全政策的装置;
用于基于一安全虚拟机器的指令集将所述安全政策编译成一安全程序的装置;
用于将所述安全程序加载到所述安全虚拟机器的指令存储器中的装置;以及
用于在出现一安全实施事件时、基于所述安全实施事件的数据执行被加载到所述指令存储器中的安全程序的指令以实施所述安全政策的装置,其中,所述安全实施事件出现在所述安全虚拟机器外部的一应用程序的执行期间。
19.如权利要求18所述的设备,其特征在于,所述安全政策为***调用指定了安全性。
20.如权利要求18所述的设备,其特征在于,所述安全实施事件是所述应用程序发出一***调用。
21.如权利要求20所述的设备,其特征在于,所述***调用的参数是所述安全实施事件的数据。
22.如权利要求20所述的设备,其特征在于,发出所述***调用的应用程序的进程控制信息是所述安全实施事件的数据。
23.如权利要求18所述的设备,其特征在于,所述安全程序的数据被储存在一文字数据结构中。
24.如权利要求23所述的设备,其特征在于,所述指令包含对储存在所述文字数据结构中的文字数据的引用。
25.如权利要求18所述的设备,其特征在于,所述安全程序的数据被储存在一动态数据结构中。
26.如权利要求25所述的设备,其特征在于,所述指令包含对储存在所述动态数据结构中的动态数据的引用。
27.如权利要求18所述的设备,其特征在于,所述指令标识要执行的下一指令的位置。
28.如权利要求18所述的设备,其特征在于,所述安全虚拟机器支持布尔型、整型、字符串和原始二进制数据类型。
29.如权利要求18所述的设备,其特征在于,所述安全虚拟机器支持正则表达式模式匹配比较。
30.如权利要求18所述的设备,其特征在于,所述安全程序的执行创建一输出行动集,所述输出行动集指定了如何处理所述安全实施事件。
31.如权利要求18所述的设备,其特征在于,所述指令的执行是在内核模式中执行的。
32.如权利要求18所述的设备,其特征在于,所述指令包括操作码、参数和分支字段。
33.如权利要求32所述的设备,其特征在于,所述分支字段包括一真分支字段,所述真分支字段指定了当所述指令的条件求值为真时的下一指令;以及一假分支字段,所述假分支字段指定了当所述指令的条件求值为假时的下一指令。
34.如权利要求18所述的设备,其特征在于,所述安全实施事件指定了要阻挡的行为。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/832,798 US8607299B2 (en) | 2004-04-27 | 2004-04-27 | Method and system for enforcing a security policy via a security virtual machine |
US10/832,798 | 2004-04-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1690957A CN1690957A (zh) | 2005-11-02 |
CN1690957B true CN1690957B (zh) | 2010-06-09 |
Family
ID=34939240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2005100626459A Active CN1690957B (zh) | 2004-04-27 | 2005-03-29 | 通过安全虚拟机器实施安全政策的方法和*** |
Country Status (17)
Country | Link |
---|---|
US (1) | US8607299B2 (zh) |
EP (1) | EP1596298B1 (zh) |
JP (1) | JP4902129B2 (zh) |
KR (1) | KR101143154B1 (zh) |
CN (1) | CN1690957B (zh) |
AU (1) | AU2005200911B2 (zh) |
BR (1) | BRPI0501171A (zh) |
CA (1) | CA2499688C (zh) |
CO (1) | CO5680123A1 (zh) |
MX (1) | MXPA05003403A (zh) |
MY (1) | MY147383A (zh) |
NO (1) | NO336813B1 (zh) |
NZ (1) | NZ539022A (zh) |
RU (1) | RU2390837C2 (zh) |
SG (1) | SG116580A1 (zh) |
TW (1) | TWI423040B (zh) |
ZA (1) | ZA200502451B (zh) |
Families Citing this family (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7469346B2 (en) * | 2003-06-27 | 2008-12-23 | Disney Enterprises, Inc. | Dual virtual machine architecture for media devices |
US8607299B2 (en) | 2004-04-27 | 2013-12-10 | Microsoft Corporation | Method and system for enforcing a security policy via a security virtual machine |
JP5021475B2 (ja) * | 2004-08-03 | 2012-09-05 | マイクロソフト コーポレーション | コンテキストポリシー制御によるアプリケーション間の関連付けの制御のためのシステムおよび方法 |
US7913092B1 (en) * | 2005-12-29 | 2011-03-22 | At&T Intellectual Property Ii, L.P. | System and method for enforcing application security policies using authenticated system calls |
US7725614B2 (en) * | 2006-08-08 | 2010-05-25 | Sandisk Corporation | Portable mass storage device with virtual machine activation |
US20080127142A1 (en) * | 2006-11-28 | 2008-05-29 | Microsoft Corporation | Compiling executable code into a less-trusted address space |
US20080250407A1 (en) * | 2007-04-05 | 2008-10-09 | Microsoft Corporation | Network group name for virtual machines |
US8397216B2 (en) * | 2008-02-29 | 2013-03-12 | International Business Machines Corporation | Compiler for a declarative event-driven programming model |
US8627299B2 (en) * | 2008-02-29 | 2014-01-07 | International Business Machines Corporation | Virtual machine and programming language for event processing |
US8365149B2 (en) * | 2008-02-29 | 2013-01-29 | International Business Machines Corporation | Debugger for a declarative event-driven programming model |
US8533833B2 (en) * | 2008-07-14 | 2013-09-10 | Nyotron Information Security Ltd. | System, a method, and a data-structure for processing system calls in a computerized system that implements a kernel |
US9940181B2 (en) * | 2008-07-14 | 2018-04-10 | Nyotron Information Security Ltd. | System and method for reacting to system calls made to a kernal of the system |
EP2194456A1 (en) * | 2008-12-05 | 2010-06-09 | NTT DoCoMo, Inc. | Method and apparatus for performing a file operation |
US20100162240A1 (en) * | 2008-12-23 | 2010-06-24 | Samsung Electronics Co., Ltd. | Consistent security enforcement for safer computing systems |
US8561090B2 (en) * | 2009-02-26 | 2013-10-15 | Red Hat, Inc. | Method and an apparatus to implement secure system call wrappers |
EP2237200A1 (en) * | 2009-04-01 | 2010-10-06 | Alcatel Lucent | Method for filtering the streaming of virtual environment content assets, a related system, network element and a related virtual environment content asset |
US8429648B2 (en) * | 2009-05-28 | 2013-04-23 | Red Hat, Inc. | Method and apparatus to service a software generated trap received by a virtual machine monitor |
US8813069B2 (en) * | 2009-05-29 | 2014-08-19 | Red Hat, Inc. | Migration of functionalities across systems |
KR101113820B1 (ko) * | 2010-03-16 | 2012-02-29 | 소프트캠프(주) | 응용프로그램의 파일 입출력 보안방법과 보안시스템 |
JP2012084071A (ja) | 2010-10-14 | 2012-04-26 | Toshiba Corp | デジタルコンテンツの保護方法、復号方法、再生装置、記憶媒体、暗号装置 |
US9129138B1 (en) * | 2010-10-29 | 2015-09-08 | Western Digital Technologies, Inc. | Methods and systems for a portable data locker |
US8566899B2 (en) * | 2011-03-16 | 2013-10-22 | Symantec Corporation | Techniques for securing a checked-out virtual machine in a virtual desktop infrastructure |
US8661527B2 (en) | 2011-08-31 | 2014-02-25 | Kabushiki Kaisha Toshiba | Authenticator, authenticatee and authentication method |
JP5275432B2 (ja) | 2011-11-11 | 2013-08-28 | 株式会社東芝 | ストレージメディア、ホスト装置、メモリ装置、及びシステム |
WO2013074041A1 (en) | 2011-11-16 | 2013-05-23 | V-Key Pte. Ltd. | Cryptographic system and methodology for securing software cryptography |
JP5204290B1 (ja) | 2011-12-02 | 2013-06-05 | 株式会社東芝 | ホスト装置、システム、及び装置 |
JP5100884B1 (ja) | 2011-12-02 | 2012-12-19 | 株式会社東芝 | メモリ装置 |
JP5204291B1 (ja) | 2011-12-02 | 2013-06-05 | 株式会社東芝 | ホスト装置、装置、システム |
JP5112555B1 (ja) | 2011-12-02 | 2013-01-09 | 株式会社東芝 | メモリカード、ストレージメディア、及びコントローラ |
JP5275482B2 (ja) | 2012-01-16 | 2013-08-28 | 株式会社東芝 | ストレージメディア、ホスト装置、メモリ装置、及びシステム |
US8966574B2 (en) * | 2012-02-03 | 2015-02-24 | Apple Inc. | Centralized operation management |
CN102831342B (zh) * | 2012-07-28 | 2016-01-06 | 北京深思数盾科技有限公司 | 一种提高安卓***中应用程序保护强度的方法 |
US9087191B2 (en) * | 2012-08-24 | 2015-07-21 | Vmware, Inc. | Method and system for facilitating isolated workspace for applications |
US9201811B2 (en) | 2013-02-14 | 2015-12-01 | Kabushiki Kaisha Toshiba | Device and authentication method therefor |
US8984294B2 (en) | 2013-02-15 | 2015-03-17 | Kabushiki Kaisha Toshiba | System of authenticating an individual memory device via reading data including prohibited data and readable data |
US20150277949A1 (en) * | 2014-03-27 | 2015-10-01 | Thiam Wah Loh | Securing shared interconnect for virtual machine |
US10402584B1 (en) * | 2015-10-01 | 2019-09-03 | Hrl Laboratories, Llc | System and method for translating security objectives of computer software to properties of software code |
US10289853B2 (en) * | 2016-03-31 | 2019-05-14 | Microsoft Technology Licensing, Llc | Secure driver platform |
US10650138B2 (en) * | 2017-01-27 | 2020-05-12 | Hewlett Packard Enterprise Development Lp | System call policies for containers |
US11831655B2 (en) | 2017-10-02 | 2023-11-28 | Qualcomm Incorporated | Incorporating network policies in key generation |
CN109639449B (zh) * | 2017-10-09 | 2021-09-03 | 中兴通讯股份有限公司 | 虚拟化流镜像策略自动化管理的方法、设备及介质 |
CN109992974B (zh) * | 2017-12-29 | 2023-04-14 | 中兴通讯股份有限公司 | 虚拟机字节码文件的保护方法、设备及可读存储介质 |
US10747711B2 (en) * | 2018-03-20 | 2020-08-18 | Arizona Board Of Regents On Behalf Of Northern Arizona University | Dynamic hybridized positional notation instruction set computer architecture to enhance security |
US11108823B2 (en) | 2018-07-31 | 2021-08-31 | International Business Machines Corporation | Resource security system using fake connections |
US11500665B2 (en) * | 2018-08-30 | 2022-11-15 | Micron Technology, Inc. | Dynamic configuration of a computer processor based on the presence of a hypervisor |
US11481241B2 (en) * | 2018-08-30 | 2022-10-25 | Micron Technology, Inc. | Virtual machine register in a computer processor |
US10915465B2 (en) | 2018-08-30 | 2021-02-09 | Micron Technology, Inc. | Memory configured to store predefined set of domain registers for instructions being executed in computer processors |
US10942863B2 (en) | 2018-08-30 | 2021-03-09 | Micron Technology, Inc. | Security configurations in page table entries for execution domains using a sandbox application operation |
US11914726B2 (en) | 2018-08-30 | 2024-02-27 | Micron Technology, Inc. | Access control for processor registers based on execution domains |
US10915457B2 (en) | 2018-08-30 | 2021-02-09 | Micron Technology, Inc. | Memory access control through permissions specified in page table entries for execution domains |
US11182507B2 (en) * | 2018-08-30 | 2021-11-23 | Micron Technology, Inc. | Domain crossing in executing instructions in computer processors |
US10452868B1 (en) | 2019-02-04 | 2019-10-22 | S2 Systems Corporation | Web browser remoting using network vector rendering |
US11880422B2 (en) | 2019-02-04 | 2024-01-23 | Cloudflare, Inc. | Theft prevention for sensitive information |
US11698980B2 (en) * | 2019-09-12 | 2023-07-11 | Arm Limited | System, devices and/or processes for secure computation on a virtual machine |
US11588859B2 (en) * | 2021-03-15 | 2023-02-21 | Zscaler, Inc. | Identity-based enforcement of network communication in serverless workloads |
EP4361860A1 (en) | 2021-06-22 | 2024-05-01 | Digital Information Technologies Corporation | Program, information processing device, and method |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2365561A (en) * | 1999-12-14 | 2002-02-20 | Ibm | Conditional access control |
WO2002097594A2 (en) * | 2001-05-30 | 2002-12-05 | Sun Microsystems Inc | Method and apparatus for a secure virtual machine |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4792895A (en) * | 1984-07-30 | 1988-12-20 | International Business Machines Corp. | Instruction processing in higher level virtual machines by a real machine |
KR100373526B1 (ko) | 1997-01-17 | 2003-02-25 | 인터내셔널 비지네스 머신즈 코포레이션 | 분산 네트워크 시스템에서의 액세스 제어 시스템 및 자원 보호 방법 |
US6370571B1 (en) * | 1997-03-05 | 2002-04-09 | At Home Corporation | System and method for delivering high-performance online multimedia services |
US5974549A (en) | 1997-03-27 | 1999-10-26 | Soliton Ltd. | Security monitor |
US6125447A (en) | 1997-12-11 | 2000-09-26 | Sun Microsystems, Inc. | Protection domains to provide security in a computer system |
US6397242B1 (en) * | 1998-05-15 | 2002-05-28 | Vmware, Inc. | Virtualization system including a virtual machine monitor for a computer with a segmented architecture |
US6496847B1 (en) * | 1998-05-15 | 2002-12-17 | Vmware, Inc. | System and method for virtualizing computer systems |
US6505300B2 (en) | 1998-06-12 | 2003-01-07 | Microsoft Corporation | Method and system for secure running of untrusted content |
US6170009B1 (en) | 1998-07-17 | 2001-01-02 | Kallol Mandal | Controlling devices on a network through policies |
US6658571B1 (en) | 1999-02-09 | 2003-12-02 | Secure Computing Corporation | Security framework for dynamically wrapping software applications executing in a computing system |
US6546546B1 (en) | 1999-05-19 | 2003-04-08 | International Business Machines Corporation | Integrating operating systems and run-time systems |
US6560774B1 (en) | 1999-09-01 | 2003-05-06 | Microsoft Corporation | Verifier to check intermediate language |
US6567974B1 (en) * | 2000-02-25 | 2003-05-20 | Sun Microsystems, Inc. | Small memory footprint system and method for separating applications within a single virtual machine |
AU2001243365A1 (en) | 2000-03-02 | 2001-09-12 | Alarity Corporation | System and method for process protection |
US6973493B1 (en) * | 2000-05-09 | 2005-12-06 | Sun Microsystems, Inc. | Mechanism and apparatus for security of newly spawned repository spaces in a distributed computing environment |
CA2315449A1 (en) | 2000-08-10 | 2002-02-10 | Ibm Canada Limited-Ibm Canada Limitee | Generation of runtime execution traces of applications and associated problem determination |
KR20020033859A (ko) | 2000-10-30 | 2002-05-08 | 송영호 | 리눅스 보안 커널 |
JP3786644B2 (ja) * | 2001-04-23 | 2006-06-14 | アトメル・コーポレイション | バイトコンパイルされたJava(R)コードを実行するためのマイクロプロセッサ |
US6961941B1 (en) * | 2001-06-08 | 2005-11-01 | Vmware, Inc. | Computer configuration for resource management in systems including a virtual machine |
GB2376761A (en) | 2001-06-19 | 2002-12-24 | Hewlett Packard Co | An arrangement in which a process is run on a host operating system but may be switched to a guest system if it poses a security risk |
US7698713B2 (en) | 2001-09-20 | 2010-04-13 | Google Inc. | Altered states of software component behavior |
GB2381092B (en) | 2001-10-19 | 2005-10-19 | Ibm | Object locking in a shared VM environment |
JP2003173301A (ja) * | 2001-12-07 | 2003-06-20 | Hitachi Ltd | ネットワーク,サーバおよびストレージのポリシーサーバ |
WO2003050662A1 (fr) | 2001-12-13 | 2003-06-19 | Japan Science And Technology Agency | Systeme d'execution securisee d'un logiciel |
US7536181B2 (en) * | 2002-02-15 | 2009-05-19 | Telefonaktiebolaget L M Ericsson (Publ) | Platform system for mobile terminals |
US7415270B2 (en) * | 2002-02-15 | 2008-08-19 | Telefonaktiebolaget L M Ericsson (Publ) | Middleware services layer for platform system for mobile terminals |
US7178049B2 (en) | 2002-04-24 | 2007-02-13 | Medius, Inc. | Method for multi-tasking multiple Java virtual machines in a secure environment |
US20030204500A1 (en) * | 2002-04-25 | 2003-10-30 | Jean-Francois Delpech | Process and apparatus for automatic retrieval from a database and for automatic enhancement of such database |
US20030229794A1 (en) | 2002-06-07 | 2003-12-11 | Sutton James A. | System and method for protection against untrusted system management code by redirecting a system management interrupt and creating a virtual machine container |
US7082598B1 (en) * | 2002-07-17 | 2006-07-25 | Vmware, Inc. | Dynamic driver substitution |
US7149510B2 (en) * | 2002-09-23 | 2006-12-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Security access manager in middleware |
JP2004126854A (ja) | 2002-10-01 | 2004-04-22 | Mitsubishi Electric Corp | 攻撃対策装置 |
US7117481B1 (en) * | 2002-11-06 | 2006-10-03 | Vmware, Inc. | Composite lock for computer systems with multiple domains |
US7657937B1 (en) * | 2003-01-02 | 2010-02-02 | Vmware, Inc. | Method for customizing processing and response for intrusion prevention |
US7203944B1 (en) * | 2003-07-09 | 2007-04-10 | Veritas Operating Corporation | Migrating virtual machines among computer systems to balance load caused by virtual machines |
US20050044301A1 (en) * | 2003-08-20 | 2005-02-24 | Vasilevsky Alexander David | Method and apparatus for providing virtual computing services |
US7478388B1 (en) * | 2004-04-21 | 2009-01-13 | Vmware, Inc. | Switching between multiple software entities using different operating modes of a processor in a computer system |
US8607299B2 (en) | 2004-04-27 | 2013-12-10 | Microsoft Corporation | Method and system for enforcing a security policy via a security virtual machine |
-
2004
- 2004-04-27 US US10/832,798 patent/US8607299B2/en active Active
-
2005
- 2005-02-28 AU AU2005200911A patent/AU2005200911B2/en not_active Ceased
- 2005-03-01 TW TW094106137A patent/TWI423040B/zh not_active IP Right Cessation
- 2005-03-07 CA CA2499688A patent/CA2499688C/en active Active
- 2005-03-08 SG SG200501470A patent/SG116580A1/en unknown
- 2005-03-16 RU RU2005107408/09A patent/RU2390837C2/ru not_active IP Right Cessation
- 2005-03-22 CO CO05026108A patent/CO5680123A1/es not_active Application Discontinuation
- 2005-03-22 NO NO20051525A patent/NO336813B1/no not_active IP Right Cessation
- 2005-03-22 MY MYPI20051234A patent/MY147383A/en unknown
- 2005-03-23 NZ NZ539022A patent/NZ539022A/en not_active IP Right Cessation
- 2005-03-23 BR BR0501171-0A patent/BRPI0501171A/pt not_active IP Right Cessation
- 2005-03-24 ZA ZA200502451A patent/ZA200502451B/en unknown
- 2005-03-25 JP JP2005088743A patent/JP4902129B2/ja not_active Expired - Fee Related
- 2005-03-25 KR KR1020050024933A patent/KR101143154B1/ko active IP Right Grant
- 2005-03-29 CN CN2005100626459A patent/CN1690957B/zh active Active
- 2005-03-29 MX MXPA05003403A patent/MXPA05003403A/es active IP Right Grant
- 2005-04-12 EP EP05102869.4A patent/EP1596298B1/en not_active Not-in-force
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2365561A (en) * | 1999-12-14 | 2002-02-20 | Ibm | Conditional access control |
WO2002097594A2 (en) * | 2001-05-30 | 2002-12-05 | Sun Microsystems Inc | Method and apparatus for a secure virtual machine |
Non-Patent Citations (1)
Title |
---|
VENNERS, B.Java security : How to install the security manager andcustomize your security policy.http://www.javaworld.com/javaworld/jw-11-1997/jw-11-hood.html.1997,1-4. * |
Also Published As
Publication number | Publication date |
---|---|
SG116580A1 (en) | 2005-11-28 |
TWI423040B (zh) | 2014-01-11 |
ZA200502451B (en) | 2006-12-27 |
NO336813B1 (no) | 2015-11-02 |
BRPI0501171A (pt) | 2006-01-10 |
US8607299B2 (en) | 2013-12-10 |
CA2499688A1 (en) | 2005-10-27 |
CO5680123A1 (es) | 2006-09-29 |
MY147383A (en) | 2012-11-30 |
TW200617702A (en) | 2006-06-01 |
RU2390837C2 (ru) | 2010-05-27 |
MXPA05003403A (es) | 2005-10-31 |
AU2005200911A1 (en) | 2007-02-15 |
US20050257243A1 (en) | 2005-11-17 |
CN1690957A (zh) | 2005-11-02 |
NZ539022A (en) | 2007-05-31 |
KR101143154B1 (ko) | 2012-05-08 |
AU2005200911B2 (en) | 2010-10-21 |
JP2005316964A (ja) | 2005-11-10 |
KR20060044764A (ko) | 2006-05-16 |
NO20051525D0 (no) | 2005-03-22 |
EP1596298B1 (en) | 2017-02-08 |
CA2499688C (en) | 2014-02-25 |
NO20051525L (no) | 2005-10-28 |
EP1596298A1 (en) | 2005-11-16 |
JP4902129B2 (ja) | 2012-03-21 |
RU2005107408A (ru) | 2006-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1690957B (zh) | 通过安全虚拟机器实施安全政策的方法和*** | |
Kwon et al. | Ravenscar-Java: A high integrity profile for real-time Java | |
CN102592082B (zh) | 通过操作码随机化的安全 | |
US11875180B2 (en) | Systems and methods for stalling host processor | |
AU2004216596B2 (en) | Programming interface for licensing | |
CN104205064A (zh) | 将程序事件记录事件向运行时间检测事件的变换 | |
CN102460381A (zh) | 软件扩展分析 | |
WO2001052055A2 (en) | System and method for implementing a flexible data-driven target object model | |
CN102841785B (zh) | 一种文件句柄关闭操作的方法及装置 | |
JPH09171473A (ja) | エラーを管理するための方法およびデータ処理システム | |
US20080209265A1 (en) | Information-Processing Method and Apparatus | |
CN110764745B (zh) | 变量的传输和收集方法、装置及计算机可读存储介质 | |
US20060101412A1 (en) | Method to bridge between unmanaged code and managed code | |
Cohen et al. | EventScript: an event-processing language based on regular expressions with actions | |
CN103164325A (zh) | 一种控制编码的方法和装置 | |
Larsen | ANALYSIS OF PARALLEL PRE-PROCESSING OF MALWARE DATA FOR MACHINE LEARNING IN PYTHON | |
CN115618358A (zh) | 应用文件的安全性检测方法、装置和服务器 | |
Abbas et al. | LEARN. NET WITH PROGRAMMING (3-in-1): Covers. NET using C#, Visual Basic ASP. NET | |
CN114880632A (zh) | 获取混淆资源的方法、智能终端及计算机可读存储介质 | |
Dhanjani et al. | Kernel korner: Loadable kernel module programming and system call interception | |
CN114756244A (zh) | 一种日志处理方法、装置、计算机设备及存储介质 | |
Cooper Jr | Basic Lisp Techniques | |
BRPI0501171B1 (pt) | Method in a computing device to enforce a security policy | |
Wainwright | Debugging, Testing, and Profiling | |
Zhou et al. | BSD/I18N—Internationalization of the 4.3 BSD UNIX system |
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: 20150429 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20150429 Address after: Washington State Patentee after: Micro soft technique license Co., Ltd Address before: Washington State Patentee before: Microsoft Corp. |