4月6日,谷歌宣布安卓操作系统开源版本将支持Rust编程语言以预防内存安全相关的漏洞。内存安全漏洞是安卓系统稳定性问题的主要元凶,大约70%的安卓高危安全漏洞都与内存安全相关。而C和C++中的内存安全漏洞是最难解决的问题。Java 和Kotlin 语言是安卓应用开发最好的选择,这些语言容易使用、安全、轻便。Android Runtime (ART) 会以开发者的身份去管理内存。安卓操作系统广泛使用Java 来保护安卓平台免受内存漏洞的影响。但是,对于底层操作系统的开发,Java 和Kotlin 语言并不理想。
专注于为中小企业提供成都网站建设、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业饶河免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了近千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
操作系统底层需要像C、C++、Rust这样的编程语言,这些语言的控制性和预测性比较好,可以提供对底层系统资源和硬件的访问控制,而且在提供相同的可预测的性能特征的基础上需要的资源很少。
对C和C++,开发者要负责管理内存的全生命周期,因此很容易出现错误,尤其是在复杂和多线程的代码库中。Rust语言通过使用编译时检查和运行时检查来确保内存的安全。编译时检查来进行对象生命周期和所有权的检查,通过运行时检查来确保内存访问是有效的。而且性能不差于C和C++。
C和C++语言并不提供安全保证,需要进行隔离。所有的安卓进程都是沙箱的,并遵循Rule of 2规则,即给定3个选项,开发者智能从中选择2个。
对安卓来说,这意味着如果代码是用C或C++写的,在分析不可靠的输入时就会有非常严格的限制和没有特权的沙箱。由于遵循Rule of 2规则会带来很多的限制,因此会降低安全漏洞的严重性和危险性。但是沙箱并不是轻量级的,由于IPC和其他的内存使用带来额外的消耗和延迟。沙箱并不能完全消除代码中的漏洞,攻击者可以链接其他漏洞来发起攻击。
Rust这类内存安全的语言可以帮助解决这些问题:
Rust融合了许多其他语言的特征,可以改善代码的正确性:
本文翻译自:https://security.googleblog.com/2021/04/rust-in-android-platform.html如若转载,请注明原文地址。
网页题目:安卓系统支持rust语言,以预防内存安全漏洞
标题来源:http://www.36103.cn/qtweb/news40/35240.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联