Api检查装置以及状态监视装置的制作方法

文档序号:6580690阅读:266来源:国知局
专利名称:Api检查装置以及状态监视装置的制作方法
技术领域
本发明涉及在便携电话或PDA、 PC等设备中通过软件或硬件实现的API 检查装置以及状态监视装置,尤其涉及配置在封闭执行环境中的API检查装 置、和配置在开放执行环境中的状态监视装置。
背景技术
以往,已知在便携电话或PDA、 PC等设备中设有例如可以在1个CPU 上并行地运行多个操作系统(OS )的软件或硬件、所谓的虚拟机监视器(VMM) 的方法。
在这样的设备中,可以在各OS上安全地隔离执行被信赖的程序以外的 程序也可以自由地、或者在一定限制下执行的执行环境(以下称为开放执行环 境),和根据来自开放执行环境的应用程序接口 (API)调用,执行预定的处 理,仅执行被信赖的程序的封闭的执行环境(以下称为封闭执行环境)。在此, 所谓API调用,是指封闭执行环境中的功能的调用、或用于进行与封闭执行 环境的数据交换的调用等。
于是,通过使得可以从开放执行环境调用由封闭执行环境提供的API,从 而可以允许在开放执行环境中自由地追加程序,同时可以在封闭执行环境中在 隔离的状态下利用想要保守的^L密的功能或数据(例如专利文献1 )。
在上述专利文献1所公开的技术中,通过配置在开放执行环境内的OS等 所提供的访问控制功能,对开放执行环境中的API调用源是否是正当的程序 进行认证,防止不正当的API的调用。但是存在如下问题病毒等恶意程序 有可能进入开i文执行环境中,并且,通过恶意用户自身的解析以及攻击使访问 控制功能被绕过或者被无效化的情况下,可能进行不正当的API调用。
另一方面,如果在封闭执行环境中执行是否包含作为API调用的自变量 而使用的值的范围或不正当的字符的检查、交换数据的格式检查、以及病毒检 查等,则可以不受病毒或来自恶意用户的攻击的影响而安全地进行检查。但是,这样的处理负荷会加重,在便携电话等中,电池的消耗、或应答性降低等成为 问题。
因此,作为不依存于os的访问控制,而且与自变量或数据的检查相比处
理负荷较低的检查手段,考虑设定与开放执行环境和封闭执行环境的状态相对
应的检查模式。例如,封闭执行环境内的API检查装置,取得在开放执行环 境中是否正在执行该API调用(协作)所需要的程序以及不正当的程序的状 态信息,当正在执行需要的程序、并且不正当的程序并非正在执行时,许可 API调用,否则对用户进行警告,设定用于催促确^人的用户警告模式。在此, 当协作所需要的程序并非正在执行时,有可能协作动作失败并发生故障,因此, 需要预先向用户进行警告等处理。
但是,在此方法中存在以下问题。第1问题是,追随可以被导入开放执行 环境的多种且持续新出现的不正当程序的出现,运用成本较高,因此寻求运用 成本更低的方法。
第2问题是,在针对某个API调用向用户进行警告来催促确认时,在用 户应答前为用户确认等待状态,别的新的协作请求会被拒绝,但此状态下的来 自开放执行环境的新的协作请求的发行会引起无用的虚拟机切换以及虛拟才几 间通信。
而且,第3问题是,通过引入处理负荷较低的4企查单元,可以作为一次性 的过滤器来除去不正当或不恰当的API调用,但当这样的API调用通过了该 检查单元后,执行自变量或病毒的检查等处理负荷高的检查,因此,API调用 的处理延迟会增加,应答性会下降。
专利文献1美国专利第7325083号说明书

