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

C之父做决定了内部自救!

  作者 | 千山、言征
  审校 | 云昭
  进入2023年,技术圈都在围观大洋彼岸的聊天机器ChatGPT,但对于编程圈而言,没有什么比内存安全更能引起热议。近期美国国家安全局(NSA)点名批评C++,建议使用Rust等内存安全的语言,霎时间让"编程语言的安全问题"摆到桌面上,那么,C++到底能扛住这波压力,"存活(安全)"下来吗?
  面对来自政府方面的压力,C++创建者Bjarne Stroustrup最终还是低头了。他一改之前的激奋言辞,不再喊话"谁谁不懂C++"、"没有看到30多年来C++的进步"等,而是开始倾向于"编程语言也应该与时俱进"的说辞,加入了改变编程语言本身以解决安全问题的队伍之中,这一点对其他核心贡献者来说显然出乎意料。
  安全掉队的C++,正在找对策
  C++社区一直存在安全争议,其内存安全漏洞引起了很多开发者的警觉。
  1月中旬,官方C++"指导小组"发布了一份声明,解决了人们对C++安全性的担忧。虽然许多语言现在都支持"基本类型安全",即确保变量只访问由其数据类型明确定义的内存部分,但C++一直难以提供类似的保证。
  这个由C++创建者Bjarne Stroustrup共同撰写的新声明现在似乎呼吁改变C++编程语言本身,以解决安全问题。"我们现在支持这样的想法,即安全性的更改不仅需要在工具中,而且需要在语言/编译器和库中可见。"
  "指导小组"还支持其长期以来首选的调试工具,以确保安全(以及"推动工具,以便在识别人类难以识别的安全问题时进行更全面的分析")。但1月份的声明强调了它对C++内部变化的建议。
  具体来说,它建议"将几个特性打包到概要文件中"(概要文件稍后定义为"定义要执行的属性的限制和要求的集合",例如,通过触发自动分析。)
  这样,新的安全更改"应该是可见的,这样安全代码部分就可以被命名(可能使用配置文件),并且可以与普通代码混合。"
  这种新方法最终不仅带来了安全性,还带来了灵活性,其配置文件专门设计用于支持嵌入式计算、性能敏感应用程序或高度特定的问题领域,如汽车、航空航天、航空电子、核或医疗应用程序。
  指导小组还建议:"例如,我们甚至可能有安全嵌入式、安全汽车、安全医疗、性能游戏、性能HPC和欧盟政府法规的安全配置文件。"。
  在文件的其他地方,他们的表述更为简洁。"为了支持不止一个‘安全’概念,我们需要能够说出它们的名字。"
  但提议的改变与去年12月与美联邦政府摊牌时出现的想法相呼应。1月中旬的声明指出,一个特别重要的组织,即美国商务部颇具影响力的国家标准与技术研究所,对C++的安全性提出了担忧。11月,美国国家安全局(National Security Agency)也在一份关于软件内存安全的信息表中调用了C++(作为其任务的一部分,以识别对各种联邦系统的威胁,并"发布网络安全规范和缓解措施")。
  也许正是这种来自高层的担忧最终埋下了变革的种子…
  国家安全问题
  美国国家安全局援引了微软和谷歌的分析评估。
  微软在2019年的一次会议上透露,从2006年到2018年,其发现的70%的漏洞都是因内存安全问题造成的;据Google估计,Chrome中存在了类似比例的内存安全漏洞,另外90%的Android系统漏洞也都是内存安全问题。
  他们随后警告称,黑客可以利用这些漏洞进行远程代码执行或其他不利影响,这通常会危及设备,并且成为大规模网络入侵的第一步。因此,无论是内存溢出、内存分配漏洞、还是变量未初始化,"所有这些内存问题都太常见了。"
  2019年微软安全演示发现,从2006年到2018年,70%的漏洞涉及内存安全
  显然,软件分析工具和"操作环境选项"可以发现许多问题,但美国国家安全局仍然建议,"在可能的情况下",只使用内存安全语言。
  为了明确起见,他们将其定义为一种语言,通过运行时和编译时检查,内存"作为计算机语言的一部分自动管理;它不依赖于程序员添加代码来实现内存保护。"NSA提供了C#、Go、Java、Ruby、Rust和Swift等示例。
  在美国国家安全局看来,常用的编程语言如C++,在内存管理方面提供了很大的灵活性,但用这种语言开发的应用程序的安全性很大程度上需要依赖程序员的检测环节。但是只要程序员自身有所疏忽,就可能带来严重的内存安全隐患。尽管不少软件分析工具能够检测到内存管理问题,操作环境选项也可以提供一些防护,但内存安全语言所提供的固有保护可以规避或减轻大多数内存管理问题。
  去年12月,Stroustrup在开放标准网站上回应称,他并不认为这些语言"在我所关心的使用范围内"优于C++。
  Stroustrup还反对美国国家安全局对安全的讨论"仅限于内存安全,而忽略了一种语言可能(并且将会)被用来违反某种形式的安全和保障的十几种其他方式……‘安全’的定义不止一种,我们可以通过编程风格、支持库和通过静态分析执行的组合来实现各种安全。"
  在这一过程中,Stroustrup还提出了第二个论点:在一些性能至关重要的现实场景中,"并非所有人都将‘安全’放在首位。"因此Stroustrup认为,"明智"的做法是列出安全问题(包括未定义的行为),然后根据需要使用预执行调试工具(如静态分析器)找到防止这些问题的方法。
  沿着这些路线,Stroustrup已经在为C++调用编译器选项和代码注释,以请求类型安全(和资源安全),说这"让你只在需要的地方应用安全保证,并在需要的地方使用你最喜欢的调优技术…"
  新提出的"配置文件"似乎是实现这一目标的一种语言方式。
  理性看待C++的安全性
  Stroustrup还反对在美国安全局的文件中将C++与C混为一谈。他指出,即使是现在,"C++核心指南也专门致力于为那些需要的人提供静态保证的类型安全和资源安全,而不会破坏代码库,因为这些代码库可以在没有这种强有力的保证或引入额外的工具链的情况下进行管理。"
  微软的Visual Studio分析器(及其内存安全配置文件)以及许多静态分析器已经支持这些核心准则。Stroustrup认为,这种方法允许C++"完全实现这些保证,而花费的成本只是转向各种新颖的‘安全’语言的一小部分"。
  Stroustrup还引用了他在2021年写的另一篇论文,该论文指出:"从1979年开始,完全的类型和资源安全就一直是C++的理想(目标),并且可以通过语言规则和静态分析强制执行的明智编程技术实现。"(后来Stroustrup写道,解决方案是"一套精心设计的编程规则,由库设施支持,并由静态分析强制执行"。)
  论文承认,就其本身而言,"默认情况下,核心指南不提供完整的类型和资源安全"——但认为它可以通过实施额外的规则来保证(例如,"由微软Visual Studio发布的核心指南检查器实现")。Stroustrup对Rust基于编译器的类型检查表示认可,他写道:"编译器不是我们唯一的工具,从来都不是",并提供了(预编译)静态分析可以执行的强大检查的具体示例。例如,静态分析可以: 防止不安全的类型转换 防止创建未初始化的对象 确保没有内存引用指针"转义"超出其狭窄定义的范围而错误地指向其他对象
  在去年12月对美国安全据的回应中,Stroustrup写道,我们生活在一个"数十亿行C++代码不会神奇消失"的世界里,并补充说,逐渐采用这些安全规则(以及在适当的情况下采用不同的安全规则)是很重要的。
  在某种程度上,美国国家安全局的论文似乎同意其中的一些观点。其文件包括了关于"强化"用非内存安全语言编写的代码的技巧,推荐了用于静态分析(检查源代码)和动态分析(在代码执行时执行)的工具,以及简化结果的漏洞相关工具。"解决这些工具发现的问题可能需要大量的工作,但会产生更健壮和安全的代码。"
  美国国家安全局的文件确实提到了"对非内存安全语言使用附加保护"所提供的"相当大的保护"。(它还建议通过控制流保护、地址空间布局随机化和数据执行预防等安全功能强化编译和执行环境。)
  忆往昔,C++做长期主义者
  在Honeypot的《不为人知的开发者故事》(Untold Developer Stories)的一次新采访中,72岁的Stroustrup回顾了自己的学生时代,当他还是个年轻人时,获得了获得了数学和计算机科学硕士学位的他发现自己的数学不如想象中那么好,但"机器架构真的很有趣"。
  当被问及,如果有时间机器可以让他回到最初创建C++的时候,他最想改变的东西是什么?Bjarne说,现在的他不会比创建C++时的那个他更了解那个时代,他做的任何改动可能都无法适应那个内存只有1MB的工作环境,也没法编译到早期的640MB Windows电脑上。
  "编程语言设计的有趣之处在于,如果你成功了,你就拥有了多年前和几十年前所做的一切,你必须忍受它。一旦你得到了用户,你就有责任,其中一个责任就是不破坏他们的代码……有数千亿行C++代码,我们无法破坏它们。"
  Stroustrup强调了他对C++的信心。"我认为C++可以做Rust可以做的任何事情,我希望它使用起来简单得多。"但他在2020年的采访中也表示,基本类型安全——确保变量只能访问其清晰划分的内存块——是他最早的设计目标之一,也是他花了几十年时间试图实现的目标。
  没有时间机器,一切犹如开始
  这位年逾古稀的C++创建者,此时虽然已经恢复信心,但对于评论者的言论有些小难过,"当我听到人们在谈论C++时,这些人就好似回到八九十年代那样(指指点点)。"
  但正如前文所述,世间没有时间机器,C++的设计理念也要随着所处的时代一路演进。
  C++在诞生近四十年后,依然保持着强大的生命力。Stroustrup认为保持其稳定性,并追求渐进式进化是必要的。
  "我从一开始就知道,我不可能构建理想的语言,因此我必须以渐进式发展为目标:改进。说真的,我并不相信完美语言的构想:要怎样就算是完美呢?对谁来说(是完美的)?"他补充说:"为了应对不断变化的世界的挑战,融入新思想,改进是必须的。"
  参考链接:https://thenewstack.io/can-c-be-saved-bjarne-stroustrup-on-ensuring-memory-safety/

