范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

C之父再开枪,美国安全局也要碰一碰

  作者 | 徐杰承
  审校 | 言征
  在刚刚过去的2022年,C++以4.62%的流行增长率,时隔近20年再度荣获了TIOBE的年度编程语言桂冠。而作为C++语言的缔造者,C++之父Bjarne Stroustrup最近却显得有些"暴躁"。
  去年9月,微软CTO Mark Russinovich在其社交账号上发布动态称:开发人员是时候停止使用C/C++来启动新项目,并建议在使用non-GC语言的场景中使用Rust。对此,Bjarne也在一次采访中回怼了Mark的言论。然而就在这次事件平息后不久,一个更具影响力的组织又将矛头指向了C++。
  2022年年底,美国国家安全局(NSA)在其所发布的《Software Memory Safety》报告中指出:C语言和C++语言是不安全的,建议各组织放弃使用C/C++,并鼓励各组织将编程语言从C和C++等转向更加安全的替代语言——如C#、Rust、Go、Java或Ruby。对此,NSA网络安全主任Neal Ziring还在一次采访中表示,所有程序员都在犯简单的错误,这些错误依然非常普遍。
  NSA的这篇报告,也再次激发了Bjarne的战斗欲望。在经历了数周的准备后,Bjarne于近日发布了一篇名为《Think seriously about"safety";then do something sensible about it》的论文,正式回应了NSA一系列言论。而双方的这场隔空对话,也将C++这门拥有近30年历史的老牌编程语言再次推上了风口浪尖。 1、NSA:少用或禁用C/C++
  在《Software Memory Safety》报告中,NSA指出:现代社会严重依赖软件的自动化与隐性信任,如果开发人员所编写的软件无法按照预期方式运行,那就意味着有时我们将不得不为恶意目的妥协。目前,恶意利用软件漏洞的行为经常基于内存问题,其中典型的例子便是内存缓冲区益出。
  其举例称:微软在2019年的一次会议上就曾表示,自2006年至2018年,70%的漏洞是由内存安全问题引起的。恶意攻击者可以利用这些漏洞进行远程代码执行或其他非法行为。而谷歌也于近几年在Chrome浏览器中发现了类似的内存安全漏洞。
  常用语言如C和C++,虽然提供了很大的自由度和灵活性,但在进行内存管理时,过于依赖于程序员来执行所需的检查内存引用。因此,简单的错误就可能导致基于内存和可利用性的漏洞。虽然软件分析工具可以监测到许多内存实例,管理事务和操作环境选项也可以提供一些保护,但内存安全语言的固有保护可以防止或减轻大多数内存管理问题。
  技术的缺陷将使作恶者更容易找到存在问题的代码,使用内存安全语言可以防止程序员引入某些内存相关问题的类型。它们的语言特性将保护程序员无意中引入的内存管理错误。因此,美国国家安全局建议各组织选择"明智的做法"——减少或禁用固有内存保护问题的编程语言,如C/C++,尽可能使用内存安全语言,如C#、Rust、Go、Java或Ruby。 2、Bjarne:你们根本不懂C++
  "认真考虑‘安全’,然后采取一些明智的措施"这是Bjarne回应NSA的论文的标题。"太多人谈论如神话般的C与C++,然后开始关注C语言的弱点,但这些缺点在C++中完全可以避免,并且C++能更加直接的表达程序员的想法"。在该文章中Bjarne表示,许多C++的使用者停滞不前,NSA完全忽略了C++30年来的进步,并将C与C++混为一谈,这令人感到非常遗憾。
  "现在,如果我认为这些‘安全’的语言中任何一种在我说关心的使用范围内优于C++,我不认为C/C++的淡出是一件坏事,但事实并非如此"。Bjarne提到,NSA对"安全"的概念仅限于内存安全,而忽略了一门语言可能被用来违反某种形式的安全保障和十几种其他方式。
  安全的目标应该是类型和资源安全,其中每个对象都根据其类型使用,并且没有资源泄露。对于C++,这意味着一些运行时规范检查,消除通过空指针的访问并避免类型转换和联合体的误用。C++提供了高级工具,如容器、span、range-for循环和变量,它们可以在不损害生产率或效率的同时提供保障。关于NSA提到的所谓安全语言,Bjarne表示,所有语言都容易收到未经静态验证的代码攻击,每个系统都必须使用硬件,而有效的硬件访问很少是安全的。
  此外,Bjarne还提供了安全使用C++的一些策略: 静态分析,以验证没有不安全的代码被执行 编码规则,以简化代码,使工业规模的静态分析可行 库,使简化的代码能简化编写,并确保在需要时进行运行时检查
  Bjarne提到,目前世界上有数百万C++程序员与数十亿行C++代码,该语言被应用在包括航空航天、医疗仪器、人工智能/机器学习、知识图谱、生物医学及高能物理等领域,自己对于NSA的言论感到震惊。此外,在文章的末尾,Bjarne还对NSA提出了一个灵魂拷问:据我所知,在发布报告前,没有一位专家向C++标准委员会进行过资讯,所谓"明智的做法"是什么,建议列出一个明确的清单。 3、谁输谁赢并没那么重要
  诚然,C++之父与美国国家安全局的这次隔空喊话,让广大开发者饱饱的吃了一次大瓜。但在这场针尖对麦芒的battle中,谁输谁赢其实真的没有那么重要。C++不安全、C++安全,这两种说法从辩证的角度来看都是正确的。我们必须承认NSA所提出的,的确有些语言在内存安全保障方面的语言特性是优于C++的;而对于Bjarne的回应,在合理使用工具和保障规范的前提下,C++也确实能够保证其安全性。
  作为一门拥有30年历史的老牌编程语言,C++依然能够在今天保持其强大的竞争力,并在编程语言排行榜中位居前列,这无疑不证明着C++功能的强大,以及其在时代考验下的演进效率。正如Bjarne所说,如今我们拥有着数十亿行的C++代码,基于C++所编写的软件也运行在世界的每一个角落。无论在过去还是现在,世界上每天都会产生大量的C++代码与C++开发者,而这一趋势也将在未来继续延续。
  每种语言都有自身的优劣势以及适合的应用场景,世界上并没有最好的编程语言,只有最适合的编程语言。在此借由Slashdot上一位网友的留言:你可以用C++写出安全的代码么?当然可以,用C、ASM甚至任何成熟的编程语言都可以做到。对于任何成熟语言,关键问题都不在于是否能做到,而在于如何选择和更好地使用它们。 参考链接:
  https://www.infoworld.com/article/3686517/c-plus-plus-creator-bjarne-stroustrup-defends-its-safety.html
  https://www.theregister.com/2022/11/11/nsa_urges_orgs_to_use/
  https://developers.slashdot.org/story/23/01/21/0526236/rust-safety-is-not-superior-to-c-bjarne-stroustrup-says

