遗留安全:弗罗茨瓦夫 C++ 会议

主要观点:

  • C++26 即将完成,草案今夏将发至各国机构,之后还有会议修复漏洞并等待 ISO 发布正式标准。
  • 虽有截止点,但不应基于截止期设计特性,多数特性明年应稳定。
  • C++26 有重要特性如反射、合约、std::simd等,也存在一些担忧,如委员会未充分考虑实现者带宽。
  • 语言安全受关注是因为软件漏洞威胁国家安全等,C++因内存不安全被关注,目前 C++领导对安全的反应是出于恐惧。
  • Sean Baxter 提出“Safe C++”,通过引入拥有引用和借用检查来实现内存安全,但需重写大量代码,部署困难,且与标准库兼容性存疑。
  • “Profiles”是一组可选的安全规则,旨在提供内存和生命周期安全机制,但存在诸多问题,如对静态分析的过度自信、规则不明确、实现困难等,且似乎只是为了安抚各方。
  • 有很多公司和工具供应商在进行提高 C++语言安全性的工作,但大多未标准化,WG21 应考虑 C++未来 10 年的发展方向,不应匆忙做决定。

关键信息:

  • C++26 相关进度及后续事宜。
  • 对 C++语言安全的不同观点和举措,包括“Safe C++”和“Profiles”。
  • 各公司和机构在 C++安全方面的工作及现状。

重要细节:

  • 提到一些特性如basic_fixed_stringdefine_aggregate的设计情况。
  • 阐述软件漏洞的本质及语言安全与过程的关系。
  • 说明“Safe C++”和“Profiles”的具体内容及存在的问题。
  • 列举各公司在 C++安全方面的具体工作和成果,如 Google 的相关工作等。
阅读 12
0 条评论