发明内容
因此,本发明的目的在于,提供在具备开放执行环境和封闭执行环境的设 备中,关于通过开放执行环境和封闭执行环境中的API调用而进行的协作, 能够以较低的开销确保安全性以及可靠性的API检查装置以及状态监视装置。
为了解决上述问题,本发明具有如下特征。首先,本发明的第l特征的主 旨在于,提供一种在具备开放执行环境(开放执行环境120)和封闭执行环境 (封闭执行环境130)的设备(设备100)中,被配置在所述封闭执行环境中的API检查装置(API检查装置300 ),所述开放执行环境是被信赖的程序(许 可程序P1)以外的程序(例如非信赖程序P2)也可以自由地或者在一定限制 下执行的执行环境,所述封闭执行环境是根据从所述开放执行环境调用应用程 序接口 (API131)的API调用来执行预定的处理,仅执行被信赖的程序的执 行环境,该API检查装置具备:API检查请求接收部(API检查请求接收部301 ), 其从所述开放执行环境接收请求判定是否许可所述封闭执行环境内的所述 API调用的判定请求;状态信息取得部(状态信息取得部303 ),其取得表示 所述设备的状态的状态信息;检查模式设定部(检查模式设定部305),其根 据所述状态信息取得部所取得的所述状态信息,设定与所述API调用对应的 检查模式;判定部(判定部307),其根据由所述检查模式设定部所设定的所 述检查模式,判定是否许可所述API调用并生成所述API调用的检查结果; 以及检查结果输出部(检查结果输出部309),其输出由所述判定部生成的所 述检查结果。
本发明的第2特征与本发明的第l特征相关,其主旨在于,所述状态信息 取得部,取得本地锁定状态、远程锁定状态、或者表示在预定时间范围内没有 向所述设备的输入操作的无输入操作状态的至少某一种状态,作为所述设备的 所述状态信息,所述检查模式设定部,在所述状态信息是所述本地锁定状态、 所述远程锁定状态、或者所述无输入操作状态时,将所述4企查模式设定为用户 操作禁止模式,所述判定部,在已设定为所述用户操作禁止模式,是仅在通过 所述设备的用户的操作而被请求的情况下被许可的类别的API调用时,禁止 所述API调用。
本发明的第3特征与本发明的第l特征相关,其主旨在于,所述状态信息 取得部,使用非信赖标志作为所述状态信息,所述非信赖标志,当在所述开放 执行环境中正在执行不被信赖的非信赖程序、或者在所述设备中安装了所述非 信赖程序时,被置位,并且,当并非正在执行所述非信赖程序、或者在所述设 备中未安装所述非信赖程序时,被复位,所述检查模式设定部,在所述非信赖 标志为置位状态时,设定为用户警告模式,所述判定部,在被设定为所述用户 警告模式时,对所述设备的用户进行遵从所述状态信息的警告,在对用户确认 了是否许可API调用后、或者不进行所述确认地拒绝所述API调用。本发明的第4特征与本发明的第l特征相关,其主旨在于,所述状态信息 取得部,使用许可标志作为所述状态信息,所述许可标志,当为了正常执行4十 对所述封闭执行环境的API调用所必要的必要程序正在所述开放执行环境中 正常运行时、或者在所述设备中安装了所述必要程序时,被置位,并且,在所 述必要程序故障时、或者在所述设备中未安装所述必要程序时,被复位,所述 检查模式设定部,当所述许可标志为复位状态时,设定为用户警告模式,所述 判定部,在被设定为所述用户警告模式时,对所述设备的用户进行遵从所述状 态信息的警告,在对所述用户确认了是否许可API调用后、或者不进行所述 确认地拒绝所述API调用。
本发明的第5特征与本发明的第1特征相关,其主旨在于,所述API检 查请求接收部,接收包含作为所述应用程序接口的调用源的API调用源的程 序识别符的判定请求,所述状态信息取得部,取得许可标志列表作为所述状态
调用的多个许可程序的每一个,在所述开放执行环境中正在执行所述许可程 序、或者在设备中安装了所述许可程序时被置位的许可标志的列表,所述判定 部,在与所述程序识别符对应的所述许可标志为复位状态时,对所述用户进4亍 警告,在对所述用户确认了是否许可API调用后、或者不进行所述确认地拒 绝所述API调用。
本发明的第6特征与本发明的第l特征相关,其主旨在于,所述状态信息 取得部,当所述本地锁定状态或所述远程锁定状态变化为其它状态时,按照变 化后的状态设定锁定解除等待协作抑制标志,并且按照所述变化后的状态,向 监视在所述开放执行环境中执行的所述程序的状态的状态监视装置通知锁定 解除等待协作抑制标志。
本发明的第7特征与本发明的第l特征相关,其主旨在于,所述状态信息 取得部,在所述封闭执行环境中所述用户的确认等待状态经过了预定时间时, 将用户确认等待协作抑制标志置位,并且向监视在所述开放执行环境中执行的 所述程序的状态的状态监-见装置通知所述用户确认等待协作抑制标志,在所述 用户确认等待协作抑制标志为置位的状态下用户确认等待状态结束了时,将所 述用户确认等待协作抑制标志复位,并且向所述状态监视装置通知所述用户确认等待协作抑制标志已被复位。
本发明的第8特征与本发明的第1特征相关,其主旨在于,所述判定部, 作为所述检查结果,与表示所述检查结果的理由的代码一起生成所述API调 用的禁止、所述API调用的许可、以及所述API调用的拒绝中的某一种。
本发明的第9特征与本发明的第1特征相关,其主旨在于,所述检查模式 设定部,关于与被判定为许可的所述API调用同一类别的API调用、或者包 含表示同一 API调用源的所述程序识别符的API调用,设定预定次数或者在 预定时间范围内无条件地许可的检查省略模式,所述判定部,在设定为所述抬r 查省略模式时,生成表示省略了所述API调用的检查的所述检查结果。
本发明的第IO特征与本发明的第l特征相关,其主旨在于,具备API限 制管理部,其管理所述应用程序接口的类别、和许可或拒绝所述类别的API 调用的所述程序识别符,所述API检查请求接收部接收包含所述API调用源 的程序识别符和所述类别的判定请求,所述判定部向所述API限制管理部进 行查询,在所述判定请求中包含的所述程序识别符相当于被许可API调用的 所述类别时,许可所述API调用。
本发明的第11特征与本发明的第IO特征相关,其主旨在于,所述API 限制管理部,除所述类别和许可或拒绝所述类别的API调用的所述程序识别 符以外,还管理表示是否向所述设备的用户进行所述API调用的许可的查询 的查询标志、和在是否进行所述查询的判定中所使用的API调用自变量的条 件,所述判定部向所述API限制管理部进行查询,当所述判定请求中包含的 所述程序识别符相当于被许可API调用的所述类别,同时所述查询标志被置 位,满足所述API调用自变量的条件时,向所述用户进^f亍所述查询,当通过 所述用户许可了所述API调用时,许可所述API调用。
本发明的第12特征与本发明的第1特征相关,其主旨在于,具备完整性 检查部,其检查提供作为所述状态监视装置的功能的状态监视装置程序的完整 性,当检测出针对所述状态监视装置程序的篡改时,禁止所述API调用。
本发明的第13特征与本发明的第9特征相关,其主旨在于,所述检查才莫 式设定部,在设定了所述^^查省略模式的情况下,当进行了所述设备的结构变 更时解除所述检查省略模式。本发明的第14特征的主旨在于,提供一种在具备开放执行环境(开放执 行环境120)和封闭执行环境(封闭执行环境130)的设备(设备100、设备 100A以及设备100B )中,被配置在所述开放执行环境中的状态监视装置(状 态监视装置200),所述开放执行环境是被信赖的程序(许可程序P1)以外的 程序(例如非信赖程序P2 )也可以自由地或者在一定限制下执行的执行环境, 所述封闭执行环境是根据从所述开放执行环境调用应用程序接口 ( API131 ) 的API调用来执行预定的处理,仅执行被信赖的程序的执行环境,该状态监 视装置具备状态管理部(状态管理部201),其取得所述设备的状态,并保 存表示所取得的所述状态的状态信息;以及许可决定部(许可决定部203), 其根据所述状态信息,决定是否许可从所述开放执行环境进行所述封闭执行环 境内的所述API调用。
本发明的第15特征与本发明的第14特征相关,其主旨在于,所述状态管 理部,保存仅在所述设备为本地锁定状态、远程锁定状态、或者表示在预定时 间范围内而没有对所述设备的输入操作的无输入操作状态的情况下被置位的 用户操作API禁止标志,所述许可决定部,当所述用户操作API禁止标志为 置位状态,是仅在通过所述设备的用户的操作而被请求的情况下被许可的类别 的所述API调用时,禁止所述API调用。
本发明的第16特征与本发明的第14特征相关,其主旨在于,所述状态管 理部保存非信赖标志作为所述状态信息,所述非信赖标志,当所述开放执行环 境中正在执行不^皮信赖的非信赖程序、或者在所述设备中安装了所述非信赖程 序时被置位,并且,当所述非信赖程序并非正在执行、或者在所述设备中未安 装所述非信赖程序时被复位,所述许可决定部,当所述非信赖标志为置位状态 时,向所述设备的用户进行遵从所述状态信息的警告,在对所述用户确认了是 否许可API调用后、或者不进行所述确认地决定拒绝所述API调用。
本发明的第16特征与本发明的第15特征相关,其主旨在于,所述状态管 理部作为所述状态信息保存许可标志列表,所述许可标志列表是关于被许可了 针对所述封闭执4亍环境的所述API调用的多个许可程序的每一个,在所述开 放执行环境中正在执行所述许可程序时被置位的所述许可标志的列表。
本发明的第17特征与本发明的第14特征相关,其主旨在于,所述状态管理部保存许可标志作为所述状态信息,所述许可标志,当为正常执行一计对所述
封闭执行环境的API调用所必要的必要程序正在所述开放执行环境中正常运 行、或者在所述设备中安装了所述必要程序时被置位,并且,在所述必要程序 故障时、或者在所述设备中未安装所述必要程序时被复位,所述许可决定部, 在所述许可标志为复位状态时,向所述设备的用户进行遵从所述状态信息的警 告,在对所述用户确认了是否许可API调用后、或者不进行所述确认地决定 拒绝所述API调用。
本发明的第18特征与本发明的第16特征相关,其主旨在于,具备状态信 息通知部(状态信息通知部205),其当所述非信赖标志变化为置位状态时, 向配置在所述封闭执行环境中的API检查装置(API检查装置300)通知所述 状态信息。
本发明的第19特征与本发明的第17特征相关,其主旨在于,具备状态信 息通知部(状态信息通知部205),其当所述许可标志变化为复位状态时,向 配置在所述封闭执行环境中的API检查装置(API检查装置300 )通知所述状 态信息。
本发明的第20特征与本发明的第14特征相关,其主旨在于,所述状态管 理部,从配置在所述封闭执行环境中的API检查装置,作为所述状态信息接
除等待协作抑制标志、或者在封闭执行环境中当所述用户的确认等待状态经过 了预定时间时被置位的用户确认等待协作抑制标志中的至少某一个,所述许可 决定部,仅在所述锁定解除等待协作抑制标志以及所述用户确认等待协作抑制 标志都是复位状态时,许可仅在通过所述设备的用户的操作而被请求的情况下 被许可的类别的所述API调用。
本发明的第21特征与本发明的第20特征相关,其主旨在于,所述状态管 理部,在经过了预定的超时时间的情况下,将所述用户确认等待协作抑制标志 复位。
本发明的第22特征与本发明的第20特征相关,其主旨在于,所述状态管 理部,在请求了所述API调用后在预定时间范围内而没有针对所述API调用 的应答时,判断为所述用户的确认等待状态,将所述用户确认等待协作抑制标志置位,所述许可决定部,在所述用户确认等待协作抑制标志为置位状态时, 禁止仅在通过所述用户的操作而被请求的情况下被许可的所述API调用。
根据本发明的特征,可以提供在具备开放执行环境和封闭执行环境的设 备中,关于通过在开放执行环境和封闭执行环境中的API调用来进行的协作, 能够以较低开销确保安全性以及可靠性的API检查装置以及状态监视装置。


