用于保护超级管理程序的应用程序编程接口的方法和设备技术

技术编号:14637087 阅读:63 留言:0更新日期:2017-02-15 11:15
本发明专利技术涉及用于保护超级管理程序的应用程序编程接口的方法和设备。用于保护超级管理程序(16)的至少一个包括程序结构的服务程序库(12、14)的应用程序编程接口的方法(10),其特征在于如下特征:超级管理程序(16)的配置(18),所述超级管理程序(16)的配置(18)将程序结构的至少一个容许的调用(24、26)关联(32)给超级管理程序(16)的至少一个客户系统(20、22),和所述程序结构的被适配到客户系统(20、22)上的声明的依据所述配置(18)的代码生成(30)。

【技术实现步骤摘要】

本专利技术涉及一种用于保护超级管理程序(Hypervisor)的应用程序编程接口的方法。除此之外,本专利技术还涉及一种相对应的设备、一种相对应的计算机程序以及一种相对应的存储介质。
技术介绍
公知的超级管理程序(虚拟机监视器(virtualmachinemonitor),VMM)具有用于客户系统(客户(guest))的应用程序编程接口(ApplicationProgrammingInterface,API)。这样的应用程序编程接口一般允许客户系统应用超级管理程序的服务程序库,以便与该超级管理程序相互作用。在此,现有技术比方说包括使得能够询问其它客户系统或者超级管理程序自身的状态的服务程序库。此外,还可许可客户系统给超级管理程序下达确定的指令。严格来说,所述相互作用可以被看作违反了严格的隔离的范例(Paradigma),因此每个在超级管理程序与该超级管理程序的客户系统之间的相互影响都要被拒绝。因而,应用程序编程接口的每次使用都需要令人信服的授权概念(Berechtigungskonzept)。此外,还需要超级管理程序和客户系统对它们的句法和语义有共同的理解。CN1989471A公开了一种用于减少对计算机系统中的超级管理程序接口的外部访问从而降低攻击可能性的系统和方法。在优选的实施形式中,地址被用于调用,以便填充在其中所述地址针对发出请求的计算机特定地被选择的表格。例如,在一个实施形式中,例行程序可搜索发出请求的计算机的适配器类型并且用针对该类型的适配器特定的调用来填充该表格。其它类型的调用没有被存放在该表格中。这些调用反而由将错误返回的例行程序代替。专利技术内容本专利技术提供了按照独立权利要求所述的一种用于保护超级管理程序的应用程序编程接口的方法、一种相对应的设备、一种相对应的计算机程序以及一种相对应的存储介质。该解决方案的优点在于:及早地识别客户系统在翻译时刻对应用程序编程接口的访问权限的违反。所建议的方法也已经在该阶段使得能够发现在客户系统与超级管理程序之间的关于该超级管理程序的应用程序编程接口的可能的句法和语义的不兼容性。通过在从属权利要求中举出的措施,在独立权利要求中所给出的基本思想的有利的扩展方案和改进方案是可能的。这样可以设置:此外,配置将超级管理程序版本关联(zuordnen)给超级管理程序,而且此外在代码生成时还产生超级管理程序的源代码,所述超级管理程序对超级管理程序版本与程序结构的关联进行编码。这样,所生成的超级管理程序有能力在其运行时间期间也识别版本不相容性和对访问权限的违反。在变型方案中,该配置不是基于代码生成,而是在超级管理程序开动时从配置文件被读入。按照另一方面可以设置:所述关联此外还将服务程序库所包括的方法的版本关联给所述调用,而且在代码生成时产生包含该方法的声明(Declaration)的头部文件。以这种方式,只要客户系统的程序员将头部文件作为翻译单元内连到研发过程中,该程序员就可以在列出包括所述版本的方法名称的情况下使用应用程序编程接口。因此,调用不容许的方法的尝试在翻译的时刻将引起错误。如果有关的方法虽然是允许的,但是客户系统使用了该方法的有差别的版本,那么相对应的情况适用。附图说明本专利技术的实施例在附图中被示出并且在随后的描述中进一步被解释。图1示例性地示出了按照第一实施形式的方法。图2示意性地示出了按照第二实施形式的设备。具体实施方式图1图解说明了按照本专利技术的用于保护超级管理程序16的服务程序库12、14的应用程序编程接口的方法10的流程。在本例中,面向对象的服务程序库12、14包括两个方法“a”和“b”,所述两个方法“a”和“b”应该由超级管理程序16的第一客户系统20和第二客户系统22使用。在此,作为对(32)的容许,超级管理程序16的配置18将版本“1.0”的第一方法“a”的调用24关联给第一客户系统20,而且将版本“1.5”的第二方法“b”的相对应的调用26关联给第二客户系统22。此外,配置18还将超级管理程序版本关联给超级管理程序16。现在,依据所描述的配置18来实现超级管理程序16的源代码的代码生成30。在此,所关联的超级管理程序版本同样进入源代码,如将版本“1.0”的第一方法“a”的调用24关联给第一客户系统20以及将版本“1.5”的第二方法“b”的调用26关联给第二客户系统22的关联32同样进入源代码。代码生成30的对象(Gegenstand)也是服务程序库12、14自身以及应用程序编程接口的被适配到相应的客户系统24、26上的声明。(超级管理程序16也可能会是静态的并且在开动时从配置文件读入该超级管理程序16的配置,而不离开本专利技术的范围。)为此,详细地,产生具有第一方法“a”的函数原型(Funktionsprototyp)的第一头部文件34和具有第二方法“b”的函数原型的第二头部文件36。在此,第一方法“a”的标识符(Bezeichner)包含所述第一方法“a”的由第一客户系统24所使用的版本“1.0”,而第二方法“b”的那个标识符包含所述第二方法“b”的由第二客户系统22所使用的版本“1.5”。现在,如果第一头部文件34因此被包括(include40)到第一客户系统20的源代码38中,那么只要该源代码38仅包含版本“1.0”的第一方法“a”的调用24,该源代码38就可以无错误地(42)被翻译(46)成相对应的目标代码44。另外一些东西适用于第二客户系统22的在将第二头部文件36包括在内50的情况下的源代码48,所述源代码48同样包含第一版本“1.0”的第一方法“a”的调用24以及附加地包含版本“2.0”的第二方法“b”的调用28:这里,因为第一方法“a”的调用24绝对没有由第二客户系统22设置,所以缺少相对应的函数原型在尝试翻译52时导致了第一翻译错误54。因为虽然原则上允许通过第二客户系统22调用26第二方法“b”,但是不是版本“2.0”而是版本“1.5”被关联(32)给该调用26,所以出现第二翻译错误56。因此,由于翻译52的失败60而避免了产生否则有错误的目标代码58。方法10例如可以以软件或者硬件或者以由软件和硬件构成的混合形式被实施在例如工作站计算机70中,如图2的示意图解释清楚的那样。本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201610602192.html" title="用于保护超级管理程序的应用程序编程接口的方法和设备原文来自X技术">用于保护超级管理程序的应用程序编程接口的方法和设备</a>

