苹果公司最近开始通知部分移动应用开发人员,称其违反了苹果的使用条款,主要是因为这些开发人员通过Rollout.io或者JSPatch框架使用热修复。
在写给开发人员的电子邮件中,苹果公司表示:“您的应用、扩展和/或链接框架似乎包含不合规代码,这些代码可在App Review批准后更改应用的行为或功能,这不符合Apple Developer Program License Agreement和App Store Review Guideline 2.5.2。”
2.5.2规定:“应用程序包应该为自包含,不得在指定容器区域外读取或写入数据,也不得下载、安装或执行代码,包括其他iOS、WatchOS、MacOS或TvOS应用。”
热修复是对最终用户透明的远程更新过程,在大多数情况下,这对开发人员和最终用户是很好的方法,例如当移动应用漏洞需要紧急修复时。然而,Apple App Store这样的应用生态系统并不喜欢热修复,因为应用可在苹果的App Store审查后更改应用行为或功能。这可能导致恶意开发人员或中间人攻击者根据需要注入或更改代码,从而避开苹果的监督。
基于笔者对恶意代码的了解,再加上想要利用系统安全和隐私漏洞的攻击者和政府机构的数量,笔者认为这并不能责怪苹果公司。随着App Store的安全性不断受到审查,允许开发人员使用热修复可能会破坏苹果正试图为确保用户最佳利益而在进行的工作。
当苹果允许这种类型的修复时,可能没有考虑恶意开发者滥用的情况。鉴于移动应用用户的总数,这只影响着相对较少的开发人员,但这是苹果为最大限度减少总体风险作出的业务决策。
那么,这个改变对你的企业环境会有什么影响?从最终用户的角度来看,所有曾经进行热修复的iOS应用都比以前更安全,因为现在更新必须由苹果重新审查(漏洞更新必须通过App Store审查过程,但开发人员可对严重漏洞申请所谓的快速审查)。
不过,笔者并不认为苹果公司可以确保他们可通过这个流程找到每个应用中的每个漏洞。通过消除热修复,笔者认为他们将不得比进行更多安全检查来追踪移动应用漏洞。然而,考虑到我们仍然面临的所有基本计算机和信息漏洞,与热修复相关的任何漏洞利用都可以不再考虑。
在企业安全方面,需要考虑以下几个方面:
1. 在您的移动应用开发生命周期已经构建或者需要构建的安全级别。移动应用属于您的传统软件开发生命周期控制吗?谁定义标准和威胁建模?
2. 适用于您环境中使用的移动应用的审查级别,特别是用于核心业务目的的移动应用。它们有风险吗?是否使用Checkmarx和NowSecure等供应商的工具测试安全漏洞?
3. 在BYOD和移动应用使用方面用户允许做出的决定。这种影子IT如何影响着攻击面或者提高业务风险级别?
4. 您的环境中移动和移动应用监控和警报数量。您能否检测到受攻击的应用或者恶意网络流量?一旦发现,您的计划是什么?
5. 您的整个网络安全架构,包括虚拟局域网、访客无线网络和云服务。如果易受攻击的移动应用被利用,您的生产环境关键部分将如何受到影响?
笔者很欣赏Rollout.io等公司的开发人员和工作人员为确保移动应用体验更好更安全所做出的努力。毕竟苹果消除热修复的决定肯定会带来一些不好的影响,并且,可能会影响移动应用开发和支持生命周期的效率和安全性。Rollou.io已经提出基于证书的解决方案,这可能帮助大家找到舒适的中间地带。
无论事情最终发展如何,也无论您是关注应用安全还是信息安全,都应该关注这个问题及其结果。