我正在建立一个反应本机应用程序,我在其中将凭据硬编码到应用程序中。这就是为什么我想知道在与本机模块的通信和/或反向工程应用程序之间是否存在任何安全隐患。如果是这样,我可以采取哪些预防性措施来仍然可以访问这些凭证并将其置于本地。如果您能想到本机在安全性方面的任何其他影响,请告诉我。
谢谢!
答案 0 :(得分:0)
对于我在我创建的企业应用上使用渗透测试人员时所学到的部分问题,我得到了一个小答案。当您对字符串文字进行硬编码时,很容易退出您的应用。因此,为了混淆我得到的一点建议是将多个字符串附加在一起以获取加密密码。因此,当黑客从你的应用程序中拉出字符串时,他不知道哪些是一起去的,以及以什么顺序获得正确的密码。
如果你想更进一步,他建议我在密码字符串中使用[SomeBuiltInClass class]
,这样即使黑客从我的应用程序中提取所有字符串文字,也没有任何组合他们将获得正确的密码。
[NSString stringWithFormat:@"%@%@%@",[NSString class],@"SomeIntermediateSomething",[NSData class]];
但即使你做了所有这些并且黑客将你的应用程序放在越狱设备中,他仍然可以看到你的app推送的所有调用和所有参数,所以如果你用任何方法传递它们,他们仍然可以获得凭据或功能。因此,当您想要使用它时,准确地提取密码也是关键。他们还可以使用他们希望的任何数据在您的应用程序中运行任何方法或功能,这样他们就可以获得密码,就像他们知道要调用哪些函数一样。
我确信还有其他人比我更了解,但这些是我过去所做的一些事情。