Android 应对本机安全问题

Android 应对本机安全问题,android,ios,security,react-native,credentials,Android,Ios,Security,React Native,Credentials,我正在构建一个react本机应用程序,其中我正在将凭据硬编码到应用程序中。这就是为什么我想知道与本机模块的通信和/或应用程序的反向工程能力之间是否存在任何安全隐患。如果是这样的话,我可以采取哪些预防措施,以便仍然能够访问这些凭据并在本地使用它们。如果您能想到react native在安全方面的任何其他影响,请告诉我 谢谢 对于您的部分问题,我有一个小的答案,这是我在与渗透测试人员一起使用我创建的企业应用程序时学到的。当您硬编码字符串文字时,很容易从应用程序中取出。因此,为了混淆这一点,我得到的一

我正在构建一个react本机应用程序,其中我正在将凭据硬编码到应用程序中。这就是为什么我想知道与本机模块的通信和/或应用程序的反向工程能力之间是否存在任何安全隐患。如果是这样的话,我可以采取哪些预防措施,以便仍然能够访问这些凭据并在本地使用它们。如果您能想到react native在安全方面的任何其他影响,请告诉我


谢谢

对于您的部分问题,我有一个小的答案,这是我在与渗透测试人员一起使用我创建的企业应用程序时学到的。当您硬编码字符串文字时,很容易从应用程序中取出。因此,为了混淆这一点,我得到的一个建议是将多个字符串附加在一起以获得加密密码。因此,当黑客从你的应用程序中提取字符串时,他不知道哪些字符串一起出现,以及以什么顺序获得正确的密码

[NSString stringWithFormat:@"%@%@%@",[NSString class],@"SomeIntermediateSomething",[NSData class]];
如果你想更进一步,他建议我在密码字符串中也使用
[SomeBuiltInClass]
,这样即使黑客从我的应用程序中取出所有字符串文字,它们的任何组合都不会得到正确的密码

[NSString stringWithFormat:@"%@%@%@",[NSString class],@"SomeIntermediateSomething",[NSData class]];
但即使你做了所有这些,黑客将你的应用程序放在越狱设备中,他仍然可以看到你的应用程序推送的所有调用和所有参数,因此如果你通过任何方法或函数传递它们,它们仍然可以获得凭据。所以,在您想要使用密码时准确地提取密码也是关键。他们还可以在你的应用程序中运行任何方法或函数,使用他们想要的任何数据,因此,如果他们知道要调用哪些函数,他们可以像你一样获得密码


我肯定还有其他人知道的比我多,但这些都是我过去做过的事情。

第一条规则-永远不要在移动应用程序中存储凭据。底线。我认为这一点已经提到,但值得重复,请参阅

所以基本上结论是,我可以让黑客更难获得我的密码,但绝不是不可能的?我想这就是安全的全部。另外,你是代表一个纯iOS应用程序发言的吗?从来没有任何方法可以制作一个安全的应用程序。你可以让事情变得越来越困难。是的,我对安全性的尝试仅仅是iOS。为了让其他阅读此问题的人受益,react原生应用程序存储在主捆绑包中,因此所有javascript代码都是可见的。可以取消最小化它,但无论如何都可以撤消。如果我不能更清楚地说明这个问题,我将稍等片刻,并将你的问题标记为正确。@putz1103当任何当前的超级计算机在不到一个人的生命周期内变得更难使用暴力时,那么这被认为是安全的:)(…假设实现良好)硬编码凭据到什么?将creds存储在服务器端,并创建一个只有经过身份验证的用户才能获取数据的服务。也许可以从链接的帖子中为您的答案添加更多背景信息(如果需要,使用引号)?