前提:移动端的数据窃取是一个非常严重的问题,哪些保存着重要数据的设备丢失或被盗,不要让攻击者通过物理手段来读取到数据,在本文章介绍几种数据泄露方式。
1.解密NSLog 和苹果日志
NSLog:在调试时将消息发送到Xcode控制台,在设备上运行时将消息发送到系统全局日志,然后由NSLog记录数据可以被任何拿到物理设备,和其他缓存的应用程序类似。
在发布版本中禁用NSLog
移除NSLog输出最简单的方法就是使用可变参数宏,
#ifdef DEBUG
#define _GTMDevLog(...) NSLog(__VA_ARGS__)
#else
#define _GTMDevLog(...) do { } while (0)
#endif
注意:
NSLog 可能将数据泄露到硬盘,从而给物理攻击者,创造机会,除此之外数据也可能通过其他方式在应用程序之间泄露,
2.敏感数据如何通过剪贴板泄露
iOS 剪贴板是一种灵活的机制,能够在应用内,或应用间共享任意数据。借助剪贴板可以在应用之间共享文本数据或系列化对象,你可以选择是否将剪贴板数据储存到硬盘中。
UIPasteboard 系统的剪贴板,没有任何访问控制,或者访问限制,如果应用向剪贴板存放了一些信息,那所有的应用都可以读取,删除,或者