分析Apple Pay交易的安全性

xiaohui 技术 2018年9月7日发布
Favorite收藏

导语:iOS中包含的大量信息都需要用到专业的技术才能获取,在像iOS这样复杂的系统中,只有不断努力,才能得到取证分析的一些必备技能。

在本文开始之前,我们有必要先了解一下Apple Pay的业务发展态势。

Apple Pay的介绍

Apple Pay,是苹果公司在2014苹果秋季新品发布会上发布的一种基于NFC的手机支付功能,于2014年10月20日在美国正式上线。

2016年2月18日, Apple Pay 业务在中国上线。

2017年6月6日,苹果iOS 11发布,Apple Pay支持好友转账。

2018年3月30日,苹果官方推送了iOS 11.3系统版本,支持在Apple Pay添加北京一卡通和上海交通卡。 

2018年5月,Apple Pay网页支付技术宣布正式进入中国。

截至目前,Apple Pay的用户数量已经到达1.27亿,是目前全球最受欢迎的非接触式支付系统之一。Apple Pay与某些竞争支付技术的不同之处在于,Apple Pay不仅紧密集成到苹果产品的各个生态系统中,而且是苹果系统独有的。

支持设备

iPhone系列:iPhone 6、iPhone6 Plus、iPhone 6s、iPhone 6s Plus、iPhone SE,iPhone7,iPhone7 Plus ,iPhone8,iPhone8 Plus,iPhoneX

iPad系列:iPad Air 2、iPad mini 3、iPad mini 4、iPad Pro

Apple Watch:全系列

注意:iPhone 5和iPhone 5s本身并不支持,而是连接到它们的Apple Watch可以用,因为5系列的手机不带NFC。

系统要求

iOS需升级到9.2及以上,Watch OS需要2.1或更高版本。

Apple Pay作为一种数字钱包,将用户的支付卡数字化,并在兼容终端上完全取代传统的刷卡签名支付模式(swipe-and-sign)以及芯片密码付款系统(chip-and-PIN)。但是,与传统钱包不同,Apple Pay还会保留有关用户在销售点交易的详细信息。由于交易系统处理的大量高度敏感信息,Apple Pay数据库是兼容设备中受保护最高的部分。在本文中,我将向你展示大量高度敏感信息在Apple Pay文件系统中的存储位置和方式,以及它们是如何从iPhone中被提取和被分析的。

Apple Pay在安全性方面的设计

现代支付系统和传统支付的最大区别是什么?我想除了快捷和便利之外,就是我们可以随时查看详细的交易记录,只要愿意,我们几乎可以访问有关购买的所有信息。 比如,PayPal保存了有关交易的日期和时间、金额、货币种类以及买卖双方的信息。但是,除此之外,PayPal还可以接收并存储整个交易的其他有关支付信息。

1.png

但Apple Pay使用了一种非常不同的模式,至少其高级副总裁Eddy Cue是这样表示的:

我们并不会收集你的数据,因此,当你使用完Apple Pay时,Apple并不知道你买了什么或者你付了多少钱。

不过,根据近两年互联网巨头的内幕消息被不断挖出,我认为Eddy Cue是在说谎,只要苹果愿意,搞定你的支付信息是分分钟的事情。

现在,先让我假设Apple Pay是不收集你数据的。这样,把Apple Pay作为支付手段的商家就不可能向其后台传送关于用户购买和支付的确切信息。这就造成了便利性的缺失,因为Apple Pay作为现代支付系统的,其主要的特征就是让用户及时掌握自己的交易痕迹,如果做不到这一点,那也就没有啥便利性可言。如今的用户期待的是不断变化的、个性化的购物体验,他们乐于分享个人信息,以促进与Netflix、Amazon等公司的合作体验。与此同时,零售商们也在不遗余力地挖掘消费者的一切信息,以便更深入了解他们。

不过好处是,Apple不会接收、处理或存储任何超出授权和交易认证之外的信息,该限制也成为了隐私保护倡导者所称赞的一个特征。

所以目前关于Apple Pay不采集交易数据,是好事还是坏事,还在争论中。不过,可以确定的是,这个特征决定了Apple收集或存储的信息并不比传统信用卡发行商多。只有了解了这一点,专家们就可以在对Apple Pay数据进行取证分析时,设定一个理想的预期效果。

Apple Pay数据包含什么内容

Apple Pay交易数据不会在不同设备之间同步,这意味着,它们存储在设备本身上。比如,你使用Apple Watch进行交易的数据不会出现在你的iPhone上,反之亦然。即使苹果自己保留了服务器上的交易,也无法让用户进入Apple Pay中下载并访问它们。

Apple将交易数据视为高度机密信息,所以这些信息不与iCloud不同步,并且不会保存在iCloud备份中,且这些数据也不是iTunes备份的一部分。换句话说,只有通过物理设备(iPhone、iPad或Apple Watch)才能提取Apple Pay交易信息。

如果你对Apple Pay安全性感兴趣,请查看以下文章:

Apple Pay: Can You Trust It? 

Apple Pay Do’s and Don’ts

如何提取Apple Pay信息

Apple Pay信息存储在以下文件夹中:

private/var/mobile/Library/Passes

而最为核心的,是以下两个文件:

· private/var/mobile/Library/Passes/<cardid>/pass.json(支付卡信息)

· private/var/mobile/Library/Passes/passes23.sqlite(交易信息)

第一个文件包含有关付款方式的信息(激活数据,支付卡的图片和卡号的最后4位数字)。

可以从支付卡信息提取的数据包括:

