[英]possible to leak in-memory data from one ios app to another?
前言:我不是iOS开发人员,并且几乎不了解iOS安全模型。 如果这个问题真的很愚蠢,请原谅我。 :)
考虑一个名为MyApp的应用程序,该应用程序在启动时会执行以下操作:
现在考虑以下情形:
我的问题:如果SomeOtherApp也动态分配内存,那么OS返回的缓冲区之一是否可能包含MyApp(现在已关闭)调用所放置的敏感数据?
还是将RAM的内容视为运行应用程序的沙箱的一部分?
从理论上讲,一旦用户关闭了该应用程序(您必须确保该应用程序已关闭,而不仅仅是在后台运行),分配给该进程的内存就会被释放并返回。
引用ARC教程中的内容:
“启用自动引用计数后,编译器将在程序的正确位置自动插入保留,释放和自动释放。您不必再为这些担心,因为编译器会为您这样做。”
因此,当应用程序关闭时,将清除对具有某种内存分配的任何对象的所有引用,因为在应用程序不运行时将没有对象可供引用。
我之所以说您必须确保已关闭它,是因为默认情况下,某些应用在按下主屏幕按钮时不会关闭,但实际上会继续在后台运行。 这可能会导致潜在的安全威胁,但可能性很小。 为确保该应用程序仍不保留任何内存,请确保每次实际上都完全关闭该内存。 确保代码正确完成,并且正在编写代码的人员知道并跟踪他分配的内存。
如果安全性是一个大问题,那么请确保确实分配了所有内存,并在代码中正确释放了这些内存。 然后,请确保对内存泄漏进行了疯狂的测试,而没有其他方法来确保没有任何对象躺在一定数量的内存中。
我只想说我不是ARC的内存管理专家,所以最好与其他两个来源进行核对,以确保我的答案正确。
如果我说错了,有人打我。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.