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


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

查看所有标签

猜你喜欢:

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

让云落地

让云落地

【美】Michael J. Kavis(迈克尔 J.凯维斯) 著 / 陈志伟、辛敏 / 电子工业出版社 / 2016-3 / 65.00元

云计算落地已成事实。从前几年的概念普及,到如今越来越多的企业将业务迁移至云上,云计算正在改变整个社会的信息资源使用观念和方式。云计算还在不断成长,技术细节也在不断变化之中。对于使用者而言,能够基于自身的业务、技术和组织需求等各方面情况,选择正确的云服务模式,是成功使用云计算最关键的技术决策之一。 《让云落地:云计算服务模式(SaaS、PaaS和IaaS)设计决策》共有 16 章,作者有意避开......一起来看看 《让云落地》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具