是否可以从运行中的应用程序读取内存中的数据。也就是说,是否有可能转储正在运行的ios应用程序的内存,并能够知道变量中的数据。
由于我们在windows上进行内存编辑,用于更改正在运行的应用程序的变量,因此是否可以做同样的操作,或者至少从变量中读取数据。
例如:如果存在一个具有敏感数据的变量(字符串),并且用户只能通过提供密码来解密这些数据(字符串)。在应用程序执行过程中,同一用户是否有可能从内存中获得加密的数据形式(这样他就可以强行或其他一些无需密码的技术来解密数据)。
P.S :加密的数据将通过网络提供,所以不会硬编码到应用程序中。
如果还有其他漏洞,请告诉我。
通过在Sandbox中运行应用程序,它无论如何都是安全的。
发布于 2016-10-02 16:54:23
iOS上的应用程序是沙箱化的,不能访问彼此的内存或数据(除非通过各种方法显式共享)。
通过配置严格的数据保护类(如NSFileProtectionComplete ),可以进一步保护磁盘上存储的数据。(尽管您应该仔细评估哪个数据保护类适合您的应用程序-即使您的应用程序在后台运行,最严格的类也会在设备锁定时阻止数据访问。)
然而,所有这些都假设设备的安全性仍然完好无损(按设计)。
在过去,iOS可以使用越狱,从而使设备所有者能够绕过操作系统中的各种安全机制。在一个越狱设备上,所有的赌注都取消了--如果设备所有者能够绕过iOS的安全特性,他们可能可以轻松地访问应用程序内存的内容。
操作系统或支持库中的安全漏洞也可能启用应用程序上下文中的任意内存访问或远程代码执行。
这一切归结起来是:
您最终将在及其设备上向用户提供数据。
您不能确保100%的安全性,对一个确定的攻击者,您不应该认为,这是不可能的人完全修改您的应用程序在他们的设备上的行为(包括访问您提供给他们的所有数据)。
但你可以通过以下方式使它变得更加困难:
https://stackoverflow.com/questions/39654101
复制相似问题