【AsiaCCS 2021】Bypassing Push-based Second Factor and Passwordless Authentication with Human-Indistinguishable Notifications
作者:Mohammed Jubur1, Prakash Shrestha2, Nitesh Saxena1, and Jay Prakash3
单位:1University of Alabama at Birmingham(阿拉巴马大学伯明翰分校), 2Equifax Inc.(艾可飞), 3Singapore University of Technology and Design(新加坡科技设计大学)
会议:ASIA CCS 2021
ABSTRACT
针对One-Push 2FA或者One-Push passwordless登录认证模式,作者设计了HIENA(“Human-IndistinguishablE Notification Attack”)攻击。该种攻击中,攻击者在受害用户尝试登录后,也立即登录,来触发多个相似的通知,以迷惑用户,诱导用户错误地批准攻击者的登录请求。作者通过用户实验,评估了HIENA攻击的有效性。
1. INTRODUCTION
Push-2FA 模式能够减少用户登录所需的操作数量和记忆负担。
本文的实验方式主要是Human-Factors Study(人为因素实验研究)。
2. BACKGROUND AND MODELS
2.1 System Model
Push-2FA 登录认证的基本流程如下:
2.2 Adversarial Model
Push-2FA 生成的通知未唯一地绑定到用户的登录会话,因此,如果大约在同一时间触发多个通知,用户可能会无法区分这些通知,并且可能会接受与攻击者会话相对应的通知(攻击者通知将显示在合法通知之上)。
即,针对Push 2FA的攻击流程如下:
Threat model assumption:
-
攻击者能通过第一轮身份验证:
即攻击者能获知受害用户的用户名和口令等登录凭据
- 针对passwordless Scheme(例如),攻击者无需获知相关登录凭据
-
攻击者能在接近受害者登录的时间发起登录:
作者认为有以下途径,实现该条件:
-
Traffic Monitoring and Remote Website Fingerprinting:流量监控和远程网站指纹识别
监视用户的浏览会话,来了解用户可能在何时访问某一网站。
-
Utilizing Contextual Information and Login Patterns:借助辅助信息
例如,1月13日是学期的开始,许多学生和教职员工将返回校园,登录大学的邮件和服务以发起注册课程,访问课程信息等。再例如,在大学发布成绩时,学生最有可能在成绩发布后立即登录以查看成绩。
-
Active Social Engineering:主动社会工程
例如,攻击者通知受害者其账户已被盗用或口令已过期,要求其立即重置口令。
-
Compromised End Points:入侵受害者终端设备
例如,攻击者在受害者手机上部署恶意软件,来获知受害者的登录情况。
-
Observation from Physical Proximity:从临近处观察
例如,攻击者坐在受害者周围,观察到了受害者的登录行为。
-
3. OUR ATTACK
-
按照攻击者和受害者登录信息的匹配程度:
登录推送通知中,通常包含登录位置、登录IP等登录信息。
-
Spoof-Notif Attack: 攻击者和受害者在推送中的登录信息完全相同
-
Non-Spoof-Notif Attack: 攻击者和受害者在推送中的登录信息不完全相同
这种情况下,在受害者对推送通知中的登录信息不留意的情况下,攻击才能实现。
-
Intermediary scenarios: 例如,攻击者和受害者的登录IP不同,但是在相同的城市
-
按照攻击者能否触发受害者手机上其他应用的通知:
-
Other-Notif Attack: 攻击者能触发其他应用的通知
更容易掩盖UN,也就能避免用户的警觉,从而更容易实现攻击
-
Login-Notif Attack: 攻击者不能触发其他应用的通知
-
4. ATTACK EVALUATION STUDY DESIGN
4.1 Implementation
-
WebService-App:运行在远端服务器上
-
Browser-App:PC端,展示给用户
-
Phone-App:Android端,展示给用户
界面种类设计:
-
Input-PopUp 和 Plain-PopUp
-
Left-UI 和 Right-UI
4.2 Login Sessions
- Benign Session:正常登录过程
- Attack Session:包含攻击者通知的登录过程
要求每个参与者完成32个Login Session,Login Session的构成如上所示,Login Session的顺序随机打乱。
4.3 Study Metrics and Hypothesis
-
Benign Success Rate (BSR):
B S R = #accepted_benign_sessions #benign_sessions B S R=\frac{\text { \#accepted\_benign\_sessions }}{\text { \#benign\_sessions }} BSR= #benign_sessions #accepted_benign_sessions
也就是正常情况下,用户完成登录的比例 -
Attack Success Rate (ASR):
A S R = #accepted_attack_sessions # attack_sessions A S R=\frac{\text { \#accepted\_attack\_sessions }}{\# \text { attack\_sessions }} ASR=# attack_sessions #accepted_attack_sessions
也就是攻击实现的比例
4.3 Study Protocol
-
Phase 0: IRB Approval
-
Phase I: Study Primer:
-
Introduction and Instructions:
告知参与者实验在测试用户对Push-2FA的行为反应,不告知研究的真正目的。
告知参与者,目标是完成登录步骤,并建议他们在决定接受还是拒绝登录请求之前,进行验证。
-
Account Creation:
没有使用参与者的真实帐户,而是为参与者分配账户。
建议参与者使用浏览器的“remember me”功能。
-
-
Phase II: Main Study:
-
Practice Trials:
为了使参与者熟悉Push-2FA系统,要求其使用实验中的Push-2FA系统实施至少六次登录。
-
Study Task:
每个参与者被要求执行32次登录,每次登录平均花费30秒。
-
-
Phase III: Post-Study Questionnaire
- 通过问卷,了解参与者基本情况、2FA使用情况、实验过程感受(例如,是否察觉了可疑活动)
5. ANALYSIS AND RESULTS
5.1 The Benign Setting
总体BSR超过98.4%,说明参与者有能力正确使用Push-2FA模式
5.2 Attack Settings
-
Non-Spoof-Notif and Spoof-Notif
-
Spoof-Notif:总体ASR较高,为98.7%,达到了BSR的水平
也就是用户几乎无法察觉到攻击
-
Non-Spoof-Notif:总体ASR为68.2%
-
-
Login-Notif and Other-Notif
- Login-Notif:总体ASR为82.8%
- Other-Notif:总体ASR为85.1%
5.3 Response Time and Engagement Analysis
对参与者的响应时间和参与度(认真程度)进行分析
-
响应时间:
起点是 用户在网页端提交第一认证因素(即用户凭据)的时刻
终点是 网页端收到登录认证结果的时间
-
参与者在Attack Setting下,花费了更多的时间来完成身份验证过程
Attack Setting下平均响应时间为13.98秒
Benign Setting下平均响应时间为10.68秒
-
这也说明了参与者保持了认真的态度,而不是随意地批准或拒绝 登录请求
5.4 User Survey Results
-
Demographics:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PruEgmDh-1646886506326)(images/image-20210712004938213.png)]
-
2FA Related Questionnaire:
-
Study-Specific Questionnaire:
-
Q5:50%的人说他们注意到可疑活动
-
Q7:95%的人说他们注意到 在一次登录尝试中出现了多个通知
-
Q8:关于多个通知的原因,42.1%的人表示不知道,36.8%的人认为是Push-2FA系统生成了多个通知,21.1%的人表示这是由于恶意活动引起的
-
Q10:关于通知中登录信息的验证,30%的人说他们经常验证,40%的人说他们有时验证,15%的人说他们从不验证
结论:许多参与者认为,多个通知的出现,是2FA系统造成的(例如,由于网络故障造成的),而不是由安全问题引起的。