前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iOS安全之防止手机截屏/录屏导致泄密的方案: iOS11之后防止用户录屏方案、基于DRM防截屏/录屏

iOS安全之防止手机截屏/录屏导致泄密的方案: iOS11之后防止用户录屏方案、基于DRM防截屏/录屏

作者头像
公众号iOS逆向
发布2021-04-30 16:06:15
12.2K1
发布2021-04-30 16:06:15
举报
文章被收录于专栏:iOS逆向与安全iOS逆向与安全

点击上方

蓝字

关注我们

  • 1.1 应用被挂起时,在当前页面添加一层高斯模糊
  • 1.2 监听收款码界面截图,对付款码进行高斯模糊,防止信息泄露
  • 1.3 iOS11之后防止用户录屏方案
  • 1.4 基于DRM防截屏: 播放带DRM加密的视频来展示视图的敏感信息
  • 1.5 基于MDM(Mobile Device Managment)的Restrictions on device features (disabling the camera, for example) 设备特性限制截图
  • 2.1 MDM(Mobile Device Managment)
  • 2.2 操作命令
  • 2.3 制作和APNs通信的证书MDM_Certificate.p12
  • A library used to download HLS video streaming with AES-128 encryption
  • Convert a series of images to video with audio

前言

1、监听截屏后通知(UIApplicationUserDidTakeScreenshotNotification),并进行提示《您保存的图片内容可能涉及到敏感信息,建议您删除》

局限性:无法禁止截屏内容 因此需要配合其他方案:比如尝试删除本地相册的方案,但是此方案也有如下几个局限性 1、在新系统上可能会由于权限问题无法满足需求(这样做太过分,操作用户数据) 2、这个删除的照片在已删除的里面还是能找得到 3、截图不一定存在相册的,分享到其他渠道/app也是可以的

2、基于MDM让用户安装禁用屏幕快照和屏幕录制的XML配置文件(客户群体主要面向企业和学校)

MDM(Mobile Device Managment)的Restrictions on device features (disabling the camera, for example) 设备特性限制(例如摄像头) 局限性: 1、导致其他应用也无法截屏 2、网络,因为MDM是开发着下发指令给苹果服务器,然后苹果在做用到手机上,和推送很像,这样就出现了一个问题,就是网络问题,不能做到及时性。 3、最好是企业级帐号,而苹果的企业级帐号是非常难申请的 原理:通过 Configuration Profile 来实现allowScreenShot (Boolean) Optional. When false, users are unable to save a screenshot of the display.

allowRemoteScreenObservation

使用apple-configurator-2部署和编辑xml配置文件 https://apps.apple.com/cn/app/apple-configurator-2/id1037126344?mt=12

文档:从CSDN下载Configuration-Profile-Reference.PDF文档:https://download.csdn.net/download/u011018979/18199004c The Restrictions payload is designated by specifying com.apple.applicationaccess as the PayloadType value. A Restrictions payload allows the administrator to restrict the user from doing certain things with the device,such as using the camera.The Restrictions payload is supported in iOS; some keys are also supported in macOS, as noted below. In addition to the settings common to all payloads, this payload defines the following keys: Note:You can specify additional restrictions, including maximum allowed content ratings, by creating a profile using Apple Configurator 2 or Profile Manager. 小知识点: 一个 provisioning profile 用于确定一个应用程序被允许到一个特定的设备上运行。 一个 configuration profile 可用于对设备进行多种设置。 使用配置文件,这些服务可以自动得到诸如设备的 UDID,型号名称信息,甚至在主屏幕上添加一个新的网页剪辑来下载可用的应用程序。通过Safari获取iOS设备真实UDID: https://blog.csdn.net/z929118967/article/details/108049773MDM(Mobile Device Managment)移动设备管理,目的就是让企业能够方便的管理 iPhone、Pad等移动设备。他可以对iPhone、iPad、iMac等苹果设备下发非常多的指令例如摄像头禁止、截图等,MDM可以随时进行管理,例如进入二位码页面就禁止截图功能,出了二维码页面就打开。 具体的做法:是通过在系统中安装配置文件(Profiles)的方式实现各种功能,设备管理,设备安全,获取设备信息,设备配置,备份和恢复等几类功能,可以根据不同应用场景实现很多具体小功能 iOS配置描述文件包含选多可以指定的设置,包括: asscode policies 密码策略 Restrictions on device features (disabling the camera, for example) 设备特性限制(例如摄像头) Wi-Fi settings WIFI设置:如果 IAP 可用于在现实世界中解锁功能,把 IAP 和自动过期的配置巧妙地结合就可以用来允许访问加密的 WiFi 网络,打印机,或 AirPlay 设备,就可以扩大应用内购买的范围 VPN settings VPN设置 Email server settings 邮件服务器设置 Exchange settings Exchange设置 LDAP directory service settings LDAP目录服务设置 CalDAV calendar service settings CalDAV日历服务设置 Web clips 桌面快捷方式 Credentials and keys 凭证和密钥.增强安全性,嵌入证书和单点登录认证的能力可以增加通信类应用程序的安全级别 Advanced cellular network settings 高级蜂窝网络设置 安装自定义字体:允许在整个系统安装新的字体(例如,在 Pages 或 Keynote 被使用) 作为开发者,我们总是会想得到更多的许可和空间。 iOS Configuration Profiles 是一个更多功能开放给我们的可能

