ios 10应用程序在执行期间内存中存在敏感数据

ios 10应用程序在执行期间内存中存在敏感数据,ios,security,operating-system,heap-memory,appstore-sandbox,Ios,Security,Operating System,Heap Memory,Appstore Sandbox,是否可以从正在运行的应用程序读取内存中的数据。i、 e是否可以转储正在运行的ios应用程序的内存,并能够知道变量中的数据 因为我们在windows操作系统上有内存编辑,它用于更改正在运行的应用程序的变量,所以是否可以执行相同的操作,或者至少从变量中读取数据 例如:如果有一个变量包含加密的敏感数据(字符串),并且用户只能通过提供密码来解密数据。在应用程序执行过程中,同一用户是否能够从内存中获取加密形式的数据(以便他可以使用暴力或其他技术在不使用密码的情况下解密数据) 注:加密数据将通过网络提供,因

是否可以从正在运行的应用程序读取内存中的数据。i、 e是否可以转储正在运行的ios应用程序的内存,并能够知道变量中的数据

因为我们在windows操作系统上有内存编辑,它用于更改正在运行的应用程序的变量,所以是否可以执行相同的操作,或者至少从变量中读取数据

例如:如果有一个变量包含加密的敏感数据(字符串),并且用户只能通过提供密码来解密数据。在应用程序执行过程中,同一用户是否能够从内存中获取加密形式的数据(以便他可以使用暴力或其他技术在不使用密码的情况下解密数据)

注:加密数据将通过网络提供,因此不会硬编码到应用程序中

请让我知道是否有任何其他漏洞


无论如何,在沙盒中运行应用程序是安全的。

iOS上的应用程序是沙盒,不能访问彼此的内存或数据(除非通过各种方法显式共享)

通过配置严格的数据保护类,可以进一步保护存储在磁盘上的数据,例如。(尽管您应该仔细评估哪种数据保护级别适合您的应用程序,但最严格的级别会在设备锁定时阻止数据访问,即使您的应用程序在后台运行。)

但是,所有这些都假设设备的安全性仍然完好无损(如设计所示)

在过去,iOS可以越狱,让设备所有者绕过操作系统中的各种安全机制。在越狱设备上,所有赌注都是无效的——如果设备所有者可以绕过iOS的安全功能,他们可能可以轻松访问应用程序内存的内容

操作系统或支持库中的安全漏洞也可能导致在应用程序上下文中进行任意内存访问或远程代码执行

这一切归结起来是:

您最终将在用户的设备上向用户提供数据。

您无法确保100%的安全性来抵御已确定的攻击者,您也不应该假设有人不可能完全修改您的应用程序在其设备上的行为(包括访问您提供给他们的所有数据)

但您可以通过以下方式使其更加困难:

  • 最小化一次存储在内存中的未加密数据量以及保持未加密的持续时间

  • 确保在您的服务器上执行访问检查,而不是通过信任客户机仅解密允许用户访问的数据。(例如:让客户端通过服务器对用户进行身份验证,让服务器只提供该用户可以访问的数据。)


非常感谢您的回复。在这里,我的假设是iphone没有越狱。在这种情况下,我相信数据在内存中是安全的。如果我错了,请纠正我,是的,我请求用户向服务器进行身份验证。