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

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

谷歌工程师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


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

查看所有标签

猜你喜欢:

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

运营之光 2.0

运营之光 2.0

黄有璨 / 电子工业出版社 / 2017-4 / 99

在互联网行业内,“运营”这个职能发展到一定阶段后,往往更需要有成熟的知识体系和工作方法来给予行业从业者以指引。 《运营之光:我的互联网运营方法论与自白 2.0》尤其难得之处在于:它既对“什么是运营”这样的概念认知类问题进行了解读,又带有大量实际的工作技巧、工作思维和工作方法,还包含了很多对于运营的思考、宏观分析和建议,可谓内容完整而全面,同时书中加入了作者亲历的大量真实案例,让全书读起来深入......一起来看看 《运营之光 2.0》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具