iOS 每次将 App 发送到后台时都会对其进行截图 - 我将如何保护我的 App?

标签 ios iphone security nsdocumentdirectory

每次出现应用安全问题时,很多人都没有意识到这是一个问题。例如,每次我们的 App 进入后台时,iOS 都会截取可见屏幕的屏幕截图并将其存储在本地存储中。

现在这就是我想要摆脱的东西。我正在开发一个进行在线金融交易的应用程序,我希望我的应用程序在安全方面非常强大。这是当我的应用程序进入后台时存储屏幕截图的路径。


路径:/private/var/mobile/Applications/15980ADD-B269-4EBE-9F52- B6275AFB195A/Library/Caches/Snapshots/com.ABC.myAppName/screenshotName.PNG


这是正在存储的图像,看起来非常关键:

enter image description here


如果用户输入了他/她的信用卡/借记卡号码(包括 CVV2 号码和其他重要信息)并且可能会强制应用程序在后台运行一段时间,则情况会更加严重。

我对此进行了一些搜索,我了解到,对于能够利用此攻击的攻击者,他可以通过两种方式获得访问权限:

  • 攻击者需要对设备进行物理访问,目的是 越狱。

  • 需要与越狱用户在同一个网络上 设备并尝试远程访问该设备。

我可以做些什么来避免这种情况发生?是否有任何解决方案可以避免攻击者以这种方式访问​​敏感信息?

此外,当应用程序处于后台时,我还得到了启用空白屏幕截图或删除应用程序屏幕截图的建议。但是,我不知道该选择什么以及如何正确选择。还有其他选择吗?

最佳答案

我可以提出一些建议:

1) 您知道您的应用程序何时将通过应用程序委托(delegate)方法进入后台:

- (void) applicationDidEnterBackground:(UIApplication *)application

That's the exact moment the snapshot is generated .为什么不改变您的观点,使其变得不同或更“安全”?

2)

如果您希望在将应用程序带回前台时忽略“安全”(或虚假)快照,您可以使用“[UIApplication ignoreSnapshotOnNextApplicationLaunch]”。

3)

您还可以在将您的应用程序置于后台时将“UIApplicationExitsOnSuspend”添加到您的应用程序的 Info.plist 中,这将完全终止您的应用程序并且不保存快照。

关于iOS 每次将 App 发送到后台时都会对其进行截图 - 我将如何保护我的 App?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27265957/

相关文章:

iphone - addSubview增量是否保留计数?

security - Grails安全插件:Requestmap与数据库不一致

linux - 是否有人有补丁或 kludge 技巧,以便我能够使用 gnutls-2.12.5 交叉编译 climm-0.6.4?

security - 具有 gets() ROP 漏洞的 Windows 控制台应用程序

ios - 纠正当前 UIInterfaceOrientation 的 CMMotionManager 偏航

objective-c - 为什么 self.view 的高度和宽度与 subview 的高度和宽度不同?

iphone - 当 iPhone 应用程序在后台运行时显示弹出窗口 (UIAlertView)

objective-c - iphone sdk - Itunes 连接如何更改设备要求?

iphone - 如何更改 UIPickerView 中每个组件的宽度?

ios - 如何借助 AutoLayout 在自定义 UITableviewCell 中添加自定义 UIView(xib)?