我正在开发一款应用。比如说,在最极端的情况下,它应该对最终用户来说是安全和安全的,对于生死攸关的程度而言。实际上,它并不是那么难,但让我们假设它。
因此,我想确保,如果严重的坏人得到这个iPhone并做他们的棘手的工作来拆解它,越狱,无论从应用程序获取数据,然后他们得到尽可能少的线索。
我想以最安全的方式构建,测试应用及其环境。
问题是:
答案 0 :(得分:0)
有关安全测试iOS应用的帮助,我建议您检查OWASP's Mobile Security Project。关于移动应用程序中的常见漏洞有很多资源,但也有关于the steps to test a mobile application的指导。
针对您的具体问题:
XCode有一个内置的Analyze feature,用于查找应用程序源代码中的问题。这是静态分析的一种形式。有第三方工具可以帮助进行动态分析,测试正在运行的应用程序。 OWASP ZAP和Burp Suite是此类工具的示例。
如果用户拥有越狱手机,他们就可以访问整个文件系统。它也不可能完全防止逆向工程。 This post from the Information Security community在这方面可能会有所帮助。但是,您可以限制存储在设备上的敏感信息。请注意日志文件,缓存文件,plist文件中存储的信息,基本上存储在设备上的任何信息。如果信息非常敏感,最好将其存储在服务器而不是设备上,因为您拥有服务器并且无法直接控制用户的设备。
我会咨询Developer's Guide to Encrypting and Hashing Data以及iOS Security Guide。我不知道具体的加密库,但一般来说最常见的问题是加密库的实现不好而不是库本身的问题。此外,通常使用现有库比尝试创建自己的库更好。
我还会咨询Information Security Community,他们会就如何安全测试iOS应用程序提供更多指导。