写点什么

微软正开发类似 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:598314

评论 4 条评论

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

《算法导论(第4版)》阅读笔记:p134-p155

codists

算法

系统人看过来!六大要点助你搞懂进销存系统!

积木链小链

数字化 智能制造 进销存系统

区块链ETF软件系统的核心功能

北京木奇移动技术有限公司

区块链技术 软件外包公司 区块链ETF

尾款拿不到,真正的问题不是留不留后门!

程序员郭顺发

在零售技术做AI的95后:我们这样搞定技术难题

京东科技开发者

(在线编辑DWG)Web Cad 二开实现粗糙度标注的方法

WEB CAD SDK

在线办公 在线设计 cad WEB CAD

备份历史可查 + 元数据留存,助力制品版本追溯与合规审计

嘉为蓝鲸

DevOps 智能运维 制品库

大神4000字带你深入Activiti流程引擎,Github标星66.3K!

程序员高级码农

Java 程序员 计算机

客户案例| DataWorks x 婚礼纪:智能一站式数据开发治理平台让千万新人的幸福时刻“数智化”

阿里云大数据AI技术

人工智能 云计算 数据分析 #大数据 Dataworks

Java的SPI机制详解

京东科技开发者

【融麟科技】WeOps赋能CMDB与自动化管控驱动企业IT资源高效管理!

嘉为蓝鲸

CMDB 智能运维 #WeOps

智能运维平台 OpsPilot:Jenkins 流水线全链路优化实践

嘉为蓝鲸

智能运维 #WeOps OpsPilot

宫格导航--纯血鸿蒙组件库AUI

华哥的全栈次元舱

AIGC低代码平台 纯血鸿蒙组件库 宫格导航 AI 极客 免费体验

你们的高防IP为啥这么贵?

网络安全服务

CDN 服务器 带宽 高防IP DDoS 攻击

HarmonyOS运动开发:如何绘制运动速度轨迹

王二蛋和他的张大花

鸿蒙

SpringBoot性能优化的12个小技巧

电子尖叫食人鱼

spring

淘宝天猫店铺商品API接口全方位接入指南

tbapi

淘宝API 天猫API 天猫店铺所有商品接口 淘宝店铺所有商品接口

区块链ETF软件系统的维护

北京木奇移动技术有限公司

区块链技术 软件外包公司 区块链ETF

小程序容器技术驱动SuperApp生态重构:前端框架新范式

xuyinyin

“深时数字地球”国际大科学计划系列工作坊持续开放!专业友好可复现,赋能科学智能生态合作(3)

ModelWhale

科学智能 DDE 深时数字地球 AI4S

区块链ETF软件系统的开发

北京木奇移动技术有限公司

区块链技术 软件外包公司 区块链ETF

AI技术在英语口语学习中的应用

北京木奇移动技术有限公司

软件外包公司 AI英语学习 AI技术应用

深入解析:AI 智能体的八个关键概念

测试人

人工智能

“深时数字地球”国际大科学计划系列工作坊持续开放!专业友好可复现,赋能科学智能生态合作(2)

ModelWhale

科学智能 DDE 深时数字地球 AI4S

鸿蒙 Ads Kit(广告服务)开发指南:流量变现与广告接入实践

哭着来笑着走天涯

鸿蒙 HarmonyOS 广告sdk HarmonyOS NEXT

Disruptor—并发编程相关简介

不在线第一只蜗牛

Java

可视化开发引擎 iVX:重构数字化转型的新范式

代码制造者

嘉为蓝鲸 WeOpsV5.22&V4.22 接入大模型:打造 AI 创新运维场景

嘉为蓝鲸

智能运维 #WeOps

提供真实场景需求,全球DePIN项目总链上市值已达71亿美元

PowerVerse

SpringBoot性能优化的12个小技巧

秃头小帅oi

简述大前端技术栈的网络原理

京东科技开发者

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