写点什么

微软正开发类似 Rust 的全新安全编程语言

  • 2019-12-05
  • 本文字数:1408 字

    阅读完需:约 5 分钟

微软正开发类似Rust的全新安全编程语言


为提高 Windows 10 的安全性,微软研究人员 Matthew Parkinson 在本周的一次演讲中披露:微软正开发类似于 Rust 的新的安全编程语言。这个项目,被微软称为“Verona"。


Verona 项目主要目的是通过使用Rust开发 Windows 底层组件,从而让 Windows 10 变得更安全。


据微软透露,它们通过集成 Rust 和 C/C++来移除 Windows 中不安全的代码,这种尝试达到了目标。

内存安全问题

众所周知,在每个月的第二个礼拜,微软都会发布修复 Windows 漏洞的安全补丁。而微软最近透露,近年来发现的大部分 bug 都与内存安全有关,所以它们想看看是否可以使用 Rust 来解决这些问题。


在编程语言中,“内存安全”是指保护内存空间不受恶意程序利用。微软的 Verona 项目旨在防止这类攻击发生。


虽然 Verona 项目最初可能只是一种尝试,但微软已经取得很大的进展。


Matthew Parkinson 是微软主攻托管编程语言内存管理的研究员。在最近的一次演讲中,他分享了微软在解决内存问题方面做了哪些工作。


本次演讲中,Parkinson 提到了 IE 和 Edge 的MemGC(Memory Garbage Collector,内存垃圾回收器)。


MemGC(Memory Garbage Collector):内存垃圾收集器,是 Edge 的内存管理机制,由 IE11 的 Memory Protector 改进而来,首次在 EdgeHTML 和 MSHTML 中使用。Edge 使用 MemGC 来管理 DOM 和 DOM 支持的对象,其采用标记清除(Mark-Sweep)算法对垃圾进行回收,能够阻止部分 UAF 漏洞。


MemGC 解决了与标准浏览器 DOM 相关的漏洞,给谷歌 Zero 项目的黑客们留下了深刻的印象。


Parkinson 说:“我们为 DOM 开发了一个垃圾回收器。在 IE 中,内存的‘释放后使用’(use-after-free)是人们利用 DOM 引擎内存管理机制的常见方式。然后,微软开发了 MemGC,作为 DOM 的守护垃圾回收器。它几乎专治这种类型的漏洞,基本上把这类攻击杜绝掉了。”


而微软要解决的另一类 bug 与未初始化的内存有关。


Parkinson 深入探讨了一个可能会引起消费者共鸣的问题:“如何才能打造出在未来最安全的产品?我们仍然要处理遗留问题,不能把现有的东西全部都扔掉,但可以在一个更安全的系统中重建一些东西。”


Parkinson 说微软正在使用 Rust 重写一些组件,他的演讲主要集中在语言的设计和隔离能力上。


“如果我们想要隔离能力,把遗留代码隔离起来,不让攻击者的攻击代码冒头,那么应该怎样设计这门语言?”

Verona 项目

于是,Verona 项目诞生。微软宣称这门语言面向的是“安全的基础设施编程”,Verona 项目很“快”会开源。


据悉,这个项目得到了 C#项目经理 Mads Torgensen 和微软剑桥研究院工程师 Juliana Franco 的支持。


微软面临的挑战是要覆盖“应用程序图谱”,从用于桌面应用程序的 C#,到用于 Exchange、ASP.NET、Azure 和设备驱动程序的 C 和 C#,再到深度的 Windows 组件,如内存管理、启动加载器和 Windows 内核硬件抽象层(HAL)。


Parkinson 说:“要做好内存管理很难。如果存在任意的并发冲突,要保证临时内存安全就非常困难”。


“Rust 的所有者模型基于单个对象,而 Verona 基于一组对象。在 C++里,程序员获取指针,指针是基于对象的,并且基本上是一个对象一个指针。但我认为的数据和语法不应该是这样的,我所认为的数据结构应该是对象的集合,集合有它自己的生命周期”。


“获得一组对象的所有权,非常接近使用者的抽象层级,这样就可以在安全区里构建数据结构。”他说。


英文原文:


Microsoft: We’re creating a new Rust-like programming language for secure coding


2019-12-05 10:598294

