Rust是一门系统编程语言 ,专注于安全 ,尤其是并发安全,支持函数式和命令式以及泛型等编程范式的多范式语言。Rust在语法上和C++类似 ,但是设计者想要在保证性能的同时提供更好的内存安全。 Rust最初是由Mozilla研究院的Graydon Hoare设计创造,然后在Dave Herman, Brendan Eich以及很多其他人的贡献下逐步完善的。 Rust的设计者们通过在研发Servo 站浏览器布局引擎过程中积累的经验优化了Rust语言和Rust编译器。
Rust编译器是在MIT License 和 Apache License 2.0双重协议声明下的免费开源软件。 Rust已经连续三年(2016,2017,2018)在Stack Overflow开发者调查的“最受喜爱编程语言”评选项目中折取桂冠。
设计特色
Rust致力于成为优雅解决高并发和高安全性系统问题的编程语言 ,适用于大型场景,即创造维护能够保持大型系统完整的边界。这就导致了它强调安全,内存布局控制和并发的特点。
微软正在探索使用 Rust 编程语言作为 C、C++ 和其他语言的替代方案,以此来改善应用程序的安全状况。自 2004 年以来,微软安全响应中心(MSRC)已对所有 告过的微软安全漏洞进行了分类。根据他们提供的数据,所有微软年度补丁中约有 70% 是针对内存安全漏洞的修复程序。
微软每年约有 70% 的漏洞仍然是内存安全问题
这样高的百分比是因为 Windows 和大多数其他微软产品主要使用 C 和 C++ 编写,这两种“内存不安全”(memory-unsafe)的编程语言允许开发人员对内存地址进行细粒度控制,并且可以执行代码。管理内存执行的开发人员代码中的一个漏洞可能导致一系列内存安全错误,攻击者可以利用这些错误带来危险和侵入性后果,例如远程代码执行或特权提升漏洞。
于是,探索使用诸如 Rust 之类的内存安全(memory-safe)语言被提上日程,这或将成为创建更安全的微软应用程序的替代方法。
Rust 最初是 Mozilla 的一个研究项目,用于更安全、更快速地重写 Firefox 浏览器。最近,Brave 浏览器还用 Rust 版本替换了原先用 C++ 编写的广告拦截组件。2019 年的 StackOverflow 开发者调查显示,Rust 已连续四年蝉联“最受开发者喜爱的编程语言”。开发人员喜欢它,因为它的语法更简单,并且使用 Rust 编写的应用程序 bug 更少,因此开发人员可以专注于扩展他们的应用程序,而不是进行持续的维护工作。
MSRC 首席安全工程经理 Gavin Thomas 建议第三方开发人员也应该研究内存安全语言,他列举了一些原因,例如开发人员花时间和精力学习如何调试 C++ 应用程序中出现的与内存相关的安全漏洞。但这显然是不合适的,“开发人员的核心工作不是担心安全性,而是要做功能开发”,Thomas 提出疑问,“为什么不在一开始就将内存安全问题引入开发语言呢?”
为此,他呼吁:“如果这个行业真正关心安全,应该专注于开发人员的工具,而不应当被所有安全设备和过时的方法弄傻眼。我们首先得努力防止开发人员陷入缺陷,而不是提供解决缺陷的指导和工具。”
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!