苹果iPhone或iPad用户在平常使用APP过程中,难免会碰到一些APP会请求打开定位权限,从而可以获取用户的当前位置用于分析处理,例如地图,外卖等生活类APP。
因此,当平常有良好的APP应用使用习惯的用户,便会对各类应用的权限进行设置,防止一些流氓应用获取了用户定位并进行恶意利用。
然而,威胁总是让人防不胜防,近日,国外安全研究人员提出了一种不需要获取定位权限,即可获取到用户的当前位置的方法。鉴于利用思路可能会被积极利用,基于其危害性,奇安信威胁情报中心将事件进行了整理,披露给读者,希望提高警惕谨慎安装来源不太可能的软件,也希望苹果公司能够及时做出调整。
由于iOS和iPadOS应用程序可以不受限制地访问系统内的通用剪贴板,就好比在微信上面复制淘宝口令,然后打开淘宝应用程序后,读取口令并直接打开指定商品一样。
因此用户只需将内置的“相机”应用拍摄的照片复制到普通剪贴板上,即可不经意间将其精确位置显示给应用。
而由于给相机赋予了位置权限的情况下,图像一般都会嵌入EXIF属性,其中包含GPS坐标,而用户在将此类照片复制到剪贴板上后,所使用的任何应用都可以读取存储在图像属性中的位置信息,并准确推断出用户的精确位置。
这里拿近日炸鸡翅拍的照片为例,器材信息、时间、地点都会通过EXIF信息曝光,并且需要注意的是,这张照片的地点标记了经纬度等信息。
开发人员可以使用Image I / O Framework APICGImageSourceCopyProperties读取这些图片中的EXIF属性。
重要的是,整个窃取信息全程用户没有丝毫感知,位置就这样在不经意间泄露了。
目前,所有运行最新版本的iOS和iPadOS(版本13.3)的Apple设备均受影响。
在iOS中,定位服务基于CoreLocation框架,定位时主要使用CLLocationManager、CLLocationManagerDelegate和CLLocation,其中CLLocationManager类是定位服务管理类,他能够使我们获得设备的位置、高度、速度、运行方向等信息,也可以监控设备进出某个区域。而CLLocationManagerDelegate是CLLocationManager类的委托协议,CLLocation类封装了位置和高度信息。
因此,一些应用程序可以通过分析用户IP地址的地理位置来推断用户的位置而无需用户的请求,但是这种方式并不能精确到用户今天是去上班还是去超市的程度。
总结来说,要达成攻击,必须完成以下三个步骤:
1、用户授予“相机”应用访问位置服务的权限
2、用户使用“相机”应用拍摄照片
3、用户将照片复制到剪贴板
步骤1几乎是大多数手机的默认配置,步骤2和3也是高频操作,所以攻击所需要的条件经常性地处理达成状态。
iOS和iPadOS设计为仅当应用程序在前台处于活动状态时才允许应用程序读取剪贴板。但是,恶意应用程序可以采用其他技术来提高应用程序读取剪贴板的可能性。
比如,只要在“今日视图”中可见,小部件扩展就可以读取剪贴板。因此,每次用户滑动到“今日视图”时,位于“今日视图”顶部的小部件都可以读取剪贴板。在iPadOS上,用户可以将“今日视图”配置为在主屏幕上始终可见,从而允许恶意应用程序小部件有更多的时间和频率来访问剪贴板。
为了说明该剪贴板漏洞,安全研究员开发了一个应用程序KlipboardSpy,该应用程序在每次剪贴板进入前台时都会读取剪贴板。如果在剪贴板上检测到带有GPS信息的照片,则该应用程序将存储照片属性。
紧接着,APP会在表格视图中列出所有保存的照片属性。如下图所示:
KlipboardSpy的原理如下:KlipboardSpy.swift文件主要用于读取和存储照片属性,每次应用程序激活时都会调用readClipboard()方法,读取剪贴板的内容,如果其中包含照片,则该方法解析其属性并查找GPS位置信息。如果找到,则将存储在数据库中。
为了最大程度地访问剪贴板,安全研究人员向应用程序添加了iOS widget小部件扩展(会显示在今日试图中)。窗口小部件扩展大大增加了应用程序可以访问剪贴板的概率。
只要每次在今日视图中显示窗口小部件时,应用程序都会调用viewDidAppear(_:)方法,紧接着即可调用readClipboard()方法。此外,安全研究员还添加了一个应用程序组,以便小部件可以与他们的应用程序共享捕获的剪贴板内容。
iOS系统的今日视图,可以看到该应用在后台运行,并显示一行字。
不同于iPhone的今日试图,iPadOS可以时刻显示在前端,做到时刻读取剪贴板内容。
演示视频如下:
安全研究员称,其于2020年1月2日向Apple提交相关源代码,但是Apple通知他们没有发现此”漏洞”存在任何问题,按理说,Apple应该出一个剪贴板的访问权限控制功能。
鉴于此,该“漏洞“可能会长期存在于iOS和iPadOS系统中。
要知道,这个功能完全是可以合法存在于任何APP应用中,无论是制造APP的厂商意图隐蔽的分析用户的活动位置得出其消费习惯,或是攻击者试图通过用户的活动曲线得到用户每天的出行场所,甚至更进一步的,如同此前纽约·时报曝光的美国大数据公司利用用户的位置信息一样,通过绘制活动图谱来跟踪特朗普的日常行程等。
以此发现可以很容易得知,恶意应用程序完全可以主动监视剪贴板,并获取一切能在剪贴板找到的任何内容,包括联系人、照片、电话号码、电子邮件、网上银行信息、URL、官方文档PDF、音频文件、Word文档、电子表格以及密码,只要是可以通过关键字识别即可被筛选上传。
而用户始终会忘记他们可能留在剪贴板上的内容,此外应用程序还可能恶意更改剪切板的内容,例如更改银·行卡号,甚至是比特币钱包地址,前提是不会被发现从而被苹果从商店剔除。
当然,为了隐蔽性,对于那些通过关键字监控剪贴板的词汇,从而偷偷进行上传的流氓APP,可以在复制文本或照片,粘贴到其他应用后,及时复制一个无意义的字符串,从而防止在打开其他APP的时候被窃取信息。用户还是应该尽可能只安装大厂的APP,而且从正规的应用市场下载,定期清理手机上的应用,删除手机上不必要不常用的APP,减少隐私信息和敏感数据被秘密获取的机会。
*本文作者:奇安信威胁情报中心,转载请注明来自FreeBuf.COM