Cocoa UI和一般框架元素如何防御恶意攻击?

Toa*_*tor 6 security macos cocoa defensive-programming

到目前为止,我对整体安全性考虑并不关心,因为我一直在开发促销和不加批判的iPhone应用程序.

但是,目前我正在研究Mac应用程序,因为它涉及敏感的用户信息,因此需要更多关于此事的更多信息.

虽然我知道我必须注意以物理形式(在磁盘上)保护数据,例如通过加密它,我想知道在正常使用应用程序的过程中它驻留在内存中是多么安全.

因此,我想知道:
只要它仅构建在NSTextField和Core Data等框架元素上,我的应用程序的安全性如何?

Cocoa输入元素对恶意攻击有多敏感?保护使用Core Data存储的已保存数据的最佳方法是什么?

Mic*_*ach 6

Objective-C是一种动态语言,这意味着可以在运行时替换类和类的特定方法.例如,这就是1Password插件进入Safari的方式,Dropbox可以在Finder中找到它.目前,恶意攻击者可能会使用低级别的mach_inject API或许多其他略高级别的方法(如SIMBL或OSAX注入)将代码加载到您的应用中.将代码加载到您的应用程序后,Objective-C的动态特性使理论上可以将NSTextField替换为攻击者选择的子类或类中的特定方法,包括侦听和存储用户输入.NSTextField的安全版本是专为密码设计的,可能会对此有一些保护,但我没有找到相应的特定文档.Security.framework和keychain API通常会对内存中的数据进行保护,并且它们不基于Objective-C,因此干扰它们要困难得多(尽管可能仍然存在).