阻止Cocoa应用程序使用虚拟内存,或至少在使用后安全地清除它

时间:2011-06-19 19:08:54

标签: objective-c cocoa security

如何阻止我的Cocoa应用程序使用任何虚拟内存,或者如果不可能,请在使用后安全地清除虚拟内存(在硬盘上)?

我担心这些事情,因为我要说我正在创建一个类似1Password的应用程序来存储密码。让我们说,虽然密码暂时显示给用户并从内存中读取,但如果需要虚拟内存怎么办?然后我冒着将实际密码暴露在硬盘驱动器上以便入侵者查看的风险!

另一个例子是加密软件。放入文件,放出加密文件。如果需要虚拟内存,则未加密的文件内容可能会暴露在硬盘驱动器上。这非常糟糕,因为用户只希望暴露原始文件本身。由于虚拟内存使用,用户不希望文件内容暴露在硬盘驱动器上!事实上,用户不必担心这些事情。

1 个答案:

答案 0 :(得分:4)

Apple提供了一个系统级功能,可以解决这个问题,称为安全虚拟内存,默认情况下在较新的Mac上启用(我认为Snow Leopard以后)。您可以从“系统偏好设置”的“安全”面板中打开和关闭它。

据我所知,在应用程序级别执行此操作并不容易,但您当然可以鼓励用户启用它。