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

导读:据最近的报道,针对Java的袭击数量一直在稳步上升。在这篇文章,我们将谈到为什么Java容易成为攻击者的目标,以及企业应该如何创建Java安全框架,从而成功抵御基于Java的漏洞攻击。

虽然蠕虫病毒、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程序运行的软件,它还具有额外的保护,这是其他编程语言没有的,然而最近的攻击却都绕开了这些保护。甲骨文公司凭借收购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的优化措施,以防止系统被黑客利用漏洞。他们也应该以此作为警钟,更仔细地评估什么软件应该安装在客户端电脑上,并确保定期更新,防止黑客凭借应用软件来控制系统。虽然这可能还有一场硬仗要打,但这也相应的推动了企业去更好的理解安全,即除了打补丁以外还可以有更多的具有前瞻性的办法,比如使用应用程序白名单功能,从而在第一时间防止恶意软件的运行。

原文链接:http://www.searchsecurity.com.cn/showcontent_44787.htm

时间: 2024-09-14 13:35:11

创建Java安全框架 避免Java漏洞被利用的相关文章

Java集合框架:HashMap

Java集合框架概述   Java集合框架无论是在工作.学习.面试中都会经常涉及到,相信各位也并不陌生,其强大也不用多说,博主最近翻阅java集合框架的源码以及搜索一些相关资料整理出Java集合框架的系列.一方面是做一个总结,方便以后查阅,另一方面希望各位小伙伴能够提出不足之处,我会及时更新修改.   博主从网上抠了一张图,觉得画得还是比较形象的,给大家参考一下.   上述类图中,实线边框的是实现类,比如ArrayList,LinkedList,HashMap等,折线边框的是抽象类,比如Abst

java | 集合框架

集合框架 集合代表了一组对象,Java中的集合框架定义了一套规范,用来表示.操作集合,使具体操作与实现细节解耦. 而这些操作无非就是增.删.改.查! 集合和数组的区别: 1.数组的长度固定,集合长度可变. 2.数组只能存储相同类型的数据(基本类型/引用类型),集合可存储各种类型的数据. Java集合框架接口 Java集合框架的顶层接口包括: 一.Collection接口: 1.实现Collection接口的集合有List.Set.Queue(Java队列实现). 2.List:排列有序,可以有重

java集合框架01——总体框架一览

 Java集合框架是java提供的工具包,在java.util.*中,这个包中包含了常用的数据结构:集合.数组.链表.栈.队列.映射等.java集合框架主要可以分为四个部分:List列表.Set集合.Map映射和工具类(Iterator迭代器.Enumeration枚举类.Arrays和Collections).         java集合框架示意图如下:     从图中可以看出,java中集合框架有两条分支:Collection和Map.     1. Collection是一个接口,它包含

Jackson框架出现Java反序列化漏洞 2.7.10 及2.8.9以下版本受影响 绿盟科技发布防护方案

Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json.xml转换成Java对象,在2017年3月份, fastjson 1.2.24之前版本曾经出现过严重漏洞 .而更早的时候,Java反序列化漏洞问题曾经一度让大家心惊肉跳,这次是Jackson框架 2.7.10 及2.8.9以下版本出现任意代码执行漏洞,攻击者利用该漏洞可以获得网站控制权.考虑到由于漏洞已经被验证可以利用,绿盟科技于昨日发布漏洞预警通告< Jackson框架Java反序列化远程代码执行漏洞预

Java Web框架Struts修高度危险漏洞

昨日,著名Java Web框架Struts官方再发高危安全漏洞补丁升级(最新版本为:2.3.15.1),升级修补了多个安全漏洞,其中包括一个远程任意代码的高危安全漏洞,这些漏洞可以影响到Struts 2.0.0 - Struts 2.3.15的所有版本.攻击者可以利用该漏洞,执行恶意Java代码,最终导致网站数据被窃取.网页被篡改等严重后果.     关于Struts    Struts通过采用Java Servlet/JSP技术,实现了基于Java EE Web应用的Model-View-Co

JAVA集合框架之List接口实现类

上一篇博客<JAVA集合框架之Set接口实现类>中介绍了Set接口的相关实现类,这一篇将介绍List接口的实现类. java.util.ArrayList< E > ArrayList有点类似于数组,相比较于数组而言,ArrayList可以动态的更改元素个数,相对于数组较为灵活. 每个 ArrayList 实例都有一个容量.该容量是指用来存储列表元素的数组的大小.它总是至少等于列表的大小.随着向 ArrayList 中不断添加元素,其容量也自动增长.并未指定增长策略的细节,因为这不

较好的8个 Java RESTful 框架

 过去的每一年,涌现出越来越多的Java框架.就像JavaScript,每个人都认为他们知道一个好的框架的功能应该是怎么样的.在将来的项目中使用哪个 Java RESTful框架完全取决于你当前的需求.为了便于你取舍,我将列出最突出的框架功能,希望这能节省一些你的时间.   DROPWIZARD 诞生时间: 2011 评分: 4.5/5 Dropwizard 提供了稳定成熟的Java库, 并封装成一个简单的轻量级的包. Dropwizard 介于框架和库之间.它提供了一个开发web应用程序的全部

8 个最好的 Java RESTful 框架

过去的每一年,涌现出越来越多的Java框架.就像JavaScript,每个人都认为他们知道一个好的框架的功能应该是怎么样的.连我的老祖母现 在也使用 一个我从来没有听说过而且可能永远不会使用的框架.玩笑归玩笑,可以做几乎任何事的臃肿的框架市场已经饱和,,但是如何评判呢?这篇文章旨在提供目前最好 的 Java RESTfulful 框架.我只介绍轻量级的产品, 略过了那些臃肿的过度设计的框架.同时,我只想要他们稳定和成熟,提供简单,轻量级的特点.我只在介绍Play frameworks时打破这条规

JAVA集合框架_相当重要

什么要有集合          面向对象语言对事物的体现都是以对象的形式体现,所以为了方便对多个对象的操作,就是对对象进行存储,集合就是存储对象最常用的一个方式. 数组与集合有什么不用        数组的长度是固定的,而集合的长度是可变的.        数组可以存储基本数据类型,而集合只能存储对象. 集合的特点 集合只用于存储对象,集合长度是可变的,集合可以存储不同类型的对象. 什么是框架          框架(framework)是一个类的集,它奠定了创建高级功能的基础.框架包含很多超类