首页> 外文期刊>Journal of Automated Reasoning >Lightweight Bytecode Verification
【24h】

Lightweight Bytecode Verification

机译:轻量级字节码验证

获取原文
获取原文并翻译 | 示例

摘要

In this paper, we provide a theoretical foundation for and improvements to the existing bytecode verification technology, a critical component of the Java security model, for mobile code used with the Java "micro edition" (J2ME), which is intended for embedded computing devices. In Java, remotely loaded "bytecode" class files are required to be bytecode verified before execution, that is, to undergo a static type analysis that protects the platform's Java run-time system from so-called type confusion attacks such as pointer manipulation. The data flow analysis that performs the verification, however, is beyond the capacity of most embedded devices because of the memory requirements that the typical algorithm will need. We propose to take a proof-carrying code approach to data flow analysis in defining an alternative technique called "lightweight analysis" that uses the notion of a "certificate" to reanalyze a previously analyzed data flow problem, even on poorly resourced platforms. We formally prove that the technique provides the same guarantees as standard bytecode safety verification analysis, in particular that it is "tamper proof" in the sense that the guarantees provided by the analysis cannot be broken by crafting a "false" certificate or by altering the analyzed code. We show how the Java bytecode verifier fits into this framework for an important subset of the Java Virtual Machine; we also show how the resulting "lightweight bytecode verification" technique generalizes and simulates the J2ME verifier (to be expected as Sun's J2ME "K-Virtual machine" verifier was directly based on an early version of this work), as well as Leroy's "cm-card bytecode verifier," which is specifically targeted for Java Cards.
机译:在本文中,我们为现有字节码验证技术(Java安全模型的关键组件)提供了理论基础,并对其进行了改进,该技术是用于Java“微型版”(J2ME)的移动代码的,该移动代码旨在用于嵌入式计算设备。在Java中,要求远程加载的“字节码”类文件在执行之前必须经过字节码验证,也就是说,必须进行静态类型分析,以保护平台的Java运行时系统免受所谓的类型混淆攻击(如指针操纵)的侵害。但是,执行验证的数据流分析超出了大多数嵌入式设备的能力,因为典型算法将需要内存要求。我们建议在数据流分析中采用一种证明方式的代码方法,以定义另一种称为“轻量级分析”的技术,该技术使用“证书”的概念来重新分析以前分析过的数据流问题,即使在资源贫乏的平台上也是如此。我们正式证明该技术可提供与标准字节码安全性验证分析相同的保证,特别是在防止分析产生的保证无法通过制作“假”证书或更改证书来保证这种意义上的“防篡改”分析代码。我们将说明Java字节码验证程序如何适合Java虚拟机重要子集的框架。我们还展示了由此产生的“轻量级字节码验证”技术如何概括和模拟J2ME验证程序(可以预期,Sun的J2ME“ K-虚拟机”验证程序直接基于此工作的早期版本)以及Leroy的“ cm -card字节码验证程序”,专门针对Java卡。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号