“SandJacking”攻击:在未越狱的 iOS 设备上安装恶意应用

在HITB 2016 会议中,Mi3 Security公司的安全研究员Chilik Tamir发表了一个关于“SandJacking”攻击的演讲,利用一个未打补丁的iOS漏洞在未越狱的iOS设备上使用恶意版本替换合法的应用程序,获取设备的敏感信息。

开发一个以Apple iOS系统为目标的恶意软件并不简单,首先,iOS中的应用程序都运行在沙箱中以防止其他进程访问。沙箱中包含文档、数据库、cookies……其中的任何一项都会导致严重的信息泄露,因此保护沙箱十分重要。

苹果也尝试要求所有通过官网应用商店发布的应用程序使用证书签名,而该证书则需要根据严格的识别程序获取。另外,苹果公司会对应用程序进行严格的审查,其安装过程也会经过全面的验证。

尽管如此,还是有一些攻击者可以利用设计缺陷和漏洞使用恶意软件感染设备。例如WireLurker,YiSpecter,XCodeGhost,ZergHelper,AceDeceiver。

滥用苹果证书安装恶意软件

Chilik Tamir在会上演示了攻击者如何利用苹果最新推出的开发功能安装恶意软件。

在Xcode 7的介绍中,独立开发者只需要提供Apple ID就可以获取证书,创建iOS应用程序。众所周知,创建Apple ID十分容易,创建者只需要提供一个用户名和一个电子邮箱——当然,这些都无法证实是否真实。

但是应用程序的开发者并不想将这些类型的证书上传到应用商店,这就意味着,他们可以不受苹果的审查。当然,相比那些通过正规程序获取证书的应用,这些应用的功能显然是受限的。准确的说是,这些应用程序不允许访问苹果支付,应用程序域,游戏中心,iCloud,内购功能,存折/钱包,并且它们不能使用推送通知。

然而,这些使用“匿名”证书创建的应用仍然可以用于恶意软件,利用获取GPS数据,访问受害者的地址簿和日历,泄露exif数据,使用HealthKit框架(用于健康和健身应用)。

Su-A-Cyder工具

Tamir发布了一个名为Su-A-Cyder的POC工具,可以创建恶意的版本快速替换iOS设备中的合法应用。该工具创建的程序与合法的应用发挥同样的功能,但是其中包含恶意的功能,使攻击者可以该应用的完全控制和访问权限。

由于Su-A-Cyder设计成在目标设备连接计算机时,使用恶意应用替换合法应用,因此该工具及其威胁向量更适用于具有高度针对性的攻击,例如攻击者可以接触目标设备并已知密码。

然而,Tamir指出,Su-A-Cyder攻击还有一些可利用场景。例如,想要监视其配偶和子女的人,拥有多个设备访问权的手机维修店员,企业员工将设备交给IT技术人员等。

在iOS 8.3版本发布之前,攻击者可以很容易地通过为恶意软件分配一个类似的标识符(绑定ID)并在设备上安装(覆盖原有版本)来替换合法的应用。iOS 8.3版本之后,苹果禁止与存在ID相似的Apple ID安装应用。

SandJacking攻击

Tamir发现了一种新的方法,并将其命名为SandJacking,攻击者可利用该方法在最新版本的iOS设备中使用Su-A-Cyder技术。

尽管苹果在应用安装过程中会打补丁,但是它忽略了恢复过程。这就使得拥有访问权限的攻击者可以创建备份,删除合法应用,安装恶意版本,然后从备份中恢复设备,该恢复不会删除恶意应用,攻击者可以访问该应用相关的所有数据。

值得注意的是,该恶意应用只能为攻击者提供应用沙箱的访问权限。这意味着攻击者需要为每个目标应用程序创建恶意版本。但是Tamir认为如果考虑自动化的话这将不会成为阻碍攻击者的难题。

在会议上,Tamir以Skype为例演示了SandJacking攻击。他在一次采访中说,SandJacking攻击已经在多个流行应用中成功测试。

恶意应用安装后,用户很难发现它与原程序的区别——用户需要查看应用的证书和设备配置,验证该应用是否来自合法的开发者。

该SandJacking漏洞在2015年12月被研究人员发现,并在1月报告给苹果,苹果已经确认了该漏洞,但是还没有发布补丁。该漏洞修复后,Tamir会发布利用该漏洞利用工具。
本文转自d1net(转载)

时间: 2024-12-30 11:25:21

“SandJacking”攻击:在未越狱的 iOS 设备上安装恶意应用的相关文章

