创建Java安全框架 避免Java漏洞被利用

日期: 2011-01-13 作者:Nick Lewis翻译:肖戌 来源:TechTarget中国 英文

虽然蠕虫病毒、Zeus僵尸网络和极光行动是去年的头条新闻,但是据Krebs On Security的Brian Krebs和微软的Holly Stewart最近的报道,针对Java的袭击数量一直在稳步上升。正如Stewart写道,针对Java的攻击和成功攻击的数量快速增加,最近甚至超过了针对PDF和其他目标的攻击。   在这篇文章,我们将谈到为什么Java容易成为攻击者的目标,以及企业应该如何创建Java安全框架,从而成功抵御基于Java的漏洞攻击。   Java的现状   Java运行时环境(Java Runtime Environment),也称为JRE或就简称为Java,安装在各种不同类……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

虽然蠕虫病毒、Zeus僵尸网络和极光行动是去年的头条新闻,但是据Krebs On Security的Brian Krebs和微软的Holly Stewart最近的报道,针对Java的袭击数量一直在稳步上升。正如Stewart写道,针对Java的攻击和成功攻击的数量快速增加,最近甚至超过了针对PDF和其他目标的攻击。

  在这篇文章,我们将谈到为什么Java容易成为攻击者的目标,以及企业应该如何创建Java安全框架,从而成功抵御基于Java的漏洞攻击。

  Java的现状

  Java运行时环境(Java Runtime Environment),也称为JRE或就简称为Java,安装在各种不同类型的设备上,包括大多数PC机、苹果电脑和Linux台式机,以及智能手机和其他嵌入式设备。在这些设备上,PDF阅读器和Flash播放器同Java的普及水平相似,但Java本身比较特殊,因为它被设计成为可以一次编写、到处运行的环境,包括你可能想不到的嵌入式系统。

  Java既是一种编程语言,也是一种需要安装从而支持Java程序运行的软件,它还具有额外的保护(比如说,沙箱(sandboxes)和额外的内存保护),这是其他编程语言没有的,然而最近的攻击却都绕开了这些保护。甲骨文公司凭借收购Sun微系统公司从而拥有了Java,虽然其频繁发布Java更新以便控制漏洞,且Java本身也包括自动升级功能,但是这个功能并不是那么可靠,无法保证运行的是JRE最新版本。另外,苹果公司也发布了自己的Java版本,其通常落后于安全修补过程,这就使得Java整体的安全问题更加严峻了。

  因此,Java JRE对于攻击者而言,是很有吸引力的目标。Stewart报告说,在过去一年中,三个Java的漏洞累计遭到350万次攻击,近200万台电脑受到攻击,这使得Java成为最易受到攻击的软件之一。

  Krebs报告说,针对Java的攻击已经包含到了漏洞利用程序包中,从而允许攻击者可以对该编程语言的攻击进行自动化。另外,使用PC机的企业不是唯一应该担心的,最近针对Java的攻击有些甚至包括了Mac电脑。从事Mac安全的Intego公司最近报道称,一个恶意的Java applet超链接
http://blog.intego.com/2010/10/27/intego-security-memo-trojan-horse-osxkoobface-a-affects-mac-os-x-mac-koobface-variant-spreads-via-facebook-twitter-and-more/被命名为Koobface,其已经感染了苹果的操作系统。由于缺少Java补丁,很多被感染的电脑已经被黑客控制,而最近针对Flash或PDF的袭击,台式电脑上防恶意软件的安全措施已经不起作用了。不管怎样,要想在网络层上检测Java的袭击,对IPS/IDS提供商而言已经更加困难了,因为任何潜在的恶意Java程序都需要进行运行测试,以检查恶意代码,而这需要耗费大量的计算资源。

  企业防御策略

  企业可以通过创建一个Java的安全框架来减少与Java相关的风险。首先,企业应该预判自己是否需要在台式机或者服务器上安装Java,如果不需要的话,请卸载Java或者从一开始就不安装Java。用户应该只在有应用程序需要时,或台式机需要Java程序支持的情况下,才安装Java。这是基本的建议,因为如果Java不存在,它就不可能被黑客进行漏洞利用。

  接下来,检查以确保只有最新版本的Java安装在客户机上。这些检测可以用企业管理软件、脚本版本检测、或手动访问Java下载页面来完成,这将报告已安装的Java是哪一版本。以我的经验来看,老版本经常遗留在系统中以保证向后的兼容性,特别是自己编写的应用程序。如果安装了Java,它可以配置成每天自动检查更新,但是这只对用户可以自己更新软件的家庭电脑有用。企业应该把对Java打补丁的优先级同微软或Adobe保持一致。对Java的一些特定安全选项进行调查也是可取的,用户通过使用Java控制面板就可以进行,比如禁止用户给来自不受信任的认证授予访问权限,或检查证书以防止潜在的恶意Java程序的运行。你可能还需要启动日志记录,以便发现恶意Java程序是否已经运行。如果你的企业使用Firefox,还可以利用NoScript插件的白名单功能来批准Java程序,以限制恶意Java程序的风险。

  结论

  过时的Java版本所构成的威胁不容低估,Java补丁应该与微软或Adobe更新拥有同样的优先权。甲骨文负责Java的更新,如同微软对其产品负责一样,甲骨文应该有同样的标准。所以,如果有可能,你可以向甲骨文公司报告因恶意软件袭击Java而引起的任何问题。

  企业应该在其客户端系统中增加更新Java的优化措施,以防止系统被黑客利用漏洞。他们也应该以此作为警钟,更仔细地评估什么软件应该安装在客户端电脑上,并确保定期更新,防止黑客凭借应用软件来控制系统。虽然这可能还有一场硬仗要打,但这也相应的推动了企业去更好的理解安全,即除了打补丁以外还可以有更多的具有前瞻性的办法,比如使用应用程序白名单功能,从而在第一时间防止恶意软件的运行。

作者

Nick Lewis
Nick Lewis

Nick Lewis是 Internet2项目经理,曾任Saint Louis大学信息安全官。

相关推荐