肠穿孔有什么症状| 腿肿吃什么药| 做造影什么时候做最好| 造口是什么| 月经稀发是什么意思| 胃肠蠕动慢吃什么药| 右束支传导阻滞是什么意思| 喉咙痒是什么原因| 精是什么意思| 粉玫瑰代表什么意思| 殿试第一名叫什么| 女人湿气太重喝什么茶| 亚麻籽吃了有什么好处| 2月29日是什么星座| 了加一笔是什么字| 白细胞偏低吃什么药| 什么茶减肥效果好| 餐中服用是什么意思| 梅菜是什么菜晒干的| 膝盖疼挂什么科室| 六月一号什么星座| 肺热咳嗽吃什么药| AMI是什么病| 3月4号是什么星座| 讲信修什么| 孕妇胃痛可以吃什么药| 历久弥新的意思是什么| 吃苦瓜有什么好处| 黑豆有什么功效和作用| 鬼迷心窍是什么生肖| 月经淋漓不尽什么原因| 邪气是什么意思| 甲状腺功能减退是什么意思| 安利是什么意思| 轮状病毒吃什么药| crocs什么意思| 千里马比喻什么样的人| br是什么意思| 强化是什么意思| 大忌什么意思| 老年痴呆症又叫什么名字| 梦见自己给自己剪头发是什么意思| 嘴酸是什么原因引起| 金匮肾气丸有什么功效| 蠢是什么意思| 什么时候敷面膜效果最好| 0到3个月的婴儿惊吓吃什么药| 吹箫是什么意思| 血糖高有什么影响| 前额头痛吃什么药| 金蝉子是什么佛| 风湿三项检查是什么| 宫颈纳氏囊肿是什么| 芒果什么人不适合吃| 心脏造影是什么| 小孩抽多动症吃什么药最好| 离经之血是什么意思| 2月24日什么星座| 梅毒吃什么药好得快| 阴茎插入阴道是什么感觉| 疝囊是什么| 李子什么人不能吃| 厌恶是什么意思| 外阴皮肤痒是什么原因| 缓解是什么意思| 干咳吃什么药止咳效果好| amass是什么牌子| hpv52阳性有什么症状| 打胰岛素有什么副作用| 姑姑的老公叫什么| 身体欠佳什么意思| 看见蝙蝠有什么预兆| 屏保什么意思| 1.11是什么星座| 鬼火是什么意思| 什么是禁欲| 2型糖尿病是什么意思| sp是什么的缩写| 脑膜炎吃什么药| 标新立异是什么意思| 糖尿病人不能吃什么| 梦见煤气罐爆炸是什么意思| 组织细胞是什么| 贤上腺瘤是什么意思| 挚肘是什么意思| 内鬼是什么意思| 老人流口水是什么原因| 吃什么升白细胞| 全身痒是什么病的前兆| 为什么会得肠梗阻| 芭菲是什么| 地贫是什么| 高压偏低是什么原因造成的| 为什么会一直放屁| 元宵节的习俗是什么| 无创dna是检查什么的| 半月板损伤吃什么药| 漠河什么时候可以看到极光| 白球比偏低吃什么补| 意志是什么意思| est是什么意思| 恐龙蛋是什么水果| 血氨低是什么原因| 罢免是什么意思| 包袱是什么意思| 尼特族是什么意思| EPS什么意思| 头发出汗多是什么原因| lycra是什么面料| 姜黄粉是什么做的| 99年属什么| 土羊是什么字| 急性肠胃炎吃什么| 为什么会甲减| 头发白是什么原因引起的| 小狗驱虫用什么药| 考药师证需要什么条件| 1955年是什么年| 梦见掉牙齿是什么征兆| 手心发痒是什么原因| 白细胞异常是什么原因| 彩超和ct有什么区别| 释怀什么意思| 天伦之乐什么意思| 中观是什么意思| 实至名归什么意思| 复活节是什么意思| 肺结节看什么科| 大创是什么| 筋道是什么意思| 脑白质病变是什么意思| 稼字五行属什么| 格色是什么意思| u型压迹是什么意思| 什么不生四字成语| 什么是abo文| 肚子里面跳动是什么原因| 碧玺是什么宝石| 西湖龙井属于什么茶| 1月22号是什么星座| 三点水加分念什么| 青蛙怕什么| 水银中毒会出现什么状况| 婧读什么| 眼前发黑是什么原因| 组数是什么| 细菌性阴道炎用什么药好得快| 手脚心热是什么原因| 低血糖吃什么食物| 什么草| 青睐什么意思| 骨质增生是什么原因引起的| 汗马功劳什么意思| 女人脖子后面有痣代表什么| 吃什么去肝火| 蒸桑拿是什么意思| 妈祖叫什么名字| 荸荠又叫什么| 转网是什么意思| 奶茶色是什么颜色| 卵巢畸胎瘤是什么病| prc是什么| 做梦梦见兔子是什么意思| 止血敏又叫什么名| 身上有淤青是什么原因| 夏天吃羊肉有什么好处| 颈椎病应该挂什么科| 吃什么可以增肥| 丧门是什么意思| 泰迪狗长什么样子| 阴囊是什么部位| 甲烷是什么| 昭字五行属什么| 拉屎为什么是绿色的| 气垫是什么| 胃难受是什么原因| 褥疮用什么药最好| 心包填塞三联征是什么| 耳鼻喉属于什么科| 脚指甲盖凹凸不平是什么原因| 青稞是什么东西| 熬药用什么锅熬最好| 梦见自己家盖房子是什么预兆| 戒指戴左手食指是什么意思| 什么是脑梗塞| 布灵布灵是什么意思| 手发胀是什么原因| 胡椒粉是什么做的| 龙虎山是什么地貌| 一个土一个斤念什么| 表白是什么意思| 什么食物对眼睛视力好| 什么是家庭| 脑癌是什么原因引起的| 子宫肌壁回声不均匀是什么意思| 飞蚊症是什么| 酸麻胀痛痒各代表什么| 直肠炎是什么原因引起| 什么粥最养胃| 什么是色盲| 最贵的金属是什么| 公历是什么意思| 双抗是什么药| 自闭症是什么意思| 领导喜欢什么样的员工| 自然生化流产是什么意思| 激素是什么| 宣府是现在的什么地方| 水饮是什么意思| 百香果有什么作用| 本科和专科有什么区别| 物质是由什么组成的| 甘草长什么样子图片| 瞳字五行属什么| 肾结石是由什么原因引起的| 身体寒湿重吃什么好| 阴湿是什么意思| 大便拉不出来什么原因| 肝胆湿热用什么药| andy是什么意思| 双花红棍什么意思| 咽炎有什么症状| 血压高吃什么水果好| 天蝎座男和什么星座最配| ebay是什么| 江米和糯米有什么区别| 红参对子宫有什么作用| 忧郁的意思是什么| 哮喘不能吃什么| 水痘长什么样| 星星是什么| 霍光和卫子夫什么关系| 杧果是什么| 我国最早的中医学专著是什么| 口淡无味是什么原因| 耳朵痒是什么原因引起的| 梦见入室抢劫意味什么| 京酱肉丝是什么菜系| 247什么意思| 香港说什么语言| 怀孕什么东西不能吃| 79岁属什么| flag是什么意思| au585是什么金| 四件套包括什么| 肺肿了是什么病严重吗| 2月18号什么星座| 更年期吃什么好| 疱疹是什么病| 煎饼卷什么菜好吃| 椰子水是什么颜色| 为什么总是长口腔溃疡| 送什么礼品好| 二月什么星座| 7.2是什么星座| 肾结石有什么表现症状| 三七粉做面膜有什么功效| 怀孕了有什么症状| 秋葵和什么不能一起吃| 班禅是什么级别| 龟头上抹什么药能延时| 吃茶叶蛋有什么好处和坏处| 祎是什么意思| 哮喘吃什么药管用| 百度

