【干货】iOS 11 短信拦截功能初探

简介: 自古以来iOS上的短信对各个app都是禁区,没有一个app能够获取用户短信的内容,这一现状将在iOS 11终结,在iOS 11 beta 1出来以后,我们发现新增了SMS fraud extension(恶意短信拦截插件),该插件在经过用户的授权后可以用于拦截用户的恶意短信。

文/图 钱盾反诈平台 刀勒

自古以来iOS上的短信对各个app都是禁区,没有一个app能够获取用户短信的内容,这一现状将在iOS 11终结,在iOS 11 beta 1出来以后,我们发现新增了SMS fraud extension(恶意短信拦截插件),该插件在经过用户的授权后可以用于拦截用户的恶意短信。为了更好地保护老百姓的资金安全,钱盾反诈平台第一时间对这个功能做了分析。

效果演示:
01

效果说明:
• 开启路径还是比较长:通用->信息->未知与垃圾信息
• 被过滤的短信不是删掉,而是归类于“过滤短信”这个分类里
• 打开被过滤的短信内容,里面有短信过滤插件的品牌展示
• iMessage不能被过滤
• 只有当短信的发送方不在联系人列表里的时候信息app才会把信息相关内容发给SMS fraud extension
• 如果用户安装了多个SMS fraud extension插件,同一时间只能enable一个
• SMS fraud extension可以获取到的内容包括短信发送方和短信内容,不包含收件人手机号

实现机制:
02

  1. 信息app(用户)收到一条SMS或者MMS
  2. 信息app将短信的发送号码和短信内容发给SMS fraud extension进行检测
  3. SMS fraud extension可以使用本地数据进行离线检测,也可以线上实时检测。如果实时检测的话,由于SMS fraud extension没有网络请求的权限,只能委托信息app将短信相关内容发往SMS fraud extension对应的后台server。
  4. SMS fraud extension后台server检测短信的安全性并将结果返回给信息app
  5. 信息app将服务器结果转发回SMS fraud extension
  6. SMS fraud extension解析服务器返回内容,确定短信安全性,将action返回信息app
  7. 信息app根据SMS fraud extension返回的action来决定放行或过滤该信息

隐私保护:

结合苹果的文档来看,SMS fraud extension可以拿到短信内容,当传到服务器之后服务器也拿到了短信内容,但是苹果通过以下几个限制保证了该短信内容无法跟用户对应起来:

• SMS fraud extension写入的本地存储不能与containing app共享,也就是说containing app无法拿到短信相关内容并上传或分析。
• SMS fraud extension本身不可以发起网络请求,与服务端的唯一交互必须委托信息app来完成,信息app在发起请求的时候不会携带任何用户和机器相关的信息。服务端拿到的唯一用户环境相关信息只有IP,而单靠IP是无法跟用户对应起来的。
• 信息app发起请求时访问的URL要求必须配置是存放在SMS fraud extension的info.plist里,这就保证了SMS fraud extension和containing app都不能动态地修改该URL,不能通过给每一个用户配一个特殊的URL的方式来跟踪用户。

结论:

从苹果采取的隐私保护机制来看,SMS fraud extension和其后端对应的服务器可以获取到用户的短信发送方及短信内容,但是以目前的实现机制来看无法将短信内容对应到具体的用户,所以是相对安全。

参考文档:

  1. https://developer.apple.com/documentation/identitylookup?changes=latest_minor
  2. https://developer.apple.com/videos/play/wwdc2017/249/
目录
相关文章
|
移动开发 前端开发 iOS开发
记录一下前端H5的复制功能在ios端的兼容性问题
记录一下前端H5的复制功能在ios端的兼容性问题
704 0
|
iOS开发
IOS - iOS 12 的“隐式推送”功能怎么用?
IOS - iOS 12 的“隐式推送”功能怎么用?
326 0
IOS - iOS 12 的“隐式推送”功能怎么用?
|
安全 Linux 网络安全
【IOS实用玩机技巧】爱思助手 IPA 签名功能常见问题汇总(iOS上架)
【IOS实用玩机技巧】爱思助手 IPA 签名功能常见问题汇总(iOS上架)
2286 0
【IOS实用玩机技巧】爱思助手 IPA 签名功能常见问题汇总(iOS上架)
|
存储 iOS开发
超好用iOS管软件iMazing 2.16.6官网下载及2023新增功能
iMazing 2.16.6这是一款非常方便的 iPhone 管理工具,尤其是在升级、降级、越狱之前,做好备份是必不可少的一步,千万别偷懒。有一款用着顺手的iOS管理工具在手边,让数字生活更安心!
216 0
超好用iOS管软件iMazing 2.16.6官网下载及2023新增功能
|
JSON 缓存 API
iOS中的一些小功能和技巧
iOS中的一些小功能和技巧
427 0
iOS中的一些小功能和技巧
|
存储 编解码 缓存
ios设备管理软件iMazing2.16.2 官网2022最新版免费下载以及新增功能
iMazing是一款iOS设备管理软件,该软件支持对基于iOS系统的设备进行数据传输与备份,用户可以将包括:照片、音乐、铃声、视频、电子书及通讯录等在内的众多信息在Windows/Mac电脑中传输/备份/管理。 iMazing是一款第三方的苹果iOS设备管理软件。大家将iPhone、iPad或iPod连接到电脑后,可以用它进行音乐传输、照片传输、数据备份等操作。
215 0
ios设备管理软件iMazing2.16.2 官网2022最新版免费下载以及新增功能
|
JavaScript iOS开发
js 实现倒计时功能,兼容ios,类似京东
js 实现倒计时功能,兼容ios,类似京东
168 0
js 实现倒计时功能,兼容ios,类似京东
|
iOS开发 索引 Perl
iOS 开发创建CocoaPods公有库以及subspec分支功能(下)
iOS 开发创建CocoaPods公有库以及subspec分支功能
373 0
iOS 开发创建CocoaPods公有库以及subspec分支功能(下)
|
开发框架 开发工具 数据安全/隐私保护
iOS 开发创建CocoaPods公有库以及subspec分支功能(上)
iOS 开发创建CocoaPods公有库以及subspec分支功能
333 0
iOS 开发创建CocoaPods公有库以及subspec分支功能(上)
|
移动开发 测试技术 Android开发
一分钟教你Android、iOS如何实现自动化截长图功能,超实用!
在移动端自动化测试过程中经常会遇到需要截长图的场景,比如大促活动的H5页面、动态信息流页面等,但是目前在网上检索只能搜到关于截长图的软件推荐,没有讲关于如何通过自动化脚本的方式实现的文章,今天就来给大家分享一个简单的实现方案。
615 0
一分钟教你Android、iOS如何实现自动化截长图功能,超实用!