一种构建可信JAVA虚拟机平台的方法技术

技术编号:7786674 阅读:194 留言:0更新日期:2012-09-21 07:55
本发明专利技术涉及一种构建可信Java虚拟机平台的方法,其大略方案是:利用可信计算的观点,在Java虚拟机中实现可信传递,控制Java虚拟机加载类(class)的过程,建立可信的Java虚拟机平台。在可信Java虚拟机平台中,只有可信的Java程序才能被加载执行,这样可以有效抵抗Java病毒,同时还能实现对终端计算机上Java应用的管理和控制。

【技术实现步骤摘要】

本专利技术涉及信息安全领域,尤其是一种构建可信JAVA虚拟机平台的方法
技术介绍
根据TCG可信传递的概念,在计算平台的运行控制传递过程中,构建ー个可信根,由可信根确定其下一级功能的执行代码的可信度,如果可信,系统将运行控制传递到下一级可信执行代码,系统的可信范围因此就从可信根扩大到下ー级功能,同样,第二级功能如果确定第三级功能可信,可信范围就扩大到第三级功能,这个过程不断重复。通过可信传递,可以实现系统可信范围的延伸。TCG的信任链以BIOS Boot Block和TPM芯片为可信根,经过B10S-0S Ioader-OS-Application,信任链逐一传递,ー级测量认证ー级,ー级信任ー级,以确保整个平台的系统资源的完整性,构建可信平台。 终端计算机系统上,从系统加电开始到BIOS,再从BIOS到MBR、OS LOADER、OS、一般应用的可信传递已经有很多相关研究,但是Java程序的执行方式有别于一般PE文件的执行方式,Java程序的加载执行取决于Java虚拟机对JavaClass的加载。
技术实现思路
本专利技术的目的在于提供ー种适用于在信任链传递到Java虚拟机时,构建可信Java虚拟机平台的方法。其大略技术方案是利用可信计算的观点,在Java虚拟机中实现可信传递,控制Java虚拟机加载类(class)的过程,建立可信的Java虚拟机平台;在Java平台中,Java应用通过Java虚拟机装载执行。终端计算机系统上的可信传递,可以保证Java虚拟机的可信。本方法把可信的Java虚拟机(JVM)作为“第二信任根”,通过可信JVM对每ー个加载的Java应用的进行可信验证,本方法可以在Java虚拟机中建立可信传递模型,从而建立可信Java虚拟机平台。具体来讲,本专利技术的目的是通过以下技术方案来实现JVM中,类是通过类加载器(class loader)来加载的,加载器本身也是类。第一个类加载器为初始类加载器(primordial class loader),初始类加载器由操作系统加载执行,相当于普通应用。初始类加载器再加载其他加载器和应用程序类,整个加载过程程树状。在类加载器的最底层是被称为java. lang. ClassLoader的抽象类,除了初始类加载器之外的其他类加载器都是其生成子类。—种构建可信Java虚拟机平台的方法,利用JVM上述加载类的特点,修改java.lang. Classloader抽象类中的IoadClassO方法,使其在加载类时先验证类的真实性和完整性。验证依据采用可信类白名单(TCL)的形式,在该名单中列出了系统所有可信的类文件及其完整性校验值。在类装载器装载类,先根据类名找到所加载类的绝对路径,计算出类ニ进制文件的Hash值,然后在TCL中查找。找到则说明该类可信,继续进行类的装载;反之则说明该类不可信,直接进行审计和返回异常。对于Java类和Java应用程序,采用类文件本身hash值做可信类白名单。可信类白名单能根据用户需求定制,并且提供专门的生成工具。系统组成主要模块包括白名单生成模块和类加载验证模块。白名单生成模块主要完成白名单的生成、添加和删除功能,为类加载验证模块提供验证依据(TCL)。类加载验证模块主要完成类的加载,验证JVM加载类的可信。本方法确保在可信Java虚拟机平台中,只有可信的Java程序才能被加载执行,这样可以有效抵抗Java病毒,同时还能实现对終端计算机上Java应用的管理和控制。 附图说明图I是本专利技术实施例所述的JVM可信传递示意图。图2是本专利技术实施例所述的JVM类加载验证树图。图3是本专利技术实施例所述的系统模块结构图。具体实施例方式下面结合附图和具体实施方式对本专利技术作进ー步的说明。如图I所示,本专利技术所述的ー种构建可信Java虚拟机平台的方法,利用JVM类加载过程,修改JVM类加载的方法,使得Java虚拟机只加载可信的类,从而构建可信Java虚拟机平台。实施过程中,先由白名单生成工具对可信的Java类和Java应用程序进行采集,根据Java类和Java应用程序文件本身,生成md5 hash值,作为可信类白名单。再修改java.lang. Classloader抽象类中的IoadClassO方法,使其在加载类时先验证类的真实性和完整性。修改后的java. lang. Classloader抽象类,布置于JVM中的Rt. jar中。如图2所示,系统运行吋,終端计算机系统上的可信链传递技木,可保证JVM初始类加载器的可信。本专利技术使用可信的初始类加载器作为“第二可信根”,由可信的初始类加载器验证辅助类和URLClassLoaderl的可信,再由URLClassLoaderl验证应用程序类和其他URLClassLoaderf的可信。这样信任就由可信的初始类加载器传递到子类加载器,再由各个类加载器传递到Java应用,可以保证JVM所加载的类都是可信的,使信任从从而保证Java应用的可信,实现整个Java虚拟机环境的安全可信。如图3所示,系统组成和工作流程主要模块包括白名单生成模块和可执行代码验证模块。白名单生成模块主要完成可信类白名单(TCL)的生成、添加和删除功能,为类加载验证模块提供验证依据(TCL)。类加载验证模块主要完成类的加载,验证JVM加载类的可信。加载验证过程中,根据类的名字获得类文件的绝对路径,计算类文件的hash值,如果该hash值存在于TCL中,则验证通过,加载类;如果该hash值不存在于TCL中,则验证失败,进行审计并返回异常。该方法通过修改JVM类加载的抽象类,在JVM类加载过程中验证Java类和Java程序的可信,杜绝不可信类在Java虚拟机平台的加载执行,保证整个Java执行环境的可信,最终构建一个可信的Java虚拟机平台。 本
中的相关技术人员应当熟悉到,以上所述实施例仅是用来说明本专利技术的目的,而并非用作对本专利技术的限定,只要在本专利技术的实质范围内,对上述实施例所做的变化、变型都将落在本专利技术的权利要求范围内。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种构建可信Java虚拟机平台的方法,其特征在于,利用Java虚拟机加载类的特点,修改Java虚拟机java. lang. Classloader抽象类中的IoadClassO方法,使其在加载类时先验证类的真实性和完整性,保证Java虚拟机只加载执行可信的类。2.根据权利要求I所述的ー种构建可信Java虚拟机平台...

【专利技术属性】
技术研发人员:孙绍钢李晓勇
申请(专利权)人:北京市国路安信息技术有限公司
类型:发明
国别省市:

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

1