【技术保护点】
用于保护超级管理程序(16)的至少一个包括程序结构的服务程序库(12、14)的应用程序编程接口的方法(10),其特征在于如下特征:- 超级管理程序(16)的配置(18),所述超级管理程序(16)的配置(18)将程序结构的至少一个容许的调用(24、26)关联(32)给所述超级管理程序(16)的至少一个客户系统(20、22),和- 所述程序结构的被适配到客户系统(20、22)上的声明的依据所述配置(18)的代码生成(30)。

【技术特征摘要】
2015.07.29 DE 102015214385.61.用于保护超级管理程序(16)的至少一个包括程序结构的服务程序库(12、14)的应用程序编程接口的方法(10),其特征在于如下特征:-超级管理程序(16)的配置(18),所述超级管理程序(16)的配置(18)将程序结构的至少一个容许的调用(24、26)关联(32)给所述超级管理程序(16)的至少一个客户系统(20、22),和-所述程序结构的被适配到客户系统(20、22)上的声明的依据所述配置(18)的代码生成(30)。2.根据权利要求1所述的方法,其特征在于如下特征:-所述配置(18)此外还将每一个版本都关联给所述调用(24、26)和所述超级管理程序(16)。3.根据权利要求1或2所述的方法,其...

【专利技术属性】
技术研发人员:G皮尔G摩根
申请(专利权)人:罗伯特·博世有限公司
类型:发明
国别省市:德国;DE

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1