首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS应用程序安全性的最佳实践

iOS应用程序安全性的最佳实践
EN

Stack Overflow用户
提问于 2012-02-25 22:24:37
回答 5查看 18.2K关注 0票数 48

在考虑iPhone/iPad应用程序安全性时,我可以注意到:

  • 广泛使用的黑客工具允许文件系统访问。
  • 网络拦截,中间人攻击

==>数据窃取威胁

还包括:

  • 提供黑客工具,允许与朋友/社区免费共享付费应用程序(见Cydia)
  • 黑客工具的可用性,这些工具允许在不付费的情况下购买应用程序(见Cydia,并听说它不适用于任何应用程序)

==>收入损失威胁

因此,我想知道#1 在iOS应用程序中获得更好安全性的最佳实践是什么?,#2 也是减少收入损失和最小化黑客暴露的最佳方法。

关于#1,我看过一些关于安全1 2 3. 4. + 苹果文档的WWDC幻灯片。

我可以说,在这些最佳做法之间有:

  • 使用提供数据保护的API(比如带有NSFileManager属性的NSFileProtectionKey )
  • 使用密钥链
  • 使用SSL保护敏感数据并使用证书

对于#2,我认为使用基于免费应用程序的业务模型,那么在带有商店收据的应用程序购买中,验证可以是收入损失最小的模型。

您的安全最佳实践是什么,以及最小化应用程序黑客机会的最佳方法是什么?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-02-25 22:51:00

#1在iOS应用程序中获得更好安全性的最佳实践是什么?

适当的数据安全在很大程度上取决于信息的性质。是长寿还是短命?它是可用于打开其他事物的通用凭证,还是单个数据?潜在的损失是隐私、经济还是安全?确定适当的保护需要一个具体的案例,没有一般的答案。但你要求最好的实践,有几个。它们都不是完美无缺的。但这是最好的做法。以下是几个:

  • 将敏感信息存储在密钥链中
  • 尽可能将数据保护设置为NSFileProtectionComplete
  • 不要存储实际不需要的敏感数据,也不要存储比需要更长的时间。
  • 存储特定于应用程序的身份验证令牌,而不是密码。
  • 使用HTTPS验证您正在联系的服务器。不要接受无效或不受信任的证书。
  • 连接到您自己的服务器时,请验证该服务是否显示您已签名的证书,而不仅仅是“受信任的证书”。

这只是一种零星的方法,但它们设定了基本的基调:

  • 使用内置的API来存储东西。随着苹果公司提高安全性,你可以免费获得好处。
  • 避免存储敏感信息,并将所存储内容的敏感性降到最低。
  • 验证与您通信的服务。

第二,减少收入损失和尽量减少黑客攻击的最佳方法是什么?

这一点已经讨论了很多次。这一答复包括与其他几次讨论的链接:

iPhone应用程序到网页的https加密安全

简单的回答是:担心你的客户,而不是你的非客户。许多海盗永远不会给你钱,所以你的时间和金钱花在帮助你的实际客户想要支付你,并使他们很容易这样做。专注于赚更多的钱,而不是保护自己不可能拥有的钱。永远不要,永远不要在惩罚一个不付钱的顾客的努力中给一个付费的客户打电话.复仇是傻瓜的游戏,是浪费资源。

有两种很好的避免盗版的方法:

  • 不要发表。
  • 出版没人想要的垃圾。

正如他们所说,你可以做一些基本的事情是值得的,以保持诚实的人诚实(有些在各种相关的讨论中讨论)。但不要躺在睡梦中担心如何阻止海盗。躺在睡梦中,担心如何让你的顾客吃惊。

永远记住:苹果花的钱比我们大多数人一生中为保护iPhone而花费的钱还多。还是被越狱了。想想你的预算将会实现什么。

票数 71
EN

Stack Overflow用户

发布于 2012-02-25 22:54:57

当攻击者获得对设备的物理访问(例如盗窃)时,他几乎可以做任何事情。注意,这是非常容易读取应用程序文件。被盗的设备很容易被越狱,攻击者甚至可以访问受保护的文件。

我关于将敏感数据存储到设备上的建议:

  1. 如果它们可以存储在安全的服务器上,就不要这样做
  2. 使用您自己的加密,解密时,用户登录,删除解密文件时,他们注销或在一段时间后,应用程序是在后台。
  3. 每个密码和加密密钥都必须存储在密钥链中。
票数 7
EN

Stack Overflow用户

发布于 2013-01-04 11:08:58

罗伯·纳皮尔提到了一些好的观点。但为了让它更安全,

1在iOS应用程序中获得更好安全性的最佳实践是什么?

  1. 将敏感信息以加密格式存储在密钥链中。
    • 在对设备的物理访问时,可以轻松地转储密钥链数据。

  1. 设置适当的数据保护类(NSFileProtectionComplete优先)。
  2. 始终使用自定义加密和内置API来存储数据。
    • 即使黑客在内置的API中发现漏洞,应用程序也是安全的。

  1. 删除前重写临时存储的数据。
    • 法医技术可用于恢复已删除的数据。

  1. 使用HTTPS和证书钉扎。不要接受不可信的证书。
  2. 储存重要的褶皱、方形石等.库/缓存文件夹中的文件。
    • 存储在缓存文件夹中的文件不会使用iTunes。

  1. 始终使用最新的XCode构建应用程序。
    • 仅添加对最新SSL密码的支持。

2减少收入损失和尽量减少黑客攻击的最佳方法是什么?

也许阻止盗版是不可能的,但我们可以让它变得更加强硬。

  1. 防止应用程序在越狱设备上运行(仔细考虑,您可能会失去有效的客户)
    • 添加检测越狱存在的代码

  1. 防止应用程序附加到调试器
    • 从AppStore下载的应用程序是加密的。调试器用于解密和分析应用程序。添加检测调试器的代码。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9448632

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档