好的,我可以说我的手机上有一个应用程序,它使用数据库(SQLLite / RealmDb等)存储应用程序使用的数据,然后一些不良实体(黑客)获取我的无根电话并以某种方式获得访问权。
如果实体可以反编译代码并创建自己的应用程序(或只是需要数据的部分)来使用数据库,那么他是否可以将数据库从我的设备移动到另一台设备(或设备上的另一个应用程序) ,它并不重要)然后访问/使用数据库中的数据(数据是否加密)?
示例是获取加密数据并将其直接发送到休息api并获得有效响应。
是否存在与移动数据库的“篡改连接”,因此无法在其他设备/应用程序沙箱中使用?它可能在数据库和操作系统之间有所不同。
Desclaimer : 我的所有应用程序和api都使用jwt令牌和服务器端验证,并在https固定到服务器证书之上,所以我不要求最佳实践安全性。通过我试图回答“可以做到吗?”这个问题更像是出售安全管理的需要。
答案 0 :(得分:0)
Realm和SQLite都由单个文件支持。因此,如果黑客可以访问文件系统。他们可以将文件复制出去并随意使用它,包括阅读和修改它。
如果你的应用程序附带预先填充的数据库,那么他们就可以反编译应用程序并将文件复制出来。
如果您担心从设备泄漏数据,可以通过加密本地数据库来防止这种情况。对于Android和iOS,Realm都有in-built encryption,如果你包含SQLCipher,SQLite会支持它。
只要您的加密密钥未存储在设备上,但是从本地登录或从服务器发送,那么拥有本地数据库应该100%安全,而不用担心数据泄漏。