\

看新闻很累?看技术新闻更累?试试下载InfoQ手机客户端,每天上下班路上听新闻,有趣还有料!

\

\\

北京时间1月22日,“穿云箭”组合漏洞媒体沟通会于360大厦召开。上周,谷歌官方发文致谢360 Alpha团队,并向360 Alpha团队负责人龚广颁发了总额为112500美金的安卓漏洞奖励计划(ASR)史上最高金额的奖金。360 Alpha团队在2017年8月向谷歌提交了关于攻破Pixel手机的“穿云箭”组合漏洞报告。

\\

谷歌砸重金求安全公司挑错

\\

Android Security Rewards(ASR)项目是Google于2015年启动,主要对那些向公司提交Android安全漏洞的安全专家提供奖励。该项目要求专家在运行最新Android版的Pixel手机和平板上进行测试,然后根据漏洞的危险程度来提供不同的奖金。

\\

该项目于2017年6月的到了安全专家和白帽子们的大力支持,但是Google表示:“每个Android版本包含更多的安全保护,但是已经有两年没有专家获得漏洞链这个顶级大奖了。”不过在上周五,公司终于宣布来自奇虎360技术公司的Guang Gong赢得了这个大奖,奖金共计达到11.25万美元(约合72万人民币)。

\\

\\

图:谷歌团队发文致谢360团队

\\

据360安全团队介绍,这次发现的两个漏洞分别是基于Chrome浏览器的V8引擎漏洞CVE-2017-5116,以及Android系统漏洞CVE-2017-14904,是ASR首个可以远程有效利用的系列漏洞。其中,Chrome浏览器漏洞CVE-2017-5116可被用于在Chrome浏览器沙盒内远程执行代码。

\\

“穿云箭”组合漏洞可以彻底远程攻破谷歌Pixel手机,对用户的隐私及财产安全造成极大的威胁。为了保护用户的手机安全,360 Alpha团队在17年8月将该组合漏洞报告给谷歌,已成功帮助其修复Android 系统和Chrome浏览器。

\\

\\

图:360助理总裁兼首席安全工程师郑文彬现场演讲

\\

之所以此次Google会颁发如此高的奖金,一方面是由于“穿云箭”组合漏洞的影响面广,未修复前大部分安卓手机都可能会被黑客利用这个组合漏洞攻破。另一方面该漏洞是基于底层系统存在的,能影响手机设备上所有应用,甚至包括电话短信等基础应用,造成的危害最大。不法分子可利用该漏洞获取用户短信验证码、支付应用权限等,对用户的个人隐私和财产都造成极大威胁。

\\

Pixel远程利用链的技术细节

\\

根据谷歌发布的在线安全文档,我们找到了有关这两个漏洞的技术细节。

\\

漏洞链包括两个漏洞,CVE-2017-5116和CVE-2017-14904。CVE-2017-5116是一个V8引擎错误,用于在沙盒渲染过程中获得远程代码执行。CVE-2017-14904是Android的libgralloc模块中的一个漏洞,用于从Chrome的沙箱中转移。通过访问Chrome中的恶意URL,这个利用链可以用来将任意代码注入到system_server中。

\\

RCE错误(CVE-2017-5116)

\\

V8 6.0引入了对SharedArrayBuffer的支持,SharedArrayBuffer是一种在JavaScript工作人员之间共享内存的低级别机制,并在工作人员之间同步控制流。

\\

SharedArrayBuffers给JavaScript访问共享内存,原子和futexes。WebAssembly是一种可以在现代Web浏览器中运行的新类型的代码,它是一种低级汇编式语言,具有紧凑的二进制格式,可以接近本机的性能运行,并提供汇编语言(如C / C ++)目标,使他们可以在网上运行。通过在Chrome中结合使用SharedArrayBuffer WebAssembly和web worker这三个功能,可以通过竞争条件触发OOB访问。简而言之,WebAssembly代码可以放入SharedArrayBuffer中,然后传递给Web Worker。当主线程解析WebAssembly代码时,工作线程可以同时修改代码,这会导致OOB访问。

