CN101283332A - 信息处理装置、信息处理方法及程序 - Google Patents
信息处理装置、信息处理方法及程序 Download PDFInfo
- Publication number
- CN101283332A CN101283332A CN200680037198.4A CN200680037198A CN101283332A CN 101283332 A CN101283332 A CN 101283332A CN 200680037198 A CN200680037198 A CN 200680037198A CN 101283332 A CN101283332 A CN 101283332A
- Authority
- CN
- China
- Prior art keywords
- mentioned
- application process
- safety door
- command
- security
- 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.)
- Pending
Links
- 230000010365 information processing Effects 0.000 title claims description 77
- 238000003672 processing method Methods 0.000 title claims description 76
- 238000000034 method Methods 0.000 claims abstract description 701
- 230000008569 process Effects 0.000 claims abstract description 691
- 230000006870 function Effects 0.000 claims abstract description 248
- 230000015654 memory Effects 0.000 claims abstract description 74
- 238000012545 processing Methods 0.000 claims description 183
- 230000003750 conditioning effect Effects 0.000 claims description 139
- 230000008859 change Effects 0.000 claims description 89
- 238000004891 communication Methods 0.000 claims description 22
- 238000007689 inspection Methods 0.000 claims description 7
- 238000011084 recovery Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 15
- 230000009471 action Effects 0.000 description 14
- 230000004044 response Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 101150065817 ROM2 gene Proteins 0.000 description 3
- 239000004744 fabric Substances 0.000 description 3
- 238000004321 preservation Methods 0.000 description 3
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005755 formation reaction Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/74—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1491—Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
- Executing Machine-Instructions (AREA)
Abstract
防止因应用进程而导致的特权命令和库函数的非法使用。设立一个所谓的安全门概念,在配置在ROM等不容易被篡改的高可靠性的存储区的库函数的开头配置对OS要求进入安全门的命令;在库函数的末端配置对OS要求退出安全门的命令,只有当应用进程处于进入安全门状态时,才将安全级别改变为更高级别,由此就能够临时地执行特权命令。
Description
技术领域
本发明涉及一种当应用进程执行特权命令时根据该应用进程的属性值来控制可否执行特权命令的信息处理装置。
背景技术
在信息处理装置中,以减轻开销等为目的,使所有操作(OS)和常规应用进程在特权级别下进行动作。在这种信息处理装置中,准备有使用特权命令实现丰富功能的库函数。
另一方面,近年来,确保信息处理装置安全成为重要课题。伴随此课题,正在开发一种像SE-Linux那样的、能够在每个应用进程中设定安全级别的安全OS。这里,所谓安全级别是应用进程的属性之一,是在用于该应用进程所利用的功能或资源的访问控制的判断的属性,例如,有所谓常规用户权限、根权限的属性值,和所谓可信赖的进程(trusted)、或不明确是否可信赖的进程(untrusted)的属性值。
在对这样的每一个应用进程设定安全级别的OS之下,不能够有效利用以让所有应用进程在特权级别下进行动作为前提所开发出的库函数。其理由是由于,在没有特权级别的应用进程所调用的库函数中包含有需要特权级别的命令时,作为特权命令违反,产生错误。毫无疑问,虽然如果对全部应用进程设定特权级别,数据库函数的利用上会不存在问题,但就会失去使用能够对每个应用进程设定安全级别的、永久OS的优点。
因此,为了让在用户级别下进行动作的应用进程能够利用特权命令,提出了一种技术,当在用户级别下执行应用进程时,产生了执行特权命令而引起的例外处理的情况下,该特权命令的地址,如果在ROM区,便由例外处理执行该特权命令,从例外处理返回,如果在RAM区,原则上作为违反特权命令而报错。这种现有技术例如被记载在特开2003-223317号公报中。
此外,作为相关的背景技术,有以下的技术。特开2001-249848号公报中记载的“基于先行特权级别的特权升级”的发明是一种计算机***,包括:处理器;存储器,具有包含保存特权升级命令的第1存储页的多个存储页;操作***,保存在上述存储器内、控制上述处理器及上述存储器。上述处理器具有通过控制对***源的可访问性来控制该计算机***中的应用命令的执行的当前特权级别,同时还具有先行特权级别状态。上述存储器是一种该第1存储页按处于第1特权级别的应用命令不能写入的存储器。上述操作***读出上述先行特权级别状态,将该读出的先行特权级别状态与上述当前特权级别进行比较,在上述先行特权级别状态被赋予了与上述当前特权级别相同或比其更低的特权的情况下,将上述当前特权级别向比上述第1特权级别更高位的第2特权级别进行升级这样的处理,由此执行上述特权升级命令。
在特许第2677458号公报中记载的“***调用执行装置”的发明中,进行***调用处理的第1单元由执行***管理的特权任务和用户任务构成任务。在从用户任务处理到向特权任务处理转移的情况下,能够在进行特权任务所使用的CPU模式(运算结果标志)和指令指针以及存储区或寄存器区内的数据的备份,或者完全不进行上述数据备份,便将控制转移到特权任务。并且,当用户任务上的***调用发出时,此***调用发出执行***调用命令,该***调用命令由***调用操作码和保存有特权库(bank)的指令的开始地址的地址表的值构成。进行分支处理的第2单元,当执行用户任务上的分支命令时,此分支命令指定分支命令操作码和保存有特权库的执行指令的开始地址的地址表。由此,执行由可间接地指定上述指令的开始地址的2重间接地址构成的分支命令。进行中断处理的第3单元,当执行中断时,按照保存对每个中断处理要因所指定的中断处理开始地址的地址表来进行中断处理。当执行上述3个单元中任意一个时,如果向特权任务转移,则根据地址表自身的地址来判断是否进行待避处理。并且,从用户任务处理向特权任务处理转移时,由于无软件的***,所以包括将CPU切换为特权模块的单元。
在特开平5-100957号公报中记载的“信息处理装置”的发明中,程序执行级别寄存器保存表示执行的程序的特权度的多级的执行级别。存储器部包括多个存储区,该多个存储区分别指定多级的访问执行级别。存储器访问执行级别寄存器保存与此存储器部的各个存储区的访问执行级别对应的执行级别。当比较器将来自于上述程序执行级别寄存器的当前执行中的程序的执行级别与由来自于上述存储器访问执行级别寄存器的此程序指定的上述存储器部的存储区的访问执行级别进行比较,且两者一致时,比较器就输出一致信号。命令定序器根据上述一致信号,允许向相对于上述执行中的程序的指定此程序的上述存储器部的存储区的访问。
特开2002-342166号公报中记载的“信息处理装置及访问级别控制方法”是一种能够在每个进程中变更访问级别的信息处理装置的发明。访问检测部检测来自上述处理部的对规定地址的访问。当上述访问检测部检测出向上述规定地址的访问时,就能够变更访问级别。
发明内容
根据上述特开2003-223317号公报,由于对于在用户级别下进行动作的应用进程,允许执行配置在称为ROM区域的改写困难的存储区域内的特权命令,所以,如果将包含特权命令的库函数保持在ROM区的话,就能够将库函数的功能提供给应用进程。此外,对于配置在称为RAM区域的容易改写的存储区域内的特权命令而言,由于能够禁止基于在用户级别下进行动作的应用进程的执行,因此能够防止在应用代码内的特权命令的非法使用。
但是,应用进程对于像直接跳转到配置在ROM区域内的库函数内的特权命令的攻击没有抵抗性。其理由是因为,即使按照跳转目的地的特权命令的指令产生例外处理,但由于此特权命令的地址是ROM区域内,所以在例外处理中也会执行该特权命令。本来,库函数是将基本上执行从入口到出口的全部处理作为前提而制作的,所以,进行像执行仅其一部分的处理这样的非法攻击时,就会导致不可测的事态。
鉴于这样的事情而提出本发明,其目的在于防止因应用进程引起的特权命令的非法使用。
本发明的另一个目的在于防止应用进程引起的库函数的非法使用。
本发明的权利要求1所述的信息处理装置,包括:
存储部,保持库(library)函数、应用进程、应用进程的属性值及第1特定命令的允许地址范围,该库函数在由自函数进行的处理中保证执行的部分的执行前执行上述第1特定命令、并且在返回到调用源前执行第2特定命令;
特权命令执行控制部,当上述应用进程执行特权命令而产生了内部中断时,根据上述应用进程的上述属性值控制可否执行特权命令;
安全门(security gate)侵入处理部,当上述应用进程执行第1特定命令而产生了内部中断时,检查上述第1特定命令的地址是否在上述允许地址范围内,如果处于上述允许地址范围内,则变更上述应用进程的上述属性值;以及
安全门退出处理部,当上述应用进程执行第2特定命令而产生了内部中断时,将上述应用进程的上述属性值复原。
本发明的权利要求2所述的信息处理装置,根据权利要求1所述的信息处理装置,上述属性值是表示上述应用进程的安全级别的属性值。
本发明的权利要求3所述的信息处理装置,根据权利要求2所述的信息处理装置,上述特权命令执行控制部进行根据上述应用进程的安全级别的权限检查,在具有执行特权命令的权限时执行特权命令。
本发明的权利要求4所述的信息处理装置,根据权利要求1所述的信息处理装置,上述属性值是表示上述应用进程的安全门侵入状态的属性值。
本发明的权利要求5所述的信息处理装置,根据权利要求4所述的信息处理装置,上述特权命令执行控制部,在上述应用进程处于安全门侵入状态的情况下,执行特权命令。
本发明的权利要求6所述的信息处理装置,根据权利要求1所述的信息处理装置,上述属性值包含表示上述应用进程的安全级别的属性值和表示上述应用进程的安全门侵入状态的属性值。
本发明的权利要求7所述的信息处理装置,根据权利要求6所述的信息处理装置,上述特权命令执行控制部在上述应用进程处于安全门侵入状态的情况下,省略根据上述应用进程的安全级别的权限检查,执行特权命令,在上述应用进程不处于安全门侵入状态的情况下,进行根据上述应用进程的安全级别的权限检查,在具有执行特权命令的权限时执行特权命令。
本发明的权利要求8所述的信息处理装置,根据权利要求6所述的信息处理装置,上述安全门侵入处理部变更成为安全门侵入状态的应用进程的安全级别;
上述安全门退出处理部将成为安全门退出状态的应用进程的安全级别复原;并且
上述特权命令执行控制部,进行根据上述应用进程的安全级别的权限检查,在具有执行特权命令的权限时执行特权命令。
本发明的权利要求9所述的信息处理装置,根据权利要求6所述的信息处理装置,上述特权命令执行控制部在上述应用进程处于安全门侵入状态的情况下,更新了上述应用进程的安全级别后,进行根据上述应用进程的安全级别的权限检查,当具有执行特权命令的权限时执行特权命令后,将安全级别恢复到原来的值。
本发明的权利要求10所述的信息处理装置,根据权利要求7、8或9所述的信息处理装置,包括:
安全门临时退出处理部,当在处于安全门侵入状态的上述应用进程的运行中产生了信号或中断时,在调用上述应用进程的信号/中断句柄(handle)前将上述应用进程的安全级别恢复为安全门侵入前的值,在根据上述信号/中断句柄的处理结束时或结束后,恢复为安全门侵入后的值。
本发明的权利要求11所述的信息处理装置,根据权利要求1所述的信息处理装置,包括:
安全门临时退出处理部,在由上述安全门侵入处理部变更了上述应用进程的上述属性值后,到由上述安全门退出处理部将上述应用进程的上述属性值复原之前的上述应用进程的运行中产生了信号或中断时,在调用上述应用进程的信号/中断句柄前将上述应用进程的上述属性值恢复到基于上述安全门侵入处理部的变更前的值,在根据上述信号/中断句柄的处理结束时或结束后,恢复为基于上述安全门侵入处理部的变更后的值。
本发明的权利要求12所述的信息处理装置,根据权利要求2、3、6~10任意一项所述的信息处理装置,上述安全门侵入处理部将上述应用进程的安全级别变更为特权级别。
本发明的权利要求13所述的信息处理装置,根据权利要求2、3、6~10任意一项所述的信息处理装置,包括保持安全级别变更规则的安全级别变更策略数据库,上述安全门侵入处理部根据上述安全级别变更规则变更上述应用进程的安全级别。
本发明的权利要求14所述的信息处理装置,根据权利要求4~10任意一项所述的信息处理装置,表示上述应用进程的安全门侵入状态的属性值,作为对应各应用进程的进程ID至少保持有安全级别的进程管理用数据库的1个标志被记录。
本发明的权利要求15所述的信息处理装置,根据权利要求4~10任意一项所述的信息处理装置,包括管理安全门侵入状态的应用进程的一览的数据库,根据在该数据库中是否记录有进程ID来决定表示应用进程的安全门侵入状态的属性值。
本发明的权利要求16所述的信息处理装置,根据权利要求1~11任意一项所述的信息处理装置,上述库函数在保证执行的处理记述之前配置有第1特定命令,在返回到调用源的出口之前配置有第2特定命令。
本发明的权利要求17所述的信息处理装置,根据权利要求1~11任意一项所述的信息处理装置,上述库函数在保证执行的处理记述之前配有置第1特定命令,在配置第1特定命令的部位之后必须执行的路径上配置有改变上述应用进程的堆栈的命令列,以在返回到调用源前经过包含第2特定命令的函数。
本发明的权利要求18所述的信息处理装置,根据权利要求1~11任意一项所述的信息处理装置,上述库函数在保证执行的处理记述之前配置有第1特定命令;
上述安全门侵入处理部,在变更了上述应用进程的上述属性值的情况下,改变上述应用进程的堆栈,以在上述应用进程返回到调用源之前,经过包含第2特定命令的函数。
本发明的权利要求19所述的信息处理装置,根据权利要求1~11任意一项所述的信息处理装置,上述预定的地址范围是ROM区域内的地址范围。
本发明的权利要求20所述的信息处理装置,根据权利要求1~11任意一项所述的信息处理装置,上述预定的地址范围是被从ROM区域装入到RAM区域的库函数在RAM区域上的地址范围。
本发明的权利要求21所述的信息处理装置,根据权利要求1~11任意一项所述的信息处理装置,上述预定的地址范围是被从可信赖的文件***装入到RAM区域的库函数在RAM区域上的地址范围。
本发明的权利要求22所述的信息处理装置,根据权利要求1~11任意一项所述的信息处理装置,上述预定的地址范围是被从文件***装入到RAM区域的可信赖的库函数在RAM区域上的地址范围。
本发明的权利要求23所述的信息处理装置,根据权利要求1~11任意一项所述的信息处理装置,上述安全门侵入处理部,在上述应用进程执行第1特定命令发生了内部中断时,除进行上述第1特定命令的地址是否在上述允许地址范围内的检查外,还进行上述第1特定命令的地址是否是程序区的检查。
本发明的权利要求24所述的信息处理装置,根据权利要求1~11任意一项所述的信息处理装置,上述第1特定命令和上述第2的特定命令分别是对操作***发出安全门侵入请求、退出请求的***调用命令。
本发明的权利要求25所述的信息处理装置,根据权利要求1~11任意一项所述的信息处理装置,上述库函数包含基本库函数和服务API库函数。
本发明的权利要求26所述的信息处理装置,根据权利要求25所述的信息处理装置,上述基本库函数,作为特权命令包含共有存储器操作***调用命令和信号机操作***调用命令;
上述服务API库函数包含程序代码,该程序代码利用包含上述共有存储器操作***调用命令和信号机操作***调用命令的基本库函数。
本发明的权利要求27所述的信息处理装置,根据权利要求25所述的信息处理装置,上述基本库函数包含作为用于与X服务器进行通信的特权命令的套接字(socket)通信***调用命令;
上述服务API库函数包含程序代码,该程序代码利用包含上述套接字通信***调用命令的基本库函数。
本发明的权利要求28所述的信息处理装置,根据权利要求25所述的信息处理装置,上述基本库函数,为了打开包含DRM管理对象内容的文件,而作为特权命令包含有文件打开***调用命令;
上述服务API库函数,进行DRM处理,且包含程序代码,该程序代码利用包含上述文件打开***调用命令的基本库函数。
本发明的权利要求29所述的信息处理装置,根据权利要求25所述的信息处理装置,上述基本库函数,为了与外部的服务器进行通信,而作为特权命令包含有套接字通信***调用命令;
上述服务API库函数,进行HTTP处理,且包含程序代码,该程序代码利用包含上述套接字通信***调用命令的基本库函数。
本发明的权利要求30所述的信息处理方法,在信息处理装置中保持库函数、应用进程、应用进程的属性值及第1特定命令的允许地址范围,该库函数在由自函数进行的处理中保证执行的部分的执行前执行上述第1特定命令、并且在返回到调用源前执行第2特定命令;
该信息处理方法执行:
特权命令执行控制处理,当上述应用进程执行特权命令产生了内部中断时,根据上述应用进程的上述属性值控制可否执行特权命令;
安全门侵入处理,当上述应用进程执行第1特定命令产生了内部中断时,检查上述第1特定命令的地址是否在上述允许地址范围内,如果处于上述允许地址范围内,则变更上述应用进程的上述属性值;以及
安全门退出处理,当上述应用进程执行第2特定命令产生了内部中断时,将上述应用进程的上述属性值复原。
本发明的权利要求31所述的信息处理方法,上述属性值是表示上述应用进程的安全级别的属性值。
本发明的权利要求32所述的信息处理方法,根据权利要求31所述的信息处理方法,在上述特权命令执行控制处理中,进行根据上述应用进程的安全级别的权限检查,在具有执行特权命令的权限时执行特权命令。
本发明的权利要求33所述的信息处理方法,根据权利要求30所述的信息处理方法,上述属性值是表示上述应用进程的安全门侵入状态的属性值。
本发明的权利要求34所述的信息处理方法,根据权利要求33所述的信息处理方法,在上述特权命令执行控制处理中,在上述应用进程处于安全门侵入状态的情况下,执行特权命令。
本发明的权利要求35所述的信息处理方法,根据权利要求30所述的信息处理方法,上述属性值包含表示上述应用进程的安全级别的属性值和表示上述应用进程的安全门侵入状态的属性值。
本发明的权利要求36所述的信息处理方法,根据权利要求35所述的信息处理方法,上述特权命令执行控制处理中,在上述应用进程处于安全门侵入状态的情况下,省略根据上述应用进程的安全级别的权限检查,执行特权命令,在上述应用进程不处于安全门侵入状态的情况下,进行根据上述应用进程的安全级别的权限检查,在具有执行特权命令的权限时执行特权命令。
本发明的权利要求37所述的信息处理方法,根据权利要求35所述的信息处理方法,在上述安全门侵入处理中,变更成为安全门侵入状态的应用进程的安全级别;
在上述安全门退出处理中,将成为安全门退出状态的应用进程的安全级别复原;
在上述特权命令执行控制处理中,进行根据上述应用进程的安全级别的权限检查,在具有执行特权命令的权限时执行特权命令。
本发明的权利要求38所述的信息处理方法,根据权利要求35所述的信息处理方法,在上述特权命令执行控制处理中,在上述应用进程处于安全门侵入状态的情况下,更新了上述应用进程的安全级别后,进行根据上述应用进程的安全级别的权限检查,当具有执行特权命令的权限时执行特权命令后,将安全级别恢复到原来的值。
本发明的权利要求39所述的信息处理方法,根据权利要求36、37或38所述的信息处理方法,上述信息处理装置进行:
安全门临时退出处理,当在处于安全门侵入状态的上述应用进程的运行中产生信号或中断时,在调用上述应用进程的信号/中断句柄前将上述应用进程的安全级别恢复为安全门侵入前的值,在根据上述信号/中断句柄的处理结束时或结束后,恢复为安全门侵入后的值。
本发明的权利要求40所述的信息处理方法,根据权利要求30所述的信息处理方法,上述信息处理装置进行:
安全门临时退出处理,在由上述安全门侵入处理变更了上述应用进程的上述属性值后,到由上述安全门退出处理将上述应用进程的上述属性值复原之前的上述应用进程的运行中,产生了信号或中断时,在调用上述应用进程的信号/中断句柄前将上述应用进程的上述属性值恢复到基于上述安全门侵入处理的变更前的值,在根据上述信号/中断句柄的处理结束时或结束后,恢复为基于上述安全门侵入处理的变更后的值。
本发明的权利要求41所述的信息处理方法,根据权利要求31、32、35~39任意一项所述的信息处理方法,在上述安全门侵入处理中,将上述应用进程的安全级别变更为特权级别。
本发明的权利要求42所述的信息处理方法,根据权利要求31、32、35~39任意一项所述的信息处理方法,上述计算机包括保持安全级别变更规则的安全级别变更策略数据库,在上述安全门侵入处理中,根据上述安全级别变更规则变更上述应用进程的安全级别。
本发明的权利要求43所述的信息处理方法,根据权利要求33~39任意一项所述的信息处理方法,表示上述应用进程的安全门侵入状态的属性值,作为对应各应用进程的进程ID至少保持有安全级别的进程管理用数据库的1个标志被记录。
本发明的权利要求44所述的信息处理方法,根据权利要求33~39任意一项所述的信息处理方法,包括管理安全门侵入状态的应用进程的一览的数据库,根据在该数据库中是否记录有进程ID来决定表示应用进程的安全门侵入状态的属性值。
本发明的权利要求45所述的信息处理方法,根据权利要求30~40任意一项所述的信息处理方法,上述库函数在保证执行的处理记述之前配置有第1特定命令,在返回到调用源的出口之前配置有第2特定命令。
本发明的权利要求46所述的信息处理方法,根据权利要求30~40任意一项所述的信息处理方法,上述库函数在保证执行的处理记述之前配置有第1特定命令,在配置第1特定命令的部位之后必须执行的路径上,配置有改变上述应用进程的堆栈的命令列,以在返回到调用源前经过包含第2特定命令的函数。
本发明的权利要求47所述的信息处理方法,根据权利要求30~40任意一项所述的信息处理方法,上述库函数在保证执行的处理记述之前配置有第1特定命令;
上述安全门侵入处理中,在变更了上述应用进程的上述属性值的情况下,改变上述应用进程的堆栈,以在上述应用进程返回到调用源之前,经过包含第2特定命令的函数。
发明效果
根据本发明,当应用进程调用库函数时,用此库函数进行的处理中,在保证执行的部分的执行之前,执行第1特定命令,产生内部中断。在此内部中断相关的例外处理中,通过安全门侵入处理部,检查第1特定命令的地址是否在允许地址范围内,如果处于允许地址范围内,则变更应用进程的属性值以便能够执行特权命令,如果不在允许地址范围内就不进行这种属性值的变更。此后,执行调用的库函数的后续的处理,执行伴随与此的保证执行的部分。然后,库函数的处理进入特权命令的部位时,根据此特权命令的执行而产生内部中断,在此内部中断相关的例外处理中,通过特权命令执行控制部,根据应用进程的属性值控制是否执行特权命令。因此,在不允许特权命令的执行的应用进程向特权命令直接跳转的情况下,由于不执行第1特定命令,所以与属性值仍旧是不能执行特权命令的状态相反,在第1特定命令调用存在于允许地址范围内的正规的库函数的情况下,由于根据第1特定命令的执行变更属性值以便能够使用特权命令,所以就能够执行特权命令。此外此情况下,就变成必须执行在第1特定命令后配置的、保证执行的部分。而且,在从库函数返回到调用源的应用进程之前,当应用进程执行第2特定命令时,产生内部中断,在此内部中断相关的例外处理中,通过安全门退出处理部,应用进程的属性值恢复到不能执行特权命令的原来的状态。由此,防止正规的库中所包含的特权命令之外的特权命令的执行。
根据本发明,能够向应用进程提供在设定在应用进程中的属性值中包含不允许执行的特权命令的库函数。其理由是因为,就向应用进程提供的正规的库函数而言,通过预先将其包含的第1特定命令所存在的地址范围设定为允许地址范围,在应用进程调用库函数的情况下,检查在第1特定命令执行时其地址在允许地址范围,变更应用进程的属性值就能够执行特权命令。
此外,根据本发明,能够防止跳过保证执行部分,执行包含特权命令的剩余的部分这样的库函数的非法利用。其理由是因为,应用进程如果跳过保证库函数内的执行的部分,进行向中途的部分直接跳转这样的不正当的操作的话,由于不执行第1特定命令不变更属性值,在特权命令的执行时刻就会出错。
此外,根据本发明,能够防止根据应用进程的特权命令的非法使用。其理由是因为,为了在从库函数返回到应用进程前根据第2特定命令将属性值复原,使应用进程的属性值成为能够执行特权命令的状态仅限定在库函数的执行中。
附图说明
图1是表示本发明的信息处理装置的硬件结构的一个例子的方框图。
图2是本发明的第1实施方式的方框图。
图3是本发明的第2实施方式的方框图。
图4是本发明的第2实施方式的变化例的方框图。
图5是本发明的第3实施方式的方框图。
图6是本发明的第1实施方式的实施例1的方框图。
图7是表示本发明的第1实施方式的实施例1的动作的流程图。
图8是表示本发明的第1实施方式的实施例1的动作的流程图。
图9是表示本发明的第1实施方式的实施例1的动作的流程图。
图10是表示本发明的第1实施方式的实施例1中的应用程序、API库程序及基本库程序的内容实例的图。
图11是表示本发明的第1实施方式的实施例1的具体适用实例1的方框图。
图12是表示本发明的第1实施方式的实施例1的具体适用实例2的方框图。
图13是表示本发明的第1实施方式的实施例1的具体适用实例3的方框图。
图14是表示本发明的第1实施方式的实施例1的具体适用实例4的方框图。
图15是本发明的第1实施方式的实施例2的方框图。
图16是表示本发明的第1实施方式的实施例2的动作的流程图。
图17是表示本发明的第1实施方式的实施例2的动作的流程图。
图18是表示本发明的第1实施方式的实施例2的动作的流程图。
图19是本发明的第1实施方式的实施例2的变形例的方框图。
图20是本发明的第1实施方式的实施例3的方框图。
图21是表示本发明的第1实施方式的实施例3的动作的流程图。
图22是本发明的第1实施方式的实施例4的方框图。
图23是表示本发明的第1实施方式的实施例4的动作的流程图。
图24是本发明的第2实施方式的实施例1的方框图。
图25是本发明的第2实施方式的实施例1中的堆栈改变处理的说明图。
图26是本发明的第3实施方式的实施例1的方框图。
图27是表示本发明的第3实施方式的实施例1的动作的流程图。
具体实施方式
下面,参照附图,详细说明用于实施本发明的最佳实施方式。
<本发明的信息处理装置的硬件结构实例>
参照图1,本发明的信息处理装置的硬件结构的一个例子包括:CPU1,ROM2,RAM3,显示部4,输入操作部5,文件***6以及将它们相互连接的总线7。ROM2是读取专用的存储器,存储由CPU1执行的操作***(OS)、库函数及固定数据等。RAM3是可读写的存储器,临时存储由CPU1执行的应用进程及运算数据等。显示部4由LCD等构成,显示应用画面等。输入操作部5有键盘等构成,输入来自用户的数据和指示。文件***6由硬盘和SD卡等构成,存储应用程序和各种数据。作为具有这样的硬件结构的信息处理装置的例子,有个人计算机等常规的计算机、控制终端、携带电话等。
<第1实施方式>
参照图2,本发明的第1实施方式将OS11、库函数12、应用进程13、属性值14及第1特定命令的允许地址范围15保持在计算机可读取的记录介质中。
库函数12在由自函数进行的处理中保证执行的部分21的执行前执行第1特定命令22、并且在返回到调用源前执行第2特定命令23。典型地,在函数的开始部分配置第1特定命令22,在返回到调用源之前的部分配置第2特定命令23。在库函数12中包含1个以上的特权命令24。第1特定命令22、第2特定命令23及特权命令24是***调用命令,在其执行时产生内部中断,控制转移到OS11。此外,事先设定第1特定命令22的允许地址范围15,在第1特定命令22的执行引起内部中断时,由OS11进行参照。
应用进程13执行调用库函数12的调用命令41、直接跳转到库函数12内的特权命令24的跳转命令42、及特权命令43。
例如,OS11是能够对每个应用进程13设定安全级别的安全OS。OS11管理每个应用进程13的属性值14。属性值14是在应用进程13所利用的功能或资源的访问控制的判断中使用的1个以上的属性值。作为属性值14的具体例,有表示安全级别的属性值、表示安全门侵入状态的属性值。此外,在因第1特定命令22、第2特定命令23及特权命令24、43的执行而产生内部中断时,作为对应它们的例外处理,具有进行安全门侵入处理31、安全门退出处理32及特权命令执行控制33的功能。
在特权命令执行控制33中,应用进程13调用库函数12执行其特权命令24时,及执行应用代码上的特权命令43时,根据应用进程13的属性值14控制可否执行特权命令24、43。
在安全门侵入处理31中,应用进程13执行第1特定命令22时,检查第1特定命令22的地址是否在允许地址范围15内,如果处于允许地址范围15内的话,则变更应用进程13的属性值14。
在安全门退出处理32中,应用进程13执行第2的特定命令23时,将应用进程13的属性值14复原。
接着,说明本实施方式的动作。在此,假设应用进程13的属性值14为不能执行特权命令的值。此外,假设在允许地址范围15中,设定配置有正规的库函数12的存储器(例如图1的ROM2)的存储器地址范围。
应用进程13根据调用命令41调用库函数12时,首先执行配置在其开始部分的第1特定命令22,通过OS11的安全门侵入处理31变更应用进程13的属性值14。例如,在由安全级别控制可否执行特权命令的情况下变更安全级别,在安全门侵入状态下控制可否执行特权命令的情况下变更表示有无安全门侵入的属性值。再有也可以进行以下处理:在此时刻事先变更表示安全门侵入状态的属性值,在特权命令执行控制33的时刻判定是不是安全门侵入状态,如果是安全门侵入状态,在变更安全级别后根据安全级别判断可否执行特权命令,再次进行将安全级别复原。
接着,在执行了保证处理的部分21后,由应用进程13执行特权命令24时,通过OS11的特权命令执行控制33,根据应用进程13的属性值14判定可否执行特权命令,如果可执行的话,则进行特权命令24的执行,将控制返回到调用源。
接着,进入库函数12的处理,在返回到调用源之前执行第2特定命令23时,通过OS11的安全门退出处32,将应用进程13的属性值14恢复到安全门侵入前的状态。
此后,应用进程13执行直接跳转到库函数12的特权命令24的命令42时,虽然通过执行跳转方的特权命令24将控制移到OS11的特权命令执行控制33,但由于没有执行第1特定命令,所以不能将应用进程13的属性值14变更为可执行特权命令,所以在特权命令执行控制33中,不执行特权命令而报错。
此外,应用进程13直接执行特权命令43时,虽然控制转移到OS11的特权命令执行控制33,但由于此情况下也没有执行第1特定命令,所以不能将应用进程13的属性值14变更为可执行特权命令,所以在特权命令执行控制33中,不执行特权命令而报错。
如此,根据本实施方式,就能够防止因应用进程13引起的特权命令24、43及库函数12的非法使用。
<第2实施方式>
参照图3,本发明的第2实施方式与第1实施方式不同点在于,不在库函数12内配置第2特定命令23,替代于此,配置改变(更新)应用进程13的堆栈17的命令列23,以在返回到调用源前经过包含第2特定命令23的函数16。在此,命令列25的配置位置,如果是在配置第1特定命令22的部位之后必须执行的路径上的话,可以是任意的位置。
接着,以与第1实施方式的不同点为中心说明本实施方式的动作。
应用进程13根据调用命令41调用库函数12时,首先执行在其开始部分配置的第1特定命令22,通过OS11的安全门侵入处理31,变更应用进程13的属性值14。接着,通过由应用进程13来执行命令列25,就能够改变堆栈17以在返回应用进程13之前经过函数16。接着,执行保证处理的部分21后,由应用进程13执行特权命令24时,通过OS11的特权命令执行控制33,根据应用进程13的属性值14判定可否执行特权命令,如果可执行的话,则进行特权命令24的执行,将控制返回到调用源。接着,进入库函数12的处理,在为了获得调用源的信息而对堆栈17进行出栈操作(pop)时,得到了函数16的信息,因此调用函数16,执行其中的第2特定命令23。由此,执行OS11的安全门退出处理32,将应用进程13的属性值14恢复到安全门侵入前的状态。
应用进程13执行直接跳转到库函数12的特权命令24的命令42时和执行特权命令43时的操作与第1实施方式相同。
如此,根据本实施方式,就能够防止因应用进程13引起的特权命令24、43及库函数12的非法使用。此外,在从库函数12返回调用源的应用进程13的出口存在多个的情况下,在库函数12内配置第2特定命令的方法中,需要在这些所有的出口之前配置第2特定命令,但在本实施方式中,具有仅配置1个命令列就能完成的优点。
<第2实施方式的变化例>
参照图4,本发明的第2实施方式的变化例与第1实施方式不同点在于,不在库函数12内配置第2特定命令23,替代于此,在OS11的安全门侵入处理31中追加改变(更新)应用进程13的堆栈17的处理,以在从库函数12返回应用进程13前经过包含第2特定命令23的函数16。
接着,以与第1实施方式的不同点为中心说明本实施方式的操作。
应用进程13根据调用命令41调用库函数12时,首先执行在其开始部分配置的第1特定命令22,通过OS11的安全门侵入处理31,变更应用进程13的属性值14,并且改变堆栈17以在从库函数12返回应用进程13之前经过函数16。接着,执行了保证处理的部分21后,由应用进程13执行特权命令24时,通过OS11的特权命令执行控制33,根据应用进程13的属性值14判定可否执行特权命令,如果可执行的话,则进行特权命令24的执行,将控制返回到调用源。接着,进入库函数12的处理,在为了获得调用源的信息而对堆栈17进行出栈操作时,得到了函数16的信息,因此调用函数16,执行其中的第2特定命令23。由此,执行OS11的安全门退出处理32,将应用进程13的属性值14恢复到安全门侵入前的状态。
应用进程13执行直接跳转到库函数12的特权命令24的命令42时和执行特权命令43时的操作与第1实施方式相同。
如此,根据本实施方式,就能够防止因应用进程13引起的特权命令24、43及库函数12的非法使用。此外,在从库函数12返回调用源的应用进程13的出口存在多个的情况下,在库函数12内配置第2特定命令的方法中,需要在这些所有的出口之前配置第2特定命令,在第2实施方式中需要配置1个命令列25,但本实施方式中不需要它们。
<第3实施方式>
参照图5,本发明的第3实施方式与第1实施方式不同点在于,由OS11执行安全门临时退出处理34:通过安全门侵入处理31变更应用进程13的属性值14后,在通过安全门退出处理34将应用进程13的属性值14复原之前的应用进程13的运行中产生了信号或中断26时,在调用应用进程13的信号/中断句柄44前将应用进程13的属性值14恢复到基于安全门侵入处理31的变更前的值,在根据信号/中断句柄44的处理结束时,恢复为基于安全门侵入处理31的变更后的值。
接着,以与第1实施方式的不同点为中心说明本实施方式的操作。
应用进程13根据调用命令41调用库函数12时,首先执行在其开始部分配置的第1特定命令22,通过OS11的安全门侵入处理31,变更应用进程13的属性值14。接着,执行保证处理的部分21后,由应用进程13执行特权命令24时,通过OS11的特权命令执行控制33,根据应用进程13的属性值14判定可否执行特权命令,如果可执行的话,则进行特权命令24的执行,将控制返回到调用源。此后,在产生信号/中断26时,产生内部中断,控制移向OS11,执行安全门临时退出处理34,当应用进程13的属性值14恢复到基于安全门侵入处理31的变更前的值后,调用应用进程13的信号/中断句柄44。然后,在基于信号/中断句柄44的处理结束时,控制返回OS11的安全门临时退出处理34,应用进程13的属性值14恢复为基于安全门侵入处理31的变更后的值后,控制返回到由库函数12的上述信号/中断26所中断的部位。然后,进入库函数12的处理,在返回调用源之前执行第2特定命令时,通过OS11的安全门退出处理32,将应用进程13的属性值14恢复为安全门侵入前的状态。
应用进程13执行直接跳转到库函数12的特权命令24的命令42时和执行特权命令43时的动作与第1实施方式相同。
如此,根据本实施方式,与第1实施方式相比,能够可靠地防止因应用进程13引起的特权命令24、43及库函数12的非法使用。
(实施例)
接着,参照附图,详细地说明本发明的实施例。
<第1实施方式的实施例1>
参照图6,本发明的第1实施方式的实施例1,由通过程序控制进行动作的计算机100构成,计算机100具备常规存储区110和高可靠存储区120。此外,在计算机100中,作为常规程序的OS130进行工作。
在常规存储区110中配置应用程序111。在高可靠存储区120中配置可信赖的服务API库121和基本库122。在此,高可靠存储区是所存储的信息被篡改的可能性低、可靠性高的存储区,常规存储区是与高可靠存储区相反的存储区。此外,基本库122是提供文件操作功能、文字列操作功能、通信功能等,被各种各样的应用程序110或库程序所利用的基本功能的库(例如libc)。服务API库121是包含应用程序110使用提供给应用程序的服务时,直接调用的API函数的库。
在本实施例的情况下,在服务API库121中配置第1特定命令123和第2特定命令124。此外,服务API库121或基本库122包含特权处理***调用125。
在OS130中设置有安全门进入处理部131、安全门退出处理部132、存储器种类判断处理部133、安全级别变更部134、安全级别变更策略数据库135、权限检查处理部136、特权处理***调用处理部137、和进程状态管理数据库138。OS130例如是Linux也可以是其以外种类的OS。
常规存储区110由RAM等实现,能够从应用程序111自由地利用。
应用程序111为在产品出厂时不包含的、此后追加的这样可否信赖不明确的程序。通常,应用程序111通过OS130从文件***等非易失性存储器载入到常规存储区110中,作为应用进程被执行。
高可靠存储区120是具有不容易从应用进程改变的特性的存储区。最通常的实现方法虽然是基于ROM的应用,但也可以是OS130管理下的原来的、被设为不容易从应用进程改变的RAM,即也可以是作为没有被设定来自应用程序的写入权限的存储空间而被分配的RAM。此情况下,通过在高可靠存储区120中从ROM或文件***装载API库121及基本库122来配置OS130。再有,例如,在Linux中,由于保存程序代码的存储空间被设定为禁止写入,所以相当于此种存储空间。
服务API库121对应用程序111提供各种各样的库功能,应用程序111具有多个在利用此功能时调用的API函数。
第1特定命令123作为特定的***调用命令被安装,配置在上述API函数的开始。当应用进程调用此命令123时,产生内部中断,调用OS130的安全门进入处理部131。
第2特定命令124也作为特定的***调用命令被安装,配置在上述API函数处理的末尾。应用进程调用此命令124时,产生内部中断,调用OS130的安全门退出处理部132。
基本库122是利用服务API库121等的、提供更基本的功能的库。
特权处理***调用125为了实现服务API库121或基本库122的功能,调用OS130的功能,在能否信赖不明确的应用进程的安全级别中,没有被赋予执行权。再有,应用进程调用特权处理***调用125时,产生内部中断,调用OS130内的权限检查处理部136。应用进程的安全级别,在本实施例的情况下,设为“低”(非特权级别)和“高”(特权级别)2个级别。毫无疑问,像具有3级别以上的级别的计算机、某种携带电话那样,能够适用于具有装置制造者级别、通信事业者级别、可信赖的应用销售商级别、能否信赖不明确这4个级别的安全级别的终端。
安全门进入处理部131,根据存储器种类判断处理部133的结果,判断第1特定命令123是否被正规地执行,在被正规执行了的情况下,使用安全级别变更部134将该应用进程的安全级别转换为更高级别。另一方面,在非法执行了第1特定命令123的情况下,不进行安全级别的转换。
存储器种类判断处理部133判断被执行的第1特定命令123是否处于高可靠存储区120中。具体地,将高可靠存储区120的地址范围作为允许地址范围加以保持,比较被执行的第1特定命令123的地址和允许地址范围,如果第1特定命令123的地址在允许地址范围内的话,就判断为处于高可靠存储器120中,除此之外判断为处于常规存储区110内。此外,存储器种类判断处理部133还可以通过参照OS130管理的数据,确认作为高可靠存储区被确认的第1特定命令所存在的存储地址是程序代码区而不是数据区,如果这样,就能够防止数据区的偶然的模式一致导致的判断错误。
上述的允许地址范围的设定按如下的a)、b)执行。
a)如果高可靠存储区120是ROM区的话,则设此ROM区的地址范围为允许地址范围。
b)在将处于文件***或ROM中的可信赖的服务API库程序装载在RAM区并执行的计算机的情况下,设此装载的存储器地址范围为允许地址范围。再有,装载的服务API库程序是不是可信赖的判断可利用以下的方法:预先保持装载源的文件***或ROM本身是不是可信赖的信息,参照此信息进行判断的方法;预先保持可信赖的服务API库程序的列表,参照此列表进行判断的方法;在可信赖的服务API库程序本身中预先附加上标记(署名等),在装载时进行确认的方法等。
安全门退出处理部132使用安全级别变更部134,将该应用进程的安全级别恢复为原来的状态。
进程状态管理数据库138保持唯一识别应用进程的进程ID和安全级别的组。
安全级别变更部134根据安全门进入处理部131的请求,对应当变更该应用进程的安全级别的、进程状态管理数据库138的表示该应用进程的安全级别的部分进行变更。此时,为了能复原,在进程状态管理数据库138中保持变更前的值。
在此,也可以设置保持变更规则的安全级别变更策略数据库135,安全级别变更部134根据保持在此数据库135中的变更规则,变更应用进程的安全级别。例如,如果根据应用进程的种类、特性、原来的安全级别,使用记述将安全级别提高到哪个级别的变更规则,或根据装置(计算机)的状态,使用记述将安全级别提高到哪个级别的变更规则的话,就能更灵活的进行安全级别的变更。
此外,安全级别变更部134根据安全门退出处理部132的请求,进行将该应用进程的安全级别复原的处理。
权限检查处理部136参照进程状态管理数据库138的信息判断对OS130请求的特权处理***调用是不是由请求方的应用进程的当前的安全级别执行的权限,在具有权限的情况下,使用特权处理***调用处理部137进行处理。在无权限时不进行***调用的执行,设为出错。
特权处理***调用处理部137进行被请求的特权处理***调用的处理。
接着,参照从图6及图7至图9的流程图,详细地说明本实施例的动作。
首先,通过OS130,应用进程程序111被装载在常规存储区110中,作为应用进程(进程ID=nnn)被执行。此时,应用进程可否信赖不明确,按安全级别为“低”进行操作。应用进程,根据需要调用服务API库121提供的API函数,执行配置在API函数的开始的、第1特定命令123(图7的步骤S101)。
执行第1特定命令123时,调用处于OS130内的安全门进入处理部131。在安全门进入处理部131中,使用存储器种类判断处理部133求出成为调用原因的第1特定命令123所存在的存储区的种类(图7的步骤S102)。仅限求出的存储区的种类是高可靠存储区120的情况下,使用安全级别变更部134将应用进程的安全级别变更为较高的级别(图7的步骤S103及S104)。由此,处于进程状态管理数据库138内的、涉及该应用进程的安全级别的数据例如就会由“低”变更为“高”。在结束应用进程的安全级别的变更后,结束第1特定命令123的处理(图7的步骤S114)。在步骤S103中,如果存储区的种类不是高可靠存储区120,就不变更应用进程的安全级别,结束第1特定命令123的处理(图7的步骤S114)。
此后,应用进程执行服务API库121的处理和服务API库121进一步调用的基本库122所提供的程序,在此过程中就会执行特权处理***调用125。
执行特权处理***调用125时(图8的步骤S111),调用OS130内的权限检查处理部136。在权限检查处理部136中,参照处于进程状态管理数据库138内的、该应用进程的安全级别,如果处于“高”状态,就使用特权处理***调用处理部137进行特权处理(图8的步骤S112及S113),结束处理(图8的步骤S114)。在应用进程的安全级别是“低”的情况下,不进行特权处理,返回特权模式错误(图8的步骤S115),结束处理(图8的步骤S114)。
此后,在应用进程中结束服务API库121的处理,在处理返回应用程序111之前,执行第2特定命令124(图9的步骤S121)。
执行第2特定命令124时,调用处于OS130内的安全门退出处理部132。在安全门退出处理部132中,使用安全级别变更部134,将该应用进程的安全级别复原(图9的步骤S122)。在此,处于进程状态管理数据库138内的、涉及该应用进程的安全级别的数据就会恢复为“低”。
接着,参照图10,说明应用程序111、服务API库121及基本库122的具体例。再有,OS是Linux。
参照图10,在应用进程111中,写入此应用程序想要实现的处理。API库程序121向应用程序111提供发出快门声拍摄照片的处理。发出此快门声的处理也是保证其执行的部分。基本库程序122提供针对设备文件的打开、关闭、读出、写入的功能。此外,应用程序111被配置在常规存储区110,API库程序121及基本库程序122被配置在高可靠性存储区120。而且,设应用进程没有被赋予对设备文件进行操作的权限,成为安全门侵入时被变更的安全级别后,首次被赋予能够对设备文件进行操作的权限。
生成对应于应用程序111的应用进程时,从应用程序111的步骤A01的main()函数开始处理。应用进程为了在处理的中途进行照片拍摄,调用API库程序121提供的Camera_TakePicture函数(步骤A04)。在Camera_TakePicture函数的开始,调用作为第1特定命令时的安全门侵入***调用(步骤B04)、变更应用进程的安全级别。此后,为了发出快门声,调用声音设备文件的打开函数(步骤B06),通过向此文件写入快门声,产生快门音(步骤B07),调用关闭函数,关闭声音设备文件(步骤B08)。接着为了拍摄照片,调用照相机设备的打开函数(步骤B10),通过向此文件写入拍摄指令进行照片拍摄(步骤B11),为了取得得到的图像,在调用读出函数后(步骤B12),调用关闭函数关闭照相机设备文件(步骤B13)。在此,在原来的应用进程中,虽然没有针对设备文件的操作的权限,但由于根据通过安全门来变更安全级别,所以正常地处理针对本设备文件的操作。API库程序121,此后调用在Camera_TakePicture函数的末尾作为第2特定命令时的安全门退出***调用(步骤B15),将应用进程的安全级别恢复为原来的级别后,返回应用进程。
如此这样,应用进程仅在执行作为服务API函数的Camera_TakePicture函数期间,能够进行针对设备文件的操作。为了从应用程序中直接操作设备文件,即便作为调用基本库程序122内的例如打开函数(步骤C01),由于没有侵入安全门(即不执行第1特定命令),所以也出错。此外,即使直接跳转到步骤C05也同样出错。此外,即使应用程序111模仿步骤C05的命令(syscall(OPEN、path、fd),也同样出错。并且,即使应用程序111模仿步骤B04的命令(syscall(SEC_GATE_IN),想要非法变更安全级别,由于本命令不在高可靠存储区,因此也出错。
基于以上的结果,如果应用进程不正确利用API库程序121的话,就不能利用基本库程序122提供的照相机功能。而且,正确利用API库程序121时,一定会执行发出快门音的处理,能够保证此处理的执行。例如,由于在携带电话的照相机拍摄时一定会发生快门声,所以如图10的API库程序121那样,如果通过保证发出声音的处理的执行的API库程序在应用程序111中允许对照相机设备的访问的话,就能够防止不发出声音便操作快门这样的非法行为。
如此,根据本实施例,就能够对是否可信赖不明确的应用进程,安全地提供在应用进程中设定的安全级别中包含不允许执行的程序代码的库函数。下面,列举几个具体的适用例,具体地说明本实施例的效果。
<适用例1>
参照图11,在本适用例中,作为基本库122配置libc,在libc内部有共有存储器操作***调用命令和信号机操作***调用命令的程序代码。在服务API库121中的服务API函数的处理中,有利用libc中的共有存储器操作***调用命令和信号机操作***调用命令的程序代码。应用进程没有被赋予使用那些如果被滥用就有可能对整个***造成深刻的坏影响的***调用的权限。
如果使用本发明的结构,应用进程仅执行服务API函数期间能够进行信号机操作和共有存储器操作,即使调用从应用程序中直接提供libc的信号机操作***调用命令和共有存储器操作***调用命令,也会出错。为此,能够一面禁止应用程序的任意的信号机和共有存储器的操作,一面提供利用这些操作的服务API函数。
<适用例2>
参照图12,本适用例的计算机,作为向应用程序111中提供的GUI***,提供X服务器/委托人。在此计算机中,作为基本库122配置libc,在libc内部存在socket通信***调用命令的程序代码。此外,作为服务API程序121,配置X客户端库(xlib),在此当中,调用包含libc中的socket通信***调用命令的函数。在应用进程中,不赋予根据socket通信***调用命令的进行与X服务器的通信的权限。
如果使用本发明的结构,应用进程仅在通过位于高可靠存储区120中的xlib库时,能够进行与X服务器的通信。如此这样,就能够阻止应用程序未通过xlib,任意的进行与X服务器的通信,对X服务器造成恶劣影响这种情况。
<适用例3>
参照图13,本适用例的计算机,根据基于DRM(Digital RightsManagement)的利用权限管理,提供图像或音乐、动画等的内容服务。在此计算机中,作为基本库122配置libc,在libc内部存在文件打开***调用命令的程序代码。此外,作为服务API程序121,配置DRM库,在此当中进行DRM处理,还调用包含libc内的文件打开***调用命令的函数。此外,在计算机内部,具有包含DRM管理对象的内容的文件***。在应用进程中,不赋予打开此DRM管理对象的内容的权限。
如果使用本发明的结构,只有在应用进程通过DRM库适当地进行DRM处理的情况下,能够打开DRM管理对象内容。即使在应用程序中想要任意地打开DRM管理对象内容,但由于能够防止这种情况,因此还能够期待不需要以往所必需的DRM管理对象内容的加密这种效果。
<适用例4>
参照图14,本适用例的计算机,提供与计算机2外的***(服务器)进行通信的服务。在此计算机中,作为基本库122配置libc,在libc内存在socket通信***调用命令的程序代码。此外,作为服务API程序121,配置HTTP通信库,在此当中进行HTTP处理,还调用发出libc内的socket通信***调用命令的函数。在应用进程中,不赋予进行socket通信***调用的权限。
如果使用本发明的结构,应用进程仅通过HTTP通信库的情况下,可进行能够与外部的服务器的通信的设定。通过这样的设定,能够防止在应用程序中任意地进行与外部服务器通信,能够防止应用进程通过设想外的协议进行与外部服务器的通信,和使用基于应用程序独自的HTTP处理的非法的参数的HTTP通信等。
<第1实施方式的实施例2>
参照图15,本发明的第1实施方式的实施例2与实施例1的不同点在于,作为应用进程的新的属性值追加表示安全门侵入状态的属性值,进程状态管理数据库138保持进程ID和安全级别和对应于上述属性值的安全门通过标志的组,具备具有变更此进程状态管理数据库138内的安全门通过标志的功能的安全门侵入状态记录处理部138,应用进程在侵入安全门的时刻不变更其安全级别,用安全门通过标志管理处于安全门侵入状态,在通过权限检查处理部136的特权命令执行的权限检查时,临时变更安全级别。
接着,参照从图15及图16至图18的流程图详细地说明本实施例的操作。
首先,通过OS130将应用程序111装载在常规存储区110中,作为应用进程(进程ID=nnn)执行。此时,应用进程可否信赖不明确,设按安全级别为“低”进行动作。此外,安全门通过标志是“0”。应用进程,根据需要调用服务API库121提供的API函数,执行配置在API函数的开始的、第1特定命令123(图16的步骤S201)。
执行第1特定命令123时,调用处于OS130内的安全门进入处理部131。在安全门进入处理部131中,使用存储器种类判断处理部133求出成为调用原因的第1特定命令123所存在的存储区的种类(图16的步骤S202)。仅限求出的存储区的种类是高可靠存储区120的情况下,使用安全门进入状态记录处理部139,记录应用进程是安全门侵入状态(图16的步骤S203及S204)。由此,处于进程状态管理数据库138内的、该应用进程的安全门通过标志例如就会由“0”变更为“1”。在结束应用进程的安全门通过标志的变更后,结束第1特定命令123的处理(图16的步骤S205)。另一方面,如果第1特定命令123存在的存储区不是高可靠存储区120(图16的步骤S203中NO),就不变更应用进程的安全门通过标志,结束第1特定命令123的处理(图16的步骤S205)。
此后,应用进程执行服务API库121的处理和服务API库121进一步调用的基本库122提供的程序,在此过程中就会执行特权处理***调用命令125。
执行特权处理***调用命令125时(图17的步骤S211),调用OS130内的权限检查处理部136。在权限检查处理部136中,参照处于进程状态管理数据库138内的、该应用进程的安全门通过标志,如果处于“1”状态,就使用安全级别变更部134将该应用进程的安全级别变更为“高”(图17的步骤S212及S213)接着,依据变更了的安全级别,检查应用进程是否保持有处理特权处理***调用命令的权限,在保持有权限的情况下,使用特权处理***调用处理部137进行特权处理(图17的步骤S214及S215)。在没有保持权限的情况下,不进行特权处理,设为特权模式错误(图17的步骤S218)。此后,再次使用安全级别变更部134将该应用进程的安全级别恢复为“低”,结束特权处理***调用处理(图17的步骤S216及S217)。
此后,应用进程,结束服务API库121的处理,在处理返回应用程序111之前,执行第2特定命令124(图18的步骤S221)。
执行第2特定命令124时,调用处于OS130内的安全门退出处理部132。在安全门退出处理部132中,使用安全门进入状态记录处理部139,将该应用进程的安全门通过标志复原(图18的步骤S222)。由此,处于进程状态管理数据库138内的、该应用进程的安全门通过标志就会恢复为“0”。
如此根据第1实施方式的实施例2,相比于第1实施方式的实施例1,由于能够缩短限定使应用进程的安全级别成为“高”的状态的区间,就能够更安全地运用。
此外,由于在安全级别变更策略数据库135中能够按特权处理***调用单位保持安全级别变更策略,所以就能够进行更灵活的安全级别变更。例如,从侵入安全门到退出,出现多个种类的特权处理***调用命令,其中几个存在不管在哪种情况下都不能在正体不明确的应用进程中利用的特别的命令(例如电源复位等)的情况下,就能够仅将此特别的命令的场所从安全级别变更的对象中除外。
<第1实施方式的实施例2的变化例>
再有,在本实施例中,虽然用设置在对应各应用进程的进程ID至少保持安全级别的进程状态管理数据库中的标志,来管理应用进程是不是安全门侵入状态,但也可以,例如如图19所示,设置管理安全门侵入状态的应用进程的进程ID一览的安全门侵入中进程ID数据库150。这种情况下,安全门侵入状态记录处理部139进行如下处理,在数据库150中记录来自安全门侵入处理部131请求的应用进程的进程ID,从数据库150中删除来自安全门退出处理部132中请求的应用进程的进程ID。此外,权限检查处理部136通过检索成为权限检查的对象的应用进程的ID是否被记录在数据库150中,来判断该应用进程是不是安全门侵入状态。
<第1实施方式的实施例3>
参照图20,本发明的第1实施方式的实施例3与上述实施例2的不同点在于,从图15所示的第1实施方式的实施例2的结构中省略安全级别变更部134及安全门级别变更策略数据库135,权限检查处理部136在应用进程处于安全门侵入状态的情况下,按照应用进程的安全级别省略权限检查,执行特权命令,在应用进程不在安全门侵入状态的情况下,根据应用进程的安全级别进行权限检查,在具有执行特权命令的权限时执行特权命令,在没有执行特权命令的权限时,作为特权命令违反会产生错误。
接着,参照从图20及图21的流程图,详细地说明本实施例的操作。
首先,通过OS130将应用程序111装载在常规存储区110中,作为应用进程(进程ID=nnn)加以执行。此时,应用进程可否信赖不明确,设按安全级别为“低”进行操作。应用进程,按照请求调用服务API库121提供的API函数,执行配置在API函数的开始的、第1特定命令123。此时的操作与图15的实施例2相同,其结果,仅限存在第1特定命令123的存储区是高可靠存储区120的情形,处于进程状态管理数据库138内的、该应用进程的安全门通过标志例如就会由“0”变更为“1”。
此后,应用进程执行服务API库121的处理和进一步调用服务API库121的基本库122提供的程序,在此过程中就会执行特权处理***调用命令125。
执行特权处理***调用命令125时(图21的步骤S301),调用OS130内的权限检查处理部136。在权限检查处理部136中,参照处于进程状态管理数据库138内的、该应用进程的安全门通过标志,如果不处于“1”状态,就通过根据安全级别的权限检查,使用特权处理***调用处理部137进行特权处理,结束特权处理***调用处理(图21的步骤S302、S304、S305)。另一方面,如果安全门通过标志是“0”的状态(图21的步骤S302为NO),则依据该应用进程的安全级别,检查该应用进程是否保持有处理特权处理***调用命令的权限,在保持有权限的情况下,使用特权处理***调用处理部137进行特权处理,结束特权处理***调用处理(从图21的步骤S303到S305)。但是,在没有保持权限的情况下,就不进行特权处理,作为特权模式错误(图21的步骤S303、S306)。
此后,应用进程,结束服务API库121的处理,在处理返回应用程序111之前,执行第2特定命令124时,与图15的实施例2相同,处于进程状态管理数据库138内的、该应用进程的安全门通过标志恢复为“0”。
如此根据第1实施方式的实施例3,相比于第1实施方式的实施例1及实施例2,由于不进行涉及安全级别变更的处理,就不用极其细致的控制,另一方面,结构变简单,应用变容易,具有提高处理速度的效果。
再有,在本实施例中,虽然用设置在对应各应用进程的进程ID至少保持安全级别的进程状态管理数据库中的标志,来管理应用进程是不是安全门侵入状态,但也可以,与图19所示的实施例同样,设置管理安全门侵入状态的应用进程的进程ID一览的安全门侵入中进程ID数据库150。
<第1实施方式的实施例4>
参照图22,本发明的第1实施方式的实施例4与上述实施例2的不同点在于,从图15所示的第1实施方式的实施例2的结构中省略安全级别变更部134、安全门级别变更策略数据库135及进程状态管理数据库138,另一方面,追加管理安全门侵入状态的应用进程的进程ID一览的安全门侵入中的进程ID数据库150,权限检查处理部136按照应用进程是否处于安全门侵入状态来控制是否执行特权命令。
接着,参照图22及图23的流程图,详细地说明本实施例的操作。
首先,通过OS130将应用程序111装载在常规存储区110中,作为应用进程(进程ID=nnn)加以执行。本实施例的情况下,由于不需要对应用进程进行安全级别的设定,所以可以设定任意的安全级别。应用进程,按照请求调用服务API库121提供的API函数,执行配置在API函数的开始的、第1特定命令123。此时的操作与图19的实施例2的变化例相同,其结果,仅限第1特定命令123所存在的存储区是高可靠存储区120的情形,在安全门侵入中进程ID数据库150中登记该应用进程的进程ID。
此后,应用进程执行服务API库121的处理和进一步调用服务API库121的基本库122提供的程序,在此过程中就会执行特权处理***调用命令125。
执行特权处理***调用命令125时(图23的步骤S401),调用OS130内的权限检查处理部136。在权限检查处理部136中,调查是否在安全门侵入中进程ID数据库159中登记有该应用进程的进程ID,如果登记了的话,则使用特权处理***调用处理部137进行特权处理,结束特权处理***调用处理(从图23的步骤S402到S404)。另一方面,如果没有登记(图23的步骤S402为NO),则不进行特权处理,设为特权模式错误(图23的步骤S305)。
此后,应用进程,结束服务API库121的处理,在处理返回应用程序111之前,执行第2特定命令124时,与图19的实施例2的变化例相同,从安全门侵入中进程ID数据库150中删除该应用进程的进程ID。
如此根据第1实施方式的实施例4,相比于第1实施方式的实施例1及实施例2,由于不进行涉及安全级别的处理,就不用极其细致的控制,另一方面,结构变得更简单,应用变容易,具有提高处理速度的效果。
再有,在本实施例中,虽然用安全门侵入中进程ID数据库150来管理应用进程是不是安全门侵入状态,但也可以,与第1实施方式的实施例2同样,用设置在对应各应用进程的进程ID至少保持安全级别的进程状态管理数据库中的标志来进行管理。
<第2实施方式的实施例1>
参照图24,本发明的第2实施方式的实施例1与上述第1实施方式的实施例1的不同点在于,替代省略在存在于服务API库121中的各API函数的处理的末尾配置的第2特定命令124,在执行第1特定命令123时,在各API函数上附加作为改变应用进程的堆栈的命令列时的堆栈改变处理部126,以在返回应用程序之前一定经过包含第2特定命令124的函数。
接着,参照图24及图25,详细地说明本实施例的操作。
首先,通过OS130将应用程序111装载在常规存储区110中,作为应用进程(进程ID=nnn)加以执行。此时,应用进程可否信赖不明确,设按安全级别为“低”进行操作。应用进程,根据需要调用服务API库121提供的API函数,执行配置在API函数的开始的、第1特定命令123。由此,与第1实施方式的实施例1相同,仅限第1特定命令123所存在的存储区种类是高可靠存储区120的情形,使用安全级别变更部134,将应用进程的安全级别例如从“低”变更为“高”。接着,运行堆栈改变处理部126,改变该应用进程的堆栈信息,如图25所示,在服务API库内API函数的堆栈信息和应用程序内函数的堆栈信息之间***执行第2特定命令的函数的堆栈信息。像这样,通过改变堆栈信息,该应用进程就会结束服务API库内API函数的处理,在处理返回应用程序内函数之前,就一定会调用执行第2特定命令124的函数。
调用执行第2特定命令124的函数,执行此第2特定命令124时,与第1实施方式的实施例1相同,使用安全级别变更部134将应用进程的安全级别恢复为“低”。然后,根据堆栈信息,将控制返回应用程序。
如此根据第2实施方式的实施例1,通过堆栈改变处理,应用进程结束服务API库内API函数的处理,由于在处理返回应用程序内函数之前,能够调用必定执行第2特定命令124的函数,所以能够防止因第2特定命令124的配置错误引起的特权级别的非法流出。
再有,与本实施例相同,通过堆栈改变处理无一例外地执行第2特定命令124的结构,还能够适用于第1实施方式的实施例1之外的其它的实施例。此外,也可以如第2实施方式的变化例中所说明的,作为OS130的一功能提供堆栈改变处理,通过在第1特定命令123执行时调用的安全门侵入处理部131来进行堆栈改变处理。
<第3实施方式的实施例1>
参照图26,本发明的第3实施方式的实施例1,在第1实施方式的实施例1的结构中追加信号/中断句柄112、信号/中断处理部140和安全门临时退出处理部141。此外,进程状态管理数据库138保存应用进程的进程ID、当前的安全级别、进程生成时原始分配的安全级别(初始级别)和安全级别的保存域的组。
信号/中断句柄112,存在于应用程序111内,进行对应于在应用进程运行期间产生的信号或中断的处理。
信号/中断处理部140,存在与OS130中,在应用进程运行期间产生信号或中断时,中断到此为止的处理,经过安全门临时退出处理部141,进行调用应用程序内的信号/中断句柄112的处理。
安全门临时退出处理布141,在信号/中断处理部140调用应用程序内的信号/中断句柄112之前,进行临时将该应用进程的安全级别复原的处理。
接着,参照图26及图27的流程图,详细地说明本实施例的操作。
利用第1实施方式的实施例1中说明的处理动作使计算机100进行工作的情况下,在应用进程进行处理期间产生信号/中断时,OS130临时中断应用进程的处理,使用信号/中断处理部140调用处于应用程序111内的信号/中断句柄112。此时,万一应用进程的状态,正处于从安全门进入处理部131中通过的状态下,在应用进程处于特权状态的情况下,就这样,保持特权状态不动,执行应用程序内的程序代码,变成安全的危险状态。因此,在本实施方式中为了防止其,在信号/中断处理部140调用信号/中断句柄112之前,使用安全门临时退出处理部141,如下所示,进行临时将该应用进程的安全级别复原的处理。
在应用进程的处理中产生信号或中断时(图27的步骤S501),信号/中断处理部140调用安全门临时退出处理布141。安全门临时退出处理部141将该应用进程的当前的安全级别记录在进程状态管理数据库138的保存域中(图27的步骤S502)。接着,将该进程的安全级别变更为进程生成时原本分配的安全级别(图27的步骤S503)。此后,调用处于应用程序111中的信号/中断句柄112(图27的步骤S504)。
结束信号/中断句柄112的处理时,控制返回安全门临时退出处理部141,安全门临时退出处理布141,将该应用进程的安全级别恢复为在进程状态管理数据库138的保存域记录的安全级别(图27的步骤S505)。此后,控制返回信号/中断处理部140,结束信号/中断处理(图27的步骤S506)。
如此根据本实施例,即使在通过安全门的特权状态的应用进程中产生信号/中断,执行处于应用程序内的句柄的情况下,由于能够将该应用进程的安全级别临时恢复为应用进程中原本分配的状态,就能够防止特权状态的非法流出。
再有,与本实施例相同,将信号/中断句柄112的执行中的应用进程的安全级别临时复原的结构,也能够适用于第1实施方式的实施例1之外的其它的实施例及第1实施例1的方式以外的其它的实施方式。
根据本发明,能够适用于在信息处理装置中安全地追加可否信赖不明确的应用程序这样的用途。在此,信息处理装置能够在从个人计算机这样的设备,到携带电话或PDA等移动通信终端等组装的计算机、游戏机及多功能复印机等中适用。
权利要求书(按照条约第19条的修改)
1. 一种信息处理装置,包括:
存储部,保持库函数、应用进程、应用进程的属性值及第1特定命令的允许地址范围,该库函数在由自函数进行的处理中保证执行的部分的执行前执行上述第1特定命令、并且在返回到调用源前执行第2特定命令;
特权命令执行控制部,当上述应用进程执行特权命令而产生了内部中断时,根据上述应用进程的上述属性值控制可否执行特权命令;
安全门侵入处理部,当上述应用进程执行第1特定命令而产生了内部中断时,检查上述第1特定命令的地址是否在上述允许地址范围内,如果处于上述允许地址范围内,则变更上述应用进程的上述属性值;以及
安全门退出处理部,当上述应用进程执行第2特定命令而产生了内部中断时,将上述应用进程的上述属性值复原。
2. 根据权利要求1所述的信息处理装置,上述保证执行的部分,是通过实施参数检查和必需的预处理,来保证之后的关键处理的安全执行的部分。
3. 根据权利要求1或2所述的信息处理装置,上述属性值是表示上述应用进程的安全级别的属性值。
4. 根据权利要求3所述的信息处理装置,上述特权命令执行控制部进行根据上述应用进程的安全级别的权限检查,在具有执行特权命令的权限时执行特权命令。
5. 根据权利要求1或2所述的信息处理装置,上述属性值是表示上述应用进程的安全门侵入状态的属性值。
6. 根据权利要求5所述的信息处理装置,上述特权命令执行控制部在上述应用进程处于安全门侵入状态的情况下,执行特权命令。
7. 根据权利要求1或2所述的信息处理装置,上述属性值包含表示上述应用进程的安全级别的属性值和表示上述应用进程的安全门侵入状态的属性值。
8. 根据权利要求7所述的信息处理装置,上述特权命令执行控制部在上述应用进程处于安全门侵入状态的情况下,省略根据上述应用进程的安全级别的权限检查,执行特权命令,在上述应用进程不处于安全门侵入状态的情况下,进行根据上述应用进程的安全级别的权限检查,在具有执行特权命令的权限时执行特权命令。
9. 根据权利要求7所述的信息处理装置,
上述安全门侵入处理部变更成为安全门侵入状态的应用进程的安全级别;
上述安全门退出处理部将成为安全门退出状态的应用进程的安全级别复原;并且
上述特权命令执行控制部,进行根据上述应用进程的安全级别的权限检查,在具有执行特权命令的权限时执行特权命令。
10. 根据权利要求7所述的信息处理装置,上述特权命令执行控制部在上述应用进程处于安全门侵入状态的情况下,更新了上述应用进程的安全级别后,进行根据上述应用进程的安全级别的权限检查,当具有执行特权命令的权限时执行特权命令后,将安全级别恢复到原来的值。
11. 根据权利要求8~10中任意一项所述的信息处理装置,包括:
安全门临时退出处理部,当在处于安全门侵入状态的上述应用进程的运行中产生了信号或中断时,在调用上述应用进程的信号/中断句柄前将上述应用进程的安全级别恢复为安全门侵入前的值,在根据上述信号/中断句柄的处理结束时或结束后,恢复为安全门侵入后的值。
12. 根据权利要求1或2所述的信息处理装置,包括:
安全门临时退出处理部,在由上述安全门侵入处理部变更了上述应用进程的上述属性值后,到由上述安全门退出处理部将上述应用进程的上述属性值复原之前的上述应用进程的运行中产生了信号或中断时,在调用上述应用进程的信号/中断句柄前将上述应用进程的上述属性值恢复到基于上述安全门侵入处理部的变更前的值,在根据上述信号/中断句柄的处理结束时或结束后,恢复为基于上述安全门侵入处理部的变更后的值。
13. 根据权利要求3、4、7~11中任意一项所述的信息处理装置,上述安全门侵入处理部将上述应用进程的安全级别变更为特权级别。
14. 根据权利要求3、4、7~11中任意一项所述的信息处理装置,包括保持安全级别变更规则的安全级别变更策略数据库,上述安全门侵入处理部根据上述安全级别变更规则变更上述应用进程的安全级别。
15. 根据权利要求5~11中任意一项所述的信息处理装置,表示上述应用进程的安全门侵入状态的属性值,作为对应各应用进程的进程ID至少保持有安全级别的进程管理用数据库的1个标志被记录。
16. 根据权利要求5~11中任意一项所述的信息处理装置,包括管理安全门侵入状态的应用进程的一览的数据库,根据在该数据库中是否记录有进程ID来决定表示应用进程的安全门侵入状态的属性值。
17. 根据权利要求1~12中任意一项所述的信息处理装置,上述库函数在保证执行的处理记述之前配置有第1特定命令,在返回到调用源的出口之前配置有第2特定命令。
18. 根据权利要求1~12中任意一项所述的信息处理装置,上述库函数在保证执行的处理记述之前配有置第1特定命令,在配置第1特定命令的部位之后必须执行的路径上配置有改变上述应用进程的堆栈的命令列,以在返回到调用源前经过包含第2特定命令的函数。
19. 根据权利要求1~12中任意一项所述的信息处理装置,
上述库函数在保证执行的处理记述之前配置有第1特定命令;
上述安全门侵入处理部,在变更了上述应用进程的上述属性值的情况下,改变上述应用进程的堆栈,以在上述应用进程返回到调用源之前,经过包含第2特定命令的函数。
20. 根据权利要求1~12中任意一项所述的信息处理装置,上述预定的地址范围是ROM区域内的地址范围。
21. 根据权利要求1~12中任意一项所述的信息处理装置,上述预定的地址范围是被从ROM区域装入到RAM区域的库函数在RAM区域上的地址范围。
22. 根据权利要求1~12中任意一项所述的信息处理装置,上述预定的地址范围是被从可信赖的文件***装入到RAM区域的库函数在RAM区域上的地址范围。
23. 根据权利要求1~12中任意一项所述的信息处理装置,上述预定的地址范围是被从文件***装入到RAM区域的可信赖的库函数在RAM区域上的地址范围。
24. 根据权利要求1~12中任意一项所述的信息处理装置,上述安全门侵入处理部,在上述应用进程执行第1特定命令发生了内部中断时,除进行上述第1特定命令的地址是否在上述允许地址范围内的检查外,还进行上述第1特定命令的地址是否是程序区的检查。
25. 根据权利要求1~12中任意一项所述的信息处理装置,上述第1特定命令和上述第2的特定命令分别是对操作***发出安全门侵入请求、退出请求的***调用命令。
26. 根据权利要求1~12中任意一项所述的信息处理装置,上述库函数包含基本库函数和服务API库函数。
27. 根据权利要求26所述的信息处理装置,
上述基本库函数,作为特权命令包含共有存储器操作***调用命令和信号机操作***调用命令;
上述服务API库函数包含程序代码,该程序代码利用包含上述共有存储器操作***调用命令和信号机操作***调用命令的基本库函数。
28. 根据权利要求26所述的信息处理装置,
上述基本库函数包含作为用于与X服务器进行通信的特权命令的套接字通信***调用命令;
上述服务API库函数包含程序代码,该程序代码利用包含上述套接字通信***调用命令的基本库函数。
29. 根据权利要求26所述的信息处理装置,
上述基本库函数,为了打开包含DRM管理对象内容的文件,而作为特权命令包含有文件打开***调用命令;
上述服务API库函数,进行DRM处理,且包含程序代码,该程序代码利用包含上述文件打开***调用命令的基本库函数。
30. 根据权利要求26所述的信息处理装置,
上述基本库函数,为了与外部的服务器进行通信,而作为特权命令包含有套接字通信***调用命令;
上述服务API库函数,进行HTTP处理,且包含程序代码,该程序代码利用包含上述套接字通信***调用命令的基本库函数。
31. 一种信息处理方法,
在信息处理装置中保持库函数、应用进程、应用进程的属性值及第1特定命令的允许地址范围,该库函数在由自函数进行的处理中保证执行的部分的执行前执行上述第1特定命令、并且在返回到调用源前执行第2特定命令;
该信息处理方法执行:
特权命令执行控制处理,当上述应用进程执行特权命令产生了内部中断时,根据上述应用进程的上述属性值控制可否执行特权命令;
安全门侵入处理,当上述应用进程执行第1特定命令产生了内部中断时,检查上述第1特定命令的地址是否在上述允许地址范围内,如果处于上述允许地址范围内,则变更上述应用进程的上述属性值;以及
安全门退出处理,当上述应用进程执行第2特定命令产生了内部中断时,将上述应用进程的上述属性值复原。
32. 根据权利要求31所述的信息处理方法,上述保证执行的部分,是通过实施参数检查和必需的预处理,来保证之后的关键处理的安全执行的部分。
33. 根据权利要求31或32所述的信息处理方法,上述属性值是表示上述应用进程的安全级别的属性值。
34. 根据权利要求33所述的信息处理方法,在上述特权命令执行控制处理中,进行根据上述应用进程的安全级别的权限检查,在具有执行特权命令的权限时执行特权命令。
35. 根据权利要求31或32所述的信息处理方法,上述属性值是表示上述应用进程的安全门侵入状态的属性值。
36. 根据权利要求35所述的信息处理方法,在上述特权命令执行控制处理中,在上述应用进程处于安全门侵入状态的情况下,执行特权命令。
37. 根据权利要求31或32所述的信息处理方法,上述属性值包含表示上述应用进程的安全级别的属性值和表示上述应用进程的安全门侵入状态的属性值。
38. 根据权利要求37所述的信息处理方法,上述特权命令执行控制处理中,在上述应用进程处于安全门侵入状态的情况下,省略根据上述应用进程的安全级别的权限检查,执行特权命令,在上述应用进程不处于安全门侵入状态的情况下,进行根据上述应用进程的安全级别的权限检查,在具有执行特权命令的权限时执行特权命令。
39. 根据权利要求37所述的信息处理方法,
在上述安全门侵入处理中,变更成为安全门侵入状态的应用进程的安全级别;
在上述安全门退出处理中,将成为安全门退出状态的应用进程的安全级别复原;
在上述特权命令执行控制处理中,进行根据上述应用进程的安全级别的权限检查,在具有执行特权命令的权限时执行特权命令。
40. 根据权利要求37所述的信息处理方法,在上述特权命令执行控制处理中,在上述应用进程处于安全门侵入状态的情况下,更新了上述应用进程的安全级别后,进行根据上述应用进程的安全级别的权限检查,当具有执行特权命令的权限时执行特权命令后,将安全级别恢复到原来的值。
41. 根据权利要求38~40中任意一项所述的信息处理方法,上述信息处理装置进行:
安全门临时退出处理,当在处于安全门侵入状态的上述应用进程的运行中产生信号或中断时,在调用上述应用进程的信号/中断句柄前将上述应用进程的安全级别恢复为安全门侵入前的值,在根据上述信号/中断句柄的处理结束时或结束后,恢复为安全门侵入后的值。
42. 根据权利要求31或32所述的信息处理方法,上述信息处理装置进行:
安全门临时退出处理,在由上述安全门侵入处理变更了上述应用进程的上述属性值后,到由上述安全门退出处理将上述应用进程的上述属性值复原之前的上述应用进程的运行中,产生了信号或中断时,在调用上述应用进程的信号/中断句柄前将上述应用进程的上述属性值恢复到基于上述安全门侵入处理的变更前的值,在根据上述信号/中断句柄的处理结束时或结束后,恢复为基于上述安全门侵入处理的变更后的值。
43. 根据权利要求33、34、37~41中任意一项所述的信息处理方法,在上述安全门侵入处理中,将上述应用进程的安全级别变更为特权级别。
44. 根据权利要求33、34、37~41中任意一项所述的信息处理方法,上述计算机包括保持安全级别变更规则的安全级别变更策略数据库,在上述安全门侵入处理中,根据上述安全级别变更规则变更上述应用进程的安全级别。
45. 根据权利要求35~41中任意一项所述的信息处理方法,表示上述应用进程的安全门侵入状态的属性值,作为对应各应用进程的进程ID至少保持有安全级别的进程管理用数据库的1个标志被记录。
46. 根据权利要求35~41中任意一项所述的信息处理方法,包括管理安全门侵入状态的应用进程的一览的数据库,根据在该数据库中是否记录有进程ID来决定表示应用进程的安全门侵入状态的属性值。
47. 根据权利要求31~42中任意一项所述的信息处理方法,上述库函数在保证执行的处理记述之前配置有第1特定命令,在返回到调用源的出口之前配置有第2特定命令。
48. 根据权利要求31~42中任意一项所述的信息处理方法,上述库函数在保证执行的处理记述之前配置有第1特定命令,在配置第1特定命令的部位之后必须执行的路径上,配置有改变上述应用进程的堆栈的命令列,以在返回到调用源前经过包含第2特定命令的函数。
49. 根据权利要求31~42中任意一项所述的信息处理方法,
上述库函数在保证执行的处理记述之前配置有第1特定命令;
上述安全门侵入处理中,在变更了上述应用进程的上述属性值的情况下,改变上述应用进程的堆栈,以在上述应用进程返回到调用源之前,经过包含第2特定命令的函数。
50. 一种程序,用于在具有计算机可读取的记录介质的计算机中执行处理,该计算机可读取的记录介质保持库函数、应用进程、应用进程的属性值及第1特定命令的允许地址范围,该库函数在由自函数进行的处理中保证执行的部分的执行前执行上述第1特定命令、并且在返回到调用源前执行第2特定命令,上述程序使该计算机执行:
特权命令执行控制处理,当上述应用进程执行特权命令产生了内部中断时,根据上述应用进程的上述属性值控制可否执行特权命令;
安全门侵入处理,当上述应用进程执行第1特定命令产生了内部中断时,检查上述第1特定命令的地址是否在上述允许地址范围内,如果处于上述允许地址范围内,则变更上述应用进程的上述属性值;以及
安全门退出处理,当上述应用进程执行第2特定命令产生了内部中断时,将上述应用进程的上述属性值复原。
51. 根据权利要求50所述的程序,上述保证执行的部分,是通过实施参数检查和必需的预处理,来保证之后的关键处理的安全执行的部分。
52. 根据权利要求50或51所述的程序,上述属性值是表示上述应用进程的安全级别的属性值。
53. 根据权利要求52所述的程序,在上述特权命令执行控制处理中,进行根据上述应用进程的安全级别的权限检查,在具有执行特权命令的权限时执行特权命令。
54. 根据权利要求50或51所述的程序,上述属性值是表示上述应用进程的安全门侵入状态的属性值。
55. 根据权利要求54所述的程序,在上述特权命令执行控制处理中,在上述应用进程处于安全门侵入状态的情况下,执行特权命令。
56. 根据权利要求50或51所述的程序,上述属性值包含表示上述应用进程的安全级别的属性值和表示上述应用进程的安全门侵入状态的属性值。
57. 根据权利要求56所述的程序,上述特权命令执行控制处理中,在上述应用进程处于安全门侵入状态的情况下,省略根据上述应用进程的安全级别的权限检查,执行特权命令,在上述应用进程不处于安全门侵入状态的情况下,进行根据上述应用进程的安全级别的权限检查,在具有执行特权命令的权限时执行特权命令。
58. 根据权利要求56所述的程序,
在上述安全门侵入处理中,变更成为安全门侵入状态的应用进程的安全级别;
在上述安全门退出处理中,将成为安全门退出状态的应用进程的安全级别复原;
在上述特权命令执行控制处理中,进行根据上述应用进程的安全级别的权限检查,在具有执行特权命令的权限时执行特权命令。
59. 根据权利要求56所述的程序,在上述特权命令执行控制处理中,在上述应用进程处于安全门侵入状态的情况下,更新了上述应用进程的安全级别后,进行根据上述应用进程的安全级别的权限检查,当具有执行特权命令的权限时执行特权命令后,将安全级别恢复到原来的值。
60. 根据权利要求57~59中任意一项所述的程序,在上述计算机中进行:
安全门临时退出处理,当在处于安全门侵入状态的上述应用进程的运行中产生信号或中断时,在调用上述应用进程的信号/中断句柄前将上述应用进程的安全级别恢复为安全门侵入前的值,在根据上述信号/中断句柄的处理结束时或结束后,恢复为安全门侵入后的值。
61. 根据权利要求50或51所述的程序,在上述计算机中进行:
安全门临时退出处理,在由上述安全门侵入处理变更了上述应用进程的上述属性值后,到由上述安全门退出处理将上述应用进程的上述属性值复原之前的上述应用进程的运行中,产生了信号或中断时,在调用上述应用进程的信号/中断句柄前将上述应用进程的上述属性值恢复到基于上述安全门侵入处理的变更前的值,在根据上述信号/中断句柄的处理结束时或结束后,恢复为基于上述安全门侵入处理的变更后的值。
62. 根据权利要求52、53、56~60中任意一项所述的程序,在上述安全门侵入处理中,将上述应用进程的安全级别变更为特权级别。
63. 根据权利要求52、53、56~60中任意一项所述的程序,上述计算机包括保持安全级别变更规则的安全级别变更策略数据库,在上述安全门侵入处理中,根据上述安全级别变更规则变更上述应用进程的安全级别。
64. 根据权利要求54~60中任意一项所述的程序,表示上述应用进程的安全门侵入状态的属性值,作为对应各应用进程的进程ID至少保持有安全级别的进程管理用数据库的1个标志被记录。
65. 根据权利要求54~60中任意一项所述的程序,包括管理安全门侵入状态的应用进程的一览的数据库,根据在该数据库中是否记录有进程ID来决定表示应用进程的安全门侵入状态的属性值。
66. 根据权利要求50~61中任意一项所述的程序,上述库函数在保证执行的处理记述之前配置有第1特定命令,在返回到调用源的出口之前配置有第2特定命令。
67. 根据权利要求50~61中任意一项所述的程序,上述库函数在保证执行的处理记述之前配置有第1特定命令,在配置第1特定命令的部位之后必须执行的路径上,配置有改变上述应用进程的堆栈的命令列,以在返回到调用源前经过包含第2特定命令的函数。
68. 根据权利要求50~61中任意一项所述的程序,
上述库函数在保证执行的处理记述之前配置有第1特定命令;
上述安全门侵入处理中,在变更了上述应用进程的上述属性值的情况下,改变上述应用进程的堆栈,以在上述应用进程返回到调用源之前,经过包含第2特定命令的函数。
Claims (65)
1. 一种信息处理装置,包括:
存储部,保持库函数、应用进程、应用进程的属性值及第1特定命令的允许地址范围,该库函数在由自函数进行的处理中保证执行的部分的执行前执行上述第1特定命令、并且在返回到调用源前执行第2特定命令;
特权命令执行控制部,当上述应用进程执行特权命令而产生了内部中断时,根据上述应用进程的上述属性值控制可否执行特权命令;
安全门侵入处理部,当上述应用进程执行第1特定命令而产生了内部中断时,检查上述第1特定命令的地址是否在上述允许地址范围内,如果处于上述允许地址范围内,则变更上述应用进程的上述属性值;以及
安全门退出处理部,当上述应用进程执行第2特定命令而产生了内部中断时,将上述应用进程的上述属性值复原。
2. 根据权利要求1所述的信息处理装置,上述属性值是表示上述应用进程的安全级别的属性值。
3. 根据权利要求2所述的信息处理装置,上述特权命令执行控制部进行根据上述应用进程的安全级别的权限检查,在具有执行特权命令的权限时执行特权命令。
4. 根据权利要求1所述的信息处理装置,上述属性值是表示上述应用进程的安全门侵入状态的属性值。
5. 根据权利要求4所述的信息处理装置,上述特权命令执行控制部在上述应用进程处于安全门侵入状态的情况下,执行特权命令。
6. 根据权利要求1所述的信息处理装置,上述属性值包含表示上述应用进程的安全级别的属性值和表示上述应用进程的安全门侵入状态的属性值。
7. 根据权利要求6所述的信息处理装置,上述特权命令执行控制部在上述应用进程处于安全门侵入状态的情况下,省略根据上述应用进程的安全级别的权限检查,执行特权命令,在上述应用进程不处于安全门侵入状态的情况下,进行根据上述应用进程的安全级别的权限检查,在具有执行特权命令的权限时执行特权命令。
8. 根据权利要求6所述的信息处理装置,
上述安全门侵入处理部变更成为安全门侵入状态的应用进程的安全级别;
上述安全门退出处理部将成为安全门退出状态的应用进程的安全级别复原;并且
上述特权命令执行控制部,进行根据上述应用进程的安全级别的权限检查,在具有执行特权命令的权限时执行特权命令。
9. 根据权利要求6所述的信息处理装置,上述特权命令执行控制部在上述应用进程处于安全门侵入状态的情况下,更新了上述应用进程的安全级别后,进行根据上述应用进程的安全级别的权限检查,当具有执行特权命令的权限时执行特权命令后,将安全级别恢复到原来的值。
10. 根据权利要求7、8、9中任意一项所述的信息处理装置,包括:
安全门临时退出处理部,当在处于安全门侵入状态的上述应用进程的运行中产生了信号或中断时,在调用上述应用进程的信号/中断句柄前将上述应用进程的安全级别恢复为安全门侵入前的值,在根据上述信号/中断句柄的处理结束时或结束后,恢复为安全门侵入后的值。
11. 根据权利要求1所述的信息处理装置,包括:
安全门临时退出处理部,在由上述安全门侵入处理部变更了上述应用进程的上述属性值后,到由上述安全门退出处理部将上述应用进程的上述属性值复原之前的上述应用进程的运行中产生了信号或中断时,在调用上述应用进程的信号/中断句柄前将上述应用进程的上述属性值恢复到基于上述安全门侵入处理部的变更前的值,在根据上述信号/中断句柄的处理结束时或结束后,恢复为基于上述安全门侵入处理部的变更后的值。
12. 根据权利要求2、3、6~10中任意一项所述的信息处理装置,上述安全门侵入处理部将上述应用进程的安全级别变更为特权级别。
13. 根据权利要求2、3、6~10中任意一项所述的信息处理装置,包括保持安全级别变更规则的安全级别变更策略数据库,上述安全门侵入处理部根据上述安全级别变更规则变更上述应用进程的安全级别。
14. 根据权利要求4~10中任意一项所述的信息处理装置,表示上述应用进程的安全门侵入状态的属性值,作为对应各应用进程的进程ID至少保持有安全级别的进程管理用数据库的1个标志被记录。
15. 根据权利要求4~10中任意一项所述的信息处理装置,包括管理安全门侵入状态的应用进程的一览的数据库,根据在该数据库中是否记录有进程ID来决定表示应用进程的安全门侵入状态的属性值。
16. 根据权利要求1~11中任意一项所述的信息处理装置,上述库函数在保证执行的处理记述之前配置有第1特定命令,在返回到调用源的出口之前配置有第2特定命令。
17. 根据权利要求1~11中任意一项所述的信息处理装置,上述库函数在保证执行的处理记述之前配有置第1特定命令,在配置第1特定命令的部位之后必须执行的路径上配置有改变上述应用进程的堆栈的命令列,以在返回到调用源前经过包含第2特定命令的函数。
18. 根据权利要求1~11中任意一项所述的信息处理装置,
上述库函数在保证执行的处理记述之前配置有第1特定命令;
上述安全门侵入处理部,在变更了上述应用进程的上述属性值的情况下,改变上述应用进程的堆栈,以在上述应用进程返回到调用源之前,经过包含第2特定命令的函数。
19. 根据权利要求1~11中任意一项所述的信息处理装置,上述预定的地址范围是ROM区域内的地址范围。
20. 根据权利要求1~11中任意一项所述的信息处理装置,上述预定的地址范围是被从ROM区域装入到RAM区域的库函数在RAM区域上的地址范围。
21. 根据权利要求1~11中任意一项所述的信息处理装置,上述预定的地址范围是被从可信赖的文件***装入到RAM区域的库函数在RAM区域上的地址范围。
22. 根据权利要求1~11中任意一项所述的信息处理装置,上述预定的地址范围是被从文件***装入到RAM区域的可信赖的库函数在RAM区域上的地址范围。
23. 根据权利要求1~11中任意一项所述的信息处理装置,上述安全门侵入处理部,在上述应用进程执行第1特定命令发生了内部中断时,除进行上述第1特定命令的地址是否在上述允许地址范围内的检查外,还进行上述第1特定命令的地址是否是程序区的检查。
24. 根据权利要求1~11中任意一项所述的信息处理装置,上述第1特定命令和上述第2的特定命令分别是对操作***发出安全门侵入请求、退出请求的***调用命令。
25. 根据权利要求1~11中任意一项所述的信息处理装置,上述库函数包含基本库函数和服务API库函数。
26. 根据权利要求25所述的信息处理装置,
上述基本库函数,作为特权命令包含共有存储器操作***调用命令和信号机操作***调用命令;
上述服务API库函数包含程序代码,该程序代码利用包含上述共有存储器操作***调用命令和信号机操作***调用命令的基本库函数。
27. 根据权利要求25所述的信息处理装置,
上述基本库函数包含作为用于与X服务器进行通信的特权命令的套接字通信***调用命令;
上述服务API库函数包含程序代码,该程序代码利用包含上述套接字通信***调用命令的基本库函数。
28. 根据权利要求25所述的信息处理装置,
上述基本库函数,为了打开包含DRM管理对象内容的文件,而作为特权命令包含有文件打开***调用命令;
上述服务API库函数,进行DRM处理,且包含程序代码,该程序代码利用包含上述文件打开***调用命令的基本库函数。
29. 根据权利要求25所述的信息处理装置,
上述基本库函数,为了与外部的服务器进行通信,而作为特权命令包含有套接字通信***调用命令;
上述服务API库函数,进行HTTP处理,且包含程序代码,该程序代码利用包含上述套接字通信***调用命令的基本库函数。
30. 一种信息处理方法,
在信息处理装置中保持库函数、应用进程、应用进程的属性值及第1特定命令的允许地址范围,该库函数在由自函数进行的处理中保证执行的部分的执行前执行上述第1特定命令、并且在返回到调用源前执行第2特定命令;
该信息处理方法执行:
特权命令执行控制处理,当上述应用进程执行特权命令产生了内部中断时,根据上述应用进程的上述属性值控制可否执行特权命令;
安全门侵入处理,当上述应用进程执行第1特定命令产生了内部中断时,检查上述第1特定命令的地址是否在上述允许地址范围内,如果处于上述允许地址范围内,则变更上述应用进程的上述属性值;以及
安全门退出处理,当上述应用进程执行第2特定命令产生了内部中断时,将上述应用进程的上述属性值复原。
31. 根据权利要求30所述的信息处理方法,上述属性值是表示上述应用进程的安全级别的属性值。
32. 根据权利要求31所述的信息处理方法,在上述特权命令执行控制处理中,进行根据上述应用进程的安全级别的权限检查,在具有执行特权命令的权限时执行特权命令。
33. 根据权利要求30所述的信息处理方法,上述属性值是表示上述应用进程的安全门侵入状态的属性值。
34. 根据权利要求33所述的信息处理方法,在上述特权命令执行控制处理中,在上述应用进程处于安全门侵入状态的情况下,执行特权命令。
35. 根据权利要求30所述的信息处理方法,上述属性值包含表示上述应用进程的安全级别的属性值和表示上述应用进程的安全门侵入状态的属性值。
36. 根据权利要求35所述的信息处理方法,上述特权命令执行控制处理中,在上述应用进程处于安全门侵入状态的情况下,省略根据上述应用进程的安全级别的权限检查,执行特权命令,在上述应用进程不处于安全门侵入状态的情况下,进行根据上述应用进程的安全级别的权限检查,在具有执行特权命令的权限时执行特权命令。
37. 根据权利要求35所述的信息处理方法,
在上述安全门侵入处理中,变更成为安全门侵入状态的应用进程的安全级别;
在上述安全门退出处理中,将成为安全门退出状态的应用进程的安全级别复原;
在上述特权命令执行控制处理中,进行根据上述应用进程的安全级别的权限检查,在具有执行特权命令的权限时执行特权命令。
38. 根据权利要求35所述的信息处理方法,在上述特权命令执行控制处理中,在上述应用进程处于安全门侵入状态的情况下,更新了上述应用进程的安全级别后,进行根据上述应用进程的安全级别的权限检查,当具有执行特权命令的权限时执行特权命令后,将安全级别恢复到原来的值。
39. 根据权利要求36、37、38中任意一项所述的信息处理方法,上述信息处理装置进行:
安全门临时退出处理,当在处于安全门侵入状态的上述应用进程的运行中产生信号或中断时,在调用上述应用进程的信号/中断句柄前将上述应用进程的安全级别恢复为安全门侵入前的值,在根据上述信号/中断句柄的处理结束时或结束后,恢复为安全门侵入后的值。
40. 根据权利要求30所述的信息处理方法,上述信息处理装置进行:
安全门临时退出处理,在由上述安全门侵入处理变更了上述应用进程的上述属性值后,到由上述安全门退出处理将上述应用进程的上述属性值复原之前的上述应用进程的运行中,产生了信号或中断时,在调用上述应用进程的信号/中断句柄前将上述应用进程的上述属性值恢复到基于上述安全门侵入处理的变更前的值,在根据上述信号/中断句柄的处理结束时或结束后,恢复为基于上述安全门侵入处理的变更后的值。
41. 根据权利要求31、32、35~39中任意一项所述的信息处理方法,在上述安全门侵入处理中,将上述应用进程的安全级别变更为特权级别。
42. 根据权利要求31、32、35~39中任意一项所述的信息处理方法,上述计算机包括保持安全级别变更规则的安全级别变更策略数据库,在上述安全门侵入处理中,根据上述安全级别变更规则变更上述应用进程的安全级别。
43. 根据权利要求33~39中任意一项所述的信息处理方法,表示上述应用进程的安全门侵入状态的属性值,作为对应各应用进程的进程ID至少保持有安全级别的进程管理用数据库的1个标志被记录。
44. 根据权利要求33~39中任意一项所述的信息处理方法,包括管理安全门侵入状态的应用进程的一览的数据库,根据在该数据库中是否记录有进程ID来决定表示应用进程的安全门侵入状态的属性值。
45. 根据权利要求30~40中任意一项所述的信息处理方法,上述库函数在保证执行的处理记述之前配置有第1特定命令,在返回到调用源的出口之前配置有第2特定命令。
46. 根据权利要求30~40中任意一项所述的信息处理方法,上述库函数在保证执行的处理记述之前配置有第1特定命令,在配置第1特定命令的部位之后必须执行的路径上,配置有改变上述应用进程的堆栈的命令列,以在返回到调用源前经过包含第2特定命令的函数。
47. 根据权利要求30~40中任意一项所述的信息处理方法,
上述库函数在保证执行的处理记述之前配置有第1特定命令;
上述安全门侵入处理中,在变更了上述应用进程的上述属性值的情况下,改变上述应用进程的堆栈,以在上述应用进程返回到调用源之前,经过包含第2特定命令的函数。
48. 一种程序,用于在具有计算机可读取的记录介质的计算机中执行处理,该计算机可读取的记录介质保持库函数、应用进程、应用进程的属性值及第1特定命令的允许地址范围,该库函数在由自函数进行的处理中保证执行的部分的执行前执行上述第1特定命令、并且在返回到调用源前执行第2特定命令,上述程序使该计算机执行:
特权命令执行控制处理,当上述应用进程执行特权命令产生了内部中断时,根据上述应用进程的上述属性值控制可否执行特权命令;
安全门侵入处理,当上述应用进程执行第1特定命令产生了内部中断时,检查上述第1特定命令的地址是否在上述允许地址范围内,如果处于上述允许地址范围内,则变更上述应用进程的上述属性值;以及
安全门退出处理,当上述应用进程执行第2特定命令产生了内部中断时,将上述应用进程的上述属性值复原。
49. 根据权利要求48所述的程序,上述属性值是表示上述应用进程的安全级别的属性值。
50. 根据权利要求49所述的程序,在上述特权命令执行控制处理中,进行根据上述应用进程的安全级别的权限检查,在具有执行特权命令的权限时执行特权命令。
51. 根据权利要求48所述的程序,上述属性值是表示上述应用进程的安全门侵入状态的属性值。
52. 根据权利要求51所述的程序,在上述特权命令执行控制处理中,在上述应用进程处于安全门侵入状态的情况下,执行特权命令。
53. 根据权利要求48所述的程序,上述属性值包含表示上述应用进程的安全级别的属性值和表示上述应用进程的安全门侵入状态的属性值。
54. 根据权利要求53所述的程序,上述特权命令执行控制处理中,在上述应用进程处于安全门侵入状态的情况下,省略根据上述应用进程的安全级别的权限检查,执行特权命令,在上述应用进程不处于安全门侵入状态的情况下,进行根据上述应用进程的安全级别的权限检查,在具有执行特权命令的权限时执行特权命令。
55. 根据权利要求53所述的程序,
在上述安全门侵入处理中,变更成为安全门侵入状态的应用进程的安全级别;
在上述安全门退出处理中,将成为安全门退出状态的应用进程的安全级别复原;
在上述特权命令执行控制处理中,进行根据上述应用进程的安全级别的权限检查,在具有执行特权命令的权限时执行特权命令。
56. 根据权利要求53所述的程序,在上述特权命令执行控制处理中,在上述应用进程处于安全门侵入状态的情况下,更新了上述应用进程的安全级别后,进行根据上述应用进程的安全级别的权限检查,当具有执行特权命令的权限时执行特权命令后,将安全级别恢复到原来的值。
57. 根据权利要求54、55、56中任意一项所述的程序,在上述计算机中进行:
安全门临时退出处理,当在处于安全门侵入状态的上述应用进程的运行中产生信号或中断时,在调用上述应用进程的信号/中断句柄前将上述应用进程的安全级别恢复为安全门侵入前的值,在根据上述信号/中断句柄的处理结束时或结束后,恢复为安全门侵入后的值。
58. 根据权利要求48所述的程序,在上述计算机中进行:
安全门临时退出处理,在由上述安全门侵入处理变更了上述应用进程的上述属性值后,到由上述安全门退出处理将上述应用进程的上述属性值复原之前的上述应用进程的运行中,产生了信号或中断时,在调用上述应用进程的信号/中断句柄前将上述应用进程的上述属性值恢复到基于上述安全门侵入处理的变更前的值,在根据上述信号/中断句柄的处理结束时或结束后,恢复为基于上述安全门侵入处理的变更后的值。
59. 根据权利要求49、50、53~57中任意一项所述的程序,在上述安全门侵入处理中,将上述应用进程的安全级别变更为特权级别。
60. 根据权利要求49、50、53~57中任意一项所述的程序,上述计算机包括保持安全级别变更规则的安全级别变更策略数据库,在上述安全门侵入处理中,根据上述安全级别变更规则变更上述应用进程的安全级别。
61. 根据权利要求51~57中任意一项所述的程序,表示上述应用进程的安全门侵入状态的属性值,作为对应各应用进程的进程ID至少保持有安全级别的进程管理用数据库的1个标志被记录。
62. 根据权利要求51~57中任意一项所述的程序,包括管理安全门侵入状态的应用进程的一览的数据库,根据在该数据库中是否记录有进程ID来决定表示应用进程的安全门侵入状态的属性值。
63. 根据权利要求48~58中任意一项所述的程序,上述库函数在保证执行的处理记述之前配置有第1特定命令,在返回到调用源的出口之前配置有第2特定命令。
64. 根据权利要求48~58中任意一项所述的程序,上述库函数在保证执行的处理记述之前配置有第1特定命令,在配置第1特定命令的部位之后必须执行的路径上,配置有改变上述应用进程的堆栈的命令列,以在返回到调用源前经过包含第2特定命令的函数。
65. 根据权利要求48~58中任意一项所述的程序,
上述库函数在保证执行的处理记述之前配置有第1特定命令;
上述安全门侵入处理中,在变更了上述应用进程的上述属性值的情况下,改变上述应用进程的堆栈,以在上述应用进程返回到调用源之前,经过包含第2特定命令的函数。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP291190/2005 | 2005-10-04 | ||
JP2005291190 | 2005-10-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101283332A true CN101283332A (zh) | 2008-10-08 |
Family
ID=37906269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200680037198.4A Pending CN101283332A (zh) | 2005-10-04 | 2006-10-03 | 信息处理装置、信息处理方法及程序 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20100132053A1 (zh) |
JP (1) | JPWO2007040228A1 (zh) |
CN (1) | CN101283332A (zh) |
GB (1) | GB2447154B (zh) |
WO (1) | WO2007040228A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008111382A1 (ja) * | 2007-02-22 | 2008-09-18 | Nec Corporation | 情報処理装置、情報処理方法およびプログラム |
DE102010018804A1 (de) | 2010-04-29 | 2011-11-03 | Voith Patent Gmbh | Wasserturbine |
GB2482701C (en) * | 2010-08-11 | 2018-12-26 | Advanced Risc Mach Ltd | Illegal mode change handling |
US20120131635A1 (en) * | 2010-11-23 | 2012-05-24 | Afore Solutions Inc. | Method and system for securing data |
US20130055335A1 (en) * | 2011-08-22 | 2013-02-28 | Shih-Wei Chien | Security enhancement methods and systems |
US9020973B2 (en) * | 2011-12-27 | 2015-04-28 | Sap Se | User interface model driven data access control |
US9197660B2 (en) * | 2013-03-15 | 2015-11-24 | Mcafee, Inc. | Generic privilege escalation prevention |
GB2515047B (en) * | 2013-06-12 | 2021-02-10 | Advanced Risc Mach Ltd | Security protection of software libraries in a data processing apparatus |
US10942844B2 (en) * | 2016-06-10 | 2021-03-09 | Apple Inc. | Reserved memory in memory management system |
US10298605B2 (en) * | 2016-11-16 | 2019-05-21 | Red Hat, Inc. | Multi-tenant cloud security threat detection |
US10360353B2 (en) | 2017-02-08 | 2019-07-23 | International Business Machines Corporation | Execution control of computer software instructions |
JP6951375B2 (ja) * | 2019-03-11 | 2021-10-20 | 株式会社東芝 | 情報処理装置、情報処理方法及びプログラム |
US11886605B2 (en) * | 2019-09-30 | 2024-01-30 | Red Hat, Inc. | Differentiated file permissions for container users |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3689287T2 (de) * | 1985-02-18 | 1994-05-26 | Nippon Electric Co | Datenverarbeitungsgerät. |
US5003466A (en) * | 1987-02-06 | 1991-03-26 | At&T Bell Laboratories | Multiprocessing method and arrangement |
US5497494A (en) * | 1993-07-23 | 1996-03-05 | International Business Machines Corporation | Method for saving and restoring the state of a CPU executing code in protected mode |
US5901312A (en) * | 1994-12-13 | 1999-05-04 | Microsoft Corporation | Providing application programs with unmediated access to a contested hardware resource |
US5864707A (en) * | 1995-12-11 | 1999-01-26 | Advanced Micro Devices, Inc. | Superscalar microprocessor configured to predict return addresses from a return stack storage |
US7680999B1 (en) * | 2000-02-08 | 2010-03-16 | Hewlett-Packard Development Company, L.P. | Privilege promotion based on check of previous privilege level |
US7216345B1 (en) * | 2000-04-07 | 2007-05-08 | Hall Aluminum Llc | Method and apparatus for protectively operating a data/information processing device |
US6986052B1 (en) * | 2000-06-30 | 2006-01-10 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition |
US6694457B2 (en) * | 2001-03-06 | 2004-02-17 | Hewlett-Packard Development Company, L.P. | System and method for monitoring execution of privileged instructions |
US7631160B2 (en) * | 2001-04-04 | 2009-12-08 | Advanced Micro Devices, Inc. | Method and apparatus for securing portions of memory |
US6961941B1 (en) * | 2001-06-08 | 2005-11-01 | Vmware, Inc. | Computer configuration for resource management in systems including a virtual machine |
US6901505B2 (en) * | 2001-08-09 | 2005-05-31 | Advanced Micro Devices, Inc. | Instruction causing swap of base address from segment register with address from another register |
US6823433B1 (en) * | 2001-11-13 | 2004-11-23 | Advanced Micro Devices, Inc. | Memory management system and method for providing physical address based memory access security |
US7308576B2 (en) * | 2001-12-31 | 2007-12-11 | Intel Corporation | Authenticated code module |
US20030126453A1 (en) * | 2001-12-31 | 2003-07-03 | Glew Andrew F. | Processor supporting execution of an authenticated code instruction |
JP3763142B2 (ja) * | 2002-01-30 | 2006-04-05 | ソニー株式会社 | 特権命令実行制御装置、特権命令実行制御方法、および特権命令実行制御プログラム |
US7493498B1 (en) * | 2002-03-27 | 2009-02-17 | Advanced Micro Devices, Inc. | Input/output permission bitmaps for compartmentalized security |
WO2003090052A2 (en) * | 2002-04-18 | 2003-10-30 | Advanced Micro Devices Inc. | A computer system including a secure execution mode - capable cpu and a security services processor connected via a secure communication path |
US7130977B1 (en) * | 2002-04-18 | 2006-10-31 | Advanced Micro Devices, Inc. | Controlling access to a control register of a microprocessor |
US7043616B1 (en) * | 2002-04-18 | 2006-05-09 | Advanced Micro Devices, Inc. | Method of controlling access to model specific registers of a microprocessor |
US7165135B1 (en) * | 2002-04-18 | 2007-01-16 | Advanced Micro Devices, Inc. | Method and apparatus for controlling interrupts in a secure execution mode-capable processor |
US7210144B2 (en) * | 2002-08-02 | 2007-04-24 | Microsoft Corporation | Method for monitoring and emulating privileged instructions of programs in a virtual machine |
US6895491B2 (en) * | 2002-09-26 | 2005-05-17 | Hewlett-Packard Development Company, L.P. | Memory addressing for a virtual machine implementation on a computer processor supporting virtual hash-page-table searching |
US7322042B2 (en) * | 2003-02-07 | 2008-01-22 | Broadon Communications Corp. | Secure and backward-compatible processor and secure software execution thereon |
AU2004220645C1 (en) * | 2003-03-10 | 2010-11-18 | Mudalla Technology, Inc. | Dynamic configuration of a gaming system |
US7146477B1 (en) * | 2003-04-18 | 2006-12-05 | Advanced Micro Devices, Inc. | Mechanism for selectively blocking peripheral device accesses to system memory |
US9020801B2 (en) * | 2003-08-11 | 2015-04-28 | Scalemp Inc. | Cluster-based operating system-agnostic virtual computing system |
US7437759B1 (en) * | 2004-02-17 | 2008-10-14 | Symantec Corporation | Kernel mode overflow attack prevention system and method |
US7802250B2 (en) * | 2004-06-28 | 2010-09-21 | Intel Corporation | Support for transitioning to a virtual machine monitor based upon the privilege level of guest software |
US7480797B2 (en) * | 2004-07-31 | 2009-01-20 | Hewlett-Packard Development Company, L.P. | Method and system for preventing current-privilege-level-information leaks to non-privileged code |
US7203822B2 (en) * | 2004-07-31 | 2007-04-10 | Hewlett-Packard Development Company, L.P. | Unprivileged context management |
US7676662B2 (en) * | 2004-07-31 | 2010-03-09 | Hewlett-Packard Development Company, L.P. | Virtualization of a non-privileged instruction that behaves differently when executed by privileged code than by non-privileged code |
US20060064528A1 (en) * | 2004-09-17 | 2006-03-23 | Hewlett-Packard Development Company, L.P. | Privileged resource access |
US20060136679A1 (en) * | 2004-12-21 | 2006-06-22 | O'connor Dennis M | Protected processing apparatus, systems, and methods |
GB0504987D0 (en) * | 2005-03-10 | 2005-04-20 | Level 5 Networks Ltd | Memory access |
US7779480B2 (en) * | 2005-06-30 | 2010-08-17 | Microsoft Corporation | Identifying dependencies of an application upon a given security context |
US7467285B2 (en) * | 2005-07-27 | 2008-12-16 | Intel Corporation | Maintaining shadow page tables in a sequestered memory region |
US7797681B2 (en) * | 2006-05-11 | 2010-09-14 | Arm Limited | Stack memory selection upon exception in a data processing system |
US7725894B2 (en) * | 2006-09-15 | 2010-05-25 | International Business Machines Corporation | Enhanced un-privileged computer instruction to store a facility list |
US7802252B2 (en) * | 2007-01-09 | 2010-09-21 | International Business Machines Corporation | Method and apparatus for selecting the architecture level to which a processor appears to conform |
GB2448151B (en) * | 2007-04-03 | 2011-05-04 | Advanced Risc Mach Ltd | Memory domain based security control within data processing systems |
-
2006
- 2006-10-03 US US12/089,326 patent/US20100132053A1/en not_active Abandoned
- 2006-10-03 GB GB0806897A patent/GB2447154B/en not_active Expired - Fee Related
- 2006-10-03 JP JP2007538769A patent/JPWO2007040228A1/ja not_active Withdrawn
- 2006-10-03 CN CN200680037198.4A patent/CN101283332A/zh active Pending
- 2006-10-03 WO PCT/JP2006/319799 patent/WO2007040228A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2007040228B1 (ja) | 2007-07-26 |
GB2447154A (en) | 2008-09-03 |
GB0806897D0 (en) | 2008-05-21 |
GB2447154B (en) | 2009-05-27 |
JPWO2007040228A1 (ja) | 2009-04-16 |
US20100132053A1 (en) | 2010-05-27 |
WO2007040228A1 (ja) | 2007-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101283332A (zh) | 信息处理装置、信息处理方法及程序 | |
Gasser | Building a secure computer system | |
US8015608B2 (en) | Systems and methods for preventing unauthorized use of digital content | |
US8261359B2 (en) | Systems and methods for preventing unauthorized use of digital content | |
US5870467A (en) | Method and apparatus for data input/output management suitable for protection of electronic writing data | |
US8645866B2 (en) | Dynamic icon overlay system and method of producing dynamic icon overlays | |
CN100470440C (zh) | 具有多进程结构的用于运行插件程序代码模块的计算装置 | |
US20110239306A1 (en) | Data leak protection application | |
CN108475217A (zh) | 用于审计虚拟机的***及方法 | |
US20090119772A1 (en) | Secure file access | |
WO2018212474A1 (ko) | 독립된 복원영역을 갖는 보조기억장치 및 이를 적용한 기기 | |
CN106557669A (zh) | 一种应用程序安装过程的权限控制方法及装置 | |
EP2502142A1 (en) | System and method for selective protection of information elements | |
CN109460671A (zh) | 一种基于操作***内核实现网页内容防篡改的方法 | |
US20050216466A1 (en) | Method and system for acquiring resource usage log and computer product | |
KR20140068940A (ko) | 애플리케이션용 콘텐츠 핸들링 기법 | |
AU2002219852B2 (en) | Systems and methods for preventing unauthorized use of digital content | |
KR20090038980A (ko) | 네트워크 공유폴더 접근 제어 장치 및 방법 | |
KR102403127B1 (ko) | 스토리지 운영체제의 커널 수준에서 파일에 지정된 열람제한시간 동안 파일 내용 읽기 및 쓰기를 원천적으로 방지하는 데이터 보호 방법 | |
KR102290130B1 (ko) | 화면 캡쳐 행위에 대응하기 위한 방법 및 애플리케이션 | |
CN112131612B (zh) | 一种cf卡数据防篡改方法、装置、设备及介质 | |
AU2002219852A1 (en) | Systems and methods for preventing unauthorized use of digital content | |
CN117932689A (zh) | 服务的保护方法、装置、电子设备及可读存储介质 | |
AU2010202883B2 (en) | Systems and Methods for Preventing Unauthorized Use of Digital Content | |
US9946852B1 (en) | Commodity hardware based parental control device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20081008 |