百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

用哪种语言写的应用漏洞最严重?六大主流语言代码漏洞分析出炉

cac55 2024-10-11 11:02 11 浏览 0 评论

机器之心编译

编辑:Panda

静态代码分析安全公司 Veracode 近日发布了一份应用程序分析报告,结果发现比起 JavaScript 和 Python 等语言,C++ 和 PHP 的安全漏洞要严重得多。

如果你是一位靠 .NET、C++、Java、JavaScript、PHP 或 Python 吃饭的开发者,那要注意了:一项新研究揭示了这些编程语言的主要安全漏洞。

静态代码分析安全公司 Veracode 近期发布了这些语言的漏洞类型数据,这是该公司扫描了 13 万应用程序的安全问题后得到的报告。

该公司调查了用 .NET、C++、Java、JavaScript、PHP 或 Python 编写的应用程序的漏洞趋势。这些数据整合在 Veracode 的《软件安全状态第 11 卷(State of Software Security Volume 11)》报告中:

https://www.veracode.com/sites/default/files/pdf/resources/ipapers/security-flaw-heatmap/index.html。

Veracode 扫描 13 万个应用程序后得到的漏洞类型数据。

对于最常用的前端开发语言 JavaScript,Veracode 发现 31.5% 的应用至少有一个跨站脚本(XSS)漏洞,而用 PHP 写的应用中有 74.6% 至少有一个 XSS 漏洞。此外,71% 的 PHP 应用存在加密问题。

对于用 .NET 写的应用,最主要的问题是信息泄露——62.8% 的 .NET 应用存在该问题。C++ 应用最大的问题是错误处理,占到了 66.5%。

至于 Java 应用,首要问题是 CRLF 注入(回车或换行注入),占受调查应用的 64.4%。Python 应用中最严重的安全问题与加密相关,出现在 35% 的受调查应用中。

每种语言的漏洞严重性也存在很大差别。Veracode 发现用 C++ 写的应用中有 59% 存在非常严重的漏洞;而对于 PHP,这一数字为 52%。但是,用 JavaScript 写的应用仅有 9.6% 有非常严重的漏洞,Java 应用的数据为 24%。

Veracode 首席研究官 Chris Eng 解释了不同语言漏洞趋势不同的原因,以及如何修复它们以避免严重损失。

「从整体数据上看,我们这个行业过去十年来没能消除任何一种漏洞类别。」Eng 说,「没有任何问题完全消失。很多事情都在波动,但看看平均情况,你会发现相比于其它指标,这些数据更能反映语言选择和语言流行程度的变化。我们看到 C++ 常见的缓存溢出问题有下降的趋势,但这并不是因为开发者处理这些问题的能力更强了,而是因为使用 C++ 进行开发的人变少了。」

另一方面,影响 JavaScript 和 Python 的问题则有所增长,原因是这两种语言现在非常流行。在企业层面上,Java 和 .NET 依然备受欢迎。

PHP 依然是网页应用开发最常用的脚本语言之一,但 Eng 指出 PHP 漏洞数量更高的原因是该语言提供了大量不安全的原语以及大量错误开发的方式。

「有些语言会尽力避免开发者考虑不周而把事情搞砸,.NET 就是其中最早的语言之一。」Eng 解释说,「相比于使用 PHP,使用 .NET 时,你会发现大量 API 都有更安全的默认设置,使得出现跨站脚本错误或 SQL 注入错误会困难得多。在 PHP 中,这些错误几乎是默认的——除非你刚好在使用一种能为你提供更多保护的更现代框架。使用 PHP 出错的情况实在太多了。」

Veracode 在其分析的 JavaScript 应用中发现的漏洞远远更少,但即使 JavaScript 有更安全的默认设置,庞大的 npm 生态系统中的 JavaScript 和 node.js 开源软件库是潜在的薄弱环节。

「即使你能修复自己写的代码中的所有漏洞,你使用的第三方软件库仍会带来诸多变数。」Eng 说,「打补丁实际上并不如你期望的那么好。现在的趋势是开发者在需要时才会去下载这些软件库的最新版本,然后他们就再也不更新了,除非这个软件库又增加了什么新功能。」

工程开发和产品团队应该如何降低为关键应用程序打补丁的麻烦和成本?Eng 的建议是保持更新并且清晰地跟踪构建应用的技术和安全成本随时间的变化情况。在某个时间,该应用将需要得到修复或打补丁,其中包括语言更新和关键软件库的补丁。

Eng 说:「如果我现在在使用 4.5 版,而 4.6 版已经出来了,我可以使用该补丁,同时几乎不会产生功能方面的影响。开源软件库不会在小版本更新中对软件库进行重大修改。但如果你现在使用的是 2.0 版,那么你就必须得更新到 4.6 版,这个过程会很痛苦」。

对于使用庞大 npm 生态系统的 JavaScript 来说,更新软件库这个问题可能会更严重一点,但 Java 和 Python 都有各自的大型生态系统:Maven 和 PyPI。

Eng 表示 JavaScript 应用平均有大约 400 个依赖关系。如果来看第 90 百分位数的 JavaScript 应用程序,它们的依赖关系数量可达 1000 或 2000 个。

应用安全公司 Snyk 曾解释说影响 JavaScript、Ruby、Java、PHP 和 Python 的大多数安全漏洞都源自项目中加载的主要组件之间的间接依赖关系。

还有一点,某些 JavaScript 软件库非常受欢迎,多达 80%-90% 的 JavaScript 应用在使用它们。

