ios - 屏幕外信息的安全性如何?

标签 ios security lockscreen wkwebview uiscreen

我的 iOS 应用程序有一个锁定屏幕,启用后会覆盖整个 UIScreen。但是,在 UIScreen 边界之外,我有包含敏感信息的 Pane ,这些 Pane 未被锁定屏幕覆盖。 (当屏幕解锁时,这些 Pane 可以滑入和滑出。)

UIScreen 边界之外获取信息有多安全?攻击者能否使用某种外部显示器、调试器或其他机制来“揭示”UIScreen 屏幕之外的内容?

[锁屏是一个WKWebView,它默认有一个“放大镜”功能。我发现,当在 UIScreen 的边缘触发时,放大镜会显示 UIScreen 边缘后面的几个像素。我已经用 this answer 禁用了放大镜.]

最佳答案

“隐藏”屏幕外的 View 根本不安全。任何拥有越狱设备的人都可以在运行时使用 MobileSubstrate 连接到您的应用程序并调用 [[[UIApplication sharedApplication] keyWindow] recursiveDescription] 来转储 View 层次结构。还有工具,例如RevealSpark Inspector提供类似于 Xcode 的 View 调试器的界面,以查看当前在应用程序的 UIWindow 中的任何 View 。

正如 zambrey 所建议的,最好根据需要使用敏感信息初始化任何 View ,并在用户关闭和不再需要它们时将其删除,而不是将它们保留在 View 之外但仍在窗口层次结构中。这样做的好处不仅仅是安全,而且内存中的 View 更少会提高应用的性能并减少其内存占用。

如果您担心安全问题,您可能希望在运行时检查越狱设备并限制这些设备的某些功能。

关于ios - 屏幕外信息的安全性如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29729297/

相关文章:

iOS : instance variable in block

ios - 使用后退按钮将数据从 ThirdViewController 传递到 FirstViewController

algorithm - 这个密文和明文之间有什么关系?

c - 如何缓解 strcat 和 strcmp 漏洞?

android - 锁屏上的 Activity - 关闭它会恢复之前的 Activity

android - 如何提示用户在 Android 锁屏中输入密码?

android - 如何在锁定屏幕上执行通知操作(点击)?

ios - GMSMapView 不占据完整边界

ios - 制作触摸时上下滑动的UIView列表

c# - 我如何在 C# 中加密 web.config 变量