Android P将使用更多基于编译器的安全缓解措施

栏目: 服务器 · 编程工具 · 发布时间: 7年前

谷歌工程师Ivan Lozano写道,即将推出的Android P(最近发布了beta版)将使用更多基于编译器的安全缓解措施,包括控制流完整性和整数溢出检查。

基于编译器的缓解(LLVM/Clang编译器提供的一组功能)背后的基本思想是在编译时对操作进行增强,以便在运行时捕获会触发未定义行为的操作,并让这些操作失效。LLVM/Clang支持多种 检查器 ,包括除数为零、违反空值、负数组边界和 控制流完整性

谷歌开始在Android Nougat(后来作为Android 7发布)中开始使用LLVM/Clang检查器,后来在Android O(Oreo,Android 8.0)中添加了控制流完整性检查。通过Android P,Lozano写道,谷歌已经大大扩展了对操作系统很多组件的检查和控制流完整性的支持,包括媒体框架和其他安全关键的组件,如蓝牙、NFC和内核。

控制流完整性解决了代码重用(code-reuse)攻击问题,攻击者利用现有代码,例如通过查找以ret指令结尾的短代码序列并以任意顺序执行它们。攻击者因此可以控制栈而无需注入任何代码,极大地增加了检测此类攻击的复杂性。为了对抗这种类型的攻击,控制流完整性旨在将程序的控制流限制在编译时确定的调用图。如果程序尝试分支到意外的调用目标,则会被安全终止。Lozano表示,控制流完整性在编译和运行时都会带来一定的开销,但谷歌在Android上的测试显示,它们几乎可以忽略不计。

至于检查器,谷歌已将整数溢出检查器的使用范围扩展到其他库,包括libui、libnl等。整数溢出是攻击者控制程序的常用手段,也是影响以前版本Android的Stagefright漏洞的核心。谷歌在这方面的贡献是改进LLVM整数溢出检查器,在大部分情况下将其开销减少75%以上。

如果你拥有Pixel手机或其他 受支持的设备 ,可以通过 注册 Android P beta计划 访问Android P beta。

查看英文原文: Android P Will Expand its Use of Compiler-based Security Mitigations


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数据结构与算法分析

数据结构与算法分析

维斯 / 冯舜玺 / 机械工业出版社 / 2004-1-1 / 35.00元

本书是《Data Structures and Algorithm Analysis in C》一书第2版的简体中译本。原书曾被评为20世纪顶尖的30部计算机著作之一,作者Mark Allen Weiss在数据结构和算法分析方面卓有建树,他的数据结构和算法分析的著作尤其畅销,并受到广泛好评.已被世界500余所大学用作教材。 在本书中,作者更加精炼并强化了他对算法和数据结构方面创新的处理方法。......一起来看看 《数据结构与算法分析》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试