通付盾移动应用剪切板防护:App用户隐私的反监听守护者( 二 )


在Android环境下 , 对剪切板的操作是通过ClipboardManager来实现的 , 因此我们主要通过对ClipboardManager进行拦截 , 实现对“获取剪切板数据”和“设置剪切板数据”方法的相对控制权 , 以实现保护目的 。 核心流程如下图所示 。

通付盾移动应用剪切板防护:App用户隐私的反监听守护者
文章图片

通付盾加固-Android剪切板防护方案技术方案示例图
当用户在App内部进行复制操作时 , 系统会将数据保存至剪切板 。 此时我们会将内容存至数据库 , 并且将剪切板的内容清空处理 。
当用户在App内部进行粘贴时 , 便将数据库中内容提取出来 , 返回要粘贴的内容 。
在整个复制/粘贴过程中 , 整个App内部剪切板的内容会保持清空状态 。 同时 , 存储至数据库中的内容经过加解密系统处理后 , 会以密文形式存放 , 以明文状态进行回显以保证用户本身正常使用 。
此外 , 该操作不会影响App外部剪切板的内容 , 当用户在App外部进行复制粘贴时 , 可以进行正常操作 。 既不影响用户体验 , 也不会泄露App内部的隐私数据 。
实现效果
1.不影响正常使用剪切板的同时 , 保障剪切板隐私数据不会被恶意监听;
2.数据存储采用加解密操作 , 大大增加了信息的安全强度 。
iOS
iOS对剪切板的防护主要涉及以下3点:
1.对剪切板缓存的数据进行加密处理 , 增加数据破解读取的难度 , 实现攻击者即使劫持了剪切板也无法轻易获取真实的数据 。
2.在应用程序进入后台时对剪切板缓存的数据进行清理 , 防止缓存的数据被第三方恶意使用;
3.应用返回前台时重新进行赋值操作 , 保证剪切板在应用内部可正常使用 , 提高用户体验 。
iOS剪切板的保护一方面是通过对UIPasteboard的拦截来实现 , 并且改写了其获取剪切板数据和设置剪切板数据的方法 。 核心流程图如下图所示 。

通付盾移动应用剪切板防护:App用户隐私的反监听守护者
文章图片

通付盾加固-iOS剪切板防护方案技术方案示例图
当采用复制操作时 , 系统会将数据保存至剪切板 。 此时我们将存储的数据调用加解密系统进行加密操作 。 当用户在应用内部进行粘贴时 , 将需要粘贴的数据调用加解密系统进行解密并返回 。
在此过程中 , 整个应用内部剪切板中的内容是经过数据加密处理的 。 此外 , 该操作不会影响应用外部剪切板的操作 , 当用户在应用外部进行复制粘贴时 , 可以进行正常操作 。 既不影响用户体验 , 也不会泄露应用中的隐私数据 。
iOS剪切板的保护另一方面是对应用生命周期状态的改变进行监听 , 当监听到程序进入后台操作时 , 将剪切板缓存的数据保存到本地 , 并对剪切板进行清空处理 , 保证第三方应用无法访问当前应用的剪切板数据 。 当监听到程序返回前台时 , 将剪切板数据调用加解密系统进行加密处理 , 如果剪切板数据为空则将本地数据赋值到剪切板中 。 保证应用内部数据的一致性 , 完整性 。


推荐阅读