多因素验证(MFA)已是各类应用系统相当常见的账号保护机制,然而研究人员指出,若是配置不够周全,很有可能让攻击者有机可乘。
安全企业Oasis指出,微软的多因素验证实例其中存在重大漏洞AuthQuake,攻击者有机会绕过验证流程,从而在未经授权的情况下,访问用户账号的各项服务,例如:Outlook.com云计算电子邮件服务、OneDrive文件、协作平台Teams的对话内容,以及Azure云计算服务等,由于全球有4亿Office 365用户,这项弱点的影响范围可能相当深远。
研究人员提及,他们利用漏洞成功通过多因素验证流程,大约经历一个小时,过程中完全不需要用户互动,系统也并未对用户发出警讯。Oasis在6月下旬向微软通报此事,并且在双方合作之下,先后于7月、10月缓解这项弱点。
对于这项弱点出现的地方,源于其中一种要求输入6位数验证码的验证方式。在这种验证流程里,用户借由手机上的动态密码(OTP)产生器App,取得验证码并在时效内输入,从而通过多因素验证,照理来说,用户若是验证出错超过10次,将会暂时无法登录系统。
不过,研究人员发现,由于这种验证机制缺乏对于验证频率的管制,微软甚至在提供及验证动态密码的过程,保留额外的时间,因此攻击者若是借由快速产生新的连接阶段(Session),并尝试所有可能的排列组合(100万组),就有机会突破上述限制,成功完成动态密码验证。
虽然这些动态密码存在时效限制,是以产生的时间为基础产生,而且,App产生的密码每30秒就会轮替。但研究人员指出,由于微软考虑到验证系统与用户访问时间的差异及延迟,实际上这些验证码的有效时间超过30秒,经过他们的实验,最长可以达到3分钟,使得攻击者有机会通过暴力破解的方法通过验证。
对于这样的情况,研究人员使用特定的速率进行破解,大约有3%的机率能够猜中动态密码,而攻击者实际利用AuthQuake时,很可能会打开更多连接阶段来完成目的,若是打开24个连接阶段、花费约70分钟,此时能够猜中动态密码的机率达到50%。研究人员指出,他们在尝试的过程并未遭遇任何限制。
针对这项弱点,研究人员指出,这代表光是通过限制验证的频率仍有所不足,系统也要对于连续登录失败的情况进行应对,甚至应该要通过账号锁定的方式,来防堵上述试图暴力破解的手法。虽然研究人员并未具体透露微软如何缓解AuthQuake,但他们透露,一旦用户输入错误的验证码达到指定次数,账号将会被封锁长达半天的时间无法登录。