如何在 iOS 设备上呈现原型

  网络上有很多iOS组件库,很方便实现控件,所以绿茶小编提醒,此篇文章只是讲诉下,要如何在 iOS 设备上呈现原型? 很多 UX 和 PM 同学还是习惯使用传统的 Axure RP 制作产品原型,作者觉得 Axure RP 在 iOS 原型阶段还是有优势的,比如可以很方便交互模式的创新和细节,不拘泥原生控件. 首先大致在iOS中原型呈现有这个几个需求: 必须全屏 依照场景在线或者离线操作原型 如果导入到 App 内, 使用 iTunes 原生的方式 无需越狱 1. 先前准备工作 1)在原型设置

ios-如何解决IOS设备上按钮不不触发的问题???

问题描述 如何解决IOS设备上按钮不不触发的问题??? 不管是 click() 还是 on(click,fuction(){ }) 还是 $(document).on(click,buton,fuction(){ }) 还是加上一个判定 touchend ,IOS设备都不出发按键效果, 除了在HTML中 使用 onclick="方法" 才能触发,请问是为什么,该如何解决?? 使用JS代码,或者用其他插件?? 解决方案 webview有是否允许弹出的,你确定允许弹出?

SSDB在 iOS 设备上使用的办法

我很高兴地告诉大家, SSDB 支持在 iOS 设备上使用了! 当然, 这不是要在 iOS 设备上运行一个 ssdb server, 而是将 SSDB 库嵌入到你的 App 里. 例如, 你在开发一个 iOS 邮件客户端, 你可以使用 SSDB 来存储邮件列表, 利用 SSDB 支持亿级别数据列表的功能特性, 轻松管理大量邮件. 例如, 你在开发一个阅读器, 你可以把成千上万的文章存储到 SSDB 中. 例如, 你在开发一个 iOS IM 应用, 你可以把消息历史用 SSDB 来存储管理. 使用

微信-在ios设备上,h5点击空白处text失去焦点然后不能输入

问题描述 在ios设备上,h5点击空白处text失去焦点然后不能输入 我在手机微信上打开h5页面,在输入框内输入信息,然后点击到空白处,继续输入信息的时候不能输入. 我怀疑是因为焦点丢失造成的(本人使用的是zepto的tap事件) 解决方案 点空白处的时候强制给text设置下焦点看看

如何在iphon IOS设备上使用二维码_IOS

下面给大家介绍下二维码简介 二维码 (2-dimensional bar code) 是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的:在代码编制上巧妙地利用构成计算机内部逻辑基础的"0"."1"比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理: 二维条码/二维码能够在横向和纵向两个方位同时表达信息,因此能在很小的面积内表达大量的信息. 下面介绍下如

《CCNA安全640-554认证考试指南》——第6章在Cisco IOS设备上保护管理层

第6章 在Cisco IOS设备上保护管理层CCNA安全640-554认证考试指南对于管理员而言,访问和管理Cisco设备是一项日常工作.而由未经授权的源地址发起的恶意路由器管理流量则有可能对网络构成威胁.比如,攻击者可以通过拦截登录信息(比如用户名和密码)来破坏路由器的安全措施.本章会对管理层(也就是人们用来配置.管理和维护一台设备所使用的各类协议和访问方式)的概念进行介绍,并研究如何对其进行保护.

如何在Mac上用AirDrop共享文件和发送文件到IOS设备上

  在Mac中AirDrop功能便于您以无线方式将Mac 中的文件发送到周边使用IOS设备的人共享照片.视频.位置等信息 .那么苹果设备之间如何通过AirDrop共享文件和发送文件呢? 而且你无需为了传输文件而连接到同一网络,您的设备会针对 AirDrop 自动设置直接的无线连接 .AirDrop 可从 Finder."共享"菜单找到,也可在"打开"和"存储"窗口中找到.当您在 Yosemite 中选取 AirDrop 时,您的 Mac 会寻找附

苹果推出Apple Care企业版,为iOS设备上的企业级服

摘要: 在今年早些时候, 36氪 曾报道过苹果与IBM达成排他性合作协议,优势互补,包括Apple针对企业各类需求打造全新的AppleCare支持服务,IBM针对特定行业需求与 iPhone.iPad 平台,定制新型企 在今年早些时候,36氪曾报道过苹果与IBM达成排他性合作协议,优势互补,包括Apple针对企业各类需求打造全新的AppleCare支持服务,IBM针对特定行业需求与 iPhone.iPad 平台,定制新型企业级解决方案等措施,共同推进企业级移动市场转型. 现在这项合作已经开始开花

Windows KB3119142补丁反复在用户设备上安装

最近不少用户反映,微软推出的Windows KB3119142补丁在用户设备上成功安装一次之后,居然反复在用户设备上继续安装,受此问题影响的都是Windows 10设备.微软社区论坛的帖子确认Windows KB3119142补丁会反复安装在用户电脑上,每次都是成功安装.查看Windows日志也可以发现,同样的更新每周都要成功安装好几次. 有用户就表示:"我检查了更新日志,发现在过去5天当中,它一天要成功安装4-5次,如果它已经成功安装,为什么要反复继续安装呢?" 另外一些用户声称,在