【问题标题】:While developing in Swift for an iOS app, how do we check for a trusted environment?在使用 Swift 开发 iOS 应用程序时,我们如何检查可信环境?
【发布时间】:2022-09-27 23:21:53
【问题描述】:

在扫描我们的 iOS 应用程序时,该工具将应用程序标记为: \"应用程序不检查以确保运行环境可以信任。\" 我们似乎无法找到有关此问题到底是什么的任何信息。查看其他扫描应用程序的报告,有些有这个,但很多没有。 先感谢您

报告链接: https://owasp.org/www-project-mobile-top-10/2016-risks/m9-reverse-engineering https://cwe.mitre.org/data/definitions/284.html

  • 我对这个工具一无所知,但它可能是指使用DeviceCheck 框架
  • 谢谢乔治。查看 DeviceCheck,它似乎在您与服务器通信时使用。我们的应用程序不会与我们的服务器进行任何通信。根据发现的名称,您似乎应该使用框架来检查安装它的操作系统是否受信任。
  • 例如,在越狱设备上读取文件存在风险。由于它是植根的,任何应用程序或操作系统本身都可以更改文件的内容,因此在以前认为它是安全的时,它不再被信任。这就是攻击向量的真正来源——应用程序无法信任几乎所有事.如果你想修复这个警告,我确信那里有一些开源的东西,但我不会指望它。
  • 这经常被各种工具标记,但它确实是有问题的项目。首先,越狱设备真的是个坏消息吗?取决于您正在开发的应用程序。也许对于专业应用程序这是不可接受的,但对于游戏或一般用途的应用程序......我该告诉用户不要越狱他们的设备?第二:没有 100% 的方法可以在越狱设备上禁用您的应用程序(甚至 Apple 也承认)。因此,与其进行任何“检查”,我宁愿付出努力,即使有人能够访问越狱设备上的任何文件,他们也无法获得它们的任何价值。 .
  • 信息安全的一个基本事实是,您不能信任您无法实际控制的设备。您可以使用应用程序证明等技术来验证特定的、高价值的请求来自您的应用程序的未修改版本,但是任何对设备本身状态的检查(在设备上执行)都容易被伪造,因为您无法信任设备......我同意这在实践中是一个相当有问题的发现

标签: ios swift iphone mobile


【解决方案1】:

这是我向扫描工具 (Kryptowire) 查询此发现时的响应:
可信环境检查是指应用程序检查设备上的 Root 访问或越狱等内容。有几个开源项目可以帮助实现此功能,例如 Android 的 Rootbeer (https://github.com/scottyab/rootbeer) 和 iOS 的 DTTJailbreakDetection (https://github.com/thii/DTTJailbreakDetection)。

【讨论】:

    猜你喜欢
    • 2012-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-02
    相关资源
    最近更新 更多