你在使用哪种编程语言?快来投票,亲手选出你心目中的编程语言之王 了解详情
写点什么

开源安全报告:70% 的应用程序存在库引入的漏洞

2020 年 5 月 27 日

开源安全报告:70%的应用程序存在库引入的漏洞


近日,网络安全公司 Veracode 发布“The State of Software Security (SOSS): Open Source Edition”报告。据悉,这份报告分析了 Veracode 平台数据库中 85000 个应用程序的开源组件库,其中包含 351000 个唯一的外部库。Veracode 公司的首席研究员 Chris Eng 表示,开源软件的漏洞多样,让人吃惊!


报告发现,70%的应用程序在初始扫描的开源库中存在安全漏洞。其他重大发现:


  • 每种语言在超过 75%的应用程序中都包含最常用的库;

  • 应用程序中 47%的漏洞库都是传递的;

  • JavaScript 中超过 61%的漏洞库不包含 CVE 对应的漏洞;

  • 使用任何给定的 PHP 库,有超过 50%的机会可能带来安全漏洞;

  • 可以通过较小的版本升级来解决大多数库引入的漏洞


为获得应用安全风险的更多信息,Veracode 分析了库的依赖。许多传递依赖项可能是潜在的攻击面,并会带来意想不到的维护工作负载。


该报告还按照编程语言研究了应用程序通常在哪里获取依赖项。分析人员查看了每个应用程序,从而确定何种编程语言会给维护人员带来意想不到的结果。


研究人员发现,JavaScript、Ruby、PHP 和 Java 的大部分攻击面来自于 transitive inclusions,而.NET、Swift 和 Go 有更直接的依赖性。



此外,研究者也发现来自“Open Web Application Security Project Top 10名单”上的漏洞。


  • Injection(注入漏洞)

  • Broken Authentication(中断身份认证)

  • Sensitive data exposure(敏感数据泄露)

  • XML external entities(XML 外部处理器漏洞)

  • Broken access control(中断访问控制)

  • Security misconfiguration(安全配置错误)

  • Cross-site scripting(XSS)(跨站脚本攻击)

  • Insecure deserialization(不安全的反序列化)

  • Using components with known vulnerabilities(使用含有已知漏洞的组件)

  • Insufficient logging& monitoring(不足的记录和监控漏洞)


根据研究结果,开源库中最普遍的漏洞如下:


  1. 30%的库中发现跨站脚本攻击(XSS);

  2. 23.5%的库中存在不安全的反序列化漏洞;

  3. 20.5%的库中有中断访问控制漏洞


研究者还发现,与其他语言相比,PHP 问题最多,有超过 40%的 PHP 库存在跨站脚本问题以及更严重的中断访问控制和身份认证问题。


不过,尽管 Veracode 分析的几乎每个应用程序都存在因库引入的一些漏洞,但它也指出,补救措施很容易。


经过分析,Veracode 公司的研究人员发现:有 74%的漏洞可以通过更新来解决。同时,这些更新中的大多数都是较小的修复或修补程序,占 71%。


2020 年 5 月 27 日 15:46567

评论

发布
暂无评论
发现更多内容

LeetCode 144. Binary Tree Preorder Traversal

liu_liu

算法 LeetCode

企业架构框架之DoDAF

Winfield

企业架构

来自前端童鞋对后端的吐槽@#$%^

Java小咖秀

程序员 程序员人生 程序人生 前端

「架构师训练营」第 7周作业 - 性能测试

森林

MyBatis几种好用的写法

Bruce Duan

MyBatis标签

SpringBoot 使用 jasypt 对配置项进行加密

hungxy

Java springboot jasypt

什么?还没有自己的域名?

北漂码农有话说

ARTS打卡 第8周

引花眠

ARTS 打卡计划

波士顿动力狗 SPOT 权威购买指北

早睡蟒

Python 人工智能 学习 波士顿动力 机械狗

架构师训练营作业 (第七周)

默默

MinIO 简介和搭建一个对象存储服务

耳东

Minio store Object store

Newbe.Claptrap 框架入门,第二步 —— 简单业务,清空购物车

newbe36524

容器 微服务架构 Reactive .net core ASP.NET Core

使用HSDB 查看jvm内存

引花眠

ARTS 05 - 使用 Ecto.Migration 来做数据库迁移

jerry.mei

学习 算法 ARTS 打卡计划 函数式编程 Elixir

第七周总结

Karl

两个指针缩小范围算法,CQRS 命令查询职责分离模式 John 易筋 ARTS 打卡 Week 09

John(易筋)

ARTS 打卡计划

写一个 web 性能压测工具

WW

性能测试

满山李子

极客大学架构师训练营

IDEA 插件: EasyCode 一键生成所需代码

Bruce Duan

idea插件 easycode 生成代码

LeetCode 565. Array Nesting

liu_liu

算法 LeetCode

Flask 的 url 处理器

Leetao

Python flask Web框架

凡架构必拆分,分则有度

菜根老谭

微服务 康威定律 架构思维 分治思维

MySQL 大表优化方案

Bruce Duan

MySQL优化

分布式锁用 Redis 还是 Zookeeper?

xcbeyond

redis zookeeper 分布式锁

架构师训练营——请简述 CAP 原理

WW

JVM系列之:详解java object对象在heap中的结构

程序那些事

Java JVM GC JOL

压测工具

Karl

技术革新产业变革新动能

CECBC区块链专委会

week7 总结 性能测试

a晖

Mybatis二级缓存,你确定要用么?

xcbeyond

mybatis 二级缓存 一级缓存

架构师都该懂的 CAP 定理

闻人

架构 分布式 架构师

技术为帆,纵横四海- Lazada技术东南亚探索和成长之旅

技术为帆,纵横四海- Lazada技术东南亚探索和成长之旅

开源安全报告:70%的应用程序存在库引入的漏洞-InfoQ