多款主流编程语言,哪款开发软件最安全?

喜欢就关注我们吧!

在当下的市场环境中,除了掌握困扰软件的最常见安全问题外,开发人员还应该了解到底是什么问题在影响他们正在使用的编程语言。静态代码分析安全公司 Veracode 最近发布了一份年度软件安全状态(SOSS)报告,其中的第 11 卷则揭示了用 .NET、C++、Java、JavaScript、PHP 或 Python 编写的应用程序中所存在的主要安全漏洞类型(基于扫描的 13 万个应用程序)。

Veracode 的高级内容营销经理 Meghan McBee 称,“在你坐下来编写代码之前,了解这些应用程序的安全趋势意味着你准备好快速修复它们,或者甚至是完全阻止它们。如果你选择的是 C++、PHP、.Net 或 Java 语言,请注意,它们很容易出现一些风险最高的漏洞。实际上,高达 59% 的 C++ 应用具有严重程度非常高的缺陷,PHP 则紧随其后。”

Veracode 发现,用 JavaScript 编写的应用中,有 31.5% 的应用至少存在一个跨站脚本(XSS)缺陷;用 PHP 编写的应用中,有 74.6% 的应用至少存在一个 XSS 缺陷。此外,还有 71% 的 PHP 应用存在加密问题。

用 .NET 编写的应用程序中存在的主要问题是信息泄露,占比 62.8%;其他还包括有代码质量(53.6%)、输入验证不足(48.8%)等。C++ 的问题有:错误处理(66.5%)、缓冲区管理错误(46.8%)、数值错误(45.8%)、目录遍历等。

Java 的问题包括:CRLF 注入(64.4%)、代码质量(54.3%)以及信息泄露(51.9%)等。而对于 Python apps,其中发现的主要问题则与加密有关,占比 35%。

值得注意的是,在每种语言的应用程序中发现的缺陷的严重性也有很大的区别。Veracode 发现,有 59% 用 C++ 编写的应用程序和 52% 用 PHP 编写的应用程序存在高严重性缺陷。用 JavaScript 编写的应用程序中,只有 9.6% 存在高严重性缺陷。Java 的高严重性缺陷数据则为 24%。

针对这些数据,Veracode 首席研究官 Chris Eng 分别作出了解读。他指出,例如,C++ 中常见的缓冲区溢出问题出现了下降的趋势,这并不是因为开发者的进步,而是在于 C++ 的流行度的下降。另一方面,受语言流行度上升的影响,影响 JavaScript 和 Python 的问题则正在一点点爬升。

Java 和 .NET 在企业中仍然很受欢迎,PHP 也仍然是 Web 应用开发中最受欢迎的脚本语言之一。Eng 认为,PHP 代码中的漏洞较多的原因主要在于,该语言提供了很多不安全的 primitives 和错误地处理方法 。

而相较之下,尽管 JavaScript 应用中发现的缺陷较少,但 JavaScript 和 node.js 开源库的庞大 npm 生态系统仍是其一个潜在的弱点。Eng 建议工程和产品团队保持更新,以降低打补丁的麻烦程度和关键应用的成本。

此外,应用程序安全公司 Snyk 此前则发表观点称,影响 JavaScript、Ruby、Java、PHP 和 Python 的大多数安全漏洞是由于项目内部加载的主要组件之间的间接依赖性引起的。

Rust语言2020调查报告发布:Rust 太难,生命周期更难

2020-12-18

Eclipse 4.18 稳定版发布

2020-12-18

每年投入100万美元,CloudLinux团队宣布将构建稳定版CentOS分支

2020-12-16

觉得不错,请点个在看呀

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/306213.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java pdf文件传输_java中pdf文件的管理(pdf文件转png文件,base64传输文件以及删除)...

