会员服务 登录 注册
×
资讯活动

2024版OWASP移动应用系统安全风险简析

发布时间:2024-05-09 来源:金属加工

随着移动互联网用户数量急剧增长,移动应用系统已经实现了典型生活场景的全覆盖,并渗透到了多个企业级应用领域。移动应用的快速扩张也带来了诸如数据违规收集、数据恶意滥用、数据非法获取、数据恶意散播等安全风险。这些安全风险广泛存在于当前主流的移动应用系统中,严重威胁数据安全与个人信息安全。

近日,OWASP(全球开放应用软件安全项目组织)发布了最新版移动应用系统10大安全风险目录,这是自2016年以来该机构首次对移动应用系统相关的风险进行更新,重点增加了对供应链安全、隐私保护等方面的风险关注。这份目录对广大移动应用程序开发人员来说很重要,它描述了移动应用程序开发时最严重的安全风险相关信息,同时也给出了缓解方法和建议。

1.凭据使用不当

OWASP认为,当前移动应用程序开发的主要风险是来自凭据、API密钥及其他秘密信息的安全性。黑客可以利用移动应用程序中硬编码凭据和使用不当的运行时秘密信息,对移动应用程序的关键功能实现未授权访问。此外,如果攻击者借助一些定制的工具和脚本,就可以进一步通过被盗的密钥来访问后端系统和API。

防护建议:

开发则应该严格禁止将凭据、密钥等信息保留在应用程序代码中,同时应该采取措施以保护运行中的移动应用程序静态和传输中秘密信息。此外,组织应该确保能够定期快速地轮换任何密钥,尤其是第三方API密钥。

2.供应链安全性不足

供应链攻击是针对企业使用的外部组建或工具的攻击,能够在组织不知觉的情况下将漏洞、不安全内容或恶意代码引入到应用程序中。这些组件如果没有得到适当的保护,可能会带来各种安全风险。例如,第三方组件可能访问敏感数据或允许恶意代码在设备上运行。供应链攻击路径可能是组织内部的恶意员工、系统中引用的某段第三方代码,以及对组织的系统获得访问特权的黑客。

防护建议:

组织应该加强监控和检查移动应用程序中所使用的所有第三方代码,并在发布移动应用程序代码之前进行签名,这样应用程序可以在运行时被证明是真实的、未被篡改的,一旦发现来自篡改过的应用程序访问请求,就应该立即阻止。

3.不安全的身份验证/授权

身份验证是验证用户是否是真实、合法的用户,而授权是验证用户是否拥有访问特定资源或服务级别的凭据。身份验证能够有效防止窃取和使用用户凭据,然后使用这些凭据登录到应用程序或直接访问后端服务器。而授权问题通常归因于数据和资源的访问级别实施不当。

防护建议:

通过开展应用程序认证可以有效防护上述风险。在移动应用程序运行时进行完整性检查可以检测出任何未经授权的代码更改。

4.API输入/输出验证不足

应用程序编程接口(API)允许移动应用程序相互通信和共享数据,因此,大量第三方API需要被集成到移动应用程序中以提供更多功能的服务。而API中的常见漏洞是由恶意代理篡改输入数据引起的。这类攻击包括SQL注入、命令注入和跨站脚本(XSS)攻击,它们经常出现在OWASP 各类应用风险名单上。未经授权的代码执行、数据泄露、数据损坏或服务中断都是可能会出现的危险后果。

防护建议:

企业组织应该确保移动应用程序所使用的第三方API是安全的。此外,安全人员还应该进一步验证API接口的安全措施是否有效。OWASP已经给出了关于测试和缓解最常见API漏洞的详细指导准则。一个重要的行动原则就是要阻止非真实应用程序所发出的访问请求。这可以有效地防止攻击者利用和API相关的零日漏洞。

5.不安全的网络通信

移动应用程序运行会面临与传输或接收数据相关的威胁。移动应用生态系统中的一个关键攻击面就是移动应用程序与后端服务器之间的链接通道。针对这条通道发起的中间人(MitM)攻击可以对移动用户构成了重大威胁。如果攻击者可以控制客户端,那么即便使用SSL,中间人攻击活动也可以通过应用程序重新打包或使用Frida之类的钩子工具在运行时篡改应用程序的行为来发生。移动应用程序开发者要假设网络层的通信活动可能会被窃听,因此客户端设备上的信任证书存储区可能会被人恶意篡改,这点很重要。

防护建议:

动态证书绑定可以有效阻止MitM攻击,并消除静态绑定的成本负担。它允许在服务器端更新pin码,而无需更新应用程序。此外,动态绑定与应用程序和客户端认证相结合,可以防止通过篡改移动客户端信息来实施MitM攻击。

6.隐私控制能力不足

隐私控制不足是本次更新中新加入的安全风险。隐私控制主要指保护用户的个人身份信息(PII)安全,这些信息可能被攻击者用于欺诈或勒索。通常来说,PII可能被泄露(即违反保密性)、操纵(违反完整性)或销毁/阻止(违反可用性)。

防护建议:

移动应用程序设计和开发时应将所处理的PII数量和种类保持在绝对最低限度,并充分验证应用程序能够符合GDPR、CCPA以及我国《个人信息保护法》等隐私法规的监管要求。

7.二进制代码保护不足

移动应用程序的二进制代码通常可以从应用程序商店下载或从移动设备中复制,所以二进制攻击很容易通过反向工程或代码篡改来策划发起,从而窃取知识产权或篡改应用程序功能。

防护建议:

通过使用代码混淆技术保护代码可以有效阻碍对二进制代码的攻击,应考虑将其作为一种保护知识产权避免被竞争性应用程序滥用的手段。此外,应该使用运行时保护和应用程序完整性检查方案,及时识别和阻止以任何方式被篡改的应用程序。同时,前面所介绍的轮换API密钥和秘密信息保护方法也是增加对二进制代码保护的关键要素。