基于欺骗的Web认证扩展

admin 2021年8月20日01:00:50评论144 views字数 2168阅读7分13秒阅读模式

基于欺骗的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

简介

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

方法

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

  • 登录模块:本模块会监听所有请求,一旦识别出一个请求包含待处理的登录信息,我们就将其保存在内存中并等待相应的响应。如果响应设置了会话cookie并与保存的待处理登录请求相匹配,则认为登录成功并创建(或更新)用户和设备记录。这些记录包括用户名、会话 ID、IP地址、设备指纹等信息。对于所有未来的请求,当模块需要知道是哪个用户在请求时,可以通过他们的会话cookie在数据库中查找对应用户。由于不同应用的差异性,该系统仍需要管理员手动配置一些参数名称。
  • 绊线模块:绊线为一组可由用户自行定义的行为,当攻击者触发绊线时,会被强制登出或封禁。绊线分为两种,可以是网页上本就存在的元素,或者是框架注入到网页中的虚假元素。该框架允许用户定义较为复杂的绊线策略,例如下图所示,垂直的虚线代表触发绊线的时间,蓝色折线代表在2分钟的时间窗口内触发绊线的次数。该案例表明攻击者在第三次触发绊线时,激活了黄线代表的策略(2分钟内触发2次),被系统强制登出。之后攻击者再次登录并触发另外两条绊线,激活红线策略,导致账号被暂时封禁。基于欺骗的Web认证扩展
  • 仪式模块:在每次传统登录之后,仪式模块会强制执行用户的登录仪式。当框架在登录模块中检测到登录后,登录仪式的进程将设置为零。但当且仅当请求与当前步骤匹配时,系统才会检查请求并让仪式进入下一步骤。否则,框架将会将登录状态注销。该模块的难点在于验证登陆仪式的步骤时,客户端同时会请求一些无关的资源文件,框架需要转发这些请求到服务器而又尽可能不干扰登录仪式的验证。作者主要通过解析当前的HTML中需要加载资源的标签(如<img>,<link>,<script>等)以预测随之而来的请求,同时辅以管理员的人工干预将那些与仪式不相关的无害请求忽略。

实验

作者首先招募志愿者扮演攻击者以测试网络绊线的有效性。为了鼓励志愿者对网站进行探索,作者设计了三个Flag要求志愿者寻找。对于51位成功发现Flag的志愿者,实验结果如下所示。88.2% 的用户至少触发了一根绊线。其中91.1%的人在5分钟内就会触发的第一根绊线。如果绊线策略较为宽松,攻击者在此时不会被强制登出,66.7% 的人可能会在前 10 分钟内触发两条绊线。基于欺骗的Web认证扩展基于欺骗的Web认证扩展对于登录仪式部分,作者邀请14位志愿者进行测试,可以看到一半的参与者每次都能完成他们的仪式。在某些失败的情况下,他们只忘记了一个步骤或重复了一次点击。这些情况类似于用户本人不小心输入了错误密码,可能通过数次尝试正确通过登录仪式。14名参与者中有11名(79%)成功的次数多于失败的次数。基于欺骗的Web认证扩展总的来说,这是一项有趣的工作,它是对传统密码身份认证体系的一种扩展与补强,相较于文中提到的MFA扩展模式,网络绊线与登录仪式在易用性和透明性上具有一定优势。但是,对于开发者和Web应用方来说,这种方式是否易于集成和开发尚需要更多实验以证明。

安全学术圈招募队友-ing, 有兴趣加入学术圈的请联系secdr#qq.com

基于欺骗的Web认证扩展



本文始发于微信公众号(安全学术圈):基于欺骗的Web认证扩展

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年8月20日01:00:50
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   基于欺骗的Web认证扩展https://cn-sec.com/archives/465640.html

发表评论

匿名网友 填写信息