惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Recent Announcements
Recent Announcements
J
Java Code Geeks
雷峰网
雷峰网
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
腾讯CDC
博客园 - 司徒正美
B
Blog RSS Feed
博客园 - 三生石上(FineUI控件)
I
InfoQ
N
Netflix TechBlog - Medium
L
LangChain Blog
博客园_首页
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Tailwind CSS Blog
MyScale Blog
MyScale Blog
美团技术团队
The Cloudflare Blog
爱范儿
爱范儿
Stack Overflow Blog
Stack Overflow Blog
博客园 - 聂微东
H
Help Net Security
Martin Fowler
Martin Fowler
V
Visual Studio Blog

奇客Solidot–传递最新科技情报

NASA 关闭旅行者 1 号的 LECP 仪器以节省电力维持运行 奇客Solidot | 人形机器人打破人类半马世界纪录 奇客Solidot | 卫星无人机图像显示美国四成数据中心可能延期 奇客Solidot | 内存芯片短缺可能持续到 2030 年 奇客Solidot | 果糖不只是糖,它更像是激素 奇客Solidot | Grinex 交易所声称遭敌对国家黑客入侵 奇客Solidot | 大白鲨面临过热风险 奇客Solidot | 暗能量巡天绘制出迄今最大的高分辨率 3D 宇宙地图 微软正式将 FAT32 分区大小从 32GB 增加到 2TB 奇客Solidot | 拼多多美团等被罚 36 亿 奇客Solidot | 英伟达 CEO 反对进一步限制向中国出口芯片 奇客Solidot | 美国科技巨头成功在欧盟法律中将数据中心环境影响列为保密信息 奇客Solidot | 乌克兰军方开始大规模使用地面武装机器人 Firefox 加入了对 Web Serial API 的支持 奇客Solidot | 大自然仍然在铸造人类基因 奇客Solidot | 威尼斯如何应对海平面上升 SpaceX 将发射 ESA 的 Rosalind Franklin 火星漫游车 奇客Solidot | Discourse 强调会继续开源 奇客Solidot | 美国主流媒体封禁互联网档案馆的存档机器人 奇客Solidot | 新研究再次证实 AI 有害大脑 Mozilla 宣布开源可自托管 AI 客户端 Thunderbolt 奇客Solidot | Linux Mint 宣布采用更长的开发周期 奇客Solidot | 人类的噪音在伤害动物,我们会学会安静吗? 奇客Solidot | 帝企鹅因气候变化导致数量减少被列为濒危 奇客Solidot | 抹香鲸的发声沟通方式与人类相似 奇客Solidot | 中国手游如何征服世界 奇客Solidot | IPv6 普及度突破 50% 奇客Solidot | 挪威男子在移植其兄弟的干细胞后治愈 HIV 波士顿动力的机器狗集成了 Google 的 Gemini 模型 奇客Solidot | Cal.com 因 AI 从开源转为闭源
奇客Solidot | 不可避免的内存安全(Memory Safety)之路
2025-05-09 · via 奇客Solidot–传递最新科技情报

Shawn the R0ck 写道:“Memory safety 近年来成为热门话题。但在讨论“memory safety”时,我们需要先明确究竟在探讨什么、追求什么目标。你是在关注通过编译器完成静态分析(如 Clang Static Analyzer、rustc 等)来在编译阶段捕获潜在问题,还是更信任编译器让代码顺利编译,通过运行时机制(比如 Go 或 Java 中的垃圾回收)来解决所有问题?或者,你仅仅关注于安全加固的最终目标——即防止系统遭受攻击?内存安全问题的复杂性正反映了安全领域的本质:安全是一门交叉学科,融合了计算机科学和复杂性理论,这使得要完全掌控其复杂性变得异常困难。因此,企图通过单一或者几种 “memory-safe language” 重写现有软件,从而彻底杜绝所有安全隐患,并非现实可行的方案。
一门编程语言在设计时可能就倾向于提供内存安全机制,例如自动垃圾回收、数组边界检查等,这些机制在规范层面上勾画了一个理想状态。但在现实中,不同的实现者会出于需求和性能指标的考虑采取不同的策略。例如,虽然 Lisp 通常配备垃圾回收机制、支持灵活的数据操作和动态类型系统,但这并不意味着所有 Lisp 解释器都能完全消除内存安全问题。如果由于特定需求或追求性能而对部分安全检查作出妥协,那么内存越界或非法指针访问等安全隐患依然有可能出现。
同样,C/C++ 被长期视为“不安全”的语言,因为它允许程序员直接操作内存和执行指针运算。然而,通过严谨的工程化手段(如静态分析工具、严格的代码审查、运行时检测机制等),使得 C/C++ 在特定环境下无限接近无 Bug 状态也是可能的。本文将以 HardenedLinux 过去数十年中在对抗系统复杂性、提升内存安全方面的一些做法为背景进行探讨。总体来看,内存安全不仅关乎编译器或运行时单一环节的责任,而是需要在语言设计、工具支持、工程实践等多方面协同努力,以实现最终“系统不被攻陷”的安全目标。本文不涉足强制访问控制,沙箱,Linux内核加固等议题。”

hardenedlinux.github.io/system-security/2025/05/07/path-to-memory-safety-inevitable.html