阅读更多

10顶
0踩

开源软件

原创新闻 警惕开源代码库中的安全隐患

2012-03-27 14:50 by 副主编 wangguo 评论(11) 有6572人浏览
最近的一项研究发现,在调查的31个流行库(框架)的1261个版本中,超过三分之一存在已知的安全漏洞,大约四分之一的下载文件已经被污染。


该项研究由Aspect Security和Sonatype发起。Aspect Security是一家评估软件安全漏洞的公司,Sonatype主要提供中央资源库(Central Repository),托管了超过30万个库和开源组件,每年有超过40亿次请求。

Aspect公司的研究人员分析了在过去12个月内,从Central Repository中下载的31个流行的Java框架和安全库,并发现:

  • 所有的下载中,有1980万次下载的版本存在已知漏洞,占26%。
  • 下载次数最多的、存在已知漏洞的库是Google Web Toolkit(GWT)、Apache Xerces、Spring MVC和Struts 1.x。
研究发现,在开源代码库中发现的漏洞类型非常广泛,一些漏洞允许攻击者完全接管主机,一些可能会导致数据丢失或损坏,还有一些可能会向攻击者提供有用的信息。

研究人员称,安全性库比框架更有可能存在已知漏洞,现在的应用程序通常使用30个或更多的库,这可能危及到应用程序中80%的代码。在大多数情况下,漏洞的影响在很大程度上取决于应用程序如何使用这些库。

研究人员列出了一些广为流传的已知漏洞:

  • 在过去一年中,Spring被超过4.3万个组织下载了1800万次,但是去年的一个发现显示,Spring表达式语言中有一个新型的漏洞,攻击者可以通过HTTP参数提交来利用该漏洞,并获得敏感的系统数据、应用程序和用户cookies。
  • 2010年,谷歌的研究团队发现了Struts2中一个漏洞,该漏洞允许攻击者在所有基于Struts2的应用程序中执行任意代码。
  • Apache CXF(Web服务框架)在过去一年内被超过1.6万个组织下载了420万次,从2010年该框架中就存在两个大的漏洞(CVE-2010-2076和CVE 2012-0803),允许攻击者欺骗任何使用CXF的服务,下载任意的系统文件,并绕过验证。
研究人员称,目前开发者还没有好的方法来得知他们正使用的库中存在的已知漏洞,他们必须随时检查几十个邮件列表、博客、论坛,此外,开发团队也不太可能去寻找这些开源库中的漏洞,因为这需要大量的安全方面的经验,在分析这些库时自动化工具基本上用处不大。

Aspect公司CEO称,使用开源库也存在“依赖管理”的问题,开发者需要确定他们的项目中真正直接依赖的库。通常情况下,开发者会在一些非必需的功能中使用库,而这些库还可能依赖于其他库,显然这带来了大量过时的代码,增加了安全风险,同时增大了应用程序的规模。

要想避免或降低这些风险,就需要找出在项目中使用的库,确定哪些已经过时。Aspect公司建议尽量少使用库。

Via InfoWorld
  • 大小: 25.4 KB
10
0
评论 共 11 条 请登录后发表评论
11 楼 grandboy 2012-04-12 09:07
因噎废食确实没有必要,杞人忧天有时还有点必要,但也不需要考虑过多,未知的"天"就没有必要"忧"了。
10 楼 fancyleeo 2012-03-30 11:53
典型的因噎废食,杞人忧天。
9 楼 simen_net 2012-03-28 22:25
坑爹的GWT居然排第一,有几个人在用?不知到这个排名怎样计算出来的。
8 楼 yjandx3543 2012-03-28 21:20
司徒正美 写道
不开源的东西隐患更多。。。。

++1
7 楼 wiki_more 2012-03-28 16:26
司徒正美 写道
不开源的东西隐患更多。。。。

