[发明专利]保护Java字节码代码免受恶意运行环境中的静态和动态攻击的系统和方法有效
申请号: | 201080048082.7 | 申请日: | 2010-11-12 |
公开(公告)号: | CN102598017A | 公开(公告)日: | 2012-07-18 |
发明(设计)人: | 顾元祥;嘎尼·亚当斯;杰克·容 | 申请(专利权)人: | 埃德图加拿大公司 |
主分类号: | G06F21/22 | 分类号: | G06F21/22;G06F9/455 |
代理公司: | 北京英赛嘉华知识产权代理有限责任公司 11204 | 代理人: | 余朦;施蕾 |
地址: | 加拿大*** | 国省代码: | 加拿大;CA |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 保护 java 字节 代码 免受 恶意 运行 环境 中的 静态 动态 攻击 系统 方法 | ||
技术领域
本发明大体上涉及计算机软件,更具体地涉及使计算机软件抵抗恶意运行环境中的静态和动态攻击的方法和系统。
背景技术
在计算机编程领域中,Java编程语言被用于各个主要的工业部分并且存在于各种各样的装置、计算机和网络中。Java应用程序被以Java编程语言编制,并且被编译为与机器无关的字节码,该字节码在Java虚拟机(JVM)中执行,Java虚拟机部署在主操作系统(OS)和主计算机处理单元(CPU)的指令集架构(ISA)上。Java技术的多功能性、高效性、平台可移植性和安全性,使得其成为理想的网络计算技术。从笔记本电脑到数据中心、从游戏机到系统的超级计算机、以及从移动电话到因特网,到处都能发现Java编程语言。实际上、可移植性、可扩展性、可通用性和可靠性是Java的核心优势。但是,如此普遍的存在也为黑客和相关电脑攻击提供了大量的机会。
为了阻止不受信任的应用程序攻击和未授权地访问Java环境,Java技术包括Java沙盒安全模型,以保护主机或设备的运行环境,以免诸如病毒或恶意软件的危险软件被非法地下载或安装。在通常在需要高度保护的环境或系统(例如通信系统、运输系统、防御系统、工业自动化系统、电源管理系统)上运行的关键应用程序的设计中,必须阻止该恶意攻击。每年,越来越多的这样的关键系统使用Java编程语言设计和执行。
同样,消费电子产业正在进入一个新的时代,其中新兴市场的先进的技术和产品、媒体数字化的快速需要、消费电子的不断降价和增长的可支配收入已经刺激消费电子市场以史无前例的速度和范围进行增长。许多消费电子产品都依赖软件应用程序进行工作。Java编程语言的某些优势(例如可移植性、可扩展性、通用性、可靠性和简单性)降低消费电子产品的总体开发和部署成本,因此确保越来越多的基于Java的平台和应用程序被部署到新的消费产品中。
几乎所有消费电子设备都需要运行在不受信任环境中。在不受信任环境中,出于从受益(例如得到需要的服务)到不期望(例如非法侵入设备)的不同目的,可以直接访问消费电子设备中的软件。因此,与之前相比,越来越多的计算机应用程序执行在较为恶意的环境中。例如,手持设备(例如便携式媒体播放机或智能电话)、家庭网络(例如机顶盒、媒体播放机或个人计算机)和基于网络的环境都是攻击者经常花费大量时间和资源的地方。因此,保护合法软件免受攻击已经成为逐步升级的任务。此外,高性能的硬件和复杂的攻击工具也为侵入者提供了很多新的优势。
软件经销商必须确保他们的软件是稳定的且能够抵御攻击。但是,具有时间、资源、工具和掌握其所控制的网络的所有专业知识的攻击者,经常清楚地了解该已知的平台和软件。这种恶意攻击的形势经常称作“白盒”环境,其中所有内容都能一览无遗,因此易于直接访问和窜改。与其相反的是“黑盒”环境,换句话说,就是信任和受保护的环境,其中内容被隐藏或者以其它方式免受攻击。在盛行的白盒环境的恶意形势中,阻止或停止对软件系统的直接和自动攻击已经成为最需要的安全性挑战之一。此外,必须实现对白盒攻击的稳定防御,以确保正当的和安全的设备运行。Java编程语言没有被充分设计,以处理这样的安全性问题和挑战。在此方面,与利用C或C++语言编程相比,Java的某些优势实际上导致了安全性的弱势。
与将C/C++代码编译为运行在原始二进制数据和指定目标硬件(例如x86或PowerPC)上的低级指令集的C/C++编译器不同,Java编译器将Java源代码编译为更高级别的可移植字节码,该字节码在执行时以JVM可以解释的类和基本类型来运行。平台的依赖关系被封装在JVM中并且被从Java应用程序中分离。
并且,标准的Java编译器不进行在C/C++编译器中普遍和通常存在的编译时间的优化。相反地,Java基于即时(JIT)编译,以在运行时进行所有优化,同时为了改善性能考虑执行设定档。在编译时进行主要的C/C++代码的优化。例如,顺序置换(inline substitution)使得指定(成员)函数的拷贝分布在二进制映象周围;使用与编译时间评估表达式(compile-time evaluation of expression)相结合的预处理器,可以不留下源代码中限定的恒值的痕迹等。通常,复杂优化后的代码对于反向工程而言更难。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于埃德图加拿大公司,未经埃德图加拿大公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201080048082.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:油室
- 下一篇:核酸探针以及检测疟原虫寄生虫的方法