Google:这是我们加强Android安全性的方式

Lasted 2021-02-02 10:49:49

谷歌已经解释了它如何努力改善Android安全性,以及它为应对常见威胁所采取的步骤。

它显示,影响其Android操作系统的严重和高度严重的安全漏洞中有59%是内存问题,例如内存损坏和溢出。

内存安全性问题迄今为止是安全性问题中最重要的类别,其次是权限绕过漏洞,占Google安全工程师在2019年修复的漏洞的21%。

内存问题通常是Java,Windows 10和Chrome等主要平台上安全漏洞的首要类别。谷歌工程师去年表示,Chrome安全漏洞中有70%是内存安全问题。在此之前,微软工程师说,其产品修复的所有错误中有70%是内存安全问题,或者是软件问题,这些问题允许访问的内存超出了操作系统分配的内存和地址。

谷歌今天表示,它鼓励开发人员转向使用内存安全的程序语言,例如Java,Kotlin和Rust,但同时也试图提高C和C ++的安全性。这些是其强化Android并保护OS免受恶意软件和漏洞利用的努力的一部分。

“ C和C ++不能像Java,Kotlin和Rust这样的语言提供内存安全。鉴于报告给Android的大多数安全漏洞都是内存安全问题,因此采用了两方面的方法:提高C/C ++的安全性,同时也鼓励使用内存安全语言。” Google在Android安全与隐私小组的博客中说。

出于相同的安全原因,Amazon Web Services(AWS)和Microsoft也在推动采用Rust。Mozilla创建了Rust以在其用于Firefox的Gecko引擎中处理与C ++内存相关的安全性问题。Rust的1.0版于2015年推出,但采用率仍然较低。 Microsoft希望将其用于系统编程而不是应用程序开发。 AWS使用Rust构建了基于Linux的容器操作系统Bottlerocket。

在Android方面,Google在过去一年中修复的绝大多数错误都发生在媒体,蓝牙和NFC组件中。媒体库是受Google在2015年披露的Android中严重且可远程利用的Stagefright错误影响的关键组件。

根据Google的说法,其为强化Android中的媒体服务器框架所做的努力意味着,到2020年,它没有收到有关Android媒体框架中可远程利用的关键漏洞的单个报告。

Google还详细考虑了工程师在考虑向Android添加哪些其他缓解措施时会权衡的一些安全性和性能损失。由于需要Android支持廉价的Android手机,这一决定变得很复杂。

除了内存安全语言之外,Android中的一些缓解措施还包括沙箱,地址空间布局随机化(ASLR),控制流完整性(CFI),Stack Canaries和内存标记。