防止攻击者反编译iOS应用并获取数据库访问权限

Joj*_*dmo 0 security decompiling ios swift

根据这篇文章,可以反编译一个iOS应用程序。

如何防止攻击者访问我的AWS DynamoDB数据库?像Amazon开发人员指南中所示的那样将访问密钥公开开放似乎并不十分安全。

我认为我可以使用钥匙串来存储密钥,但是对于有动机的攻击者,如果他们拥有应用程序的汇编源代码,我觉得这将是一种简便的方法。

目前,我使用Amazon Cognito进行连接。我需要使用的只是身份ID和角色名称。我看不出有什么能阻止攻击者简单地获取这些值并连接到数据库。

例如,什么阻止了攻击者反编译Facebook iOS应用程序代码并删除所有用户?

如何防止攻击者反编译我的iOS应用程序并获得对数据库访问密钥的访问权,或者至少阻止他们造成任何重大损害(例如删除用户)?

dan*_*n78 5

根据我公认的有限经验,我想说,一个真正有动机的攻击者将始终能够检索用于访问数据库的凭据,无论您对可执行文件做什么。但是,我想问一问,为什么您的应用程序首先需要直接访问数据库。

保护服务器端数据的通常方法是使用Web服务访问它。应用程序通过请求联系Web服务,服务联系数据库,获取数据,然后将其发送回去。由于Web服务和数据库都托管在您的服务器上,并且仅Web服务需要直接访问数据库,因此无需在应用程序中存储数据库访问信息。问题解决了。