秋雨苦旅国庆假期过半,气温上演从三十度到十三度的大逆转,一夜秋风起,连绵秋雨长。天阴雨湿又疫情防控,占据图书馆一隅,温一温余秋雨的文化苦旅。从前拿到手又弃置一边的书,在突然的寒凉里似乎也有人最怕贫穷,还是最怕没有信仰?80后上托下拉,90后整顿职场。忍不住吐槽,人到底最怕贫穷,还是最怕没信仰?有人说,贫穷最可怕的是让人对生活失去希望与憧憬。有人说,我害怕的不仅仅是贫穷,还有贫穷带来的无尽的麻烦。吵吵闹闹是生活从孩童开始,我们在学会很多东西的同时,我们也学会了争吵,当其他小朋友和自己抢东西时,或者是和自己想法不一致时,我们总要为了自己而与人争与人吵,从小我们就学会了该项本领。长大以后,我崔瑜被双开据中央纪委国家监委驻中国人民银行纪检监察组江苏省纪委监委10月8日消息日前,中央纪委国家监委驻中国人民银行纪检监察组江苏省监委对城银清算服务有限责任公司原党委书记董事长崔瑜严重违纪新时代新地标京哈高铁的加速度党的十八大以来,党和国家事业取得历史性成就发生历史性变革,一个个新地标见证了新时代10年彪炳史册的人间奇迹。在党的二十大即将召开之际,记者带您走进京哈高铁,看这条高铁线路带来的变化乌鲁木齐将帮助滞留旅客就业,滞留旅客发声乌鲁木齐经开区帮助滞留旅客在当地就业一事,引发热议。10月6日晚,乌鲁木齐市人民政府新闻办公室召开疫情防控工作新闻发布会。会上,乌鲁木齐经济技术开发区(头屯河区)区长丁志军通报了乌上合组织发展历程中新的里程碑9月15至16日,上海合作组织(上合组织)成员国元首理事会第二十二次会议在乌兹别克斯坦撒马尔罕举行。这是新冠肺炎疫情发生以来,上合组织成员国元首的首次线下聚会,深受国际社会关注。今苹果和富士康力推的越南制造,或将被美国资本收割而成为泡影这几年苹果和富士康一直推动将部分生产线转移至越南,由此越南制造开始获得了全球的关注,因为一些特别原因,海外媒体也纷纷高呼越南制造将崛起,然而随着近期越南资本市场的动荡,越南制造或将欧盟出手?你可能低估了苹果充电技术的黑魔法国人痴迷苹果,但这是单相思中国消费者对苹果的痴迷,可能让库克自己都起了不少鸡皮疙瘩。尤其是灵动岛的亮相,更是引起一阵又一阵惊呼,以及一阵又一阵的叹惋为什么安卓厂商,尤其是中国的安卓不装了?工信部欧盟强强联手,苹果被下达最后通牒?iPhone14系列发布,本以为会迎来苹果的高光时刻,没想到等待苹果的却是一地鸡毛。iPhone14销量不如预期,动了投资人的蛋糕,引起了投资人的不满。而30的苹果税也被多国起诉,CBA三消息北控再签超级外援,闫鹏飞不留情面,上海小将送绝杀爱国篮,爱CBA,我是洛姐,小伙伴们看完记得点赞!北控队下个赛季计划是要引进三名外援的,这也是马布里给球队提出的建议,现在北控队已经成功注册了两名外援,他们分别是小外援高登和大外援
WE27LPL春季赛WE和BLG的比赛,双方大战3局之后,WE成功以21的战绩击败了BLG,拿下了比赛的胜利,这也是他们本赛季的第三胜。第一局BLG上单纳尔,打野猴子,中单瑞兹,下路卢锡安任重道远的部落与弯刀国产手游的求索之路引在这儿,无穷无尽波浪起伏的沙粒,才是大地真正的主人,而人,生存在这儿,只不过是拌在沙里面的小石子罢了。即便如此,在苍茫的大漠之中,依然有一群热衷完成高难度高危险任务的人他们无时无化学博士谈养生如何抗衰老当下生活水平的不断提高,使得人们对于养生更加重视。养生是指通过合理的饮食运动心理调适等方式来保持身体健康。杂粮养生合理的饮食,可以通过摄入适量的蛋白质脂肪碳水化合物维生素矿物质等,阿尔维斯再遭受打击给出的释放理由或无效,检方要求继续关押他阿尔维斯再次遭受打击检方要求将他继续关押。这位足球运动员的辩护人提出了一系列保证,以让他获得有条件的释放。阿尔维斯被指控在巴塞罗那的一家夜总会中侵犯了一名妇女。阿尔维斯目前被关押在当前收视率最高的五部剧,狂飙跌出前三,第一收视高达3。291从相关数据显示可知,2月7日晚(19时30分22时00分)热播国产电视剧中,收视率最高的五部剧分别如下1女士的品格收视3。291主演万茜刘敏涛剧情点评初题材本来以为又是悬浮剧,看了走遍五大洲最美有郴州郴州美在哪?湖南省第二届旅游发展大会今年在郴州举行。作为郴州人,虽居异乡,但心系家乡。兴旅游开门户,郴州将迎八方客,郴州人当义不容辞宣传家乡。郴字读chn,郴最早见于秦朝,为篆体郴,由林邑二字开源节流应对收支紧平衡来源经济日报财政收支紧平衡,意味着收支可以实现或基本实现平衡,但余粮不会太宽裕。在增加财政收入化解收支矛盾的同时,要注重节流。既要把节省出来的资金用在基本民生等紧要处,也要落实减税绿色产业将成中欧合作新亮点访保加利亚原副总理达尼埃拉博贝娃经济日报驻索非亚记者蔡淳应我的要求,学生们纷纷把自己的智能手机拿了出来。你猜结果怎么样?大多数人都用的华为手机。在接受经济日报记者采访时,保加利亚原副总理保加利亚科学院经济研究所教吉雪萍的消失,是主持界的悲哀与损失文鱼小四荧幕里最不缺的就是主持人。在如今流量为王的时代,许多主持人为了出位可谓是绞尽脑汁,就连爱豆和演员都要过一把主持人瘾。前有以谢娜为首的元老级疯咖靠着哗众取宠收割一大波观众。现2023房地产展望,我们还能买房吗?2月财经新势力首先,恭喜王健林先生回归中国富豪榜,名列房地产榜首,同时我们也要看到老王这次回来靠的不是卖房,而是商业管理。012023年房地产行业展望2023年,受到国家重新扶持的紫金庭园挂牌价上涨38,西湖区超全学区攻略快来收藏!以上为贴片,以下为正文2023hr西湖区学区房信息汇总2022年的二手房可以说是经历了不小的波动,在满二唯一二套四成首付LPR历史新低等多条政策的精准调控下,市场逐渐理性,价格慢慢