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

标签 ios security swift decompiling

根据 this post ,可以反编译 iOS 应用程序。

如何防止攻击者访问我的 AWS DynamoDB 数据库?只需公开访问 key ,如 Amazon developer guide 所示看起来不太安全。

我认为我可以使用钥匙串(keychain)来存储 key ,但我觉得对于有动机的攻击者来说,如果他们拥有应用程序的汇编源代码,将有一种简单的方法来解决这个问题。

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

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

如何防止攻击者反编译我的 iOS 应用程序并获取数据库访问 key ,或者至少防止他们造成任何重大破坏,例如删除用户?

最佳答案

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

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

关于ios - 防止攻击者反编译 iOS 应用程序并获取数据库访问权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29933574/

相关文章:

php - 如何防止 PHP 中的 SQL 注入(inject)?

powershell - 恶意软件使用 .Lnk 文件到 Powershell

swift - 使用三元 if 运算符的模式匹配

ios - initWithCoder 中的 dataSource 为零

php - 如何保留用户登录和退出的日志?

ios - 查询限制(到最后 :1) firebase Chat Mesenger Swift

json - 在 Swift 中将 JSON 转换为 NSData,以及将 NSData 转换为 JSON

ios - 按 JSON 数组对 TableView 进行分组

ios - 如何快速循环 UIBezierPath 中的点?

ios - Xamarin 应用程序键盘的大小与 iOS 键盘不同