硬核观察 #1137 微软支持开发者用 Rust 开发 Windows 驱动
微软支持开发者用 Rust 开发 Windows 驱动
微软在 Github 上发布了代码,使开发人员能够用 Rust 编写 Windows 驱动程序,这是为操作系统实现内存安全编程的关键一步。此前,微软披露正在用 Rust 语言 重写 核心 Windows 库。由于各种技术和历史原因,Windows 的用户模式代码大部分都是用 C++ 编写的,而内核代码大部分是用 C 语言编写的。软件项目的大部分漏洞都属于内存安全错误。自 2006 年以来微软在 Windows 中修复的漏洞大约七成是内存安全漏洞。
消息来源:Dev Class
老王点评:没想到 Windows 在拥抱 Rust 方面走在了 Linux 前面。
所有主要 GPU 都可能遭受新的像素窃取攻击
研究人员发现,六家主要供应商的 GPU 都容易受到一种新发现的攻击,这种攻击允许恶意网站跨源读取其他网站显示的像素。然后,攻击者就可以对像素进行重构,从而查看后一个网站显示的用户名、密码和其他敏感信息。通常情况下,同一来源策略会阻止这种泄漏,但 GPU 为提高性能而使用的数据压缩技术就像一个侧通道,会自动尝试压缩这些视觉数据,而不需要任何应用程序的参与。它们可以利用这个侧通道绕过限制,逐个窃取像素。芯片制造商们认为该问题的根本原因不在 GPU 中,而是浏览器厂商实现的问题。而谷歌表示,“这是对硬件工作原理的重要研究”,网站使用合理的标头可以显著减少个性化数据被泄露的风险。
消息来源:Ars Technica
老王点评:很多安全漏洞都是优化带来的,比如预加载、并行预测。
苹果在法庭上为谷歌搜索交易辩护
在对谷歌搜索业务的反垄断审判中,谷歌与苹果之间的交易是美国司法部起诉谷歌的核心,该交易使谷歌成为所有苹果设备的默认搜索引擎,并每年向苹果支付数十亿美元。曾代表苹果签署和谷歌的《信息服务协议》的 Eddy Cue 被问及,如果双方不能就收入分成数字达成一致,他是否会放弃这笔交易。Cue 认为,达成交易符合谷歌和苹果的最大利益,这笔交易不仅仅是经济问题,苹果从未认真考虑过转而使用其他供应商的产品,因为“还没有一个可以替代谷歌的有效选择”。
消息来源:The Verge
老王点评:就是因为其无可取代才会形成垄断。
1. String是包含长度信息的,而不是单纯靠"\0",越界不容易。
2.数组是包含长度信息的,越界会报错。
3. 数组下标允许从非零开始,for允许降序,能减少大量边界问题。
4. 类型是类型,常量是常量,不允许混用,也没有#define地狱问题。
5. 有Assigned函数。能够判断是否使用了未分配内存。
6. 指针是带数据类型的。
7. 变量统一使用前定义,不会半路冒出来个变量。
8. 没有++ --。
9. 没有宏函数。
10. 编译特别快,耗时C++的十分之一左右,调试很方便。
P.S. 其实如果不玩花活/炫技,即使是C/C++也没那么多问题的。
我比" —— 来自江苏无锡的 Firefox 117.0|Ubuntu 用户 于 发表。