MASWE-0001: 敏感数据插入日志
概述¶
移动应用可能会将敏感数据写入日志。这可能包括敏感的用户数据,例如密码、信用卡号或其他个人身份信息(PII),以及敏感的系统数据,例如加密密钥、会话令牌或其他敏感信息。
在开发阶段,记录所有可能的信息对于调试应用非常有用。然而,在生产环境中,这可能并非总是必需的,应尽可能避免,以防止意外暴露给潜在攻击者。
引入方式¶
这通常可以通过两种方式发生
- 系统日志:应用程序可能会将敏感数据记录到系统日志中,设备上的其他应用程序可以访问这些日志(在旧版操作系统或受感染的设备上,或者如果它们具有适当的权限)。
- 应用日志:应用程序可能会将敏感数据记录到应用程序数据目录中的文件中,如果设备已被 Root,设备上的任何应用程序都可以访问这些文件。
影响¶
保密性丧失:日志中的敏感数据面临暴露给能够访问设备的攻击者的风险,攻击者可能会提取这些数据。这可能导致进一步的攻击,例如身份盗窃或应用程序后端受损。
缓解措施¶
以下是避免在生产版本中记录敏感数据的通用建议
- 完全避免记录敏感数据。
- 在日志中编辑敏感数据。
- 除非日志语句被认为对应用程序是必需的,或经安全审计明确认定为安全,否则应删除日志语句。
- 正确使用日志级别,以确保敏感数据不会在生产版本中被记录。
- 使用标志在生产版本中禁用日志记录。
每个平台的文档都提供了开发人员的最佳实践