3、推荐综合方案(可上架):

a、基于DRM(Digital Rights Management,数字版权管理)防截屏【实现了对控件的防止截屏功能】 + b、监听UIScreenCapturedDidChange 当UIScreen.isCaptured为true时,暂停视屏播放,并弹出提示告知用户,由于正在录屏,不予播放视屏 + c、UIApplicationUserDidTakeScreenshotNotification提示 d、触发了截屏和录屏之后强制退出登录并封号处理,使用代码截屏是为了获取用户截屏图片.必要时以便追踪数据

不够应用内防止截屏/录屏,也只是一定程度上,提高敏感信息被传播的门槛;但是如果用另外一台手机拍照,录屏就无法干预了

每个方案都有自己的局限性,因此推荐采用综合方案,尽量提高敏感信息被传播的门槛 比如 1、 如果打开app之前,就使用iPhone控制中心的屏幕录制控件,是不会触发UIScreenCapturedDidChange通知 2、基于DRM防截屏需要考虑性能问题,例如cell的控件包含敏感信息,此时如果数据量比较大的话,性能尤其关键

I、防止手机截屏泄密方案

1.1 应用被挂起时,在当前页面添加一层高斯模糊

  • 应用进入后台时的截屏行为 当应用进入后台时,系统会自动在当前应用的页面截屏并存储到手机内,如果当前页面涉及敏感信息时,被攻击会造成泄密。如下图生成的两张图片路径:
  • 以微信为例子

在这里插入图片描述

代码语言:javascript
复制
/var/mobile/Containers/Data/Application/2BEE545F-A6E7-4473-97C2-D192A0BE360C/Library/Caches/Snapshots/com.tencent.xin

在这里插入图片描述

  • Caches/Snapshots
代码语言:javascript
复制
iPhone:/var/mobile/Containers/Data/Application/2BEE545F-A6E7-4473-97C2-D192A0BE360C/Library/Caches/Snapshots/com.tencent.xin root# ls -rlt
total 640
-rw-r--r-- 1 mobile mobile 256173 Aug 13 09:33 389A646A-4A29-461C-A184-F198BD185545@2x.ktx
-rw-r--r-- 1 mobile mobile 247577 Aug 13 09:33 121427F4-B7DE-4AB0-8E12-79AF1BA86E35@2x.ktx
drwxr-xr-x 2 mobile mobile    102 Aug 13 10:28 downscaled
-rw-r--r-- 1 mobile mobile 144433 Aug 13 10:28 9F042B65-6ED4-4BEB-80A2-DF3A321589D1@2x.ktx
    

  • downscaled
代码语言:javascript
复制
iPhone:/var/mobile/Containers/Data/Application/2BEE545F-A6E7-4473-97C2-D192A0BE360C/Library/Caches/Snapshots/com.tencent.xin root# ls -lrt downscaled
total 120
-rw-r--r-- 1 mobile mobile 119370 Aug 13 10:28 03C8F347-0B56-484C-83DF-B4574CA877C2@2x.ktx

防止原理:

在应用被挂起时,在当前页面添加一层高斯模糊,在应用重新进入前台时,删除模糊效果

  • iOS13之前在AppDelegate模糊背景图片

往window添加UIToolbar 视图

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-04-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 iOS逆向 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • I、防止手机截屏泄密方案
    • 1.1 应用被挂起时,在当前页面添加一层高斯模糊
    相关产品与服务
    VPN 连接
    VPN 连接(VPN Connections)是一种基于网络隧道技术,实现本地数据中心与腾讯云上资源连通的传输服务,它能帮您在 Internet 上快速构建一条安全、可靠的加密通道。VPN 连接具有配置简单,云端配置实时生效、可靠性高等特点,其网关可用性达到 99.95%,保证稳定、持续的业务连接,帮您轻松实现异地容灾、混合云部署等复杂业务场景。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档