• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios 10 应用程序在执行期间内存中有敏感数据

[复制链接]
菜鸟教程小白 发表于 2022-12-12 22:11:54 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

是否可以从正在运行的应用程序中读取内存中的数据。即是否可以转储正在运行的 ios 应用程序的内存并能够知道变量中的数据。

由于我们在 windows 操作系统上进行内存编辑,用于更改正在运行的应用程序的变量,是否可以这样做或至少从变量中读取数据。

例如:如果有一个带有敏感数据(字符串)的变量被加密,并且用户只能通过提供密码来解密数据。同一用户是否有可能在应用程序执行期间从内存中获取加密形式的数据(以便他可以暴力破解或其他一些技术在没有密码的情况下解密数据)

P.S : 加密后的数据将通过网络提供,因此不会硬编码到应用程序中。

如果还有其他漏洞,请告诉我。

无论如何,通过在 Sandbox 中运行应用程序是安全的。



Best Answer-推荐答案


iOS 上的应用是沙盒化的,无法访问彼此的内存或数据(除非通过各种方法明确共享)。

可以通过配置严格的数据保护类来进一步保护存储在磁盘上的数据,例如 NSFileProtectionComplete . (尽管您应该仔细评估适合您的应用的数据保护等级 - 最严格的等​​级会在设备锁定时阻止数据访问,即使您的应用在后台运行。)

但是,所有这一切都假设设备的安全性仍然完好无损(按设计)。

过去,iOS 可以进行越狱,使设备所有者能够绕过操作系统中的各种安全机制。在越狱的设备上,所有的赌注都没有了——如果设备所有者能够绕过 iOS 的安全功能,他们或许能够轻松访问您应用内存中的内容。

操作系统或支持库中的安全漏洞也可能导致任意内存访问,或在您的应用上下文中远程执行代码。

这一切归结为:

您最终是在用户的他们的设备上提供数据。

您无法确保 100% 安全抵御坚定的攻击者,并且您永远不应假设某人不可能完全修改您的应用在其设备上的行为(包括访问您提供给他们的所有数据)。

但您可以通过以下方式使其变得更加困难:

  • 最大限度地减少一次存储在内存中的未加密数据量,以及保持未加密的持续时间。

  • 确保在您的服务器上执行访问检查 - 而不是信任客户端仅解密允许用户访问的数据。 (例如:让客户端向服务器验证用户,让服务器只提供该用户被允许访问的数据。)

关于ios 10 应用程序在执行期间内存中有敏感数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39654101/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap