Java代码的安全性暴露及建议.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java代码的安全性暴露及建议.pdf

Java代码的安全性暴露及建议 吴国芳1,金伟立1 (1浙江绍兴托普信息职业技术学院计算机系,浙江 512000) 摘要:应用程序可能容易受到两类安全性威辫的攻击:静态和动态。虽然开 发人员不能完全控制动态威胁,但在开发应用程序时,可以采取一些预防措 施来消除静态威胁。静态暴露是系统中的缺陷,使系统暴露在想要篡夺该系 统的特权的攻击者面前。本文概括,解释了13种类型的静态暴露,并具体给 出处理安全性暴露问题的一些建议。 关键词:安全性;暴露;Java 一、引言 在开发JavaWeb应用程序时,需要确保应用程序拥有完善的安全性 特征补充。这里在谈到Java安全性时,并不谈及Java语言提供的安全性 APl,也不涉及使用Java代码来保护应用程序。本文将着重讨论可能潜伏 在Java应用程序中的安全性暴露。安全性暴露是系统中的缺陷,它使系统 无法防止攻击者篡夺对系统的特权、控制系统的运行、危及系统上的数据 安全或者假冒未经授权的信任。 二、Java安全性暴露及建议 2.1高严重性暴露 对付高严重性暴露的技巧,请遵循下列建议: ◆限制对变量的访问 如果将变量声明为public,那么外部代码就可以操作该变量,这可能 会导致安全性暴露。将实例变量声明为protected并不一定能解决这一问 题:虽然不可能直接在类实例基础上访问这样的变量,但仍然可以从派生 类访问这个变量。 建议:一般来说,应该使用取值方法而不是public变量。按照具体问 题具体对待的原则,在确定哪些变量特别重要因而应该声明为private时, d 请将编码的方便程度及成本同安全性需要加以比较。 ◆让每个类和方法都成为final,除非有足够的理由不这样做 不允许扩展的类和方法应该声明为final。这样做防止了系统外的代 码扩展类并修改类的行为。仅仅将类声明为非public并不能防止攻击者扩 展类,因为仍然可以从它自己的包内访问该类。 建议:让每个类和方法都成为final,除非有足够的理由不这样做。按 此建议,要求放弃可扩展性,虽然它是使用诸如Java语言之类的面向对 象语言的主要优点之一。在试图提供安全性时,可扩展性却成了敌人;可 扩展性只会为攻击者提供更多麻烦的方法。 ◆不要依赖包作用域 们自己的包内是可访问的。如果Java包不是封闭的,那么攻击者就可以 向包内引入新类并使用该新类来访问想保护的内容。诸如java lang之类的 一些包缺省是封闭的,一些JVM也可以封闭自己的包。然而,最好假定 包是不封闭的。 建议:从软件工程观点来看,包作用域具有重要意义,因为它可以阻 止对程序想隐藏的内容进行偶然的、无意中的访问。但不要依靠它来获取 适合特定需求的那种。 ◆使类不可克隆 克隆允许绕过构造器而轻易地复制类实例。即使没有有意使类可克隆, 就让攻击者创建了类的新实例。拷贝现有对象的内存映象生成了新的实 例;虽然这样做有时候是生成新对象的可接受方法,但是大多数时候是不 可接受的。清单1说明了因为可克隆而暴露的代码。 清单1:可克隆代码 class BaseClass{ int privateid; privateStringname; publicBaseClass(){ id=l; 42 name=”Mike”; ) publicBaseClass(intid,Stringname){ this.id=id; this.name-=Iaame;

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档