+1
6 楼 grandboy 2012-03-28 16:08
哪里都有安全隐患,都应该警惕
5 楼 quansia 2012-03-28 10:59
开源的东西就是要经常维护代码啊 要不就用收费的 人家帮你维护 比如。net 这是正常现象
4 楼 司徒正美 2012-03-28 09:57
不开源的东西隐患更多。。。。
3 楼 fjjiaboming 2012-03-28 09:04
幸好,没有用到所谓提高"开发"效率的表达式语言,如OGNL...
2 楼 fjjiaboming 2012-03-28 09:02
让我担心起来了...
1 楼 mengyancui 2012-03-27 19:25
坑爹咧,都是常用框架!   

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 【Spring源码】6. Spring扩展自定义属性编辑器保姆级教程

    Spring扩展自定义属性编辑器保姆级教程 8 【Spring源码】7. 如何添加自定义的BeanFactoryPostProcessor 9 【Spring源码】8. 捋下invokeBeanFactoryPostProcessors()主要处理流程 10 【Spring源码】9. 超级重要的...

  • 关于Spring属性编辑器详解

     Spring为一般的属性类型提供了默认的编辑器,BeanWrapperImpl是Spring框架中重要的类,它负责对注入的Bean进行包装化的管理,常见属性类型对应的编辑器即在该类中通过以下代码定义:  private void ...

  • Spring属性编辑器详解

    1、常见的属性的注入:int,string,list,... (2)spring内置了一些属性编辑器,也可以自定义属性编辑器 3、如果自定义属性编辑器 (1)继承propertyEditorSupport (2)重写setAsText 方法 (3)使用 setVal...

  • java制作的属性编辑器_详解Spring自定义属性编辑器

    Spring 自定义属性编辑器Spring DI注入的时候可以把普通属性注入进来,但是像Date类型的就无法被识别。这时可以通过Spring的属性编辑器把配置文件中的字符串转化成相应的对象进行注入。Spring有自带的属性编辑器,...

  • Spring之属性编辑器源码解析

    示例 定义Bean @Data public class Person { private String name; private Integer age; ... private String sex;...定义Spring配置文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http:/...

  • 【Spring源码】22. 属性填充populateBean()详解

    当needsDepCheck为true时,会进行行依赖检查,判断filteredPds是否为空,如果为空会对其进行赋值,最终通过调用checkDependencies()检查pd的setter()方法需要赋值时,pvs中有没有满足pd需求的属性值可供其赋值。...

  • 详解spring自定义属性编辑器

    spring自定义属性编辑器详解

  • SpringMVC自定义属性编辑器详解及实例

    SpringMVC自定义属性编辑器详解及实例 自定义springMVC的属性编辑器主要有两种方式,一种是使用@InitBinder标签在运行期注册一个属性编辑器,这种编辑器只在当前Controller里面有效;还有一种是实现自己的 ...

  • Spring注解详解

    一、Spring注解驱动开发入门 spring在2.5版本引入了注解配置的支持,同时从Spring 3版本开始,Spring JavaConfig项目提供的许多特性成为核心Spring框架的一部分。因此,可以使用Java而不是XML文件来定义应用程序类...

  • Spring框架详解New

    Spring框架详解New1. Spring框架概述2. Spring框架特点3. Spring框架优缺点3.1 Spring框架优点3.2 Spring框架缺点4. Spring框架设计模式5. Spring IoC5.1 Spring IoC概念5.2 Spring BeanFactory5.3 Spring ...

  • Spring源码探究之属性编辑器(PropertyEditorSupport)

    Spring源码探究之属性编辑器(PropertyEditorSupport) 概述 Spring容器在启动时会通过加载配置文件或者配置类的方式将定义的每个javaBean解析成BeanDefinition类型的对象,而javabean对象的属性被解析储存在Bean...

  • 【Spring】详解Spring全家桶

    Spring框架自2002年诞生以来一直备受开发者青睐,它包括SpringMVC、SpringBoot、Spring Cloud、Spring Cloud Dataflow等解决方案。有人亲切的称之为:Spring 全家桶。 很多研发人员把spring看作心目中最好的java...

  • Spring之PropertyEditorRegistrySupport的讲解与使用

    提供对默认属性编辑器和自定义属性编辑器的管理;该类主要作为BeanWrapperImpl基类。 BeanWrapperImpl继承了PropertyEditorRegistrySupport类,所以是有必要弄明白PropertyEditorRegistrySupport是怎么玩的。

  • Spring属性编辑器

    1. 自定义属性编辑器类editors.DateProperyEditor,继承PropertyEditorSupport 2. 将自定义的属性编辑器类通过IOC容器进行注册(注入到Spring的一个类中) Org.springframework.beans.factory.config....

  • Spring源码之bean的属性填充populateBean方法解读

    目录前言 前言 这篇文章是 IOC 容器初始化启动时,抽象...阅读本篇文章,同时可以参考阅读 spring源码之getBean(获取 bean)方法解读(二) 和 spring aop代理对象的产生(一) 这两篇文章的 doCreateBean() 方法 ...

  • 智能家居_物联网_环境监控_多功能应用系统_1741777957.zip

    人脸识别项目实战

  • PLC热反应炉仿真程序和报告 ,PLC; 热反应炉; 仿真程序; 报告,PLC热反应炉仿真程序报告

    PLC热反应炉仿真程序和报告 ,PLC; 热反应炉; 仿真程序; 报告,PLC热反应炉仿真程序报告

  • C++函数全解析:从基础入门到高级特性的编程指南

    内容概要:本文详细介绍了 C++ 函数的基础概念及其实战技巧。内容涵盖了函数的基本结构(定义、声明、调用)、多种参数传递方式(值传递、引用传递、指针传递),各类函数类型(无参无返、有参无返、无参有返、有参有返),以及高级特性(函数重载、函数模板、递归函数)。此外,通过实际案例展示了函数的应用,如统计数组元素频次和实现冒泡排序算法。最后,总结了C++函数的重要性及未来的拓展方向。 适合人群:有一定编程基础的程序员,特别是想要深入了解C++编程特性的开发人员。 使用场景及目标:① 学习C++中函数的定义与调用,掌握参数传递方式;② 掌握不同类型的C++函数及其应用场景;③ 深入理解函数重载、函数模板和递归函数的高级特性;④ 提升实际编程能力,通过实例强化所学知识。 其他说明:文章以循序渐进的方式讲解C++函数的相关知识点,并提供了实际编码练习帮助理解。阅读过程中应当边思考边实践,动手实验有助于更好地吸收知识点。

  • `计算机视觉_Python_PyQt5_Opencv_综合图像处理与识别跟踪系统`.zip

    人脸识别项目实战

  • Ultra Ethernet Consortium规范介绍与高性能AI网络优化

    内容概要:本文主要介绍了Ultra Ethernet Consortium(UEC)提出的下一代超高性能计算(HPC)和人工智能(AI)网络解决方案及其关键技术创新。文中指出,现代AI应用如大型语言模型(GPT系列)以及HPC对集群性能提出了更高需求。为了满足这一挑战,未来基于超乙太网络的新规格将采用包喷射传输、灵活数据报排序和改进型流量控制等机制来提高尾部延迟性能和整个通信系统的稳定度。同时UEC也在研究支持高效远程直接内存访问的新一代协议,确保能更好地利用现成以太网硬件设施的同时还增强了安全性。 适合人群:网络架构师、数据中心管理员、高性能运算从业人员及相关科研人员。 使用场景及目标:①为构建高效能的深度学习模型训练平台提供理论指导和技术路线;②帮助企业选择最合适的网络技术和优化现有IT基础设施;③推动整个行业内关于大规模分布式系统网络层面上的设计创新。 阅读建议:本文档重点在于展示UEC如何解决目前RDMA/RoCE所面临的问题并提出了一套全新的设计理念用于未来AI和HPC环境下的通信效率提升。在阅读时需要注意理解作者对于当前网络瓶颈分析背后的原因以及新设计方案所能带来的具体好处

Global site tag (gtag.js) - Google Analytics