75% 的移动应用程序未通过基本安全测试。黑客越来越关注移动渠道,使移动应用程序成为欺诈和安全漏洞的主要目标。随着这种威胁的不断增长,组织和应用程序开发人员必须采用主动方法来确保移动应用程序安全。OWASP 十大移动风险概述了开发人员为保护其应用程序而必须解决的最关键的安全漏洞。
本文主要介绍了OWASP更新后的调整部分以及如何应对相应的威胁。
什么是 OWASP Mobile Security Guide?
移动安全测试指南 (MSTG) 提供了 iOS 和 Android 平台移动应用程序安全测试和逆向工程的详细参考。MSTG 包括以下内容:
-
对移动平台内部的洞察
-
整个移动应用程序开发生命周期的安全测试
-
基本的静态和动态安全测试方法
-
移动应用的逆向工程和篡改技术
-
软件保护评估
-
符合移动应用程序安全验证标准 (MASVS) 要求的全面测试用例。
10 年 2024 大 OWASP Mobile 更新
M1:凭证使用不当
2024 年 OWASP 移动 Top 10 中纳入了不当凭证使用,凸显了人们对用户凭证处理不当的日益担忧。这一新的重点强调了安全身份验证方法的重要性,并强调了加强对用户身份保护的必要性。它反映了移动应用程序安全形势的不断发展,其中正确处理密码、令牌和 API 密钥等凭据对于防止未经授权的访问和保护敏感信息至关重要。解决此风险对于增强整体移动应用程序安全性和保护用户信任也是关键。
防止凭据使用不当
避免不安全的凭证管理需要消除硬编码凭证并安全地管理用户凭证。
避免对凭证进行硬编码
移动应用程序代码或配置文件中的硬编码凭证很容易被攻击者利用,从而为未经授权的访问提供直接的入口点。为了增强安全性,请始终避免在应用程序中嵌入凭据。
安全的用户凭证管理
遵循以下做法,确保安全地存储、传输和验证用户凭证:
-
在传输过程中加密凭据。
-
避免将凭证直接存储在设备上;请改用安全、可撤销的访问令牌。
-
使用强身份验证协议。
-
定期更新和轮换正在使用的 API 密钥或令牌。
M2:供应链安全性不足
2024 年 OWASP 移动 10 大排名中新增的供应链安全不足表明,人们更加重视移动应用程序流程中的输入和输出验证。这种扩大的关注点凸显了对数据完整性进行更全面评估的必要性,以确保供应链中的外部组件和依赖项是安全的。通过解决此问题,移动应用程序可以更好地防止通过第三方服务或不安全库引入的漏洞,最终增强应用程序及其生态系统的整体安全性。
防止供应安全问题
-
在整个移动应用开发生命周期中纳入安全编码实践、全面的代码审查和定期测试,以识别和解决潜在漏洞。
-
确保安全的应用程序签名和分发过程,以防止攻击者分发应用程序的恶意版本。
-
仅使用受信任和验证的第三方库或组件,以最大限度地降低漏洞风险。
-
对应用程序更新、补丁和版本实施强大的安全控制,以防止任何漏洞被利用。
-
通过测试、扫描或其他技术定期监控和检测供应链安全事件,以快速识别和响应威胁。
M4:输入/输出验证不足
OWASP 2024 年 TOP 10 中也加入了 输入/输出验证不足,这凸显了对整个移动应用程序安全流程中全面验证数据的迫切需求的高度关注。这种对全面检查的强调确保了数据完整性,并有助于防止数据篡改和注入攻击等漏洞。解决此问题可增强移动应用程序的整体安全性和可靠性,从而为系统及其用户提供更好的保护。
防止输入/输出验证不足
要防止输入/输出验证不足问题,请遵循以下做法:
输入验证:
-
使用严格的验证技术来验证和清理用户输入。
-
实施输入长度限制并拒绝意外或恶意数据。
输出清理:
-
正确清理输出数据以防止跨站点脚本 (XSS) 攻击。
-
在显示或传输数据时应用输出编码技术。
特定于上下文的验证:
-
执行针对数据上下文(例如,文件上传、数据库查询)定制的验证,以阻止路径遍历或注入等攻击。
数据完整性检查:
-
实施检查以确保数据完整性,检测和防止损坏或未经授权的修改。
安全编码实践:
-
遵循安全编码原则,例如使用参数化查询和准备好的语句来避免 SQL 注入。
定期安全测试:
-
频繁进行安全评估,包括渗透测试和代码审查,以发现和缓解漏洞。
M6:隐私控制不足
移动应用程序中隐私控制不力会给用户数据带来重大风险,可能会暴露敏感信息并破坏用户信任。当开发人员未能实施强大的隐私保护时,这些风险就会出现,从而导致各种违规行为。
常见问题包括过度收集数据、未经用户同意共享信息以及不当处理个人身份信息 (PII)。这种做法使用户容易受到隐私泄露、身份盗用和可能的法律影响。
防止隐私控制不足
为了防止侵犯隐私,最安全的策略是尽量减少个人身份信息 (PII) 的收集和处理。如果 PII 不存在,它就不会被泄露。这需要全面了解应用程序中的所有 PII 资产。确定后,请考虑以下事项:
-
所有 PII 是否都真正必要(例如,姓名、地址、性别、年龄)?
-
是否可以将某些 PII 替换为不太敏感的数据(例如,将细粒度位置交换为粗粒度位置)?
-
是否可以减少 PII 的数量(例如,位置每小时更新一次,而不是每分钟更新一次)?
-
某些 PII 是否可以匿名或模糊(例如,使用哈希、分桶或添加噪声)?
-
是否可以在一段时间后删除 PII(例如,仅保留过去一周的运行状况数据)?
-
用户是否可以选择提供可选的 PII 以获得更好的服务,同时被告知额外的风险?
其余的 PII 只应在绝对必要时存储或传输,并且应通过适当的身份验证和可能的授权来保护访问。关键数据应该有额外的防御层;例如,可以使用设备 TPM 中密封的密钥对运行状况数据进行加密。这可确保即使攻击者绕过沙盒保护,数据仍然无法访问。
此外,威胁建模可以识别特定于应用程序的潜在隐私侵犯风险,从而使安全工作能够专注于这些领域。用于静态和动态安全分析的工具可以帮助检测常见问题,例如记录敏感数据或泄漏到剪贴板或 URL 查询参数。
结论
2024 年 OWASP Mobile Top 10 强调了移动应用程序在当今威胁形势下面临的紧迫安全风险,同时强调了采取主动措施来保护用户数据和维护应用程序完整性的重要性。通过了解和解决这些漏洞(从不当的凭据使用到不充分的隐私控制),开发人员和安全团队可以显著改善其移动应用程序的安全状况。实施最佳实践,例如安全编码、定期安全评估和有效的数据管理策略,不仅有助于降低潜在风险,还可以增强用户对移动应用生态系统的信任和信心。随着移动安全形势的不断发展,随时了解这些主要风险并相应地调整安全措施对于保护敏感信息和确保强大的应用程序安全性至关重要。