《黑暗之魂》“上级骑士”手办公布 精致工艺不输CG

Bjarne Stroustrup wants standards body to respond to memory-safety push as Rust monsters lurk at the door

百度 宋·吕定瞿昙善说空华喻,宋·李洪世事能彫镜里颜。

Bjarne Stroustrup, creator of C++, has issued a call for the C++ community to defend the programming language, which has been shunned by cybersecurity agencies and technical experts in recent years for its memory safety shortcomings.

C and C++ are built around manual memory management, which can result in memory safety errors, such as out of bounds reads and writes, though both languages can be written and combined with tools and libraries to help minimize that risk. These sorts of bugs, when they do crop up, represent the majority of vulnerabilities in large codebases.

With the high-profile, financially damaging exploitation of these flaws, industry and government cybersecurity experts over the past three or four years have been discouraging the use of C and C++ while evangelizing languages with better memory safety, like Rust, Go, C#, Java, Swift, Python, and JavaScript.

The C/C++ community has responded with numerous proposals to move toward memory safety, including TrapC, FilC, Mini-C, and Safe C++, to name a few.

But with Stroustrup, professor of computer science at Columbia University, raising the alarm, it's clear the issue is not just slow progress but the absence of a public narrative that can compete with the tech industry's adoration of Rust.

