新用户注册前运行Play Integrity/App Attest流程是否存在配额耗尽风险?
注册流程的配额耗尽风险分析
注册流程
- 用户输入凭据以注册应用
- 前端调用后端获取nonce/challenge
- 前端从设备生成token并发送至Google/Apple服务器获取验证token
- 前端将验证token与注册凭据一同发送至后端
- 若验证token有效,后端允许注册
风险判断
这个流程确实存在被攻击者耗尽Google/Apple服务器调用配额的风险,核心原因在于:
- 攻击者可以批量模拟前端行为,反复请求后端拿到nonce后,持续向Google/Apple服务器发起验证请求。这一步由前端直接触发,后端无法直接管控前端对第三方平台的调用频次。
- 攻击者甚至不需要完成注册,只要不断重复“获取nonce→请求第三方验证”的步骤,就能快速消耗第三方平台给应用分配的配额/速率限制。
缓解建议
可以通过以下方式降低这类风险:
- 给后端的nonce/challenge接口加严格限流,比如限制单个IP、设备的请求频率,防止攻击者批量获取有效nonce;
- 给生成的nonce绑定唯一会话或设备标识,确保每个nonce只能被使用一次,且仅对应特定请求上下文,避免攻击者复用nonce发起大量验证请求;
- 前端侧添加基础的本地频率限制(比如短时间内禁止重复发起验证),但这种方式容易被绕过,仅能作为辅助手段。
内容的提问来源于stack exchange,提问作者Bear Bile Farming is Torture
相关产品推荐
相关产品推荐