1.发卡机构(pass23.sqlite):银行或发卡机构名称;

2. 支付卡名称(pass.json);

3.卡号(passes23.sqlite):卡号的最后4位数;

4.设备帐号(passing23.sqlite:设备帐号的最后4或5位数,每张支付卡可能有几个不同的设备帐号;

5. 到期日(pass.json:支付卡的有效期;

6.修改日期(passes23.sqlite):上次修改卡的时间;

7.银行电话号码(pass.json):发行商的电话号码;

8.银行网站:发行商的网站;

9.付款方式(pass23.sqlite):支付卡类型;

10.是否支持非接触式支付(pass.json);

11. 激活信息(pass23.sqlite):支付卡是否主动链接到设备;

可以从SQLite数据库passes23.sqlite(交易信息)提取的信息包括:

1.日期:交易日期和时间;

2.卡号:支付卡号码的最后4位数;

3.商家:商家的名字;

4.购买类别:服务类型;

5.交易发生位置的地理数据,包括海拔信息;

6. 交易发生的地址,通常会定位到某个城市;

7.交易金额:支付数量和货币类型;

8. 交易状态:是成功了,失败了还是支付被拒绝了;

9.商家电话号码;

10.商家URL:对于在线支付来说,此字段包含WEB站点的地址;

11.商家位置:商家的地理位置数据

12. 商家邮政地址;

13.设备帐号:交易时所用设备帐号的最后4或5位数;

此外,pass23.sqlite还存储有其他信息,如登机牌、门票、预订、折扣和会员卡等信息。

从技术上讲,用户可以尝试在iPhone上查看Apple Pay的交易信息。有趣的是,iOS使用的是电子钱包应用程序在iPhone上显示Apple Pay交易。不过电子钱包还存储有其他数据,如登机牌、预订、会员卡等信息,不过这些数据可以与iCloud同步并保存在本地备份中,而Apple Pay交易信息却不行。

2.png

不但如此,Apple还仅限你仅查看最近的10笔交易。实际上,你的设备已经存储大量的交易信息,可是它们却无法通过iOS用户界面访问。

由于Apple Pay数据既不会保存到本地备份,也不会上传到iCloud。因此,它们无法通过逻辑采集或云提取获得,用户只有获取设备的文件系统映像后,才能访问Apple Pay数字钱包。

那使用Apple Watch进行Apple Pay交易的数据,也会像上面所述的一样吗?经过调查,这些交易数据仍然仅保存在Apple Watch上,它们不会转移到iPhone或iCloud或与它们同步。虽然你可以备份Apple Watch的数据信息,比如将它们变成iPhone里的数据,但Apple Pay交易信息却除外。所以,如上所述,从Apple Watch中提取交易信息的唯一办法就是尝试WatchOS越狱。

如何提取文件系统映像?

要注意的是,在安装越狱程序或映像设备时,不要删除密码,即使越狱程序开发人员指示你这样做,也不可以,因为删除密码后,系统会立即清除越狱设备上的Apple Pay数据。如果你删除密码会怎样?在这种情况下,所有支付卡都将取消链接,但将在文件系统中保留为非活动状态。此时,整个交易历史记录都将被删除。值得注意的是,如果设备退出iCloud,也会发生同样的事情。

还有一点就是,如果设备没有密码,则它就没有Apple Pay数据。此时你虽然仍然可以获得文件系统映像,但Apple Pay信息是不会存在其中的。

1.要得到iPhone的文件系统映像,你就需要超级用户权限。而且超级用户访问权限仅可通过权限提升漏洞获取,其中一些漏洞已被纳入公开可用的越狱中。在撰写本文时,从iOS 10到iOS11.3.1都提供了公共越狱服务。如果你知道密码,那么你可以尝试越狱该设备以执行物理采集。

2.使用iOS Forensic Toolkit或iTunes对iPhone进行本地备份,这样做是为了确保设置临时密码,这样你将能够使用Elcomsoft Phone Breaker来解密本地备份。然后在iPhone上获取并安装兼容的越狱。

3.禁用正在映像的iPhone上的Wi-Fi,不过你也可以将其切换到飞行模式。这样做的目的就是为了确保没有其他iOS设备连接到与你的计算机相同的网络。

4.启动iOS Forensic Toolkit。

3.png

5.从主菜单中选择“D”即禁用锁定,这样做是为了防止取证设备在超时后自动锁定屏幕,直到你重新启动iPhone。因此,禁用屏幕锁定对于访问和提取Apple Pay数据非常重要。

4.png

6.使用“F”命令提取文件系统映像,此时文件系统映像将作为TAR文件保存在你的计算机上。

7.提取可能需要一段时间(100 GB数据最多需要2小时)。

提取完成后,接下来就是继续分析TAR文件了。

分析Apple Pay数据

Elcomsoft Phone Viewer 4.0及其以上的版本,皆可用于分析Apple Pay数据,步骤如下:

1.启动Elcomsoft Phone Viewer 4.0及其以上的版本;

2. 打开提取过程中生成的文件系统映像;

3.点击“Apple Pay”

此时,你将能够访问有关支付卡的信息以及交易清单。

5.png

6.png

如上所示,Apple Pay交易包含的信息类似于银行对账单。

总结

iOS中包含的大量信息都需要用到专业的技术才能获取,在像iOS这样复杂的系统中,只有不断努力,才能得到取证分析的一些必备技能。 

本文翻译自:https://blog.elcomsoft.com/2018/08/analysing-apple-pay-transactions/如若转载,请注明原文地址: http://www.4hou.com/technology/13421.html
点赞 5
  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论