热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【技术分享】CVE20170780:拒绝服务漏洞可以导致Android信息应用崩溃

译者:Janus情报局投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿前言有时我们都会收到一些有趣的表情包GIF,但是,如果这个GIF会导致你的Android信息应用崩溃呢?近期,

http://p0.qhimg.com/t01b3455877393fd777.png

译者:Janus情报局

投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿


前言

有时我们都会收到一些有趣的表情包GIF,但是,如果这个GIF会导致你的Android信息应用崩溃呢?

近期,趋势科技向Google报告了一个拒绝服务漏洞,而这种漏洞正好可以做到这一点,甚至更多。这个漏洞目前已被CVE收录为CVE-2017-0780,我们通过测试,确定这个漏洞影响最新的NexusPixel设备。这个漏洞允许攻击者非法远程发送一个恶意构造的包含畸形数据的彩信,导致受害者Android信息应用崩溃。即使设备/系统在安全模式下重启或启动,应用程序也无法从崩溃中恢复。

影响

谷歌商店的Android信息应用安装量高达5000万。鉴于它也是许多Nexus和Pixel设备的默认信息应用程序(也就是说,它不能卸载),对使用它的终端用户和企业来说,其影响确实是显而易见的。

例如,企业可以利用Android信息应用与客户进行沟通。用户也可以创建更个性化的信息,与其他应用也不会发生混淆。鉴于这款应用是被定位为跨各种Android平台的无缝信息服务,假设该应用程序无法使用,可能会对Android用户的沟通产生很大的负面影响。
此外,该应用程序的无法访问可以作为潜在攻击的催化剂,设备所有者无法看到、删除或控制。例如,这些攻击可能需要接管设备的SMS/MMS功能,或者发送和接收已知使用某些移动威胁的含有恶意软件的短信。

术分析

该漏洞涉及许多未处理的Java级空指针异常(NPEs),我们在信息应用程序解析GIF文件的过程中发现了这些异常。攻击者只需要一个电话号码,就可以利用这个缺陷将恶意的GIF文件发送给潜在的受害者。

http://p6.qhimg.com/t01bd7f356dc95d3407.png

Android消息使用FrameSequenceDrawable来显示GIF文件。FrameSequence首先构建一个基于GIF文件的位图对象,然后组件使用这个位图来显示GIF。然而,我们看到,acquireAndValidateBitmap函数调用位图中的方法“acquireBitmap”(包含图像文件的像素数据),而不检查它是否有效。

http://p5.qhimg.com/t0156cfb644c1e64771.png

目前,涉及的相关应用程序,可通过Janus平台(htttp://appscan.io)进行查看,搜索相关字符串“FrameSequenceDrawable”可以查看相关应用程序。

当FrameSequence试图从一个畸形的GIF构建位图时,我们看到“acquireBitmap”函数会失败并返回一个空值。因此,如果另一个模块/组件或变量引用这个空对象,则将触发NPE。

忧伤的是,Android操作系统和Android信息应用程序都无法处理这个异常。这会导致信息应用在解析MMS中畸形GIF文件时发生崩溃。

http://p0.qhimg.com/t0102817b69548a7bae.png


缓解措施

用户可以选择刷机或将其恢复为出厂设置。这会删除恶意GIF文件以及存储在设备中的所有其他文件。用户需要衡量此操作的风险——或者先考虑备份文件——然后刷机或恢复出厂设置机。需要注意的是,卸载并重新安装应用程序无法解决崩溃。

减轻利用此漏洞的攻击的另一种方法是手动禁用Android信息的“自动下载彩信”功能。或者利用另一种方法,使用不受影响的信息应用程序手动删除恶意MMS文件。

http://p3.qhimg.com/t01302febcd56d4eab2.png

移动设备越来越普及,必须采用良好的安全习惯来缓解(如果不能防止)可能利用这种缺陷产生的威胁。在收到未经请求的、可疑的、未知的消息和链接时,要更加谨慎,并定期更新设备的操作系统及其应用程序。

幸运的是,最新版本的Nexus和Pixel设备都有更统一或一致的补丁。然而,其他Android设备的更新仍然是碎片化的,因此用户应该联系他们的设备制造商以获得更新。对于企业/组织来说,IT/系统管理员应该加强补丁管理策略,以帮助提高BYOD设备的安全性。

我们已经向谷歌披露了这一安全问题,他们在2017年9月1号发布的Android安全公告(https://source.android.com/security/bulletin/2017-09-01)中更新了一个补丁,并已经在谷歌商店部署。补丁会捕获未处理的java级异常。谷歌还增加了安全网络日志,以监视任何利用该漏洞的攻击。


推荐阅读
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • javascript  – 概述在Firefox上无法正常工作
    我试图提出一些自定义大纲,以达到一些Web可访问性建议.但我不能用Firefox制作.这就是它在Chrome上的外观:而那个图标实际上是一个锚点.在Firefox上,它只概述了整个 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 无损压缩算法专题——LZSS算法实现
    本文介绍了基于无损压缩算法专题的LZSS算法实现。通过Python和C两种语言的代码实现了对任意文件的压缩和解压功能。详细介绍了LZSS算法的原理和实现过程,以及代码中的注释。 ... [详细]
author-avatar
多米音乐_34363545
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有