登陆 注册

基于欺骗的Web认证扩展

桑云信息Lzers 2021-08-21 WEB安全

简介


该文为发表于AsiaCCS 2021的Click This, Not That: Extending Web Authentication with Deception。许多日常使用的Web应用账号中都存有用户的敏感信息,为了保护这些敏感信息,常见的防御手段就是设置密码(有时是唯一使用的防御手段)。由于大部分用户不倾向于设置复杂的强密码,并且经常在多个不同的Web应用中使用相同的账号名和密码,密码的保护能力是存在不足的,而结合手机号、指纹等的多重身份认证系统(MFA)会在一定程度上降低应用的易用性。因此,在本篇论文中,作者提出了一种基于欺骗的身份认证扩展方法。简单来讲,作者定义了两组在用户使用密码登录后需要立刻进行的动作和不要进行的动作以确定登录的用户是否为本人或受信任的人,分别命名为登录仪式和网络绊线。由于每个Web应用之间存在区别,且该方法在不同的应用中是不同的,并且由于其设计源于用户的正常行为,所相较于MFA的认证扩展模式,可以更少干扰用户的使用。

方法

作者提出的基于欺骗的Web认证扩展框架如下图所示,主要包含登录、网络绊线和登录仪式三大模块,并从请求与回应两个方向来展示其方法的流程。该框架使用mitmproxy 作为不可绕过的反向代理,以便接收所有来自客户端的请求,并在完成处理后将请求转发到应用服务器。

  • 登录模块:本模块会监听所有请求,一旦识别出一个请求包含待处理的登录信息,我们就将其保存在内存中并等待相应的响应。如果响应设置了会话cookie并与保存的待处理登录请求相匹配,则认为登录成功并创建(或更新)用户和设备记录。这些记录包括用户名、会话 ID、IP地址、设备指纹等信息。对于所有未来的请求,当模块需要知道是哪个用户在请求时,可以通过他们的会话cookie在数据库中查找对应用户。由于不同应用的差异性,该系统仍需要管理员手动配置一些参数名称。

  • 绊线模块:绊线为一组可由用户自行定义的行为,当攻击者触发绊线时,会被强制登出或封禁。绊线分为两种,可以是网页上本就存在的元素,或者是框架注入到网页中的虚假元素。该框架允许用户定义较为复杂的绊线策略,例如下图所示,垂直的虚线代表触发绊线的时间,蓝色折线代表在2分钟的时间窗口内触发绊线的次数。该案例表明攻击者在第三次触发绊线时,激活了黄线代表的策略(2分钟内触发2次),被系统强制登出。之后攻击者再次登录并触发另外两条绊线,激活红线策略,导致账号被暂时封禁。

  • 仪式模块:在每次传统登录之后,仪式模块会强制执行用户的登录仪式。当框架在登录模块中检测到登录后,登录仪式的进程将设置为零。但当且仅当请求与当前步骤匹配时,系统才会检查请求并让仪式进入下一步骤。否则,框架将会将登录状态注销。该模块的难点在于验证登陆仪式的步骤时,客户端同时会请求一些无关的资源文件,框架需要转发这些请求到服务器而又尽可能不干扰登录仪式的验证。作者主要通过解析当前的HTML中需要加载资源的标签(如<img>,<link>,<script>等)以预测随之而来的请求,同时辅以管理员的人工干预将那些与仪式不相关的无害请求忽略。

实验

作者首先招募志愿者扮演攻击者以测试网络绊线的有效性。为了鼓励志愿者对网站进行探索,作者设计了三个Flag要求志愿者寻找。对于51位成功发现Flag的志愿者,实验结果如下所示。88.2% 的用户至少触发了一根绊线。其中91.1%的人在5分钟内就会触发的第一根绊线。如果绊线策略较为宽松,攻击者在此时不会被强制登出,66.7% 的人可能会在前 10 分钟内触发两条绊线。

对于登录仪式部分,作者邀请14位志愿者进行测试,可以看到一半的参与者每次都能完成他们的仪式。在某些失败的情况下,他们只忘记了一个步骤或重复了一次点击。这些情况类似于用户本人不小心输入了错误密码,可能通过数次尝试正确通过登录仪式。14名参与者中有11名(79%)成功的次数多于失败的次数。

总的来说,这是一项有趣的工作,它是对传统密码身份认证体系的一种扩展与补强,相较于文中提到的MFA扩展模式,网络绊线与登录仪式在易用性和透明性上具有一定优势。但是,对于开发者和Web应用方来说,这种方式是否易于集成和开发尚需要更多实验以证明。

原文作者:Timothy Barron, Johnny So, Nick Nikiforakis
原文标题:Click This, Not That:Extending Web Authentication with Deception
原文链接:https://www.researchgate.net/profile/Timothy-Barron/publication/352146997_Click_This_Not_That_Extending_Web_Authentication_with_Deception/links/60c2bf0aa6fdcc2e61317fbc/Click-This-Not-That-Extending-Web-Authentication-with-Deception.pdf
笔记作者:nerd@SecQuan
文章小编:cherry@SecQuan

文章翻译:安全学术圈

生成海报
请发表您的评论
桑云信息Lzers

桑云信息Lzers

乐山桑云信息技术有限公司专注于企业安全与网站、小程序、APP架设,为企业客户提供一站式解决方案,帮助企业快速实现互联网+转型。
907文章数 31评论数
请关注微信公众号
微信二维码
不容错过
Powered By SangYun.Net