\\

多功能代码位于函数GetFirstArgumentAsBytes中其中参数args可能是一个ArrayBuffer或TypedArray对象。将SharedArrayBuffer导入到JavaScript后,TypedArray可能由SharedArraybuffer支持,因此TypedArray的内容可能随时由其他工作线程修改。

\\

\i::wasm::ModuleWireBytes GetFirstArgumentAsBytes(\ const v8::FunctionCallbackInfo\u0026lt;v8::Value\u0026gt;\u0026amp; args, ErrorThrower* thrower) {\ ......\ } else if (source-\u0026gt;IsTypedArray()) { //---\u0026gt;source should be checked if it's backed by a SharedArrayBuffer\ // A TypedArray was passed.\ Local\u0026lt;TypedArray\u0026gt; array = Local\u0026lt;TypedArray\u0026gt;::Cast(source);\ Local\u0026lt;ArrayBuffer\u0026gt; buffer = array-\u0026gt;Buffer();\ ArrayBuffer::Contents contents = buffer-\u0026gt;GetContents();\ start =\ reinterpret_cast\u0026lt;const byte*\u0026gt;(contents.Data()) + array-\u0026gt;ByteOffset();\ length = array-\u0026gt;ByteLength();\ }\ ......\ return i::wasm::ModuleWireBytes(start, start + length);\}

\\

EoP错误(CVE-2017-14904)

\\

沙盒转义错误是由map和unmap不匹配造成的,这会导致Use-After-Unmap问题。

\\

\static int gralloc_map(gralloc_module_t const* module,\ buffer_handle_t handle)\{ ……\ private_handle_t* hnd = (private_handle_t*)handle;\ ……\ if (!(hnd-\u0026gt;flags \u0026amp; private_handle_t::PRIV_FLAGS_FRAMEBUFFER) \u0026amp;\u0026amp;\ !(hnd-\u0026gt;flags \u0026amp; private_handle_t::PRIV_FLAGS_SECURE_BUFFER)) {\ size = hnd-\u0026gt;size;\ err = memalloc-\u0026gt;map_buffer(\u0026amp;mappedAddress, size,\ hnd-\u0026gt;offset, hnd-\u0026gt;fd); //---\u0026gt; mapped an ashmem and get the mapped address. the ashmem fd and offset can be controlled by Chrome render process.\ if(err || mappedAddress == MAP_FAILED) {\ ALOGE(\"Could not mmap handle %p, fd=%d (%s)\

谷歌砸重金求挑错,360发现安卓重大安全漏洞相关推荐

  1. google android win10 ios,谷歌自研 Fuchsia OS 将兼容安卓,欲和 iOS、Win10 一较高下?...

    早前,有消息称谷歌准备自研一套连 Linux 内核都不需要的新 OS,其或被命名为 Fuchsia.据 XDA 报道,开发者在 AOPS 的开源库中发现了 Fuchsia OS 现身,不过,仅仅是在 ...

  2. 谷歌为什登不上去github_安卓开源是假的,谷歌随时禁用,华为手机在海外市场已经快跌没了...

    安卓系统是开源的,为什么谷歌可以禁用安卓?首先,虽然安卓开源,但安卓不算是全球程序员共同劳动的成果,安卓应该算是谷歌的亲儿子,这个和Linux这种开源不一样,说白了只是安卓免费给智能手机制造商使用而已 ...

  3. 统计APP下载量--发现安卓下载大文件使用多线程下载方式

    问题产生 在项目开发过程中,会有各种各样的需求. 而在需求开发过程中,我们常常会遇到从没有见过的问题,这就需要我们一步一步排查. 在一次版本需求中,需要统计不同渠道APP的下载量. 理想很丰满,现实很 ...

  4. hangye5:2345网址导航百万重金求顶尖人才 意在扩展高端用户人群

    hangye5:2345网址导航百万重金求顶尖人才 意在扩展高端用户人群 近日,目前中国网址导航流量排名第二的2345网址导航高调宣布了为期1年的50人才计划.计划在1年的时间内,招聘50位业内顶尖人 ...

  5. android6.0最新补丁,谷歌发布安卓补丁修复漏洞 支持6.0之后所有版本

    原标题:谷歌发布安卓补丁修复漏洞 支持6.0之后所有版本 [PConline资讯]7月9日消息,上周在谷歌7月份安全公告中显示,7月发布的安卓补丁对系统44个漏洞进行了修复,其中有11个漏洞被评为严重 ...

  6. 华为不升级11系统用不了鸿蒙,谷歌又立下新规矩,安卓11系统不给华为手机使用,鸿蒙OS基本稳了...

    原标题:谷歌又立下新规矩,安卓11系统不给华为手机使用,鸿蒙OS基本稳了 华为手机现在依旧不能使用谷歌GMS,根据余承东给出的消息,明年发布的P40系列也不能使用GMS,使用的是HMS移动服务.目前G ...

  7. 影响数千万APP的安卓APP“寄生兽”漏洞技术分析

    360安全卫士 · 2015/07/01 14:11 0x00 前言 360手机安全研究团队vulpecker近日发现了一种新型的安卓app安全漏洞,市面上数以千万的app都受该漏洞影响.该漏洞一旦被 ...

  8. 60%的安卓APP存在漏洞,平均每个有39个漏洞

    开发者在应用代码中留下一个错误,就会有一个安全漏洞,攻击者就可能利用该安全漏洞.根据Atlas VPN的最新数据,63%的安卓APP在2021年第1季度包含已知的安全漏洞,每个APP平均包含39个安全 ...

  9. 安卓系统曝漏洞!有人可能正在用你的手机秘密拍照

    近日,谷歌.三星等制造商生产的安卓手机,被曝出系统存在严重安全漏洞.黑客能够在未经手机机主许可的情况下,操控安卓手机秘密拍摄照片.录制音视频并上传. 利用漏洞 "恶意应用程序"拍照 ...

最新文章

  1. 获取windows所有端口
  2. PHP正则表达式实例汇总
  3. 绝对位置,但相对于父位置
  4. JAVA转smali软件_Java2Smali(Java代码转Smali工具)
  5. [转] 如何快速掌握一门新技术/语言/框架
  6. wordpress各种获取url函数总结
  7. 深度学习之Bottleneck Layer or Bottleneck Features
  8. [Math] 常见的几种最优化方法
  9. JUCE-VST-001 JUCE的下载与安装
  10. IE报证书错误提示页面,如何屏蔽?
  11. 加拿大计算机竞赛答案,加拿大数学和计算机竞赛.doc
  12. Linux C语言 pthread_cond_wait()、pthread_cond_timedwait()函数(不允许cond被唤醒时产生竞争,所以需要和互斥锁搭配)
  13. 百度广告屏蔽及游戏推广屏蔽
  14. ios王者荣耀服务器维护31号,王者荣耀iOS还在维护怎么回事 3月31日王者荣耀IOS什么时候能上...
  15. 感人小说 - 再见了,可鲁
  16. ​大厂晋升指南:材料准备,PPT 写作和现场答辩​
  17. Nexus 7 跳过网络验证
  18. java毕业设计——基于Java+Bootstrap+Mysql的电影评论网站设计与实现(毕业论文+程序源码)——电影评论网站
  19. 自适应方案:在vue项目中使用postcss-px2rem
  20. winxp计算机无法访问,分享WinXP工作组计算机无法访问的解决方法

热门文章

  1. 互联网上的古玩交易:你敢买吗
  2. AOP学习之一 -- CGLIB使用介绍
  3. 爬取糗事百科,我是专业的!
  4. Python爬虫练习:爬取糗事百科
  5. VBS与CSBS的区别(备份服务) CSDR与CSHA与VHA的区别(容灾服务)
  6. 关于破解电脑开机密码
  7. [附源码]计算机毕业设计JAVA医学季节性疾病筛查系统
  8. Outline agreements 框架协议
  9. 我们的福报和命运中隐藏的秘密
  10. oaf中的poplist和lov