荣耀80系列绝美图赏来袭!粉映晨辉碧波微蓝惊喜不断荣耀80系列发布日期定档11月23日,还有两天可以和这款手机见面了!11月21日,时尚杂志时尚芭莎以奥斯卡最佳艺术指导叶锦添与荣耀共创的数字艺术作品逐水无音,碧波微蓝为背景,为荣耀虽说可能买不起,但梦想还是要有的喜欢八卦兔的读者,怕漏过新文,欢迎设为星标都说珠宝腕表不分家,的确对很多兔粉家庭来说,这一直是烧钱且和谐的消费组合。如果把手表分入门基础款和超级复杂功能,它的客群大多是不同的两类人北服考研西洋服装史图例合集2巴洛克时期巴洛克艺术强调感情的表现变化和动感,大量使用华丽曲线装饰人们追求的与众不同,装饰过剩。在服装上,巴洛克的样式表现为不拘泥于传统造型,自由随意地追求变化,专注于细节和技巧等陈萌给大衣嫂化妆买羽绒服,婆婆送她万元黄金手镯,婆媳喜笑颜开众所周知,陈萌自从去了大衣哥家和朱小伟低调成婚后,这已经成为了朱家的人,并在大衣哥家生活居住,辞职在家的陈萌,每天的任务就是陪陪大衣嫂,一起种种小院子摘摘菜,做做面食听大衣嫂讲人生宝格丽OctoFinissimo自动黑色陶瓷腕表全新的喷砂黑色陶瓷BVLGARIOctoFinissimoAutomatic凭借其极具吸引力的外观和毫不妥协的前瞻性机械设计,成为最薄的全陶瓷机械表。继2014年OctoTourb人生不如意事十之八九何必自伤身体呢?本文来源于修心三部在生活中我们常常会莫名地上火不爽甚至于生气,这是为什么呢?很多时候是由于有些人有些事不符合我们的想法,或者事情向着反面发展而造成消极的影响。但是人生不如意的事情十很开心你能在,不遗憾你离开怡耕园棉麻服饰无论做人还是做事,只需执着,不需执拗。付出了未必能够得到你想要的努力了,也许不能尽如人意。执着坚持一件事,方向对了,终会可以抵达你想去的远方方向不对,便会南辕北辙,所身存正气百邪不侵师友粉丝听我说,给您唱段正气歌。认为有益就收藏,如若无益请骂我!一hr为官之人一身正,纲纪严明国运顺。仕子之人一身正,前途光明受尊敬。为父之人一身正,儿女聪孝有前程。为母之人一身正70后大叔眼里的90年代健美裤80年代末90年代初,健美裤是中国女性最流行最疯狂的裤型,健美裤最早唤醒了中国女性的审美与独立意识。改革春风吹进门,中国人民抖精神,特别是女性,当时没有一条时髦的健美裤,你都不好意今冬裙子打底裤正当红,女人上了年纪更要这样穿,美而气质女人老了,没有必要去折腾了,这其实是最大的谎言。女人年纪越大,放弃穿搭之后,形象只会越来越不如人意,真成了黄脸婆老阿姨老外婆了。所以即使到了七八十岁,也请你不要放弃期待,依旧要学习体检抽血前,到底能不能吃药?关于日常用药,这些事一定不能忽略秋冬季节天气寒冷,诸多疾病高发很多时候都得靠吃药来治疗缓解一些患有慢性疾病的朋友更是得常年用药但关于吃药,很多人却有不少疑问比如药片能不能掰开吃?体检抽血前能不能吃药?上周日,关于
你是愿意上班还是愿意在家带孩子?作为普通大众的家庭,我是愿意带孩子的,我觉得孩子比上班重要,但是一旦不上班,就会被各种嫌弃诟病,如果是单独在一边过日子还好,如果有老人,老人家会整天念叨不赚钱,吃他的喝他的,久而久乳头凹陷孩子吃不到奶,该怎么办呢?乳头内陷分为严重内陷和一般内陷,如果是一般内陷,自己每天做做乳头牵引,让孩子吃,一般还是能够吃到的,如果内陷比较严重,一般采取的方法有两种一种是使用乳盾罩在乳头上,让宝宝吃另一种是为什么乔四美经历了戚成钢两次背叛才支棱起来?四美终于支棱起来了,啊啊啊啊啊,我流下了感动的泪水!流泪热播剧乔家的儿女剧情发展到现在,饱受感情困扰的四美终于支棱起来,看清戚成钢的渣男本质,坚决离婚,美女独美,相信很多影迷和我一火影忍者手游里有哪些迷之定价?魔方是不是完全没有定价标准?魔方在游戏的一些道具的定价确实非常迷,其中你说的自来也碎片,我记得貌似是750金币一片?强度基本上是S忍倒数前三名,他的定价就比现在的二代啊雷影啊定价高。另外,通过下图可以看到二代一个大胆设想,国足又一次进世界杯了!世界杯得扩充多少支队伍?每个国家可以出一支球队的话,至少也得扩大到128支队伍,还得保证亚洲能有二十支以上才有可能!可爱扩充多少支队伍都是徒劳的,打球要靠真本事,靠扩充名额进去的,含金量要大打折扣。世界杯便士哈达威到底为什么这么有名,巅峰时期大约可比肩谁?魔术队最伟大的1号在奥兰多魔术队历史上,有两个著名的1号球员,其中一个是特雷西麦克格雷迪,但是对于喜欢NBA的老球迷来言,哈达威的1号战衣,才是真正魔术的代表便士哈达威詹皇刚进入联为什么现在很多大学生上课都不愿听讲?您好,我是教大育小。许多大学生不愿意听呢已经不是什么秘密了。这难道是社会的退步,是学生的堕落么?任何时代,大学生都是一种新生的力量,大学生都是有个性和有思想的,有时候还格外的激进,吃鸡游戏怎么玩?你好,我是小虎游戏解说,回答游戏问题俺是认真滴!关于这个问题,作为一个专注于刺激战场BUG以及技巧教学的游戏解说,小虎呢就给大家分享一个狮城的阻击敌人小技巧吧!首先呢,我们先来到上京剧界历史上,范乐新有哪些故事?范乐新老师,有名武旦国家一级演员有名京剧表演艺术家中国戏剧梅花奖得主有名京剧演员京剧名家。台上只有小演员没有小角色,不见得说你一定是主要角色,因为我们是一个综合艺术,就是缺一不可。给我一个你的故事好么?七十年代初,流传这样一个故事,小偷拜师,故事出处来自于村里的老年人之口!话说三个小毛贼,自修苦练开水里夹肥皂的手法功夫,一年后上道,以公交车火车站为活动范围,偷盗每每顺利,而且还是上海应用技术大学就业前景怎么样?上海应用技术大学,一听名字就很挫,还以为是一所野鸡大学,但到了学校一看,发现和其它上海本科高校一样,甚至某些方面还要好一些,校园环境和师资条件很不错,近几年就业率和学校知名度也在不