交易所安全测试(七),深入剖析用户认证环节的安全保障
交易所安全测试(七)丨用户认证
用户认证是交易所安全体系中的核心环节,它确保只有经过验证的用户才能访问系统资源和进行交易操作。以下是针对用户认证进行安全测试的一些关键点:
### 1. 认证方法测试
- "密码强度测试":验证密码是否需要满足复杂度要求,如包含大小写字母、数字和特殊字符。
- "双因素认证(2FA)测试":检查2FA机制是否有效,包括短信验证码、邮箱验证码、硬件令牌等。
- "生物识别认证测试":如果交易所支持指纹、面部识别等生物识别技术,测试其准确性和安全性。
### 2. 认证流程测试
- "登录流程测试":模拟正常登录流程,检查是否存在安全漏洞,如SQL注入、跨站请求伪造(CSRF)等。
- "密码找回流程测试":测试密码找回机制是否安全,是否存在被恶意利用的风险。
- "会话管理测试":检查会话保持机制,确保用户在会话期间的安全。
### 3. 认证数据安全测试
- "密码存储测试":验证密码是否以加密形式存储,如使用bcrypt、Argon2等。
- "敏感数据传输测试":确保认证过程中的敏感数据(如密码、验证码)通过安全的通道传输,如使用HTTPS。
- "数据泄露测试":检查系统
相关内容:

一. 概述
用户认证安全方面的问题也许单单从技术层面上讲,并不是一种非常复杂的问题,因为解决起来并不怎么困难;但如果从交易所的实际交易业务层面来看,用户认证方面如果存在安全隐患,那将是非常可怕的。简单试想一下,如果一个黑客可以通过任意账号的用户认证,那这位攻击者会对那些账户里的余额做什么呢......这只是用户认证安全问题的一个小例子,当然同类的问题还有很多,虽然不尽相同,但其破坏性影响是同样可怕的。零时科技安全团队已经对此类问题做了一些整理,详情可见以下的测试列表,建议各大交易所以此列表自查,规避不必要的安全风险。二. 测试列表服务端配置安全
- 用户注册过程测试
- 用户登录过程测试
- 找回密码过程测试
- 设备解绑过程测试
- 验证码策略测试
- 账户权限变化测试
- 帐户枚举测试
- 弱密码策略测试
- 口令信息加密传输测试
- 默认口令测试
- 帐户锁定机制测试
- 认证绕过测试
- 浏览器缓存测试
- 权限提升测试
- 授权绕过测试
- 撞库攻击测试

撞库攻击测试
爆破,即暴力破解,意指使用大量可能有效的潜在答案一一尝试,最后留下确实有效答案的攻击手法。爆破虽然笨重,但却时常有效,在和其他问题合作时更能发挥其功能。撞库,和爆破类似,是黑客通过收集互联网已泄露的用户和密码信息,生成对应的字典表,尝试批量登陆其他网站后,得到一系列可以登录的用户。零时科技安全团队对某交易所进行安全测试时,发现该交易所在账号登录处存在问题,虽然限制每个用户的登录试错次数,但并不限制同一IP对不同用户尝试登录的请求数量。零时科技安全研究员随即对该交易所实施了撞库攻击,最终成功破解出部分用户口令。零时科技安全团队建议,各大交易所在登录页面应同时使用图形或更复杂形式的验证码;对同一IP发出的请求频率和数量进行限制。
验证码策略
验证码在被正常使用的情况下可以起到一定的安全作用,但如若使用不当或有所疏漏,也会留下隐患。很多交易所看似有验证码放心了不少,其实有可能只是一件“皇帝的新衣”。零时科技安全团队在对某交易所进行安全测试时发现,该交易所在手机登录处需要向用户发送验证码并进行校验。该交易所验证码长度6位,貌似安全性较高,但实则具有递增趋势且递增速度缓慢,爆破验证码时可以轻易确认当前验证码数值所在范围。对于交易所来说,这样的验证码机制就是“皇帝的新衣”;对于攻击者来说,更降低了攻击成本,提高了攻击效率。零时科技安全团队建议各大交易所使用验证码保障自身安全时,应使用随机多位的验证码,有条件的话最好使用字母和数字混杂的高强度验证码,并限制验证码输入错误的次数,采取一定措施。
账户枚举测试
很多交易所在具有登录功能的点上都会设置不太合适的报错提示,比如“用户不存在”,“密码不正确”等等,但实际上这些报错提示都会泄露出一些关键信息。零时安全团队在对某交易所进行安全测试时,发现该交易所登录框处存在报错提示不安全的问题。这样的安全问题看似无关紧要,但在黑客进行攻击时,如果可以枚举出存在的用户,无疑可使得攻击范围缩小,为攻击提供便利。
假作真时真亦假,但凭伪造之证,信手指鹿为马,登堂入室。
罔顾用户之安危,岂非人为刀俎,我为鱼肉乎?
1