org.apache.pdfboxpdfbox2.0.12影像文件转为base64编码使用java自带的BASE64Encoder类代码部分:前端上传文件的保存:RequestMapping("upLoadImgs")ResponseBodypublic String upLoadAgreementsImg(HttpServletResponse response, HttpServletR…

【对比学习】koa.js、Gin与asp.net core——中间件

web框架中间件对比编程语言都有所不同,各个语言解决同一类问题而设计的框架,确有共通之处,毕竟是解决同一类问题,面临的挑战大致相同,比如身份验证,api授权等等,鄙人对node.js,golan…

java 传送解析8583报文_java发送ISO8583报文接口案例

【实例简介】java发送ISO8583报文实现平安银行支付接口【实例截图】【核心代码】pingAnBank└── pingAnBank├── build.xml├── client│ ├── ClientBean.java│ ├── UDPClient.java│ └── UdpClientSocket.java├── com│ └── solab│ └── i…

2020年终回顾:时间会回答成长,成长会回答梦想

前言2020年是脚踏实地,慢慢成长的一年,由于疫情的缘故,今年社区没有像去年一样举办多场线下活动,不过 .NET CONF CHINA 大会昨天也在苏州顺利召开,回顾这一年,也有不少惊喜与感悟2020年回顾公众号自从去年双…

java servlet 跳转_Servlet跳转方式sendReDirect()和forward()

在web应用服务中,经常会面对不同SERVLET之间的跳转,目前我们可以通过以下两种方式实现:1.RequestDispatcher.forward()2.ServletResponse.sendReDirect()两者的区别:1.redirect 方式可以跨应用访问,forward 只能在同一个应用中跳转…

明天面腾讯,我刷了这71道面试题...

激动人心的Conf 2020中国.NET开发者大会完美落幕,有幸去到现场,跟诸位.NET大佬、微软大咖、MVP面对面交流,内心很是鸡冻!聊天中我注意到一个细节,很多公司的项目都在逐步用MySQL替换SQLServer,尤其是微服务…

java 毕向东 内部类_java基础内部类(毕向东老师)

内部类//特点:内部类可以直接访问外部类的成员,//外部类要访问内部类中的成员必须创建内部类的对象。//为什么要定义内部类呢?类是用于描述事物的,而事务中如果还有具体的事物,而且这个内部的事物在访问着所属事物中的…

java字符串切分_Java字符串分割(转)

java.lang.String的split()方法, JDK 1.4 or laterpublic String[] split(String regex,int limit)示例代码public class StringSplit {public static void main(String[] args) {String sourceStr "1,2,3,4,5";String[] sourceStrArray sourceStr.split(",&q…

面试官:. NET5源码里用到了哪些设计模式?懵!

作为微软最早迈向开源的重要软件之一,.NET 5的发布具有重要意义!微软希望 .NET Framework 开发者能够迁移他们的代码和应用到 .NET 5.0 上,为明年发布的 .NET 6.0 将 Xamarin 开发者过渡到统一平台奠定基础。版本发布时间轴:.NET …

ldap java 密码_用java进行LDAP用户登陆(用户认证)及修改密码

一、用户认证public String execute(){Hashtable env new Hashtable();String LDAP_URL "ldap://8.8.8.8:389"; // LDAP访问地址env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");env.put(Context.PROVIDER_URL, LDAP_URL)…

C# 中 ConcurrentDictionary 一定线程安全吗?

根据 .NET 官方文档的定义&#xff1a;ConcurrentDictionary<TKey,TValue> Class 表示可由多个线程同时访问的线程安全的键/值对集合。这也是我们在并发任务中比较常用的一个类型&#xff0c;但它真的是绝对线程安全的吗&#xff1f;仔细阅读官方文档&#xff0c;我们会发…

java 3des 32位密钥_3des,java_java 中32位秘钥长度的 3des加密方法?,3des,java - phpStudy...

java 中32位秘钥长度的 3des加密方法&#xff1f;java中 3des加密 默认是24位秘钥的现在需求是 32位秘钥加密尝试很多种方法 解决 结果都不正确// 密钥private final static String secretKey "11111111111111111111111111111111";// 向量// private final static S…

2020 .NET 开发者峰会顺利在苏州落幕,相关数据很喜人以及线上直播回看汇总

在2019年上海中国.NET开发者大会的基础上&#xff0c;2020年12月19-20日 继续以“开源、共享、创新” 为主题的第二届中国 .NET 开发者峰会&#xff08;.NET Conf China 2020&#xff09;在苏州人工智能智能产业创新中心落下帷幕&#xff0c;本次大会以线下城市苏州为中心&…

java怎么判断数据类型_数据类型判断

[java]代码库import java.util.*; public class Main{public static void main(String[] args) {Scanner scan = new Scanner(System.in); String s = scan.nextLine(); String []str = s.split(" "); int i, j; for(i = 0; i < str.length; i++) {if(i != 0) Sys…

.NET 云原生架构师训练营(模块二 基础巩固 REST RESTful)--学习笔记

2.3.1 Web API -- REST && RESTful什么是 REST&#xff0c;什么是 RESTfulRESTful API 设计RESTful 成熟度模型什么是 REST&#xff0c;什么是 RESTful理解RESTful架构&#xff1a;https://www.ruanyifeng.com/blog/2011/09/restful.htmlREST&#xff08;Representatio…

vue 一个组件内多个弹窗_论如何用Vue实现一个弹窗-一个简单的组件实现

前言最近在使用element-ui框架&#xff0c;用到了Dialog对话框组件&#xff0c;大致实现的效果&#xff0c;跟我之前自己在移动端项目里面弄的一个弹窗组件差不太多。然后就想着把这种弹窗组件的实现方式与大家分享一下&#xff0c;下面本文会带着大家手摸手实现一个弹窗组件。…

拆分路径 java_JAVA 类文件中的路径如何拆分和替换

我做Swing的时候文件要放绝对路径&#xff0c;相对路径出不来&#xff01;所以我用如果我的类放在D:\aaa\Class里Thread.currentThread().getContextClassLoader().getResource("");MenuTest.class.getClas...我做Swing的时候文件要放绝对路径&#xff0c;相对路径出…

为 CefSharp 应用内置 C++ 运行环境并启用 AnyCPU 支持

一个 CefSharp 应用程序要想正确运行&#xff0c;有两个必要条件&#xff1a;.NET Framework 4.5.2VC 2015在部署 CefSharp 应用时经常会遇到因为没有 VC 2015 而无法运行的问题&#xff1a;通过事件查看器&#xff0c;可以观察到一个类型为&#xff1a;System.IO.FileNotFound…

java file rename 失败_java重命名文件造成文件不可读写

我想使用java代码对nginx日志文件进行拆分&#xff0c;但是我发现代码执行之后&#xff0c;拆分出来的日志文件没有读写权限&#xff0c;查看文件属性&#xff0c;显示的很诡异&#xff1a;点击高级按钮&#xff0c;显示你没有权限查看或者编辑这个对象的权限设置&#xff1a;反…

如何在 ASP.NET Core 中使用 Route 特性

ASP.NET Core 中的 Route 中间件的职责在于将 request 匹配到各自 Route 处理程序上&#xff0c;Route 分两种&#xff1a;基于约定 和 基本特性 模式。基于约定 模式的Route采用集中化的方式&#xff0c;而 基于特性 的方式允许你在 Action 或者 Controller 上单独定义&#x…