评论 4 条评论

发布
用户头像
rust-like 叫做基于 rust 吗???
2019-12-05 14:47
回复
翻译疏忽,已修改
2019-12-05 16:28
回复
用户头像
实打实
2019-12-05 13:35
回复
用户头像
是的
2019-12-05 13:35
回复
没有更多了
发现更多内容

SeaTunnel MCP Server 入选《中国信通院开源商业产品及企业典型案例集(2025)》

白鲸开源

AI 开源商业化 Apache SeaTunnel 白鲸开源 MCP Server

云监控(CES)2025年7月全新升级

华为云开发者联盟

为什么你拿捏不住客户的“真”需求?

IPD产品研发管理

产品 产品经理 产品设计 需求 软件研发

融云IM、网易云信IM等39款即时通讯SDK适配鸿蒙5,社交协作更高效

新消费日报

YashanDB ALTER AUDIT POLICY语句

YashanDB

数据库

【8.14 直播】快速上手 IoTDB 官方可视化工具 Workbench

Apache IoTDB

AI Compass前沿速览:RynnVLA视觉-语言-动作模型、GLM-4.5V 、DreamVVT虚拟换衣、 WeKnora框架、GitMCP、NeuralAgent桌面AI助手

汀丶人工智能

分布式数据高效可靠检索新方法

qife122

分布式计算 信息检索

邀您参与 “直通乌镇” Spring AI Alibaba 开源竞技挑战赛!

阿里巴巴云原生

阿里云 云原生 Spring AI Alibabab

低代码平台赋能高校学生,构建职业能力与企业需求的动态适配

中烟创新

从数据血缘到AI Agent:天翼云 × DolphinScheduler 的云上调度新篇章

白鲸开源

大数据 开源 Apache DolphinScheduler 用户案例 天翼云

4个月、2个人、1个霸榜的开源项目 !这位98年的校招生做到了!

京东零售技术

荣耀应用市场直投下载功能开放丨开发加油站

荣耀开发者服务平台

下载 荣耀开发者服务平台 应用市场 荣耀HONOR 荣耀应用市场

观测云接收 OpenTelemetry Collector 数据最佳实践

观测云

OpenTelemetry

深度学习在计算机视觉领域的现状与未来

qife122

深度学习 CVPR

基于某中心Bedrock的提示工程在合规检测中的应用

qife122

生成式AI 提示工程

运维提效技巧:用标签给资源 “归类”,关联告警模版省心又省力

华为云开发者联盟

北京卫视《为你喝彩》今晚 21:04:“铁头乔”的创业修行

Apache IoTDB

VectorDB+FastGPT一站式构建:智能知识库与企业级对话系统实战

科技热闻

邀请函|2025 Altair 教育赋能:诚邀各大高校共建产品创新设计核心课程《面向3D打印的结构优化与创新设计》

Altair RapidMiner

机器学习 AI 仿真 建模 CAE

Apache DolphinScheduler 7 月社区月报 | 关键修复与性能优化全面推进

白鲸开源

Java 大数据 开源 大数据任务调度 Apache DolphinScheduler

穿越回1995?利用Microsoft 365直送功能发起钓鱼攻击的技术分析

qife122

网络安全 Microsoft 365

基于RankSVM改进相似案例检索排序性能

qife122

机器学习 法律AI

技术文档 | Pulsar 中的消息保留、过期及积压机制解析(上)

AscentStream

消息队列 pulsar

2025年2月安全更新深度解析:微软与Adobe关键漏洞修复指南

qife122

安全更新 微软补丁

具身智能竞速时刻,百度百舸提供全栈加速方案

科技热闻

巅峰对决!PAC 2025全国总决赛终极之战—— 谁将问鼎冠军宝座?

科技热闻

Text2SQL准确率暴涨22.6%!3大维度全拆

京东零售技术

YashanDB WM_CONCAT函数

YashanDB

数据库

YashanDB ALTER DATABASE LINK语句

YashanDB

数据库

Dify入门篇(3)| 配置你的第一个LLM:OpenAI/Claude/Ollama

测吧(北京)科技有限公司

人工智能 自动化测试 测试开发 dify

微软正开发类似Rust的全新安全编程语言_编程语言_Liam Tung_InfoQ精选文章