论文部分内容阅读
摘 要:Java自1995年诞生以来,以其诸如面向对象的、分布式的、健壮的、安全的、与平台无关的、可移植的等非常优秀的特性,越来越受IT界人士的欢迎。Java在设计之初就被设计为面向网络使用的编程语言。世界上现在最大的计算机网络——Internet的发展是Java得以诞生及发展一个重要原因。,并对现在Java安全体系结构存在的问题及未来的发展方向进行初探。
关键词:Java;安全;体系结构
1.Java简介
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
2.新的保护机制——域
在新的安全体系结构中,域是一个基本的概念,它在逻辑上封装了一组类,并且根据当前有效的安全策略,将这组类的实例赋予一组相同的许可权限。域将对象划分成组,主体可以直接访问域中的一组对象。保护域的概念为保护单元之间的分组和隔离提供了便利的机制。保护域在类装载时被创建。一个类属于一个且仅属于一个保护域。保护域通常分为两类:系统域和应用程序域。所有被装载的作为Java 2 SDK一部分的代码,被认为是系统代码并在单独的系统域中运行。每个applet或application都在其各自的应用程序域中运行。所有被保护的外部资源,如文件系统、网络设备、显示器或键盘等,只能通过系统域来访问。每个域(系统域或应用程序域)还可以对其域边界内的内部资源实行附加的保护。
3.Java安全机制的弱点
松散的访问控制保护存在潜在的危险。Java环境的许多关键部件仅仅受到底层操作系统的访问控制机制的保护。在一些安装过程中,JRE文件没有访问控制的限制。这包括用来定义安全策略和临界安全的配置文,默认提供所有许可权限给类文件和JAR文件的扩展目录,以及JVM系统类JAR文件。这种松散的访问控制保护可以扩展到许多其它组件,大多数系统管理员并没有意识到这种情况所带来的潜在危险。例如,keystore通常持有一些证书,用来检查应用程序提供或者在应用程序安装过程中更新的签名JAR文件。大多数系统管理员可能并没有意识到,假如keystore被篡改,签名JAR文件会被欺骗,然后许可权限被授予给恶意的代码。
4.保护域
保护域(ProtectionDomain)是当前Java安全模型的核心概念,它提供了更加细粒度的安全控制。这里的域指的是操作环境中要保护的部分,是用来对组件分组或对被保护资源分组的一个抽象概念,它将具有同样权限的类归在一个组里面。在安全策略中定义了保护域,但它实际上是将各种技术、API和基木的Java体系结构组合在一起保护应用程序的集合。
在Java的安全体系结构中将保护域分为系统保护域与应用保护域。前者对文件系统或网络套接字(socket)等系统资源的访问加以控制。而后者对各种组件或应用程序某部分的访问进行控制,它是针对具体应用程序的。应用保护域涉及到商业逻辑的执行,允许应用程序代码中敏感部分的执行,从而常常与商业应用的安全规则密切相关。应用保护域使用应用安全增强了当前的安全策略。然而,应用安全通常使用定制的权限来限制对特权代码的访问。
5.Java的安全特性
Java的安全特性有两个,既类型安全和语义分析其中,类型安全是实现Java。安全的重要因素而在类型安全中,需要考虑的问题则有类型检查和类型安全具体来说,就是计算机中的每个区域都存有Java。对象,而且每个对象有与之相应的标签,进而使对象与其允许的操作联系起来,而这种方法就是动态类型检查而静态类型检查则主要是进行相应程序的考查的操作,常常应用在程序的载人的过程中另外,类型混乱是比较常见的Java系統的安全问题具体来说,就是Java系统往往将对象当做是内存中的模块,所以,所有对象的数据域就是被分配的内存的排列组合而一旦要进行某个对象的调用时,则需要根据对象的类型标签,既目标地址的指向指针来进行对象的调用所以,为了避免类型的混乱,从而确保Java系统的安全性,首先就要做好指针的标记而语义分析作为Java技术的另一个安全特性,其分析可以从公共变量、被保护成员变量和Java包三个方面来进行。
Java的存储分配模型是它防御恶意代码的主要方法之一。Java没有指针,所以程序员不能得到隐蔽起来的内幕和伪造指针去指向存储器。更重要的是,Java编译程序不处理存储安排决策,所以程序员不能通过查看声明去猜测类的实际存储安排。编译的Java代码中的存储引用在运行时由Java解释程序决定实际存储地址。Java运行系统使用字节码验证过程来保证装载到网络上的代码不违背任何Java语言限制。这个安全机制部分包括类如何从网上装载。例如,装载的类是放在分开的名字空间而不是局部类,预防恶意的小应用程序用它自己的版本来代替标准Java类。
6.结语
在Java安全体系结构中,Java虚拟机内置了许多安全特性,在语言层确保Java应用程序的安全性,而且在字节码运行前通过字节码校验器和类装载器保证代码的安全性,运行时,实现预先定制的Java安全服务和工具的功能,并通过安全管理器始终监控Java程序的运星Java安全系统结构的各个组成部分都能为Java程序提供安全性。
参考文献
[1]罗峰,戴智英.新时期计算机软件开发技术的应用研究[J].科技传播,2017,9(21):88-89.
[2]艾力江·依力哈木.基于Java开发平台的安全性研究[J].电脑迷,2017,(12):5.
[3]吕昌武.基于php语言分析计算机编程的发展前景[J].电脑迷,2017,(12):50.
[4]张博.浅析JAVA语言的开发平台及J2EE编程技术[J].电脑迷,2017,(12):60.
[5]Francesco Pirotti,Maria Antonia Brovelli,Gabriele Prestifilippo,Giorgio Zamboni,Candan Eylul Kilsedar,Marco Piragnolo,Patrick Hogan.An open source virtual globe rendering engine for 3D applications:NASA World Wind[J].Open Geospatial Data,Software and Standards,2017,2(1):.
[6]郭晓云.基于Java的测试文档自动生成方案[J].电脑编程技巧与维护,2017,(23):18-20.
(作者单位:齐齐哈尔工程学院)
关键词:Java;安全;体系结构
1.Java简介
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
2.新的保护机制——域
在新的安全体系结构中,域是一个基本的概念,它在逻辑上封装了一组类,并且根据当前有效的安全策略,将这组类的实例赋予一组相同的许可权限。域将对象划分成组,主体可以直接访问域中的一组对象。保护域的概念为保护单元之间的分组和隔离提供了便利的机制。保护域在类装载时被创建。一个类属于一个且仅属于一个保护域。保护域通常分为两类:系统域和应用程序域。所有被装载的作为Java 2 SDK一部分的代码,被认为是系统代码并在单独的系统域中运行。每个applet或application都在其各自的应用程序域中运行。所有被保护的外部资源,如文件系统、网络设备、显示器或键盘等,只能通过系统域来访问。每个域(系统域或应用程序域)还可以对其域边界内的内部资源实行附加的保护。
3.Java安全机制的弱点
松散的访问控制保护存在潜在的危险。Java环境的许多关键部件仅仅受到底层操作系统的访问控制机制的保护。在一些安装过程中,JRE文件没有访问控制的限制。这包括用来定义安全策略和临界安全的配置文,默认提供所有许可权限给类文件和JAR文件的扩展目录,以及JVM系统类JAR文件。这种松散的访问控制保护可以扩展到许多其它组件,大多数系统管理员并没有意识到这种情况所带来的潜在危险。例如,keystore通常持有一些证书,用来检查应用程序提供或者在应用程序安装过程中更新的签名JAR文件。大多数系统管理员可能并没有意识到,假如keystore被篡改,签名JAR文件会被欺骗,然后许可权限被授予给恶意的代码。
4.保护域
保护域(ProtectionDomain)是当前Java安全模型的核心概念,它提供了更加细粒度的安全控制。这里的域指的是操作环境中要保护的部分,是用来对组件分组或对被保护资源分组的一个抽象概念,它将具有同样权限的类归在一个组里面。在安全策略中定义了保护域,但它实际上是将各种技术、API和基木的Java体系结构组合在一起保护应用程序的集合。
在Java的安全体系结构中将保护域分为系统保护域与应用保护域。前者对文件系统或网络套接字(socket)等系统资源的访问加以控制。而后者对各种组件或应用程序某部分的访问进行控制,它是针对具体应用程序的。应用保护域涉及到商业逻辑的执行,允许应用程序代码中敏感部分的执行,从而常常与商业应用的安全规则密切相关。应用保护域使用应用安全增强了当前的安全策略。然而,应用安全通常使用定制的权限来限制对特权代码的访问。
5.Java的安全特性
Java的安全特性有两个,既类型安全和语义分析其中,类型安全是实现Java。安全的重要因素而在类型安全中,需要考虑的问题则有类型检查和类型安全具体来说,就是计算机中的每个区域都存有Java。对象,而且每个对象有与之相应的标签,进而使对象与其允许的操作联系起来,而这种方法就是动态类型检查而静态类型检查则主要是进行相应程序的考查的操作,常常应用在程序的载人的过程中另外,类型混乱是比较常见的Java系統的安全问题具体来说,就是Java系统往往将对象当做是内存中的模块,所以,所有对象的数据域就是被分配的内存的排列组合而一旦要进行某个对象的调用时,则需要根据对象的类型标签,既目标地址的指向指针来进行对象的调用所以,为了避免类型的混乱,从而确保Java系统的安全性,首先就要做好指针的标记而语义分析作为Java技术的另一个安全特性,其分析可以从公共变量、被保护成员变量和Java包三个方面来进行。
Java的存储分配模型是它防御恶意代码的主要方法之一。Java没有指针,所以程序员不能得到隐蔽起来的内幕和伪造指针去指向存储器。更重要的是,Java编译程序不处理存储安排决策,所以程序员不能通过查看声明去猜测类的实际存储安排。编译的Java代码中的存储引用在运行时由Java解释程序决定实际存储地址。Java运行系统使用字节码验证过程来保证装载到网络上的代码不违背任何Java语言限制。这个安全机制部分包括类如何从网上装载。例如,装载的类是放在分开的名字空间而不是局部类,预防恶意的小应用程序用它自己的版本来代替标准Java类。
6.结语
在Java安全体系结构中,Java虚拟机内置了许多安全特性,在语言层确保Java应用程序的安全性,而且在字节码运行前通过字节码校验器和类装载器保证代码的安全性,运行时,实现预先定制的Java安全服务和工具的功能,并通过安全管理器始终监控Java程序的运星Java安全系统结构的各个组成部分都能为Java程序提供安全性。
参考文献
[1]罗峰,戴智英.新时期计算机软件开发技术的应用研究[J].科技传播,2017,9(21):88-89.
[2]艾力江·依力哈木.基于Java开发平台的安全性研究[J].电脑迷,2017,(12):5.
[3]吕昌武.基于php语言分析计算机编程的发展前景[J].电脑迷,2017,(12):50.
[4]张博.浅析JAVA语言的开发平台及J2EE编程技术[J].电脑迷,2017,(12):60.
[5]Francesco Pirotti,Maria Antonia Brovelli,Gabriele Prestifilippo,Giorgio Zamboni,Candan Eylul Kilsedar,Marco Piragnolo,Patrick Hogan.An open source virtual globe rendering engine for 3D applications:NASA World Wind[J].Open Geospatial Data,Software and Standards,2017,2(1):.
[6]郭晓云.基于Java的测试文档自动生成方案[J].电脑编程技巧与维护,2017,(23):18-20.
(作者单位:齐齐哈尔工程学院)