设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客

开源Java框架带来的应用安全风险

2013-7-17 13:41| 发布者: joejoe0332| 查看: 993| 评论: 0|原作者: 曾少宁编译|来自: TechTarget中国

摘要:   Java安全风险是重所周知的,但是您是否了解一些开源Java框架的安全问题呢?例如,Struts、Hibernate、JavaEE。哪一个框架最安全,又有哪些措施可以提高它们的安全性?   只要开发者认真学习,许多开源Java框架都 ...

  Java安全风险是重所周知的,但是您是否了解一些开源Java框架的安全问题呢?例如,Struts、Hibernate、JavaEE。哪一个框架最安全,又有哪些措施可以提高它们的安全性?


  只要开发者认真学习,许多开源Java框架都可以帮助完成应用开发。框架可以提高开发者生产力,但是大多数人都必须经过足够的学习过程,才能发挥框 架的真正作用。CAST最近发布了一份报告,其中显示最流行的开源Java框架是Struts、JavaEE、Hibernate和Spring。然而, 没有一种框架提供了足够的安全性,或者保证完美无瑕的代码。


  为了寻找最安全的框架,CAST调查了496个应用程序的1.52亿行代码,结果发现最大的问题是,大部分应用实际上都有错误配置。我并不确定这些 统计结果是否可以推断出其他一些调查结果,但是这个结果突出了培训的重要性,只有通过培训才能让开发者知道如何正确使用所选择的框架。


  任何应用开发的计划阶段都应该确定一组特定的安全需求,如身份验证、授权和加密方式,使开发团队能够选择最适合这些需求的框架。而且,有可能需要使用多个框架才能支持所有需求,但是这样可能增加应用程序的整合难度。


  我个人认为,使用好的框架确实可以提高编码质量和减少Bug数量。CAST报告显示,不使用任何框架的应用程序会出现各种质量问题。影响框架选择的 其他因素包括文档质量,特别是安全API的文档,因为它们可能非常复杂,显然有严格的使用要求。另一个问题是框架用户社区的响应速度,因为这是获取帮助和 支持的重要来源。


  要提高框架安全性,有时需要修改其他人的代码,而这是非常难的。他们发布的任何更新或补丁都可能覆盖您所作的修改,或者影响它们的行为。如果您发现 它很重要,那么必须检查所有处理用户输入及应用入口的代码。输入是否有效?是否处理了所有特殊字符或特殊值?如果没有,那么您必须自己增加验证和过滤功 能,保证传递到应用程序的数据一定是安全的。


  在使用任何第三方代码或应用程序时,您必须紧跟供应商或Bug列表,及时了解所有安全警报。例如,Aspect Security的研究人员发现,Spring框架的“表达式语言”功能有一个缺陷,它允许执行远程代码,可能完全破坏相应用程序。这个问题很难解决,目 前的建议是关闭表达式语言特性。如果开发者不了解这些漏洞,那么他们的应用程序就有可能无法避免这些攻击。开发团队应该有一位成员负责跟踪编程语言及开发 工具的安全更新,而且他要知道如何处理警报和重要补丁更新。


酷毙

雷人

鲜花

鸡蛋
1

漂亮

刚表态过的朋友 (1 人)

  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部