图1是本发明的实施方式的设备100的功能框图。
图2是表示本发明的实施方式的状态信息的具体例的图。
图3是表示本发明的实施方式的锁定状态和梯:作状态所对应的API调用
的抑制步骤的图。
图4是表示本发明的实施方式的状态信息的通知步骤的图。
图5是表示本发明的实施方式的基于非信赖标志或许可标志的API调用
的抑制步骤(其一)的图。
图6是表示本发明的实施方式的基于非信赖标志或许可标志的API调用
的抑制步骤(其二)的图。
制标志以及用户确认等待协作抑制标志)的API调用的抑制步骤(其一)的 图。
图8是表示本发明的实施方式的基于协作抑制标志(锁定解除等待协作抑 制标志以及用户确认等待协作抑制标志)的API调用的抑制步骤(其二)的 图。
图9是表示本发明的实施方式的检查模式的设定步骤的图。 图IO是表示本发明的实施方式的API调用的检查步骤的图。 图11是表示本发明的实施方式的API限制管理部311的API131的限制 例的图。
图12是本发明的另一实施方式的设备100A的功能框图。 图13是本发明的另一实施方式的设备100B的功能框图。 符号说明
100、 IOOA、 100B设备;110虚拟机监视器;111A、 111B CPU; 120、120A开放执行环境;130、 130A封闭执行环境;131应用程序接口 (API); 200状态监视装置;201状态管理部;203许可决定部;205状态信息通知部; 300 API检查装置;301 API检查请求接收部;303状态信息取得部;305检 查模式设定部;307判定部;309检查结果输出部;311API限制管理部;313 完整性检查部;Pl许可程序;P2非信赖程序;P3必要程序。
具体实施例方式
下面,说明本发明的实施方式。具体而言,对(l)设备的功能块结构、 (2)状态监视装置的功能块结构、(3) API检查装置的功能块结构、(4)作 用.效果以及(5)其它实施方式进行说明。
此外,在以下的附图的记载中,对相同或类似的部分赋予相同或类似的标 记。但是应该注意附图仅是示意性的,各尺寸的比例等与现实中不同。
因此,应该参考以下的说明来判断具体的尺寸等。另外,当然在附图相互 之间也包含彼此的尺寸的关系或比例不同的部分。
<1)设备的功能块结构
图1是本实施方式的设备100的功能框图。在设备100中设置了虚拟机监 视器110 (VMM),它是可以在一个CPU (未图示)上并行地运行多个操作系 统(OS)的软件或硬件。
在本实施方式中,开放执行环境120、封闭执-f亍环境分别作为OS被实现。 即,设备100具备开放执行环境120和封闭执行环境130。
在开放执行环境120中,作为由设备100的提供者(终端制造商或通信操 作员等)信赖的程序的许可程序Pl以外的程序(非信赖程序P2),也可以自 由地、或者在一定的限制下执行。
在封闭执行环境130中,根据从开放执行环境120调用应用程序接口 131 (以下称为API131)的API调用来执行预定的处理,仅执行被信赖的程序。
在开放执行环境120中配置状态监视装置200。状态监视装置200监视在 开放执行环境120中执行的程序的状态,将表示该状态的状态信息通知给API 检查装置300。
在封闭执行环境130中配置API检查装置300。 API检查装置300检查由 在开放执行环境120中执行的程序进行的API调用的合法性等。开放执行环境120和封闭执行环境130利用虚拟机(VM)间通信功能相 互进行通信。此外,在本实施方式中,设想作为设备驱动程序(device driver) 来安装状态监视装置200以及API检查装置300,但也可以作为中间件等OS 上的软件来安装,也可以作为硬件来安装。 (2)状态监视装置的功能块结构
如图1所示,状态监视装置200具备状态管理部201、许可决定部203以 及状态信息通知部205。以下,对各块的功能进行说明。 (2.1)状态管理部201
状态管理部201取得设备100的状态,并保存表示所取得的所述状态的状 态信息。图2表示状态信息的具体例。如图2所示,状态管理部201可以保存 非信赖标志作为设备100的状态信息。非信赖标志,在开放执行环境120中正 在执行不被信赖的非信赖程序P2时、或者在设备100中安装了非信赖程序P2 时,被置位。另一方面,在并非正在执行非信赖程序P2、或者在设备100中 未安装非信赖程序P2时,被复位。
作为非信赖程序的例子,考虑有调试软件、使用USB或Bluetooth与外部 的PC等连接来中继通信的程序、伪装成游戏的病毒或间谍软件程序等。另外, 例如可以通过检查有无数字签名来实现非信赖程序的识别。未附加特定组织 (终端制造商、通信操作员以及特定的软件供应商等)的数字签名的程序视为 不可信赖。另外,也可以在白名单中记载信赖的程序,将该程序以外的程序4见 为不可信赖。或者,也可以在黑名单中记载不可信赖的程序,将该程序视为不 可信赖。
另外,状态管理部201,作为状态信息可以保存许可标志。许可标志,当 为了正常执行针对封闭执行环境130的API调用所必要的必要程序P3正在开 放执行环境120中正常运行时、或者在设备100中安装了必要程序P3时,被 置位。另外,在必要程序P3故障时、或者未在设备100中安装必要程序P3 时,被复位。此外,可以通过状态管理部201对必要程序P3进行查询,确认 是否有正常的应答等来实现必要程序P3的故障检测。
必要程序P3,例如考虑用于保护VM间通信功能或开放执行环境120 的安全性的病毒扫描程序、在限定了调用封闭执行环境130的API的应用程序时被许可了该API调用的该应用程序等。
而且,状态管理部201可以把仅在设备100为本地锁定状态、远程锁定状 态、或无输入操作状态的情况下被置位的用户才喿作API禁止标志作为状态信 息来保存。
所谓本地锁定状态,是只要不输入正当的个人身份号码或密码、或按下特 定的按钮等,就锁定设备100以使用户无法进行设备100的操作的状态。通过 用户在一定时间未进行操作、或者关闭折叠型(clamshell)的终端、或者进行 特定的按钮设定,设备100迁移到本地锁定状态。
另 一方面,所谓远程锁定状态,是设备100根据来自管理设备100的服务 器的请求、或来自远程用户的请求而锁定,以使无法进行设备100的操作的状 态。本地锁定状态以及远程锁定状态,都可以通过由管理OS或中间件等的状 态的软件所提供的API来取得锁定状态。
所谓无输入操作状态,是在预定时间范围内而没有对设备100的输入操作 的状态。例如,若使用键区(keypad)的设备驱动程序来收集日志(log),则 可以判定从现在起一定时间内的操作的有无。
另外,可以通过OS的进程管理功能或应用程序管理功能的利用、RAM(未 图示)的扫描、各程序在特定的区域内写入的标志或数据的确认、或者程序启 动时发行的通知的取得等,来实现程序的执行状态或安装状态的取得。状态管 理部201通过将状态信息存储在RAM或硬盘等存储装置中来保存。此外,状 态信息理想的是保存在无法篡改的安全的场所。
而且,状态管理部201,也可以从配置在封闭执行环境130中的API检查 装置300作为状态信息接收当本地锁定状态或远程锁定状态变化为其它状态 时设定的锁定解除等待协作抑制标志并保存。另外,状态管理部201也可以从 API检查装置300作为状态信息接收在封闭执行环境130中当用户的确认等待 状态经过了预定时间时被置位的用户确认等待协作抑制标志并保存。
状态管理部201在经过了预定的超时时间的情况下将用户确认等待协作 抑制标志复位。另外,状态管理部201,在请求了 API调用后在预定的时间范 围内而没有针对API调用的应答时,判断为用户的确认等待状态,将用户确 认等待协作抑制标志置位。(2.2)许可决定部203
许可决定部203根据状态管理部201所保存的状态信息,决定是否许可从 开放执行环境120调用封闭执行环境130内的API。具体而言,当程序(应用 程序等)调用VM间通信功能时,VM间通信功能向状态监视装置200查询是 否许可API调用。许可决定部203针对该查询应答是否许可API调用的决定 结果。或者,在程序对状态监视装置200进行查询并被许可了 API调用的情 况下,可以访问VM间通信功能来执行API调用。
许可决定部203,当用户操作API禁止标志为置位状态、是仅在通过用户 的操作请求的情况下浮皮许可的类别的API调用时,可以禁止(抑制)该API 调用。另外,许可决定部203,当非信赖标志为置位状态时,也可以对用户进 行遵从状态信息的警告,在对用户确认是否许可API调用后、或者不进行该 确认地拒绝API调用。例如,在非信赖标志为置位状态时,进行"系统有可 能不正常,因此中断处理"这样的内容的警告,禁止API调用。
另外,许可决定部203,在许可标志为复位状态时,也可以对用户进行遵 从状态信息的警告,在对用户确认是否许可API调用后、或者不进ff该确认 地决定拒绝API调用。例如,当许可标志为复位状态时,进行"系统有可能 不正常,但继续进行处理吗?"这样的内容的警告。该警告,也可以在进行一 次后暂时不进行再次的警告。例如,在设备IOO的启动后进行了一次警告后, 可以暂时不进行警告,直到再次启动设备IOO后为止。或者,也可以对用户查 询是否继续警告。
许可决定部203,可以仅在锁定解除等待协作抑制标志以及用户确认等待 协作抑制标志都为复位状态的情况下,许可仅在通过用户的操作而被请求的情 况下被许可的类别的API调用。另外,在请求了 API调用后在预定时间范围 内而没有针对API调用的应答时,状态管理部201判断为用户的确认等待状 态,将用户确认等待协作抑制标志置位。许可决定部,在用户确认等4寺协作抑 制标志为置位状态时,禁止仅在通过用户的操作而请求的情况下被许可的API 调用。
(2.3 )状态信息通知部205
状态信息通知部205向API检查装置300通知状态信息。具体而言,状态信息通知部205使用消息传递(message passing)或共享存储器等向API检查装置300通知状态信息。此外,状态信息的通知可以是从状态监视装置200向API检查装置300的单向通信,也可以取得API检查装置300的确认应答。而且,也可以对通知内容进行加密、或者赋予MAC (消息认证码)或数字签名。
另外,状态信息通知部205,在非信赖标志变为置位状态时、以及许可标志变为复位状态时,向配置在封闭执行环境130中的API检查装置300通知状态信息。此外,API检查装置300不一定配置在封闭执行环境130中。(2.4)状态监视装置的动作
接着,说明状态监视装置200的动作。具体而言,说明(2.4.1)与锁定状态或操作状态对应的API调用的抑制步骤、(2.4.2)状态信息的通知步骤、(2.4.3)基于非信赖标志或许可标志的API调用的抑制步骤、以及(2.4.4)基于协作抑制标志的API调用的抑制步骤。
(2.4.1)与锁定状态或操作状态对应的API调用的抑制步骤
图3表示与锁定状态或操作状态对应的API调用的抑制步骤。在此,当程序进行API调用时,调用VM间通信功能,VM间通信功能向状态监视装置200查询是否许可API调用。
当设备100成为本地锁定状态或远程锁定状态时、或者成为在预定时间内没有向设备100的输入操作的无输入操作状态时,执行步骤31。在步骤31中,状态管理部201将用户操作API禁止标志置位,并保存该状态。
当设备100解除本地锁定状态或远程锁定状态时、或者在无输入状态下有向设备100的输入操作时,执行步骤32。在步骤32中,状态管理部201将用户操作API禁止标志复位,并保存该状态。
当VM间通信功能向状态监视装置200进行了查询时,执行步骤33。在步骤33中,许可决定部203确认用户操作API禁止标志是否为置位状态。
当用户操作API禁止标志为置位状态时(步骤S33,是),在步骤34中,许可决定部203确认API调用是否是仅在通过用户的操作而请求的情况下谬皮许可的API调用的类别。
当是仅在通过用户的操作而请求的情况下许可的API调用时(步骤34,是),在步骤35中,许可决定部203决定禁止(抑制)该API调用,并对VM间通信功能进行应答。
当不是仅在通过用户的操作而请求的情况下许可的API调用时(步骤34,否),在步骤36中,许可决定部203决定许可该API调用,并对VM间通信功能进行应答。
(2.4.2)状态信息的通知步骤
图4表示状态信息的通知步骤。如图4所示,在步骤41中,状态管理部201检测开放执行环境120中的程序的执行状态的变化,作为状态信息来保存。状态管理部201,在开》文执行环境120中正在执行或者安装了一个以上的非信赖程序P2的情况下,将非信赖标志置位。另外,状态管理部201,在开放执行环境120中正在正常运行或者安装了为了正常执行封闭执行环境130的API调用所必要的必要程序P3的情况下,将许可标志置位。
在步骤42中,许可决定部203检测出标志的变化,执行与变化后的标志相对应的处理。在许可标志的状态变化的情况下,许可决定部203执行步骤43的处理。在非信赖标志的状态变化的情况下,执行步骤45的处理。在多个标志的状态变化的情况下,许可决定部203执行步骤47的处理。
在步骤43中,状态信息通知部205向API检查装置300通知许可标志的状态信息。
在步骤44中,状态信息通知部205,作为选项,在许可标志为复位状态时可以向用户警告系统(设备100)不正常。此时,状态监视装置200在向用户确认后可以为了恢复而再启动设备100。
在步骤45中,状态信息通知部205向API检查装置300通知非信赖标志的状态信息。
在步骤46中,状态信息通知部205,作为选项,在非信赖标志为置位状态时可以向用户警告系统(设备100)不正常。此时,状态监视装置200在向用户确认后可以为了恢复而再启动设备100。
在步骤47中,状态信息通知部205向API检查装置300通知许可标志以及非信赖标志的状态信息。
在步骤48中,状态信息通知部205,作为选项,可以与上述步骤44以及46相同地为了恢复而再启动设备100。
(2.4.3 )基于非信赖标志或许可标志的API调用的抑制步骤
图5以及图6表示基于非信赖标志或许可标志的API调用的抑制步骤。图5以及图6所示的抑制步骤,与上述状态信息的通知步骤类似,但在此进一步详细说明非信赖标志以及许可标志的设定。
如图5所示,在步骤101中,状态管理部201,在检测出开放执行环境120中的程序的执行状态或安装状态的变化时^t调用。
在步骤102中,状态管理部201判定在开放执行环境120中是否正在执行一个以上的非信赖程序P2。
在开放执行环境120中并非正在执行非信赖程序P2时(步骤102,否),在步骤S103中,状态管理部201判定在开放执行环境120中是否安装了一个以上的非信赖程序P2。
在开放执行环境120中正在执行非信赖程序P2时(步骤102,是),或者在开放执行环境120中安装了非信赖程序P2时(步骤103,是),在步骤104中,状态管理部201将非信赖标志置位。
在开放执行环境120中未安装非信赖程序P2时(步骤103,否),在步骤105中,判定在开放执行环境120中是否正在正常运行为了正常执行封闭执行环境130的API调用所必要的必要程序P3。
在开放执行环境120中并非正在正常运行必要程序P3时(步骤105,否),在步骤S106中,状态管理部201判定在开放执行环境120中是否安装了必要程序P3。
当在开放执行环境120中正在正常运行必要程序P3时(步骤105,是),或者在开放执行环境120中安装了必要程序P3时(步骤106,是),在步骤107
中将许可标志复位。
在VM间通信功能向状态监视装置200查询时,执行图6所示的步骤108的处理。在步骤108中,状态管理部201判定非信赖标志是否是置位状态。
当非信赖标志为置位状态时(步骤108,是),状态信息通知部205在步骤109中向用户警告由于系统(设备IOO)不正常因此不能继续进行该处理。接着,在步骤114中,许可决定部203决定禁止(抑制)该API调用,并对VM间通信功能进4亍应答。
当非信赖标志为复位状态时(步骤108,否),在步骤110中,状态管理部201判定许可标志是否是复位状态。
当许可标志为复位状态时(步骤110,是),状态信息通知部205,在步骤111中向用户确认虽然系统不正常但是否继续进行该处理。
在步骤112中,状态信息通知部205判定来自用户的应答是否请求了继续进行处理。
当来自用户的应答请求了继续进行处理时(步骤112,是),在步骤113中,许可决定部203决定许可该API调用,并对VM间通信功能进行应答。另外,当许可标志为置位状态时(步骤110,否),在步骤113中,许可决定部203决定许可该API调用,并对VM间通信功能进行应答。
当来自用户的应答未请求继续进行处理时(步骤112,否),在步骤114中,许可决定部203决定禁止(抑制)该API调用,并对VM间通信功能进行应答。
(2.4.4 )基于协作抑制标志的API调用的控制步骤
图7以及图8表示基于协作抑制标志(锁定解除等待协作抑制标志以及用户确认等待协作抑制标志)的API调用的抑制步骤。在此,当程序进行API调用时,调用VM间通信功能,VM间通信功能向状态监^L装置200查询是否禁止(抑制)API调用。
如图7 (a)所示,在步骤201中,状态管理部201从API检查装置300接收锁定解除等待协作抑制标志或用户确认等待协作抑制标志的至少某一个,并j呆存该纟示志。
在步骤202中,状态管理部201判定接收到的标志是否是用户确认等待协作抑制标志。
当接收到的标志是用户确认等待协作抑制标志时(步骤202,是),在步骤203中,状态管理部201判定用户确认等待协作抑制标志是否是置位状态。
当用户确认等待协作抑制标志是置位状态时(步骤S203,是),在步骤204中,状态管理部201设定所指定的超时时间,并结束处理。
图7 (b)所示的步骤205周期性地被执行。在步骤205中,状态管理部201周期性地判定是否经过了所设定的超时时间。
当经过了超时时间时(步骤205,是),在步骤206中,状态管理部201将用户确认等待协作抑制标志复位。
接着,当VM间通信功能向状态监视装置200进行查询时,执行图8所示的步骤207。在步骤207中,状态管理部201判定锁定解除等待协作抑制标志或用户确认等待协作标志是否是置位状态。
当某个协作抑制标志是置位状态时(步骤207,是),在步骤208中,状态管理部201确认该API调用是否是仅在通过用户的操作而请求的情况下许可的API调用。
当是仅在通过用户的操作而请求的情况下许可的API调用时(步骤208,是),在步骤209中,许可决定部203决定禁止(抑制)该API调用,并对VM间通信功能进行应答。
当协作抑制标志为复位状态时(步骤207,否),或者不是仅在通过用户的操作请求的情况下许可的API调用时(步骤208,否),在步骤210中,许可决定部203决定许可该API调用,并对VM间通信功能进行应答。(3) API检查装置的功能块结构
API检查装置300,从处理封闭执行环境130的API调用的功能或封闭执行环境130側的VM间通信功能等,接收来自开放执行环境120的是否许可对封闭执行环境130的API调用的判定请求,向状态监视装置200应答是许可还是拒绝该API调用。
如图l所示,API检查装置300具备API检查请求接收部301、状态信息取得部303、检查模式设定部305、判定部307、检查结果输出部309、 API限制管理部311以及完整性4企查部313。(3.1) API检查请求接收部301
API检查请求接收部301接收从开放执行环境120请求判定是否许可对封闭执行环境130的API调用的判定请求。具体而言,从处理封闭执行环境130的API调用的功能、或封闭执行环境130侧的VM间通信功能接收判定请求。
API检查请求接收部301可以接收包含API调用源的程序识别符的判定请求。API调用源的程序识别符可以是程序的名称、程序的特有的编号、程序的散列值、在程序调用API131时指定的识别号码等的任意一个。
另夕卜,API检查请求接收部301也可以接收包含API调用源的程序识别符 和API131的类别的判定请求。API131的类别可以是API131的名称或分类名、 号码或分类号码、散列值等的任意一个。另外,也可以兼带程序识别符和 API131的类别,利用当程序调用API131时指定的识别号码。 (3.2)状态信息取得部303
状态信息:f又得部303从状态监视装置200或封闭执行环境130的OS或中 间件取得设备100的状态信息,并保存所取得的状态信息。状态信息取得部 303通过将所取得的状态信息存储在RAM或硬盘等存储装置中来进行保存。 另外,状态信息取得部303使用由VM间通信功能提供的消息传递(message passing)或共享存储器等,从状态监视装置200取得状态信息。
如上所述,图2表示状态信息的具体例。此外,状态信息的通知可以是乂人 状态监视装置200向API检查装置300的单向通信,在要求确认应答的情况 下,也可以将确认应答(ACK)发送到状态监视装置200。另外,在赋予MAC 或数字签名、对状态信息进行了加密的情况下,状态信息取得部303根据需要 执行验证或解密。
另外,状态信息取得部303,作为状态信息,可以取得本地锁定状态、远 程锁定状态或无输入操作状态。此外,在封闭执行环境130或虛拟机监视器 110、或者其它不是开放执行环境120的环境中管理本地锁定状态、远程锁定 状态或无输入才喿作状态的情况下,状态信息取得部303可以安全地取得该状态 信息。另一方面,在开》丈执行环境120中管理该状态的情况下,状态信息有可 能被篡改,状态信息取得部303未必能取得正确的状态信息。
另外,状态信息取得部303,在本地锁定状态或远程锁定状态时,可以将 锁定解除等待协作抑制标志置位,并向状态监视装置200通知已将该标志置 位。同样地,状态信息取得部303,在封闭执行环境130中用户的确认等待状 态经过了预定时间时,可以将用户确认等待协作抑制标志置位,并向状态监视 装置200通知已将该标志置位。
另外,状态信息取得部303,当本地锁定状态或远程锁定状态变化为其它 状态时,可以按照变化后的状态设定锁定解除等待协作抑制标志,同时按照该变化后的状态向状态监视装置200通知锁定解除等待协作抑制标志。
另外,状态信息取得部303,在用户确认等待协作抑制标志为置位状态下 用户的确认等待状态结束时,可以将用户确认等待协作抑制标志复位,同时向 状态监视装置200通知已将用户确认等待协作抑制标志复位。而且,状态信息 取得部303,在用户确认等待协作抑制标志为置位状态下超过了预定的超时时 间时,可以省略向状态监视装置200通知用户确认等待协作抑制标志的复位。
状态信息取得部303,与上述的状态管理部201同样地,作为状态信息而 使用非信赖标志以及许可标志。非信赖标志以及许可标志,可以由在开放执行 环境120中工作的状态监视装置200来置位,在由虚拟机监视器110管理非信 赖标志的情况下,也可以由虚拟机监视器110来置位。此外,非信赖程序P2 的例子或判定方法等与状态管理部201相同。
状态信息取得部303也可以取得许可标志列表作为状态信息(参照图2 ), 所述许可标志列表包含关于被许可针对封闭执行环境130的API调用的多 个许可程序Pl的每一个,在开放执行环境120中正在执行该许可程序Pl、或 者已将该许可程序Pl安装在设备100中的情况下被置位的许可标志的列表。
状态信息取得部303,也可以在(a)进行API调用预定次数时、(b)拒 绝API调用预定次数时、(c)在进行最后的API调用后经过了预定时间时, 请求状态监视装置200通知状态信息。通过这样的通知,即使发生了状态信息 的通知的失败等,在接下来在通知中也能消除状态监视装置200和API检查 装置300之间的状态信息的不一致。另外,在在预定时间范围内而没有来自状 态监视装置200的应答的情况下,API检查装置300可以判定为发生了故障并 采取对策。例如,API检查装置300可以执行API调用的禁止、设备的再启动、 或者向用户通知后的设备再启动等对策。 (3.3)检查模式设定部305
检查模式设定部305,根据状态信息取得部303所取得的状态信息,设定 与API调用对应的检查模式。检查模式表示与API调用对应的检查的策略。
检查模式设定部305,当状态信息是本地锁定状态、远程锁定状态或无输 入操作状态时,将检查模式设定为用户操作禁止模式。所谓用户操作禁止模式, 是禁止仅在通过用户操作请求的情况下许可的类别的API调用的模式。检查模式设定部305,在非信赖标志为置位状态时、或者许可标志为复位 状态时,可以设定为向用户进行遵从状态信息的警告的用户警告模式。另外, 检查模式设定部305,在根据许可标志的状态设定检查模式时,当与API检查 请求接收部301接收到的程序识别符对应的标志为复位状态时,可以^殳定为用 户警告模式。
检查模式设定部305,关于与判定为许可的API调用同一类别的API调用、 或者包含表示同一 API调用源的程序识别符的API调用,可以设定预定次数 或者在预定时间范围内无条件地许可的检查省略模式。另外,检查模式设定部 305,在设定了检查省略模式的情况下,在进行设备100的结构变更时可以解 除检查省略模式。所谓结构变更是应用程序的启动或结束、安装或卸载等。 (3.4)判定部307
判定部307根据由检查模式设定部305设定的检查模式,判定是否许可 API调用。另外,判定部307根据判定结果生成API调用的检查结果。
判定部307,在被设定为用户操作禁止模式,是仅在通过用户的操作而被 请求的情况下许可的类别的API调用时,判定为禁止该API调用。
另外,判定部307,在被设定为用户警告模式的情况下,可以向用户进4亍 遵从该状态信息的警告,在对用户确认是否许可API调用后、或者不进行该 确认地拒绝该API调用。此外,针对用户的警告的内容也可以与上述许可决 定部203相同。
判定部307将API调用的禁止、API调用的许可、以及API调用的拒绝 的某一个作为检查结果来生成。另夕卜,判定部307也可以与表示检查结果的代 码一起生成该检查结果。该代码表示例如由于不是基于用户的操作的API 调用,因此被禁止;或者由于执行API调用所必要的必要程序P3并非正在正 常运行,因此被拒绝。
判定部307,在与程序识别符对应的许可标志为复位状态时,可以向用户 进行警告,在对用户确认是否许可API调用后、或者不进行该确认地拒绝API 调用。另外,判定部307,在被设定为检查省略模式的情况下,生成表示省略 了 API调用的检查的检查结果。
判定部307,根据API检查请求接收部301接收的判定请求,向API限制管理部311进行查询,在该判定请求中包含的程序识别符相当于被许可API 调用的类别时,可以许可该API调用。而且,判定部307,在许可标志在许可 标志列表中为置位状态时,向API限制管理部311进行查询,当判定i貪求中包 含的程序识别符相当于被许可API调用的类别,同时查询标志被置位,满足 API调用自变量的条件时,可以向设备100的用户进行查询。
判定部307,在由用户许可API调用时,许可API调用。此外,在向用户 查询时,为了避免开放执行环境120中的不正当的程序的干扰,理想的是在封 闭执行环境130等、开放执行环境120以外,进行向用户的查询消息的提示、 与查询对应的来自用户的输入。
另夕卜,判定部307也可以检查API调用自变量的大小或类型等的格式或值、 值的范围,或者扫描交换数据来进行病毒的检查。而且,判定部307可以检查 API调用的顺序的履历,或者检查特定的API调用的顺序关系是否正确。
(3.5) 检查结果输出部309
检查结果输出部309把由判定部307生成的API调用的检查结果输出到请 求了 API调用的判定的判定请求源(API131的处理功能等)。
如上所述,判定请求源是处理封闭执行环境130的API调用的功能、或封 闭执行环境130侧的VM间通信功能等。判定请求源,在检查结果是"省略 API检查,,时削减资源消耗,因此可以省略更详细的API检查。所谓更详细的 API检查,例如是API调用自变量的大小或类型等的格式或值、值的范围的检 查,或者交换数据的病毒才企查等。
(3.6) API限制管理部311
API限制管理部311,管理API131的类别、和许可或拒绝该类别的API 调用的程序识别符。
图11表示API限制管理部311的API131的限制例。在图11所示的限制 例中,作为API 131的类别,规定了 DRM API 、安全存储API以及加密API。 关于DRM API,仅许可program 1。关于安全存储API,许可program 1和 program2。 关于力口密API, 许可program 1、 program2、 program3、 program4。
API限制管理部311,除了 API131的类别和许可或拒绝该类别的API调 用的程序识别符以外,还可以管理表示是否向设备100的用户进行API调用的许可的查询的查询标志、和在是否进行查询的判定中所使用的API调用 自变量的条件。例如,在访问通过API调用自变量指定的URL的Web站点的 API131中,当该URL为特定的域名时,API限制管理部311可以向用户进行 查询。作为另一例子,在未指定条件的情况下,可以无条件地向用户进行查询。
(3.7) 完整性4全查部313
完整性检查部313检查提供作为状态监视装置200的功能的状态监视装置 程序的完整性。完整性检查部313,在检测出针对状态监视装置程序的篡改时, 禁止API调用。
完整性检查部313,例如保存了程序代码正确的散列值,周期性地或者在 发生特定事件时计算该程序代码的散列值,并与正确的散列值进行比较。完整 性检查部313,当比较结果不一致时可以判定为有窜改。所谓特定的事件,例 如考虑存在对存储了状态监视装置程序的存储器或文件区域的访问(读入或写 入)的情况、存在封闭执行环境130的特定的API调用的情况、或者调用了 开方欠执行环境120中的特定的API或系统调用的情况等。
而且r完整性;险查部313也可以检查状态监视装置200以外的开放执行环 境120内的OS、中间件以及应用程序等有无窜改。当检测出针对它们的窜改 时,可以禁止API调用。另外,完整性检查部313也可以作为VMM (虛拟机 监视器)的一部分被实现。
(3.8) API才企查装置的动作
接下来,说明API检查装置300的动作。具体而言,说明检查模式的设定 步骤以及API调用的检查步骤。 (3.8.1)检查模式的设定步骤
图9表示API检查装置300的检查模式的设定步骤。当从状态监视装置 200对API检查装置300 (状态信息取得部303 )输入了状态信息时,或者状 态信息取得部303检测出或被通知了状态信息的变化时,执行检查模式的设定 步骤。
如图9所示,在步骤51中,状态信息取得部303保存所输入的状态信息。 在步骤52中,状态信息取得部303判定所输入的状态信息是否是与用户 的操作相关的状态。具体而言,状态信息取得部303判定是否是本地锁定状态、远程锁定状态或者无输入操作状态。
当所输入的状态信息是与用户的操作相关的状态时(步骤52,是),在步骤53中,检查模式设定部305将检查模式设定为用户操作禁止模式。
在步骤57中,状态信息取得部303判定所输入的状态信息是否是本地锁定状态或远程锁定状态中的某 一 个。
当是本地锁定状态或远程锁定状态的某一个时(步骤57,是),在步骤58中,状态信息取得部303设定锁定解除等待协作抑制标志,并向状态监视装置200通知已将锁定解除等待协作抑制标志置位。
另一方面,当所输入的状态信息不是与用户的"t喿作相关的状态时,在步骤54中,状态信息取得部303判定所输入的状态信息是否是非信赖标志。
当所输入的状态信息不是非信赖标志时(步骤S54,否),在步骤55中,状态信息取得部303判定所输入的状态信息是否是许可标志。
当所输入的状态信息是非信赖标志时(步骤54,是),或者所输入的状态信息是许可标志时(步骤55,是),在步骤56中,检查模式设定部305将检查才莫式设定为用户警告模式。
(3.8.2) API调用的检查步骤
图10表示API检查装置300的API调用的检查步骤。当API检查请求接收部301从封闭执行环境130的API131的处理功能或封闭执^f亍环境130侧的VM间通信功能等接收到判定是否许可来自开放执行环境120的对封闭执行环境130进行API调用的判定请求时,执行API调用的检查步骤。在此,判定请求也可以包含API调用源的程序识别符。
在步骤61中,判定部307确认所设定的检查模式,判定是否被设定为用户操作禁止模式。
在被设定为用户操作禁止模式时(步骤61,是),在步骤62中,判定部307判定该API调用是否是仅在通过用户的操作请求的情况下被许可的类别的API调用。
当该API调用是仅在通过用户的操作请求的情况下被许可的类别的API调用时(步骤62,是),在步骤63中,判定部307作为检查结果生成API调用的禁止。在未被设定为用户操作禁止模式时(步骤61,否),在步骤64中,判定部307判定检查模式是否被设定为用户警告模式。
在被设定为用户警告模式时(步骤64,是),在步骤65中,判定部307判定非信赖标志是否是置位状态。
在非信赖标志是置位状态时(步骤65,是),在步骤66中,判定部307进行遵从状态信息的警告。
在非信赖标志是复位状态时(步骤65,否),在步骤67中,判定部307
判定许可标志是否是复位状态。
当许可标志是复位状态时(步骤67,是),在步骤68中,判定部307向用户确认是否许可API调用。
在步骤69中,判定部307判定用户是否许可了该API调用。
接着步骤66的处理、或者当用户拒绝该API调用时(步骤69,否),在步骤70中,判定部307作为检查结果而生成API调用的拒绝。
在未^皮设定为用户警告模式时(步骤64,否)、在许可标志是置位状态时(步骤67,否)、或者当用户许可了该API调用时(步骤69,是),在步骤71中,判定部307作为检查结果而生成API调用的许可。
在步骤72中,检查结果输出部309将判定部307生成的检查结果应答到API131的处理功能或VM间通信功能等。
此外,在步骤67中,当状态信息取得部303以与程序识别符对应的列表形式保存了许可标志时,判定部307也可以确认与判定请求中包含的"API调用源的程序识别符,,对应的程序在许可标志中是否是复位状态。当许可标志是复位状态时,表示未执行该程序,因此有可能不正当的程序通过伪装成正当的程序来进行API调用。因此,可以向用户进行警告或者拒绝API调用。(4)作用.效果
根据本实施方式,当设备100为本地锁定状态、远程锁定状态或者无输入操作状态时,被设定为用户操作禁止模式。在用户操作禁止模式中可以禁止仅在通过用户的操作请求的情况下许可的类别的API调用的协作。由此,可以禁止不正当程序任意地调用协作功能那样的API调用。即,可以抑制开销,同时可防止不正当的API调用。具体而言,能够以比较低的处理负荷取得状态信息,判定是否许可API
调用。另外,在封闭执行环境130中,在管理该状态的情况下,可以执行处理负荷比较低且安全的检查。即,根据本实施方式,不依存于OS的访问控制,就可以抑制自变量或数据的检查处理所导致的开销。
在本实施方式中,从封闭执行环境130向开放执行环境120通知锁定解除等待协作抑制标志以及用户确认等待协作抑制标志的状态,抑制无效的API调用的协作。因此,可以抑制设备100的电池消耗。而且,通过使用计时器可以省略与用户的确认等待相关的协作抑制的解除,因此,可以将状态的通知频率最小化,可以削减与通知相关的资源的消耗。
在本实施方式中,在API调用的检查成功后,关于指定次数的API调用、特定类别的API调用,可以省略(减少)检查,因此可以将处于折衷关系的安全性和开销调整到恰当的水平。
在本实施方式中,可以对用户进行遵从状态信息的警告。因此,在执行API调用前,可以向用户通知与开放执行环境120的安全性或可靠性相关的信息。用户可以进行根据该信息判断API调用的许可、或者保存未保存的数据等、适当的应对。
在本实施方式中,在与程序识别符对应的许可标志为复位状态的情况下,可以向用户进行警告。因此可以可靠地拒绝通过许可程序Pl以外的程序的伪装而进行的API调用。
在本实施方式中,可以与表示API调用的^r查结果的理由的代码一起生成检查结果。因此,在程序或用户进行的API调用失败时可以识别其理由。即,API调用源识别由于不是基于用户的操作的API调用而被禁止,或者由于API调用的执行所必要的必要程序P3故障而被拒绝等,来取得适当的对应。例如,当必要程序P3故障时,用户通过再启动设备100可以将设备100恢复到正常状态。
在本实施方式中设置了检查省略模式,因此可以不大幅度牺牲安全性地,期待API调用的检查频率的降低所导致的应答性降低的緩和、或资源消耗的削减。另夕卜,在本实施方式中,当进行了系统的结构变更后解除检查省略模式。因此,也可以确保一定的安全性。在本实施方式中,在判定请求中包含的程序识别符相当于许可API调用的
类别,同时查询标志被置位,满足API调用自变量的条件的情况下,可以向设备100的用户进行查询。因此,可以针对每个程序相当细致地进行API调用的访问控制,可以提高可靠性和安全性。另外,在判定请求中包含的程序识别符相当于许可API调用的类别,同时查询标志^皮置位,满足API调用自变量的条件的情况下,可以向设备100的用户进行查询。因此,关于特定的API调用,可以#^居用户的确认来判断其可否。
在本实施方式中设置有完整性检查部313,其检查提供作为状态监视装置200的功能的状态监视装置程序的完整性。因此,在状态监视装置200受到攻击时,通过禁止API调用可以防止被害范围的扩大。
在本实施方式中,当非信赖标志变化为置位状态时、或者许可标志变化为复位状态时,向配置在封闭执行环境130中的API检查装置300通知状态信息。因此,在执行API调用前,在封闭执行环境130侧可以向用户通知开放执行环境120的安全性或可靠性的信息。(5)其它实施方式如上所述,通过本发明的一个实施方式公开了本发明的内容,但构成该/〉开的一部分的论述以及附图不应理解为是对本发明进行限制的。根据该公开,对于本领域技术人员来说各种替代实施方式会更加明了 。
在上述的设备100中,以使用虚拟机监视器110的情况为例进行了说明,但也可以使用多CPU(或多核)来形成开放执行环境120和封闭执行环境130。图12是使用多核结构的CPU111A以及CPU111B形成开》文执行环境120和封闭执行环境130的设备100A的功能框图。此外,状态监视装置200以及API检查装置300的结构与上述的设备IOO相同,因此省略其说明。
另外,也可以代替虛拟机监视器110而使用Java (注册商标)VM等虚拟机来形成开放执行环境,使用主机OS来形成封闭执行环境。图13是使用虚拟机以及主机OS的设备100B的功能框图。在设备100B中,通过Java (注册商标)VM形成开放执行环境120A,通过主机OS形成封闭执行环境130A。此外,状态监视装置200以及API检查装置300的结构与上述设备100相同,因此省略其iJL明。另外,状态监视装置200以及API检查装置300也可以分别单独提供。 于是,本发明当然包含在此未记载的各种实施方式等。因而,本发明的才支
术范围,是才艮据上述说明,仅仅通过妥当的请求专利保护的范围所涉及的发明
特定事项来决定的。
权利要求
1.一种API检查装置,其在具备开放执行环境和封闭执行环境的设备中,被配置在所述封闭执行环境中,所述开放执行环境是被信赖的程序以外的程序也可以自由地或者在一定限制下执行的执行环境,所述封闭执行环境是根据从所述开放执行环境调用应用程序接口的API调用来执行预定的处理,仅执行被信赖的程序的执行环境,该API检查装置,具备API检查请求接收部,其从所述开放执行环境接收请求判定是否许可所述封闭执行环境内的所述API调用的判定请求;状态信息取得部,其取得表示所述设备的状态的状态信息;检查模式设定部,其根据所述状态信息取得部所取得的所述状态信息,设定针对所述API调用的检查模式;判定部,其根据由所述检查模式设定部所设定的所述检查模式,判定是否许可所述API调用并生成所述API调用的检查结果;以及检查结果输出部,其输出由所述判定部生成的所述检查结果。
2. 根据权利要求1所述的API检查装置,其特征在于, 所述状态信息取得部,作为所述设备的所述状态信息,取得本地锁定状态、远程锁定状态、或者表示在预定时间范围内没有向所述设备的输入操作的无输 入操作状态的至少某一种状态,所述检查模式设定部,在所述状态信息是所述本地锁定状态、所述远程锁 定状态、或者所述无输入操作状态时,将所述检查^t式设定为用户操作禁止才莫 式,所述判定部,在已设定为所述用户操作禁止模式,是仅在通过所述设备的 用户的操作而祐:请求的情况下被许可的类别的API调用时,禁止所述API调 用。
3. 根据权利要求1所述的API检查装置,其特征在于, 所述状态信息取得部,使用非信赖标志作为所述状态信息, 所述非信赖标志,当在所述开放执行环境中正在执行不被信赖的非信赖程序、或者在所述设备中安装了所述非信赖程序时被置位,并且,当并非正在执 行所述非信赖程序、或者在所述设备中未安装所述非信赖程序时被复位,所述检查模式设定部,在所述非信赖标志为置位状态时,设定为用户警告 模式,所述判定部,在已被设定为所述用户警告模式时,对所述设备的用户进行遵从所述状态信息的警告,在对用户确认了是否许可API调用后、或者不进 行所述确认地拒绝所述API调用。
4. 根据权利要求1所述的API检查装置,其特征在于, 所述状态信息取得部,使用许可标志作为所述状态信息, 所述许可标志,当为了正常执行针对所述封闭执行环境的API调用所必要的必要程序正在所述开放执行环境中正常运行时、或者在所述设备中安装了 所述必要程序时被置位,并且,在所述必要程序故障时、或者在所述设备中未 安装所述必要程序时被复位,所述检查模式设定部,当所述许可标志为复位状态时,设定为用户警告模式,所述判定部,在已被设定为所述用户警告模式时,对所述设备的用户进行 遵从所述状态信息的警告,在对所述用户确认了是否许可API调用后、或者 不进行所述确认地拒绝所述API调用。
5. 根据权利要求1所述的API检查装置,其特征在于,所述API检查请求接收部,接收包含作为所述应用程序接口的调用源的 API调用源的程序识别符的判定请求,所述状态信息取得部,取得许可标志列表作为所述状态信息,所述许可标 志列表包含关于被许可了针对所述封闭执行环境的所述API调用的多个许可 程序的每一个,在所述开放执行环境中正在执行所述许可程序、或者在设备中 已安装了所述许可程序时被置位的许可标志的列表,.所述判定部,在与所述程序识别符对应的所述许可标志为复位状态时,对 所述用户进行警告,在对所述用户确认了是否许可API调用后、或者不进行 所述确认地拒绝所述API调用。
6. 根据权利要求1所述的API检查装置,其特征在于,所述状态信息取得部,当所述本地锁定状态或所述远程锁定状态变化为其 它状态时,按照变化后的状态设定锁定解除等待协作抑制标志,并且按照所述 变化后的状态,向监视在所述开放执行环境中执行的所述程序的状态的状态监 视装置通知锁定解除等待协作抑制标志。
7. 根据权利要求1所述的API检查装置,其特征在于, 所述状态信息取得部,在所述封闭执行环境中所述用户的确认等待状态经过了预定时间时,将用 户确认等待协作抑制标志置位,并且向监视在所述开放执行环境中执行的所述 程序的状态的状态监视装置通知所述用户确认等待协作抑制标志,在所述用户确认等待协作抑制标志为置位的状态下用户确认等待状态结 束时,将所述用户确认等待协作抑制标志复位,并且向所述状态监视装置通知 所述用户确认等待协作抑制标志已被复位。
8. 根据权利要求1所述的API检查装置,其特征在于,所述判定部,作为所述检查结果,与表示所述才企查结果的理由的代码一起 生成所述API调用的禁止、所述API调用的许可、以及所述API调用的拒绝 中的某一种。
9. 根据权利要求1所述的API检查装置,其特征在于, 所述检查模式设定部,关于与被判定为许可的所述API调用同一类别的API调用、或者包含表示同一API调用源的所述程序识别符的API调用,设定 预定次数或者在预定时间范围内无条件地许可的^r查省略模式,所述判定部,在已设定为所述检查省略模式时,生成表示省略了所述API 调用的检查的所述检查结果。
10. 根据权利要求1所述的API检查装置,其特征在于,具备API限制管理部,其管理所述应用程序4姿口的类别、和许可或拒绝 所述类别的API调用的所述程序识别符,所述API检查请求接收部接收包含所述API调用源的程序识别符和所述 类别的判定请求,所述判定部向所述API限制管理部进行查询,在所述判定请求中包含的 所述程序识别符相当于被许可API调用的所述类别时,许可所述API调用。
11. 根据权利要求IO所述的API检查装置,其特征在于,所述API限制管理部,除所述类别和许可或拒绝所述类别的API调用的 所述程序识别符以外,还管理表示是否向所述设备的用户进行所述API调用 的许可的查询的查询标志、和在是否进行所述查询的判定中所使用的API调 用自变量的条件,所述判定部向所述API限制管理部进行查询,当所述判定请求中包含的 所述程序识别符相当于被许可API调用的所述类别,同时所述查询标志被置 位,满足所述API调用自变量的条件时,向所述用户进行所述查询,当通过所述用户许可了所述API调用时,许可所述API调用。
12. 根据权利要求1所述的APH企查装置,其特征在于, 具备完整性检查部,其检查提供作为所述状态监视装置的功能的状态监视装置程序的完整性,当^r测出针对所述状态监^L装置程序的篡改时,禁止所述 API调用。
13. 根据权利要求9所述的API检查装置,其特征在于, 所述检查模式设定部,在已设定了所述检查省略模式的情况下,当进行了所述设备的结构变更时解除所述检查省略模式。
14. 一种状态监视装置,其在具备开放执行环境和封闭执行环境的设备 中,被配置在所述开放执行环境中,所述开放执行环境是^皮信赖的程序以外的 程序也可以自由地或者在一定限制下执行的执行环境,所述封闭执行环境是根 据从所述开放执行环境调用应用程序接口的API调用来执行预定的处理,仅 执行被信赖的程序的执行环境,该状态监视装置,具备状态管理部,其取得所述设备的状态,并保存表示所取得的所述状态的状 态信息;以及许可决定部,其根据所述状态信息,决定是否许可从所述开放执行环境进 行所述封闭执行环境内的所述API调用。
15. 根据权利要求14所述的状态监视装置,其特征在于, 所述状态管理部,保存仅在所述设备为本地锁定状态、远程锁定状态、或者表示在预定时间范围内没有对所述设备的输入操作的无输入操作状态的情况下被置位的用户操作API禁止标志,所述许可决定部,当所述用户操作API禁止标志为置位状态,且是仅在 通过所述设备的用户的操作而被请求的情况下被许可的类别的所述API调用 时,禁止所述API调用。
16. 根据权利要求14所述的状态监视装置,其特征在于, 所述状态管理部保存非信赖标志作为所述状态信息, 所述非信赖标志,当所述开放执行环境中正在执行不被信赖的非信赖程序、或者在所述设备中已安装了所述非信赖程序时被置位,并且,当所述非信 赖程序并非正在执行、或者在所述设备中未安装所述非信赖程序时被复位,所述许可决定部,当所述非信赖标志为置位状态时,向所述i殳备的用户进 行遵从所述状态信息的警告,在对所述用户确认了是否许可API调用后、或 者不进行所述确认地决定拒绝所述API调用。
17. 根据权利要求14所述的状态监视装置,其特征在于, 所述状态管理部保存许可标志作为所述状态信息,所述许可标志,当为正常执行针对所述封闭批J亍环境的API调用所必要 的必要程序正在所述开放执行环境中正常运行、或者在所述设备中已安装了所 述必要程序时被置位,并且,在所述必要程序故障时、或者在所述设备中未安 装所述必要程序时被复位,所述许可决定部,在所述许可标志为复位状态时,向所述设备的用户进行 遵从所述状态信息的警告,在对所述用户确认了是否许可API调用后、或者 不进行所述确认地决定拒绝所述API调用。
18. 根椐权利要求16所述的状态监视装置,其特征在于, 具备状态信息通知部,其当所述非信赖标志变化为置位状态时,向配置在所述封闭执行环境中的API 4企查装置通知所述状态信息。
19. 根据权利要求17所述的状态监视装置,其特征在于, 具备状态信息通知部,其当所述许可标志变化为复位状态时,向配置在所述封闭执行环境中的API检查装置通知所述状态信息。
20. 根据权利要求14所述的状态监视装置,其特征在于, 所述状态管理部,从配置在所述封闭执行环境中的API检查装置,作为被设定的锁定解除等待协作抑制标志、或者在封闭执行环境中当所述用户的确 认等待状态经过了预定时间时被置位的用户确认等待协作抑制标志中的至少 某一个,所述许可决定部,仅在所述锁定解除等待协作抑制标志以及所述用户确认 等待协作抑制标志都是复位状态时,许可仅在通过所述设备的用户的操作而被 请求的情况下被许可的类别的所述API调用。
21. 根据权利要求20所述的状态监视装置,其特征在于, 所述状态管理部,在经过了预定的超时时间的情况下,将所述用户确认等待协作抑制标志复位。
22. 根据权利要求20所述的状态监视装置,其特征在于, 所述状态管理部,在请求了所述API调用后在预定时间范围内而没有针对所述API调用的应答时,判断为所述用户的确认等待状态,将所述用户确 认等待协作抑制标志置位,所述许可决定部,在所述用户确认等待协作抑制标志为置位状态时,禁止 仅在通过所述用户的操作而被请求的情况下被许可的所述API调用。
全文摘要
本发明提供一种API检查装置以及状态监视装置,在具备开放执行环境和封闭执行环境的设备中,关于开放执行环境和封闭执行环境中的基于API调用的协作,能够以较低的开销确保安全性以及可靠性。API检查装置(300)具备API检查请求接收部(301),其接收请求判定是否许可API调用的判定请求;状态信息取得部(303),其取得设备(100)的状态信息;检查模式设定部(305),其根据所取得的状态信息,设定与API调用相对应的检查模式;判定部(307),其根据所设定的检查模式判定是否许可API调用,并生成API调用的检查结果;以及检查结果输出部(309),其输出由判定部生成的检查结果。
文档编号G06F21/22GK101685487SQ200910176280
公开日2010年3月31日 申请日期2009年9月21日 优先权日2008年9月22日
发明者中川智寻, 太田贤, 江口悠利, 竹下敦 申请人:株式会社Ntt都科摩
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1