技术总是充斥着安全问题,有硬件错误,比如英特尔“Meltdown”和“Spectre”的两大漏洞,还有编程语言安全问题。天哪,真有这么多漏洞吗?
最终的结果就是,C语言占据最不安全语言榜首。根据调查报告显示,统计的所有漏洞中有近50%是在C语言中发现的。
谷歌Linux内核安全工程师Kees“Case”Cook最近表示,C语言是一种高级的汇编程序,但C语言也带来了一些导致安全缺陷和基础设施漏洞。
这一说法不无道理。程序员在C语言中编写程序并与之斗争了几十年之后,确实很容易犯下严重的安全错误。
另外,C++在过去5年里“有幸”拥有最严重的漏洞。长期困扰C语言的缓冲区错误现在也经常在C++中发现。
说了那么多,就没有安全性高一点的语言了吗?有的。有一种语言在安全漏洞方面表现得很好,那就是Python。
几乎所有语言都有CWE,其中两种CWE占据了主导地位,它们就是跨站点脚本(Cross-Site-Scripting, XSS,即CWE-79)和输入验证(Input Validation,即CWE-20)。另外,还有信息泄漏(CWE-200)、路径遍历(CWE-22)和权限及访问控制(CWE-264)、不正当访问控制(CWE-284)等CWE也比较突出。
你怎么看?欢迎大家留言互动讨论哦!