In a February 7 "Note to the C++ Standards Committee" (WG21) in support of his Profiles memory safety framework, he wrote, "This is clearly not a traditional technical note proposing a new language or library feature. It is a call to urgent action partly in response to unprecedented, serious attacks on C++. I think WG21 needs to do something significant and be seen to do it. Profiles is a framework that can do that."

His note continues, "As I have said before, this is also an opportunity because type safety and resource safety (including memory safety) have been key aims of C++ from the very start.

"I feel strongly about this. Please don’t be fooled by my relatively calm language."

Stroustrup is not known for Torvaldsian invective or hyperbole. The last time he used such emphatic language (that we're aware of) was back in 2018, when he asked the C++ community to slow down and propose language improvements in a more coordinated manner. "We are on the path to something that could destroy C++," warned at the time "We must get off that path!"

In a February 13 message to the security-focused SG23 mailing list, addressing skepticism that there's a threat to C++, Stroustrup pointed to US govt's CISA's Product Security Bad Practices report, issued last October.

Citing the report's guidance that by January 1, 2026, manufacturers should have a memory-safety roadmap for products using memory-unsafe languages that leads to the elimination of memory safety vulnerabilities, or should adopt a memory safe programming language, Stroustrup observed, "I consider that a credible threat."

Traveling abroad at the time this story was filed, Stroustrup told The Register he would like to elaborate further on the matter but expressed concern that a hasty response might be misunderstood or taken out of context. But he endorsed the inclusion of his mailing list remarks.

Stroustrup is well-aware of the growing emphasis on memory-safe programming, having addressed these concerns directly in 2022, in response to Microsoft Azure CTO Mark Russinovich's call "to halt starting any new projects in C/C++ and use Rust for those scenarios where a non-[garbage collected] language is required."

Brushing off Russinovich's remarks as infatuation with a shiny, new language, Stroustrup responded, "Safety is obviously critically important in many contexts, so I have worked on increasing safety in C++ for years."

He called for an evolutionary approach – modernizing C++ code to make it safer with tests and tooling – rather than a revolution that throws C++ out the window.

That's a position Google has supported with its acknowledgement that legacy C and C++ will be around for years and needs to be managed.

But just this week, the Chocolate Factory made it clear it's more focused on a memory-safe future than modernizing C/C++.

"[W]e are calling for a fundamental shift: a collective commitment to finally eliminate this class of [memory safety] vulnerabilities, anchored on secure-by-design practices – not just for ourselves but for the generations that follow," the ad biz said.

Given CISA's call to deprecate C/C++ by 2026, there's not a lot of time left for the C/C++ community to respond.

Robin Rowe, who's helming the TrapC project, doesn't believe Profiles will arrive in time or that they're a practical answer.

"If you mark your code to enforce a Profile, some features of the C/C++ language will stop working," he told The Register. "It’s like -Wall and -Wextra compiler flags in Linux, except instead of escalating warnings into errors, it turns off pointers or arrays."

C++ coders would mark their code with a Profile and then rewrite portions that break due to the Profile's restrictions, Rowe explained.

"For example, a C for-loop that iterates over an C array must be replaced with a C++ for-each loop that does the same using a std::vector," he said, calling it a regime to force C++ programmers to rewrite their code using the latest C++ Core Guidelines.

"Nobody has said to expect C++ Profiles to become standardized by the ISO C++ Committee, or to be implemented in a compiler, before 2026," Rowe said, who also doubts that DARPA's TRACTOR project, for automated C-to-Rust conversion, will be ready by then.

Rowe has a horse in this race – he recently presented his work on the TrapC compiler, which he expects will be ready later this year, to the ISO C Committee as a potential extension to the C programming language. On Thursday, February 27, he answered questions about the project during the ISO C Committee standards body meeting in Graz, Austria.

"TrapC Memory Safe Pointers (MSP) will not buffer overrun and will not segfault," he said. "When C code is compiled using a TrapC compiler, all pointers become MSP and are checked."

Rowe argues that other C and C++ memory safety schemes are not comprehensive. "The vulnerability of programmer-configurable C/C++ programming language subsets, whether it’s C++ Profiles, C extension N3211 or others, is that memory safety isn’t guaranteed to be consistent across all compilation units," he explained.

Rust is not immune, is also vulnerable

"With subsets it is too easy to create an unsafe hole where memory usage goes unchecked in what is supposedly memory safe code. Rust is not immune, is also vulnerable. Rust programs may open a hole using the Rust 'unsafe' keyword, and widely do so to access notoriously unsafe C pointers."

David Chisnall, a visiting researcher at the University of Cambridge and director of systems architecture for SCI Semiconductor, which makes memory safety hardware based on Capability Hardware Enhanced RISC Instructions (CHERI), voiced skepticism about language–level solutions to memory safety in response to Stroustrup's SG23 call to arms.

"Very few things are written in a single language these days and memory-safety across languages is important," he wrote. "If you write a Rust core with Lua scripting, but Lua doesn’t respect Rust’s unique ownership model then that makes it very hard to interoperate safely. Tools for safe interoperation are important."

Chisnall argues that making C and C++ safer is a better approach than rewriting code in Rust or some other memory-safe language.

Rewriting billions of lines of code all at once is a problem

"Incremental migration from C to current C++ to C++ with stronger safety is a great story because you can do it one piecemeal," he explained.

"Rewriting billions of lines of code all at once is a problem: Even if the end result is memory safe, rewriting code introduces bugs and a lot of those will be safety or security critical. Selling a migration story from C to a safe C++ dialect that people can do a little bit at a time over multiple years would be great for C++."

It remains to be seen who will be the author of that story.

That is, if memory safety remains a government concern. As Chisnall observed, "The new US administration has removed everything from the White House web site and fired most of the CISA people who worked on memory safety…" ?

More about

TIP US OFF

Send us news


Other stories you might like

天天喝啤酒对身体有什么危害 水漫金山是什么意思 鸩杀是什么意思 爆菊什么意思 mrv是什么检查
月亮为什么会有圆缺变化 过去式加什么 bq是什么意思啊 羊与什么生肖相合 鸡炖什么补气血
雾霾是什么意思 晚字五行属什么 山药有什么功效 巡抚相当于现在的什么官 bgm是什么
泌尿科看什么病 什么的尾巴长不了歇后语 月经前便秘是什么原因 秋葵不能和什么一起吃 上火吃什么食物
1983属什么baiqunet.com mdr是什么意思1949doufunao.com 胆脂瘤是什么病hcv8jop2ns6r.cn 糖尿病吃什么hcv8jop2ns3r.cn 病理会诊是什么意思hcv8jop1ns6r.cn
处口念什么hcv9jop4ns6r.cn 法克油是什么意思hcv8jop5ns5r.cn 头上的旋有什么说法hcv8jop9ns4r.cn 药流后吃什么药gysmod.com 三叉神经痛看什么科hcv8jop8ns2r.cn
热射病是什么hcv8jop5ns2r.cn 脊灰疫苗是预防什么的hcv8jop5ns7r.cn 临床药学在医院干什么hcv9jop3ns0r.cn 2b是什么意思hcv8jop3ns5r.cn 次月什么意思hcv8jop2ns4r.cn
噗是什么意思hcv8jop4ns3r.cn 湾仔码头水饺为什么贵hcv9jop6ns0r.cn 铁是什么颜色hcv9jop3ns0r.cn 关元穴在什么位置hcv9jop4ns8r.cn 市法院院长是什么级别hcv7jop6ns6r.cn
百度