使用增强/双因素身份验证
详细描述
弱或不存在的身份验证可以授予攻击者对应用程序的未经授权的访问权限。
建议
密码不应该是简单的。 最好要求(如果不是至少支持)复杂密码,包括至少六个字母数字字符的长度(更多字符总是更强)。 作为登录过程的一部分,要求选择一个秘密词或图标(不是用户自己创建的)可以帮助保护用户的帐户,以防他们重复使用密码,并防止密码被从其他数据猜出。
在某些情况下,用户名和密码不能为移动应用程序提供足够的安全性。 当涉及敏感数据或事务时,实施双因素身份验证。 在用户每次登录时都进行二次身份验证可能不大合适,但可以按时间间隔或在访问所选功能时使用。 可以考虑逐步认证方法以提供对非事务性区域的正常访问,但需要针对敏感功能进行第二层认证。
增强认证的选项包括:
- 附加秘密词/图标
- 通过短信或电子邮件提供的附加代码 - 但请注意,攻击者可能会在被盗设备上访问这两者
- 密码加上其他用户已知的值,例如用户选择的个人因素
- 安全问题和答案,由用户预先选择(例如在注册期间)
对于最高级别的安全性,使用一次性密码,要求用户不仅拥有正确的凭据,而且还要包括一次性密码的物理令牌。
CWE/OWASP
- OWASP Mobile Top 10: M5 - Poor Authorization and Authentication
- CWE: CWE-308: Use of Single-factor Authentication