我如何保护我的iOS应用程序免受iFunbox等工具的攻击

我如何保护我的iOS应用程序免受iFunbox等工具的攻击,ios,security,file,encryption,Ios,Security,File,Encryption,我有一个iOS应用程序,可以将文件下载到本地存储。为了确保这些本地文件的安全,我已执行了以下操作: -将它们存储在documents文件夹之外(我使用library文件夹) -使用完整的文件加密 但今天我遇到了iFunbox。这是一个工具,使您能够浏览您的iOS设备的文件系统而无需越狱!我注意到,如果设备解锁,我可以浏览沙箱中的所有文件。幸运的是,当设备被锁定时,文件将无法访问 我想知道的是,当设备本身被解锁时,我是否可以做些什么来进一步保护这些文件?那么,如何保护我的文件免受iFunbox之类

我有一个iOS应用程序,可以将文件下载到本地存储。为了确保这些本地文件的安全,我已执行了以下操作: -将它们存储在documents文件夹之外(我使用library文件夹) -使用完整的文件加密

但今天我遇到了iFunbox。这是一个工具,使您能够浏览您的iOS设备的文件系统而无需越狱!我注意到,如果设备解锁,我可以浏览沙箱中的所有文件。幸运的是,当设备被锁定时,文件将无法访问


我想知道的是,当设备本身被解锁时,我是否可以做些什么来进一步保护这些文件?那么,如何保护我的文件免受iFunbox之类工具的攻击呢

你无法阻止像iFunBox这样的应用程序访问。他们正在访问与你的应用程序无关的iOS文件系统

如果你的文件被正确加密,那么这就是你所能做的


FWIW当您将文档存储在~/documents、~/Library/Caches和~/tmp以外的其他位置时,您需要确保遵守第二个答案是将它们存储在云中

  • iCloud
  • 升降箱
  • 亚马逊S3
  • 在此处插入远程服务

通过不将文档存储在设备上,您可以解决问题,但在某些人看来,这可能不太安全。

此文件系统浏览实用程序仅在设备解锁时才起作用,您可以做的是为运行应用程序的设备提供密码保护,以大大提高安全性。这可以用于公司内部的应用程序,在这些应用程序中,数据非常有价值,我相信它也必须得到苹果的批准

要确定是否设置了密码,您需要检查您在允许的位置创建的虚拟文件的保护属性:

然后,如果未设置密码,则可以显示应用程序需要密码的通知。我相信你可以在苹果工程师的帮助下,将设备设置为需要通过私有API输入密码,但无论如何这都是私有信息,对吗


一般建议使用强加密并执行密码检查,显示一些安全警报,通知用户如果未设置其数据,其数据将处于危险中。

您需要设置密码以防止设备与计算机配对。但一旦设备配对,iTunes中就没有办法取消配对

您可以使用DiskAid 6()删除配对


请注意这一点

如果它们是加密的,那么访问它们又有什么关系?苹果公司也会拒绝将~/文档存储在外部。当设备解锁时,加密将被删除,iFunbox完全可以访问这些文件。你仍然可以使用iOs加密来加密你加密的文件,这是主要思想。@Deddiekoel如果你自己加密这些文件,那么密码与否,没有问题。请引用条款中规定的部分。我个人知道,相当多的应用程序在其他地方存储文档,包括图书馆和缓存。事实上,苹果在很多情况下都鼓励这种做法。顺便说一句,这不是挑战,而是真正的兴趣。我只是回去浏览了一下术语,没有看到,所以我真的很感兴趣。谢谢数据存储指南说明了应该放在哪里~/图书馆不是他们规定的地方之一。我已经更新了答案。好的,编辑的答案符合我的期望(好像这意味着什么)。我的应用程序是一个内部应用程序,密码是通过配置文件需要的。然而,在我看来,当密码被“破坏”时,一切都变得非常容易访问。因此,我正在寻找一种更好的方法来保护数据。看看CCCRypt和磁盘加密,您可能想了解有关远程擦除的更多信息,我不知道您要将应用程序发送到的公司设备是否已经支持远程擦除。是的,远程擦除已启用。因此,在已知违约的情况下,我们应该可以。然而,如果设备离线,这也不会起作用。这就是为什么你只给坏人加密的文件,并尽可能少地保存未加密的文件(设置包,info.plist,你甚至可以加密字符串和其他需要更多运行时逻辑的资源)显然,根据iFunbox网站,这个答案是错误的!它说:“使用iFunBox最好的地方是它根本不需要越狱。”我的应用程序需要离线工作,这就是为什么我将文档存储在本地。。。所以cloudstorage不是我的选择。@Deddiekoel在问题中没有指定。虽然问题中没有说数据应该离线存储,如果没有大量的法律和技术准备或批准,如此重要的数据不可能被发送到第三方服务器,这难道不是很明显吗?@a-Live在这些类型的讨论中,唯一明显的事情就是你所做的。除了您分享的内容外,我们没有人对您的应用程序需求有任何线索。另外,请记住,虽然这个社区是一个非常棒的资源,但它仍然是一个让你从几乎完全陌生的人那里得到建议的地方。@a-Live我能说的就是,如果我有像OP这样的关键任务数据,我不会允许它由一个应用程序分发,而这个应用程序会用堆栈溢出用户提供的答案来保护它。