d******e 发帖数: 2265 | 1 近日,Google 工程师统计了 2015 年以来,Chrome 稳定分支中修复级别为 "high" 或
"critical" 的 912 个安全错误,结果发现约 70% 是内存安全漏洞。
Google也要放弃C/C++?Chrome 代码库中70%的安全漏洞是内存问题
事实上,不只是 Google,内存安全漏洞是很多科技公司都头疼的问题,微软工程师也
曾公开表示:在过去 12 年中,微软产品的安全更新中,约有 70% 也是在解决内存安
全漏洞。
为什么微软和 Google 的情况如此相似呢?因为它们代码库中使用的主要编程语言是 C
和 C++,由于 C 和 C++ 出现的时间较早,当时网络攻击还不是利用相关的威胁模型
,大多数早期软件开发人员也没有考虑到相关的安全问题,所以 C 和 C++ 允许程序员
完全控制管理应用程序的内存指针,出现基本的内存管理错误时,也没有相关的提示或
者警告。
Chrome 的内存安全问题如何解决?
据了解,自 2019 年 3 月以来,在 130 个级别为 critical 的 Chrome 漏洞中,有
125 个是与内存相关的。这个数据也表明了,内存管理错误仍然是 Google 的一个大问
题。
Google也要放弃C/C++?Chrome 代码库中70%的安全漏洞是内存问题
为了解决内存安全问题,Google 内部提出了一个 The Rule Of 2 原则,即为了保证安
全性,程序员不能破坏两个以上的条件:
不可靠的输入:主要来自两个方面,一是 non-trivial 的语法,例如常用的 and 和
or,二是不安全的来源;
不安全的实现语言:即在编写程序时选择了缺乏内存安全性的语言,例如 C、C++、汇
编语言等。目前内存安全的语言包括 Go、Rust、Python、Java、JavaScript、Kotlin
和 Swift 等。
高特权:特权最高的程序是计算机固件,引导加载程序、内核、系统管理程序或虚拟机
监视器等;其次是操作系统级别的账户运行进程;特权较低的进程包括 GPU 进程和网
络进程等。
“沙箱”也是 Google 用来解决安全问题的常用方法,Google 工程师会将数十个流程
隔离到自己的沙箱中,并利用刚推出的“Site Isolation”功能,将每个站点的资源也
放到沙箱中。同时,考虑到性能问题,Google 采用了沙箱化 Chrome 组件的方法,并
在积极探索新的方法。
Google 表示将开发自定义 C++ 库,与 Chrome 代码库配合使用,以便更好地处理与内
存相关的错误。并且有计划,在可能的情况下探索使用“内存安全”的编程语言,目前
的候选对象包括 ×Rust×、Swift、JavaScript、Kotlin 和 Java。 |
d******e 发帖数: 2265 | 2 在2018年,Ryan在柏林进行了一次演讲,这是他第二次关于JS的公开演讲,第一次再
2009,那次是宣布Node项目的诞生。
在这次演讲中,除了主要介绍他认为Node.js的几大问题和不可避免的许多Bug外,在演
讲快结束时,他揭开了当时还是个小项目名为Deno的面纱,因为和node命名有着千丝万
缕的联系,那时大家认为这个项目就是Node.js v2,它将会解决和完善ry提到那些问题。
两年后的5月13日, Deno 1.0终于正式发布了,它是一个全新的服务端JavaScript运行
时,使用Rust而不是C++开发,由于Rust原生支持WebAssembly,所以它也能直接运行
WebAssembly。基于Tokio平台(它提供了所有JavaScript所需的异步操作),内置V8和
tsc引擎,可直接解释JavaScript和TypeScript。 |
d******e 发帖数: 2265 | 3 不是rust 吹。以后也不会在贴。但是,rust 被大公司考虑
是今年的趋势。 |
g****t 发帖数: 31659 | 4 我觉得Unsafe rust vs safe rust这个内部的debate如果不解决好,rust很难再上台阶
。这种问题的结论,可能要在实践中走过相当多的坑,才能知道。
另外写cpp/c的时候,也可以按照one time assignment的风格来写。
: 不是rust 吹。以后也不会在贴。但是,rust 被大公司考虑
: 是今年的趋势。
【在 d******e 的大作中提到】 : 不是rust 吹。以后也不会在贴。但是,rust 被大公司考虑 : 是今年的趋势。
|
x****u 发帖数: 44466 | 5 2020年的内存安全问题,基本就是廉价劳动力犯错的问题
所以业界主流是通过新语言或者严格的规范化检查从逻辑上避免这个问题
C
【在 d******e 的大作中提到】 : 近日,Google 工程师统计了 2015 年以来,Chrome 稳定分支中修复级别为 "high" 或 : "critical" 的 912 个安全错误,结果发现约 70% 是内存安全漏洞。 : Google也要放弃C/C++?Chrome 代码库中70%的安全漏洞是内存问题 : 事实上,不只是 Google,内存安全漏洞是很多科技公司都头疼的问题,微软工程师也 : 曾公开表示:在过去 12 年中,微软产品的安全更新中,约有 70% 也是在解决内存安 : 全漏洞。 : 为什么微软和 Google 的情况如此相似呢?因为它们代码库中使用的主要编程语言是 C : 和 C++,由于 C 和 C++ 出现的时间较早,当时网络攻击还不是利用相关的威胁模型 : ,大多数早期软件开发人员也没有考虑到相关的安全问题,所以 C 和 C++ 允许程序员 : 完全控制管理应用程序的内存指针,出现基本的内存管理错误时,也没有相关的提示或
|
g****t 发帖数: 31659 | 6 楼主需要把英文原文发一下。不然xiaoju不明白
safty和security哪个是哪个。
: 2020年的内存安全问题,基本就是廉价劳动力犯错的问题
: 所以业界主流是通过新语言或者严格的规范化检查从逻辑上避免这个问题
: C
【在 x****u 的大作中提到】 : 2020年的内存安全问题,基本就是廉价劳动力犯错的问题 : 所以业界主流是通过新语言或者严格的规范化检查从逻辑上避免这个问题 : : C
|
x****u 发帖数: 44466 | 7 内存问题导致安全漏洞都没听说过?
天天在中文论坛装中文初学者有意思么?
【在 g****t 的大作中提到】 : 楼主需要把英文原文发一下。不然xiaoju不明白 : safty和security哪个是哪个。 : : : 2020年的内存安全问题,基本就是廉价劳动力犯错的问题 : : 所以业界主流是通过新语言或者严格的规范化检查从逻辑上避免这个问题 : : C :
|
g****t 发帖数: 31659 | 8 听过跟明白是两回事。更何况你多半是微信,百度啥的听过。
另外,不要拿“业界”给你壮胆。你不需要这么害怕。
【在 x****u 的大作中提到】 : 内存问题导致安全漏洞都没听说过? : 天天在中文论坛装中文初学者有意思么?
|
x****u 发帖数: 44466 | 9 这心理疾病不轻
搭你的话的不是“吐口水”就是深井冰,要不就是“壮胆”。。。是不是觉得正常人不
会理你
【在 g****t 的大作中提到】 : 听过跟明白是两回事。更何况你多半是微信,百度啥的听过。 : 另外,不要拿“业界”给你壮胆。你不需要这么害怕。
|
w********m 发帖数: 1137 | 10 一个语言有一个爆款产品就可以了
firefox,fuchsia都不太行
rust行不行,就靠deno了 |
s*i 发帖数: 5025 | 11 L2L, langulage to language?
我希望deno有长足增长。太喜爱JavaScript了。网上业务前后一锅端。
【在 w********m 的大作中提到】 : 一个语言有一个爆款产品就可以了 : firefox,fuchsia都不太行 : rust行不行,就靠deno了
|