CN1613039A - 对安全性敏感指令监控执行的方法与装置 - Google Patents

对安全性敏感指令监控执行的方法与装置 Download PDF

Info

Publication number
CN1613039A
CN1613039A CNA02824138XA CN02824138A CN1613039A CN 1613039 A CN1613039 A CN 1613039A CN A02824138X A CNA02824138X A CN A02824138XA CN 02824138 A CN02824138 A CN 02824138A CN 1613039 A CN1613039 A CN 1613039A
Authority
CN
China
Prior art keywords
processor
safe
instruction
security
sensitive
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
Application number
CNA02824138XA
Other languages
English (en)
Other versions
CN1307502C (zh
Inventor
B·C·巴恩斯
R·W·施密特
G·S·斯特龙金
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.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of CN1613039A publication Critical patent/CN1613039A/zh
Application granted granted Critical
Publication of CN1307502C publication Critical patent/CN1307502C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • 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
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • 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/2105Dual mode as a secondary aspect
    • 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/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • 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/2149Restricted operating environment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Storage Device Security (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

一种对安全性敏感指令监控执行的方法与装置。第一安全标志(ID)与处理器(305)所执行的多个指令中的每一个或一指令集合相关联。在该处理器(305)上所执行的软件程序代码请求执行多个指令中至少一个或一指令集合。该处理器(305)获得与运行于其上的软件程序代码相关联的第二安全ID,并且将第二安全ID与第一安全ID比较。若第二安全ID匹配第一安全ID,则该处理器(305)即执行所请求的指令或指令集合。

Description

对安全性敏感指令监控执行的方法与装置
技术领域
本发明主要涉及计算机,而且更确切地说,涉及保障计算机系统的操作安全的方法与装置。
背景技术
通用计算机系统,比如个人计算机,已经从执行单任务发展到可同时执行多个任务。多任务系统需要安全与保护服务,以保护操作系统免受用户进程的影响并避免进程之间的影响。没有保护,例如,恶意程序就能在你无意间破坏储存在内存空间中属于操作系统或其它进程的程序代码或资料。
典型地,在x86微处理器环境中,安全特征已经通过提供不同的权限等级而减少恶意程序的可能性。不同形式类型的软件在这些不同的权限等级下执行,因此具有到计算机系统资源的多种存取资格。如图1所示,计算机操作系统一般运行在最高权限等级下(也就是说,0级),这一般允许操作系统实际上随意地存取计算机系统中任何系统资源。软件驱动程序同样运行在最高权限等级下。另一方面,应用程序一般运行在最低权限等级(也就是,3级)下,并且一般通过操作系统允许才可以存取系统资源。因此,至少理论上,操作系统能预防一应用程序去存取指定给另一应用程序的系统资源。例如,操作系统将物理内存中的空间指定给应用程序,而该应用程序一般只能在该指定的空间内随意地读取与写入。也就是说,操作系统通常能预防一应用程序修改已经指定给另一应用程序的一部分物理内存的内容。
然而,安全漏洞与缺陷已经不可避免地渗透入操作系统与驱动程序。于是,恶意程序或驱动程序就可能无意或有意地使用这些安全漏洞与缺陷,得以存取原本意图拒绝恶意程序或驱动程序的部份内存。一旦程序或驱动程序已经存取到其他程序保护的内存的话,它就可阻止甚至取代目标软件的操作权,包括任何相关的外围设备。例如,恶意程序可获得数据处理器里的调制解调器的操作,以取得原本和调制解调器相关的应用程序和驱动程序的内存空间的访问权。恶意程序随后则能指示该调制解调器,在电话网络内拨打未经许可与不受欢迎的电话,或者不然的话,干扰电话网络的正常操作。
微软WindowsR操作系统的最近版本,Windows2000R,它的内核和相关的内核模式驱动程序已经具有超过一百万行的程序代码。因此,多于一百万行的程序代码都能随意地存取系统资源。于是,纯粹从操作系统的大小考虑,额外漏洞与瑕疵则将不可避免地被发现。因此,恶意程序可不断利用尚待发现的安全漏洞与瑕疵,以无意或有意地获得试图被屏蔽的内存部份的存取。
本发明用以克服,或至少减少上述一个或多个问题的影响。
发明内容
本发明从一个角度来看,提供了一种方法。该方法包括将第一安全标志(ID)与即将由处理器执行的多个指令或一组指令中的每一个相关联。在处理器中执行的软件程序代码请求执行多个指令中至少一个指令或一组指令。获得与在处理器中执行的软件程序代码相关联的第二安全ID。对第二安全ID与第一安全ID进行比较。若第二安全ID匹配第一安全ID,则执行所请求执行的指令或指令集合。
本发明从另一个角度来看,提供了一装置。该装置包含一个处理器,用来执行程序代码,以及用来将第一安全标志(ID)与将由处理器执行的多个指令中的每一个或一组指令集合相关联。处理器接收到其上所执行的程序代码的请求,执行至少多个指令中至少一个或一指令集合,获得与该程序代码相关联的第二安全ID,将第二安全ID与第一安全ID相比较,若第二安全ID匹配第一安全ID,则执行请求执行的指令或指令集合。
本发明再从另一个角度来看,提供了一对象。该对象包含一个或多个包括指令的机器可读取储存介质,这些指令在执行时,使一处理器能够将第一安全标志(ID)与将被处理器执行的多个指令中每一个或一指令集合相关联,并通过在处理器中执行的软件程序代码,请求执行多个指令中至少一个或一指令集合。获得与在处理器中所执行的软件程序代码相关联的第二安全ID。将第二安全ID与第一安全ID进行比较。若第二安全ID匹配第一安全ID,则执行请求执行的指令或指令集合。
附图说明
本发明可参考附图及以下的说明而来理解,其中在该参考数字中最左边的有效数字代表该数字(代号)首次出现的图号。
图1为一具体实施例中在一计算机系统中所实施的传统安全结构的示意图;
图2为包括一处理器单元的计算机系统的简化方块图,该处理器单元使用根据本发明一具体实施例设计的安全存取结构;
图3为图2的处理器单元的更详尽图式;
图4为图3中的系统内存控制器的更详尽图式;以及
图5A与图5B为根据本发明一具体实施例而监控执行安全性敏感指令的过程的示意图。
虽然本发明可以有各种修改以及替代的形式,但是关于本发明的特定具体实施例则已通过图式中的实例而来显示,并在此予以详细地说明。不过,应该了解的是,在此的说明的特定具体实施例,并不意图将本发明局限于所揭露的特别形式,相反地,却意图包含在附加权力要求所界定的发明精神与范围内的所有修改形式、等同形式以及变更形式。
具体实施方式
以下描述了本发明的说明性具体实施例。为了清楚说明本专利的特点,并非所有实际实施的特征都会在此说明书中说明。当然,将理解的是,在任一实际具体实施例的展开中,为了达到开发者的特定目标,必须作出种种特定实施的决定,譬如说为遵循与系统相关及与企业相閞的不同限制,其实施过程随着不同的实施例有所不同。此外,将理解到的是,此一发展过程可能既复杂又耗时,然而,对于知悉本发明的一般技术人员而言,将是例行的事务。
现在参照附图,并且具体地参考图2,其为根据本发明的一具体实施例,用来监控执行安全性敏感指令的计算机系统200的简化方块图。在所示的具体实施例中,以一种最简单形式显示计算机系统200,其中包含一处理器单元205、至少一输入装置210以及至少一输出装置215。该输入装置210可包括例如键盘、鼠标、触摸式垫板、触摸屏等等。输出装置215则可包括监视器、打印机以及/或者各种其它的装置,用以将由处理器单元205所处理的信息传送给系统200的使用者。
根据所示的具体实施例,处理器单元205采用一安全存取结构,监控系统200通过处理器单元205来执行某种形式的对安全性敏感的指令。对安全性敏感的指令可包括那些希望通过处理器单元205上执行某种形式的程序代码监控执行的指令或指令集合。
通过输入装置210的系统200的用户的输入可初始化在处理器单元205中一个或多个软件结构或程序代码的执行。驻留在处理器单元205中的内存随后有权执行各种软件结构或程序代码,以实施希望的工作。基于其中编入的预定的安全条目,由处理单元205所采用的安全存取结构可以监控执行将由处理器单元205执行的对安全性敏感的指令。而且,相应地,可阻止某些计算工作由处理器单元205执行。
现在参照图3,其为系统200的处理器单元205的更详细图式。根据本发明的一具体实施例,处理器单元205包含一处理器305,在所示具体实施例中为一微处理器的形式。不过,将理解的是,处理器305可采用各种其它处理器类型的形式,也可包括多处理器而不背离本发明的精神与范围。处理器单元205进一步包括一系统内存控制器310与一内存模块315。根据所示的具体实施例,内存模块315包括一物理内存350,其可采用同步动态随机存取存储器(SDRAM)或双倍数据速率动态随机存取内存(DDRAM)的形式。不过,将理解的是,物理内存350可采用种种其它形式的内存,而不需要受限于上述的实例。
处理器305通过主机总线330、经过系统内存控制器310而与内存模块315通信。根据一具体实施例,系统内存控制器310提供内存地址与逻辑信号给内存模块315,用以标志处理器305所要的内存事务。
用来与外围设备345通信的主机总线335同样通过主机桥接器340连接到主机总线330。在一具体实施例中,主总线335采用外围组件互连(PCI)总线的形式(见PCI说明书,校订版.2.1)。同样将理解到的是,处理器单元205可进一步架构成包括其它的总线,譬如次要的PCI总线(未显示),或者种种其它的外围装置(未显示),而没有背离本发明的精神与范围。
在一具体实施例中,处理器305基于可执行的指令而进行多个计算机处理操作。为响应其上执行的软件程序代码执行一特别指令的请求,处理器305执行一内存存取程序,以实施由该程序代码所提出的执行。处理器305通过系统内存控制器310进行内存存取,系统内存控制器310提供对内存模块315的物理内存350的存取,以在特别指令执行之后立即执行想要的任务。
现在参照图4,其为根据本发明一具体实施例的系统内存控制器310的更详细图式。系统内存控制器310包含虚拟内存存取表405与虚拟内存410。处理器305使用虚拟内存存取表405以获得一虚拟(或线性)内存地址,该地址指出在虚拟内存410内的特定位置。一旦将特定的虚拟内存地址决定后,虚拟内存410则予以存取,以决定虚拟内存存取表405所获得的虚拟内存地址所对应的物理内存地址。从虚拟内存410获得的物理内存地址指向物理内存350内的特别内存位置,该特别内存位置提供通过正在处理器305上执行的软件程序代码而来提供希望执行的指令所需要的内存空间。将理解的是,用来获得虚拟内存地址的过程(如上述)以其最简单的形式提供,而且除了虚拟内存存取表405之外,可以存取各种其它的表以得到虚拟内存地址。用来得到虚拟内存地址的这些特别步骤为本领域技术人员所熟知。因此,在这里不提供这些步骤的具体细节,以避免不必要地混淆本发明。
根据一具体实施例,安全标志(ID)可与能够由处理器305执行的一特定对安全性敏感的指令或一指令集合相关联。在一具体实施例中,安全ID可以是一固定值,或者可储存于存储于处理器305中的可编程寄存器(未显示)。根据所示的具体实施例,对安全性敏感的指令可包括到定义虚拟内存基的地址的CR3的移动,到定义处理器305之操作模式的CR0的移动,以及/或者到定义处理器305的各种子模式的CR4的移动。此外,配置来修改定义安全ID的可编程寄存器的任何指令,同样可视为对安全性敏感。将理解的是,前述实例的清单并非一定完整。因此,由处理器305所执行的各种其它形式的指令可视为对安全性敏感,而不需要受限于以上所提供的实例。
结合正由处理器305所执行的软件程序代码(例如,驱动程序、服务程序、核心子程序、应用程序代码等等)的安全ID,是通过参考程序代码所希望执行的对安全性敏感指令或指令集合虚拟内存表405的地址得到,该虚拟内存表对应着该。当一特别对安全性敏感指令由正在处理器305上执行的程序代码所请求时,由参考虚拟内存存取表405的地址而得到的正在执行程序代码的安全ID,通过处理器305而与程序代码希望执行的特别安全指令或指令集合所用的安全ID相比较。如上所述,安全性敏感指令的安全ID可能是一固定值或可变的且储存于一可程序寄存器中。假如安全ID互相匹配,处理器305则执行其上的软件程序代码请求的安全性敏感的指令或指令集合。假如,另一方面,正在执行的程序代码的安全ID与希望的对安全性敏感指令的安全ID不匹配的话,处理器305则拒绝执行在处理器305上所执行的软件程序代码请求的对安全性敏感的指令或指令集合。
现在参照第5图,根据一具体实施例提出一个通过在处理器305上执行的程序代码而来监控对安全性敏感的指令的执行的处理器500。处理器500始于方框505,在此,一指令或指令集合(也就是说,分组)列为对安全性敏感,而且这些指令的每一个或指令集合在处理器305上与一安全ID相关联。根据一具体实施例,安全ID可能是与安全性敏感指令相关联的一固定值(也就是说,安全性敏感指令可能具有一固定的安全ID)。在另一个具体实施例中,安全性敏感指令的安全ID可储存于处理器305上的可编程寄存器(未显示)中,而运行于处理器305上的操作系统可对该安全ID修改。应该理解的是,除了以上提供的实例之外,可用其它的方法进行安全ID与对安全性敏感指令的相关联,而没有违背本发明的精神与范围。
在方框510上,处理器305决定正在其上执行的软件程序代码是否试着执行已经列为对安全性敏感的指令。在一具体实施例中,处理器305通过参考处理器305的可编程寄存器而决定该请求指令是否为对安全性敏感,例如,察看安全ID是否与之相关联。假如正执行于处理器305上的软件程序代码不试着在方框510上执行一安全性敏感指令的话(也就是说,无安全ID与请求指令相关联),处理器305则可执行指令而不用在方框515上开始一安全程序(也就是说,该指令通过处理器305以普通方式执行)。但是,假如正在处理器305上执行的软件程序代码试着在方框510里执行一安全性敏感指令的话,安全程序则可由处理器305而在方框520上触发,以决定执行于处理器305上的程序代码是否被授权来执行安全性敏感指令。
过程500在方框525上继续,此处,处理器305上执行的软件程序代码的安全ID,是由参考与程序代码所希望执行的安全性敏感指令对应的虚拟内存表405的地址获得。在获得与其上所执行的软件程序代码相关联的安全ID之后,在方框530,处理器305得到程序代码希望执行的安全性敏感指令的安全ID。在一具体实施例中,安全性敏感指令的安全ID可由可编程寄存器(未显示)获得。
在取得与来自虚拟内存表405的特别指令相关联的安全ID之后,处理器305将执行于处理器305上的程序代码的安全ID与方框535上的特别指令的安全ID相比较。在方框540,处理器305会决定与执行于其上的程序代码相关联的安全ID是否匹配与该程序代码试着执行的特别指令相关联的安全ID。
假如与处理器上所执行的程序代码相关联的安全ID以及与特别指令相关联的安全ID不匹配的话,在框图545处,处理器305通过运行于其上的软件程序代码拒绝安全性敏感指令的执行。假如与处理器305上所执行的程序代码相关联的安全ID以及与对安全性敏感指令相关联的安全ID互相匹配的话,在框图550处,处理器305则会执行对安全性敏感指令。根据一具体实施例,当安全IDs匹配的话,处理器305所执行的软件程序代码对应的虚拟内存地址从虚拟内存存取表405获得,物理地址则从使用虚拟内存地址的虚拟内存410获得,而物理内存350内的内存空间则可存取到处理器305,以执行希望的安全性敏感指令。
根据一具体实施例,由处理器305执行安全性敏感指令必须要求安全IDs之间的精确匹配。不过,将理解的是,安全IDs可替代性地分成不同字段,因而提供多层的安全结构。因此,虽然软件程序代码与安全性敏感指令可在它们的整体中具有唯一的安全IDs,但是在安全ID内的公共字段或构成要素则允许希望的安全性敏感指令的执行。因此,安全ID则可配置来建立与标示类别、家族或其它群组讯息,使得特定类别的程序代码能够因为一部份安全IDs的匹配而执行一特定指令或指令集合。
例如,在一具体实施例中,安全IDs可包含一类别与子类别字段,假设该安全IDs的类别字段匹配的话,那么用于安全IDs之间的比较目的时,安全IDs的子类别字段则可不予理会(忽略)。因此,在这个特定的具体实施例中,倘若至少安全IDs的类别字段匹配,则可允许处理器305执行安全性敏感指令。在另一具体实施例中,安全IDs(或其一部份,例如类别字段)的比较,并不一定需要是一精确的算术匹配。例如,假如与处理器305上所执行的程序代码相关联的安全IDs的类别字段大于(或者小于)或等于与安全性敏感指令相关联的安全ID的类别代码的话,则允许执行安全性敏感指令。不过,将理解的是,安全IDs的特定样式并不一定需要局限于以上所提供的实例。
以上所揭露的特定具体实施例仅供说明,本发明可以用对那些受益于本揭示的熟知本领域的技术人员而言显而易见的不同但却等同的方式来进行修改并实施。而且,除了如权力要求所说明的,在此所示的构造或设计的细节并不意在限制性的。因此令人明白的是,以上所揭露的特定具体实施例可予以改变或修改,而且所有此种改变则可视为是在本发明的范围与精神之内。因此,在此所申请的保护陈述于以下的权利要求中。

Claims (10)

1.一种方法,包含:
将一第一安全标志(ID)与由一处理器(305)所执行的多个指令的每一个或一指令集合相关联;
通过在该处理器(305)上所执行的一软件程序代码,而请求执行该多个指令的至少其中之一个或至少一指令集合;
获得与在该处理器(305)上所执行的该软件程序代码相关联的一第二安全ID;
将该第二安全ID与该第一安全ID比较;以及
若该第二安全ID匹配该第一安全ID则执行所请求的指令或指令集合。
2.如权力要求1所述的方法,进一步包含:
若第一与第二安全IDs不匹配,则拒绝执行所请求的指令或指令集。
3.如权力要求1所述的方法,其中关联的一第一安全识别(ID),进一步包含:
储存与处理器(305)执行的多个指令的每一个或一指令集合相关联的一第一安全识别(ID)。
4.如权力要求1所述的方法,其中关联的一第一安全识别(ID),进一步包含:
从由一处理器(305)所执行的多个指令中,将至少一指令或一指令集合列为对安全性敏感;以及
将一第一安全识别(ID)与列为对安全性敏感的各指令或指令集合相关联。
5.如权力要求4所述的方法,其中获得与在该处理器(305)上执行的软件程序代码相关联的一第二安全ID,进一步包含:
决定该请求指令是否列为对安全性敏感;以及
假使该请求指令被决定为对安全性敏感,获得与在该处理器(305)上执行的软件程序代码相关联的一第二安全ID。
6.一种装置,包含:
一处理器(305),用于执行其上的程序代码,以及用于将一第一安全标志(ID)与由该处理器(305)所执行的多个指令的每一个或一指令集合相关联;
其中该处理器(305)接收到一请求,以通过其上所执行的该程序代码,来执行该多个指令的至少其中之一或一指令集合,获得与该程序代码相关联的一第二安全ID,将第二安全ID与第一安全ID相比较,假使第二安全ID匹配第一安全ID则执行所请求的指令或指令集合。
7.如权力要求6所述的装置,其中假使第一与第二安全IDs不匹配,则该处理器(305)拒绝执行所请求的指令或指令集合。
8.如权力要求6所述的装置,其中该处理器(305)根据具有由一可编程寄存器内的一处理器所执行的多个指令的每一个或一指令集合储存一第一安全标志(ID)。
9.如权力要求6所述的装置,其中该处理器(305)从所执行的多个指令中,将至少一指令或一指令集合列为对安全性敏感,并且将第一安全识别(ID)与列为对安全性敏感的各指令或指令集合相关联。
10.如权力要求9所述的装置,其中该处理器(305)决定该请求指令是否列为对安全性敏感;假使该请求指令被决定为对安全性敏感,则获得与在该处理器(305)上执行的软件程序代码相关联的第二安全ID。
CNB02824138XA 2001-12-03 2002-09-12 对安全性敏感指令监控执行的方法与装置 Expired - Lifetime CN1307502C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/005,248 2001-12-03
US10/005,248 US7865948B1 (en) 2001-12-03 2001-12-03 Method and apparatus for restricted execution of security sensitive instructions
PCT/US2002/028855 WO2003048908A2 (en) 2001-12-03 2002-09-12 Method and apparatus for restricted execution of security sensitive instructions

Publications (2)

Publication Number Publication Date
CN1613039A true CN1613039A (zh) 2005-05-04
CN1307502C CN1307502C (zh) 2007-03-28

Family

ID=21714930

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB02824138XA Expired - Lifetime CN1307502C (zh) 2001-12-03 2002-09-12 对安全性敏感指令监控执行的方法与装置

Country Status (8)

Country Link
US (1) US7865948B1 (zh)
EP (1) EP1451665A2 (zh)
JP (1) JP3830942B2 (zh)
KR (1) KR100939328B1 (zh)
CN (1) CN1307502C (zh)
AU (1) AU2002333566A1 (zh)
TW (1) TWI263132B (zh)
WO (1) WO2003048908A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352713B2 (en) 2006-08-09 2013-01-08 Qualcomm Incorporated Debug circuit comparing processor instruction set operating mode
CN104272317A (zh) * 2012-06-01 2015-01-07 英特尔公司 在更安全的执行环境中标识并执行多个指令的子集
CN111382429A (zh) * 2018-12-27 2020-07-07 华为技术有限公司 指令的执行方法、装置及存储介质

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1698958A1 (fr) * 2005-02-25 2006-09-06 Axalto SA Procédé de sécurisation de l'ecriture en mémoire contre des attaques par rayonnement ou autres
US8245307B1 (en) 2006-12-18 2012-08-14 Nvidia Corporation Providing secure access to a secret
US9851969B2 (en) 2010-06-24 2017-12-26 International Business Machines Corporation Function virtualization facility for function query of a processor
US10521231B2 (en) 2010-06-24 2019-12-31 International Business Machines Corporation Function virtualization facility for blocking instruction function of a multi-function instruction of a virtual processor
CN104601353B (zh) * 2013-10-31 2018-07-06 北京神州泰岳软件股份有限公司 一种网络安全生产设备的运维操作方法和系统

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US494238A (en) * 1893-03-28 Windmill
US5027273A (en) 1985-04-10 1991-06-25 Microsoft Corporation Method and operating system for executing programs in a multi-mode microprocessor
JPH0743672B2 (ja) * 1987-02-18 1995-05-15 株式会社東芝 メモリ保護違反検出装置
US4962538A (en) * 1989-02-13 1990-10-09 Comar, Inc. Image analysis counting system
US4962533A (en) 1989-02-17 1990-10-09 Texas Instrument Incorporated Data protection for computer systems
US5469556A (en) * 1989-12-12 1995-11-21 Harris Corporation Resource access security system for controlling access to resources of a data processing system
US5522075A (en) * 1991-06-28 1996-05-28 Digital Equipment Corporation Protection ring extension for computers having distinct virtual machine monitor and virtual machine address spaces
US5802590A (en) * 1994-12-13 1998-09-01 Microsoft Corporation Method and system for providing secure access to computer resources
JPH08272625A (ja) * 1995-03-29 1996-10-18 Toshiba Corp マルチプログラム実行制御装置及び方法
WO1997019395A2 (en) * 1995-11-20 1997-05-29 Philips Electronics N.V. System for distributing computer programs
US5835594A (en) 1996-02-09 1998-11-10 Intel Corporation Methods and apparatus for preventing unauthorized write access to a protected non-volatile storage
JP2000181898A (ja) 1998-12-14 2000-06-30 Nec Corp フラッシュメモリ搭載型シングルチップマイクロコンピュータ
FI991134A (fi) * 1999-05-18 2000-11-19 Sonera Oyj Ohjelmiston testaus
US7178031B1 (en) * 1999-11-08 2007-02-13 International Business Machines Corporation Wireless security access management for a portable data storage cartridge
FR2802666B1 (fr) * 1999-12-17 2002-04-05 Activcard Systeme informatique pour application a acces par accreditation
US7281103B2 (en) 2003-10-01 2007-10-09 Kabushiki Kaisha Toshiba Microcomputer with a security function for accessing a program storage memory

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352713B2 (en) 2006-08-09 2013-01-08 Qualcomm Incorporated Debug circuit comparing processor instruction set operating mode
CN104272317A (zh) * 2012-06-01 2015-01-07 英特尔公司 在更安全的执行环境中标识并执行多个指令的子集
CN104272317B (zh) * 2012-06-01 2017-09-15 英特尔公司 在更安全的执行环境中标识并执行多个指令的子集
CN111382429A (zh) * 2018-12-27 2020-07-07 华为技术有限公司 指令的执行方法、装置及存储介质
CN111382429B (zh) * 2018-12-27 2022-12-27 华为技术有限公司 指令的执行方法、装置及存储介质

Also Published As

Publication number Publication date
JP3830942B2 (ja) 2006-10-11
CN1307502C (zh) 2007-03-28
EP1451665A2 (en) 2004-09-01
TWI263132B (en) 2006-10-01
US7865948B1 (en) 2011-01-04
KR100939328B1 (ko) 2010-01-28
AU2002333566A8 (en) 2003-06-17
KR20050027084A (ko) 2005-03-17
AU2002333566A1 (en) 2003-06-17
JP2005512182A (ja) 2005-04-28
TW200300880A (en) 2003-06-16
WO2003048908A3 (en) 2004-04-22
WO2003048908A2 (en) 2003-06-12

Similar Documents

Publication Publication Date Title
US7107299B2 (en) Method and apparatus for managing large numbers of objects having the same property
US7139855B2 (en) High performance synchronization of resource allocation in a logically-partitioned system
US5504814A (en) Efficient security kernel for the 80960 extended architecture
CN1307535C (zh) 安全执行模式下信任客户使用安全核心系统
CN1315061C (zh) 用来控制对内存的一段内存储的安全数据的访问的装置和方法
JPH06508952A (ja) メモリ管理方法
JP2006048687A (ja) コンピュータシステム資源アクセス制御
CN1815462A (zh) 迁移数据页面的方法和装置
CN1818876A (zh) 在微处理器实现的设备上执行进程的系统和方法
CN1320466C (zh) 用于选择性地执行输入/输出指令的处理器及方法
JPH09212365A (ja) 分散コンピューティング環境でのオブジェクト・セキュリティ・サービス認可の統合を含む情報取り扱いシステム、方法および製品
CN1613039A (zh) 对安全性敏感指令监控执行的方法与装置
EP3217306A1 (en) Hypervisor-based interception of memory accesses
US8327111B2 (en) Method, system and computer program product for batched virtual memory remapping for efficient garbage collection of large object areas
US20060242369A1 (en) Memory mapped page priorities
EP1429246A1 (en) Apparatus and method for switching mode in a computer system
US7143281B2 (en) Method and apparatus for automatically changing kernel tuning parameters
US20040250105A1 (en) Method and apparatus for creating an execution shield
US20100077155A1 (en) Managing shared memory through a kernel driver
US20030188169A1 (en) System and method for controlling device-to-device accesses within a computer system
CN1149484C (zh) 存储属性选项板
CN100367246C (zh) 使用目标安全的输入输出装置的多表式存取方法及装置
US20050138263A1 (en) Method and apparatus to retain system control when a buffer overflow attack occurs
CN114780446A (zh) 基于mpu的内存访问方法、装置、电子设备及存储介质
US7313290B2 (en) Method for improving the viewing of small icons and small text on high resolution displays

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
CX01 Expiry of patent term

Granted publication date: 20070328

CX01 Expiry of patent term