警惕开源代码库中的安全隐患
最近的一项研究发现, 在调查的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公司建议尽量少使用库。
警惕开源代码库中的安全隐患相关推荐
- Git仓库代码同步到GitHub开源社区开源代码库
Git本地仓库代码同步到GitHub开源社区开源代码库 ...
- 代码恐怖故事:隐藏在复杂代码库中的恐怖秘密
本文讲述了开发者们在复杂代码库中工作的经历和教训,包括代码复杂性带来的问题.架构决策.第三方库引发的意外问题以及令人恐慌的编程错误,以及如何处理这些挑战. 原文链接:https://digma.ai/ ...
- antd table设置表格一个单元格的字体颜色_开源 UI 库中,唯一同时实现了大表格虚拟化和树表格的 Table 组件
背景 有这样一个需求,一位 React Suite (以下简称 rsuite)的用户,他需要一个 Table 组件能够像 Jira Portfolio 一样,支持树形数据,同时需要支持大数据渲染. 截 ...
- 开源代码库_3个开源代码库来处理MARC格式的记录
开源代码库 欢迎回到Nooks&Crannies! 在为我的婚礼休假一个月之后,我一直在为即将到来的专栏挖掘一些有趣的地方. 这个月,我将看一些开放源代码库,开发人员可以使用它们来处理MARC ...
- 嵌入式开发有用的github上的开源代码库
嵌入式开发有用的github上的开源代码库 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u011559046/article/details/80 ...
- 高翔博士SLAMBOO2十二讲代码库中的三方库没有下载下来 ,需要手动对三方库单独下载的git的命令如下
高翔博士SLAMBOO2十二讲代码库中的三方库没有下载下来 git clone --recursive https://github.com/gaoxiang12/slambook2.git 需要手动 ...
- Android 核心已经从 Linux kernel 代码库中删除
Greg Kroah-Hartman Novell 的开发人员,他主要负责维护 Linux 操作系统的启动,USB和驱动核心,近日他表示谷歌 Android 系统的驱动核心 已经从 Linux ker ...
- linux怎么删除代码库,是否有从代码库中删除第三方C和C库的好技巧或工具? (OS X或Linux)...
我正在减少和隔离我对某些库的使用.我编写的许多现有程序直接使用这些库.我想要编译器(在这种情况下是GCC和/或Clang)或一些工具来帮助我识别我的代码库中的这些用法.简而言之,我想在代码库中毒害这些 ...
- 节选转载:你敢向代码库中添加Boost你就等着被开除吧
本文节选自一篇讨论c++20新特性的英文博客,原文由CSDN news新闻资讯主编翻译并发布: https://blog.csdn.net/csdnnews/article/details/86386 ...
最新文章
- 盘点六大在中国复制失败的O2O案例
- asp.net mvc连接mysql_ASP.Net MVC连接MySQL和Code First的使用
- js生日计算年龄_JS根据生日算年龄的方法
- 【SSL】openssl 提取 PKCS 证书库中的公钥、私钥、证书、密钥、CA证书
- c语言在win8系统不兼容,Win8系统中存在不兼容软件怎么办?
- 一般试卷的纸张大小是多少_pdf试卷怎么打印在A3纸上
- swift面向对象之多态与继承
- android动态生成背景透明带文字的图片
- 【转】对JavaScript调用堆栈和setTimeout用法的深入研究
- 重庆市中职计算机一级考试,重庆市计算机一级考试题库答案
- MySQL 如何使用show processlist进行过滤
- Tecplot读取Excel文件中的数据
- luogu1725 琪露诺
- 《大数据时代》读后感(一)
- 全民学霸服务器在维护中需要多久,《全民学霸》学生系统详解,成就学霸之路...
- word恢复默认样式
- (三)腾讯云开发工程师TCA题库(题目含详细解析)
- php 防注册机,discuz论坛自动注册机 伪造注册会员数
- Azkaban配置Work Flow案例实操
- 万能数据库查询分析器使用技巧之(十六)
热门文章
- 第十四节: 介绍四大并发集合类并结合单例模式下的队列来说明线程安全和非安全的场景及补充性能调优问题。
- webstorm 内存溢出怎么弄_webstrom 内存溢出,软件崩溃卡死解决的方法
- ArrayList、HashMap、HashSet是线程不安全的,高并发下如何解决?
- 数据结构 - 栈 (逆波兰计算器)(栈的三种表达式)(前缀、中缀和后缀表达式,后缀也叫逆波兰表达式)(中缀表达式转后缀表达式实现步骤及完整代码)
- Spark的Transformations算子(理解+实例)
- 【HDU - 3440】House Man(差分约束)
- 【Gym - 101061F】Fairness(dp,思维)
- 【HDU - 5456】Matches Puzzle Game(数位dp,思维)
- 【FZU - 2202】犯罪嫌疑人(思维,假装建图,分类讨论)
- 【CodeForces - 510D】Fox And Jumping(dp,stlmap,数论的性质)