Java程序以其迅雷不及掩耳之势快速风靡全球,不可否认,Java程序有着其不可比拟的优越性——语言简单、面向对象、体系结构中立、健壮、以及便于移植。然而,当网络编程越来越方便,系统功能越来越强大,安全性却指数倍地下降。而功能强大的Java程序在给人们带来了良好的用户体验的同时,也存在着隐患,Java安全问题也开始被越来越多的Java程序开发者所关注。下面,我们就一起来探讨Java程序的几个“安全弱点”以及解决方案。
Java程序的几个“安全弱点”实现相关的漏洞通常是在编写代码时带入到程序中的,并且大多是由于编写代码时粗心,对需求理解不够充分,以及不熟练的编程技能等原因所造成的。这类漏洞也常常因为没有进行充分的测试以及认真的检查而隐藏得比较深,要有效地避免这些漏洞,就要做到良好的系统设计。
定时问题
在安全性方面危害较大的定时问题是资源竞争问题.发生在当两个没有经过适当同步的线程同时争夺同一个资源时,当两个互相影响的线程在不协调、无效的状态下放弃对象,或者是当恶意代码利用了正被另一个线程使用而又没有被很好的保护的资源时,安全漏洞就会出现.通常解决这类问题的办法是简单的加上同步措施。
不充分的输入校验
系统的输入在使用前一定要经过检验,尽管某些输人是来自信任源,但出于安全考虑,所有这些输人都应该看作不被信任的危险源,未经完全检查的输入可能带来大量严重的安全弱点。
安阳计算机培训学校支招:Java程序防御解决方案
随时随地的管理
用新的API开发的应用程序可以是独立的Java应用程序、基于Web浏览器的Javaapplets,甚或是Javaservlets。基于Web的applets具有可以按照要求下载到任意能够运行支持Java的Web浏览器的设备的优势,它为网络管理提供了灵活性。例如:待命网络管理员对来自网络任何地方的警告可做出快速响应。 服务供应商可以经济划算地向他们的用户的管理网络发出实时窗口。 操作人员可以更准确地提供网络服务在当前每一分钟的真实状况报告。
低成本部署
Thin-client/fat计算模式要求在客户程序上仅做有限的处理,而大部分工作都集中在上。该模式使客户应用程序对和内存的要求保持在较低水平。Thin-clients可在Web浏览器内运行,并可在支持Java的任何网络计算机上?,如:Sun的JavaStation、SPARCstation系统或PC等。这就大大减少了部署特定的管理工作站的费用,而增加了部署管理控制台时可用的选项。 为thin-client/fatserver而设计JavaAPI以及相关的体系结构在应用程序处理要求和可得资源的基础上,对效率和性能进行了优化。例如:
1、对内存和对CPU敏感的操作在服务器上进行,对用户是透明的。
2、拓扑和警告API都提供了批装载记录的方法,它提高了客户端的响应速度。
3、类状态和缓存数存在服务器上以最大限度地减少由客户程序所使用的内存。
其实,一般而言,这些攻击手段都是基于Java、JavaEE体系机构和基本安全机制入手的。从Java认证和授权服务(JAAS)、Java密码应用扩展(JCE)、和Java安全套接字扩展(JSSE)扥安全包分析入手,从而展开入侵的。而且,Java到目前为止,发行了众多的版本,每个版本都或多或少地有人使用,并开发出各种各样的Java应用软件。而且,不同的Java运行环境,也决定了Java安全机制漏洞的不同。因此,Java安全问题是一个非常收人们关注和值得探讨的话题。 |