C语言和C++语言是不安全的。美国国家安全局(NSA)盼望广大开发职员使用内存安全的语言,由于大多数安全弊端都是由内存使用方面的弊端引起的。 美国国家安全局网络安全部门主任Neal Ziring表现,全部步伐员都在犯“简朴的错误”,这些错误“依然完全非常广泛”。他品评了缓冲区溢出和开释后使用弊端之类的题目。 他给出的发起是:改用像Rust如许的语言,Linux内核团队的一些成员正在这么做。 这是怎么回事?IT外媒The Register的撰稿人Laura Dobberstein在《NSA敦促构造使用内存安全的编程语言》一文中写道: “C和C++特殊成题目” ……美国国家安全局(NSA)克日发布了引导方针,鼓励浩繁构造将编程语言从C和C++之类的语言转向内存安全的更换语言,即C#、Rust、Go、Java、Ruby或Swift……该政府机构重要担心的是,恶意网络威胁分子大概会使用管理不善的内存中的弊端,这种情况在为步伐员提供更多选项和机动性的语言中出现得较频仍。 …… 内存安全语言联合使用编译时查抄和运行时查抄,主动掩护步伐员克制引入厥后变成弊端的错误……从2020年第一季度到2022年第一季度,Rust用户数目增长了两倍。 …… NSA断言,C和C++特殊成题目,这是一种盛行的观点。微软Azure首席技能官Mark Russinovich在9月份亮明确其观点,他以为是时间制止用这两种语言编写的任何新项目了。但就在发推文前一晚,他本人却在85000行Sysinternals代码中添加了C/ C++代码。 照我说的做,而不是照我做的做?Fudzilla网站的Nick Farrell在其撰写的《NSA盼望企业转向内存安全的语言》一文中增补道: “软件内存安全题目” NSA在“软件内存安全”网络安全信息表中表现,恶意网络威胁分子大概使用糟糕的内存管理题目来访问敏感信息、散布未经授权的代码实行风险,并造成其他负面影响。[NSA]网络安全部门主任Neal Ziring说:“在开发软件时,我们不得差别等地使用内存安全语言及其他掩护步伐,以消除这些缺点。” …… 微软和谷歌都表现,软件内存安全题目导致了约莫70%的弊端。糟糕的内存管理也会导致技能性题目,比如不正确的步伐效果、步伐性能徐徐降落以及步伐瓦解。 70%?Neal Ziring及朋侪们进一步叙述了“软件内存安全”这个主题。 “内存弊端是可以防止的” 今世社会隐式信托开发职员编写的软件按照预期的方式运行,而且不会被恶意攻击。[但是]可被人使用的软件弊端仍旧通常基于内存题目。例子包罗内存缓冲区溢出以及使用软件怎样分配和接纳内存方面的题目。 …… C和C++等通常使用的语言在内存管理方面提供了很大的自由度和机动性,同时又严厉依靠步伐员对内存引用实行所需的查抄。简朴的错误大概导致可被人使用的基于内存的弊端……NSA发起尽大概使用内存安全语言。 使用静态应用步伐安全测试和动态应用步伐安全测试来分析软件[无法]使非内存安全的代码完全做到内存安全。[而且]对于恶意威胁分子说,绕过地点空间结构随机化(ASLR)和数据实行掩护(DEP)并非不可实现……假如使用内存安全语言以及现有的代码强化防御步伐,很多内存弊端是可以被防止、被缓解大概很难被网络威胁分子使用的。 哇。C++专家对此又有何见解?现实上,据Hacker News网站上的用户tialaramex表现,他们根本上同意: 如今WG21(“C++标准委员会”)的一系列最新文件包罗不止一份[称]我们应该制止说C和C++是不安全的……,但很显然Bjarne Stroustrup和Gabriel Dos Reis的P2687特殊惹人瞩目……它为步伐员们通常编写糟糕的代码而感到苦恼。 …… Bjarne和Gaby将这种情况称之为“告急情况”。(但P2687)并没有花太多的时间表明怎样办理这个题目(只是暗昧地提及“静态分析”)。 …… 只有政府中有人把这类事故真正当成回事,这个现实题目才会得到办理。 照旧那句话,编写糟糕的代码是开发职员的不对。Slashdot网站的用户DaPhil称之为“明摆着的事”: 这再显着不外了,但令人惊讶的是,过了这么久才指出这一点……大多数人都不善于编写良好的代码。以是,我们从使用的语言中得到的资助越多越好。 可以用C语言编写良好的代码吗?固然!只是比用Java或[Rust]编写同样良好的代码要困难过多。 那么说Java“安全”公平吗?The Register网站上留言读者Sitta_europea如许写道: Java到底又怎样呢?……近期一些最巨大的劫难不是用[它]编写的(log4j和npm)吗?你可以证明任何一种盘算机语言的软肋。 这是NSA必须攻克的困难吗?Hacker News网站上的用户Mark_l_watson是这么以为的: 我以为很悲痛,在911变乱发生后,NSA和FBI显然制止了之前在公开支持盘算机安全方面的大量工作……作为一名美国纳税人,我盼望看到他们优先思量这种工作。 固然,我们从前碰到过这种情况。不妨听听Slashdot网站上的用户david.emery的观点: 固然,从最初的Ada83版本开始,Ada就不停是一种故意计划的内存安全语言。而NSA在可验证的SPARK子集和证明工具方面做了一些工作。当美国国防部放弃Ada方面的大量投入时,失去了另一个时机,之以是放弃Ada,是由于“Ada不是行业在投入的”(好像“行业在投入”是一个来由)。 …… 我记得NSA出席Ada聚会会议的场景……80年代末,我出席了SIGAda聚会会议,坐在旁边的谁人人别着身份证件,上面写着他的台甫和“美国国防部”。 我对他说:“您准是在NSA工作。” 他很不高兴,说“是啊。你怎么知道的?” “来自国防部的其他全部人都标明其所在机构。只有NSA标明美国国防部。” 与此同时,The Register上留言的用户Anonymous Coward大概年岁已高,愤世嫉俗: 大概我年岁已高,愤世嫉俗,但我不由得以为与其说“几十年后才气整理这个烂摊子”,现实上还不如说“几十年后才气把这副烂摊子换成另一副差别的烂摊子。” |

专注IT众包服务
平台只专注IT众包,服务数 十万用户,快速解决需求

资金安全
交易资金托管平台,保障资 金安全,确认完成再付款

实力商家
优秀软件人才汇集,实力服务商入驻,高效解决需求

全程监管
交易过程中产生纠纷,官方100%介入受理,交易无忧

微信访问
手机APP
关于我们|广告合作|联系我们|隐私条款|免责声明| 时代威客网
( 闽ICP备20007337号 ) |网站地图
Copyright 2019-2024 www.eravik.com 版权所有 All rights reserved.