Eng 说:「只要这些软件包中某一个包里有一个漏洞,你就继承了该风险。而且这不只是安全风险。」

他指的是 JavaScript 软件库 left-pad 曾出现过的情况:2016 年的一场争吵之后,一个开发者将该软件库移出了 npm。

「它从 GitHub 上消失了,然后突然之间,三分之二的互联网崩溃了,因为它们全都依赖这个几行代码的软件库来确定一个数是否在左侧填充了零。」

原文链接:https://www.zdnet.com/article/programming-language-security-these-are-the-worst-bugs-for-each-top-language/

相关推荐

PDF转Excel后,转出的表格全是乱码是怎么回事?

日常工作中经常会用到将各种办公文档不同格式进行互转,比如将PDF转成Excel,这种转换非常简单,工具也很多,但是有时PDF文档是正常的,转出来的表格却全是乱码是怎么回事呢?在PDF转Excel时,你...

Python CSV 模块通关秘籍:数据表格处理不求人

对话实录小白:(苦恼)我导出的CSV用Excel打开全是乱码!专家:(递上秘籍)(掏出魔法书)**编码问题!用utf-8-sigma保存!CSV格式初体验CSV后缀的文件是标准文件格式,可以通过文本编...

ArcMap碎碎念(常见使用问题集锦)(arcgis细碎小班)

这几日,由于工作原因,频繁使用ArcMap,期间也碰到了些许问题,因而攒了这篇文章,以作记录。1.数据转换:mxd转mpk格式后缀为mxd的文件类型在ArcGIS的使用过程中较为常见,也即为常见的地图...

Excel常用技能分享与探讨(4-经常遇到的问题点汇总②)

一、文件异常问题Excel文件损坏无法打开现象:提示“文件已损坏”“无法读取内容”或直接闪退。解决:使用【文件】→【打开】→选择文件→点击右下角【打开】下拉箭头→选择【打开并修复】。若失败,尝...

解决Excel“#”乱码的方法来了(excel表格嵌入图片别人打开是乱码怎么解决)

小编本人是个表格控,没有excel可能分分钟就会焦虑,刚用excel大概半年多的时间,随着数据传递的频繁和增多,发现了一个奇怪的问题。做好的表格保存后再打开会变成“###”还有时,会出现这样的日期这时...

如何修复损坏的 Excel 文件?3 个方法救回重要数据

有没有遇到这种情况:打开Excel提示“文件已损坏,无法打开”明明很重要的数据,却打不开了…别急!今天分享3个实用方法,帮你修复Excel文件,拯救重要数据!方法一:用Excel自带...

为什么你的 GIS 数据总是出现乱码?

你肯定遇到过这种情况:把GIS文件拖进BigemapPro,但为啥文字就变成了乱码?例如这样:遇到这种情况呢,你也别急,我来教你怎么处理。一、三调数据文件乱码我们通常拿到的三调数据文件是GDB格式的,...

Excel表格数字乱码怎么办?推荐四种简单方法

我们经常利用Excel表格录入数据,在录入数据的时候我们经常会遇到这种情况:因为录入的数字的数位较多导致数字乱码。这种情况真的很影响我们的工作进程。那么Excel表格数字乱码该怎么办呢?推荐大家使用这...

使用Excel时经常遇到的问题,别担心,轻松告诉你解决方案

Excel打开CSV文件为乱码的解决方法!Excel中外部数据链接无法删除怎么办?Excel打开CSV文件为乱码的解决方法!从网页上导出数据文件存储为CSV格式的文件,使用记事本打开文字显示没有问题,...

解决数据恢复软件——恢复的excel文件乱码问题

恢复的excel文件出现乱码通常与原始文件损坏有关,为了解决数据恢复后excel乱码问题,建议使用数据恢复软件的深度恢复扫描,再次扫描需要恢复的excel文件所在磁盘,该扫描方式能对硬件设备进行碎片文...

Excel表格中怎么删除乱码?一秒搞定

随着我们越来越多的使用Excel,我们会发现很多情况下Excel会返回一串乱码似的字符。这些其实并不是乱码。Excel执行公式运算时都会自动对单元格中输入的公式进行检查,当公式如果不能正确地计算时返回...

EXCEL打开CSV等数据文件是乱码怎么办?

使用Data.olllo数据助手解决EXCEL打开CSV、TXT数据乱码的问题计算机存储的文件是有不同的编码方式,而有时候EXCEL打开CSV或TXT文件的时候,发现是乱码,这时候应该怎么办呢?工具:...

Excel表格出现乱码,怎么办?只需要7步,就能完美解决问题

当打开表格时出现乱码,首先需要检查文件的编码格式,确认文件编码格式是否与本地编码格式一致。如果编码格式不一致,可以在打开表格时选择正确的编码格式。如果不确定编码格式,可以试着把文件保存为ANSI或者...

我的Excel打开后是一堆乱码,如何解决?

Excel文件内容变成乱码,可能由于文件编码、文件格式或Excel程序设置的问题导致。以下是一些有效的解决方案,可以帮助你解决Excel乱码问题1.确认文件编码是否正确如果文件是从外部导入的(例如C...

Excel文件打开乱码问题解决方法详解

在日常办公或数据处理中,Excel文件是极为常用的工具。然而,有时当我们尝试打开一个Excel文件时,可能会遇到内容显示为乱码的情况,这不仅影响工作效率,还可能导致重要数据的丢失或损坏。本文将详细介绍...

取消回复欢迎 发表评论: