gpt4 book ai didi

iOS : Is it possible to allocate free disc space just for reading in an iOS app

转载 作者:行者123 更新时间:2023-11-28 23:44:26 24 4
gpt4 key购买 nike

我很想知道是否可以分配可用磁盘空间仅用于在 iOS 应用程序中读取。这个问题的背景是安全问题。

假设您有一个在沙箱中运行的应用程序 A,该应用程序将用户文档存储在其应用程序私有(private)文件夹中。此数据使用一些只能从应用程序 A 访问的磁盘空间。由于沙箱的原因,应用程序 B 无法访问此用户文档。如果应用程序 A 删除用户文档,则只会删除引用该文档的 inode。文档使用的磁盘空间已经存在,但没有人链接到它,因此被标记为可用磁盘空间。如果应用程序 B 现在分配整个可用磁盘空间并按字节读取整个分配的空间(用户文档也位于其中),则应用程序 B 可以访问用户文档。理论上。

为了保护用户文档,有一些想法。首先是文档的加密。通过删除,它们仍然是加密的。但它们仍然可以访问。下一个想法是在删除之前覆盖文档。但磁盘空间是闪存存储,这意味着此时数据将被更改,它们会不确定地移动到闪存中的其他位置。这意味着这也没有帮助。

我发现可以通过使用来分配可用堆空间UnsafeMutableRawPointer.allocate 并使用 UnsafeMutableRawPointer.load 按字节读取分配的空间。我不知道这对于磁盘空间是否也可行。在 this文章我读到有三个选项可以访问磁盘空间 FileHandleFileManagerData。但我认为,所有这些都只能读取文件,而不能读取磁盘空间的字节。

在苹果的文档文件中,我找不到答案,这种情况是否真的可能。我希望其他人能给我一些提示,让我可以找到我正在寻找的信息,或者也许能找到我的问题的答案。

最佳答案

文件系统上的每个文件都使用唯一的 key 进行加密;即使恶意应用程序请求磁盘分配并尝试读取可用空间,它也不会获得任何信息,因为它不拥有必要的解密 key 。

您可以在The iOS security publication中阅读更多相关信息。来自苹果:

File Data Protection

In addition to the hardware encryption features built into iOS devices, Apple uses a technology called Data Protection to further protect data stored in flash memory on the device. Data Protection allows the device to respond to common events such as incoming phone calls, but also enables a high level of encryption for user data. Key system apps, such as Messages, Mail, Calendar, Contacts, Photos, and Health data values use Data Protection by default, and third-party apps installed on iOS 7 or later receive this protection automatically.

关于iOS : Is it possible to allocate free disc space just for reading in an iOS app,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52872459/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com