Skip to content

Commit 3e210ee

Browse files
authored
Merge pull request #235 from oauth-wg/PieterKas-patch-239787
Writing Nits
2 parents f2221eb + 6d2d1e6 commit 3e210ee

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

draft-ietf-oauth-cross-device-security.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -154,42 +154,42 @@ normative:
154154
informative:
155155
RFC9635: # Grant Negotiation and Authorization Protocol (GNAP)
156156

157-
Exploit1:
157+
ARTDCPHISH:
158158
title: "The Art of the Device Code Phish"
159159
author:
160160
- name: Bobby Cooke
161161
date: 2021-07
162162
target: https://0xboku.com/2021/07/12/ArtOfDeviceCodePhish.html
163163

164-
Exploit2:
164+
DCFLOWPHISH:
165165
title: "Microsoft 365 OAuth Device Code Flow and Phishing"
166166
author:
167167
- name: Daniel Min
168168
date: 2021-08
169169
target: https://www.optiv.com/insights/source-zero/blog/microsoft-365-oauth-device-code-flow-and-phishing
170170

171-
Exploit3:
171+
NEWDCPHISH:
172172
title: "Introducing a new phishing technique for compromising Office 365 accounts"
173173
author:
174174
- name: Nestori Syynimaa
175175
date: 2020-10
176176
target: https://o365blog.com/post/phishing/#new-phishing-technique-device-code-authentication
177177

178-
Exploit4:
178+
DEFCON29:
179179
title: "New Phishing Attacks Exploiting OAuth Authentication Flows (DEFCON 29)"
180180
author:
181181
- name: Jenko Hwong
182182
date: 2021-08
183183
target: https://www.youtube.com/watch?v=9slRYvpKHp4
184184

185-
Exploit5:
185+
DCATTACK:
186186
title: "OAuth's Device Code Flow Abused in Phishing Attacks"
187187
author:
188188
- organization: "Secureworks Counter Threat Unit (CTU)"
189189
date: 2021-08
190190
target: https://www.secureworks.com/blog/oauths-device-code-flow-abused-in-phishing-attacks
191191

192-
Exploit6:
192+
SQPHISH:
193193
title: "SquarePhish: Advanced phishing tool combines QR codes and OAuth 2.0 device code flow"
194194
author:
195195
- name: Kam Talebzadeh
@@ -344,7 +344,7 @@ Device to access a resource (e.g., access to a service). The Device
344344
Authorization Grant {{RFC8628}} and Client-Initiated Backchannel
345345
Authentication {{CIBA}} are two examples of popular cross-device authorization flows.
346346

347-
In these flows, the Consumption Device and the Authorization Device are not directly connected and there are no technical mechanisms for the Authorization Device and Consumption Device to establish mutual authentication. It is left to the user to decide whether the source of the authorization request (the Consumption Device) should be trusted before they scan a QR code, enter a user code, or accept an authorization request pushed to their Authorization Device. The transfer of the authorization request and context between the Consumption Device and Authorization device is done over an unauthenticated channel. The only mitigation against this unauthenticated channel is the user's judgement.
347+
In these flows, the Consumption Device and the Authorization Device are not directly connected and there are no technical mechanisms for the Authorization Device and Consumption Device to establish mutual authentication. It is left to the user to decide whether the source of the authorization request (the Consumption Device) should be trusted before they scan a QR code, enter a user code, or accept an authorization request pushed to their Authorization Device. The transfer of the authorization request and context between the Consumption Device and Authorization Device is done over an unauthenticated channel. The only mitigation against this unauthenticated channel is the user's judgement.
348348

349349
Cross-Device Consent Phishing (CDCP) attacks exploit the unauthenticated channel
350350
between the Consumption Device and Authorization Device using social engineering
@@ -354,8 +354,8 @@ user's data.
354354
Note: This document uses the terms "social engineering" and "phishing" as
355355
described in the NIST Computer Security Resource Center Glossary {{NISTGlossary}}.
356356

357-
Several publications have emerged in the public domain ({{Exploit1}}, {{Exploit2}}, {{Exploit3}}, {{Exploit4}},
358-
{{Exploit5}}, {{Exploit6}}), describing how the unauthenticated channel can be
357+
Several publications have emerged in the public domain ({{ARTDCPHISH}}, {{DCFLOWPHISH}}, {{NEWDCPHISH}}, {{DEFCON29}},
358+
{{DCATTACK}}, {{SQPHISH}}), describing how the unauthenticated channel can be
359359
exploited using social engineering techniques borrowed from phishing. Unlike traditional
360360
phishing attacks, these attacks don't harvest credentials. Instead, they skip the
361361
step of collecting credentials by persuading users to grant authorization using
@@ -1030,7 +1030,7 @@ Note: There are scenarios that require that authorization takes place in a diffe
10301030
### Short Lived/Timebound QR or User Codes {#Short-Lived-Timebound-Codes}
10311031
The impact of an attack can be reduced by making QR or user codes short lived. If an attacker obtains a short lived code, the duration during which the unauthenticated channel can be exploited is reduced, potentially increasing the cost of a successful attack. This mitigation can be implemented on the authorization server without changes to other system components.
10321032

1033-
**Limitations:** There is a practical limit to how short a user code can be valid due to network latency and user experience limitations (time taken to enter a code, time to complete authentication, or time needed to re-enter codes or re-authenticate due to an error). More sophisticated Cross-Device Consent Phishing attacks counter the effectiveness of short lived codes by convincing a user to respond to a phishing e-mail and only request the QR or user code once the user clicks on the link in the phishing e-mail {{Exploit6}}.
1033+
**Limitations:** There is a practical limit to how short a user code can be valid due to network latency and user experience limitations (time taken to enter a code, time to complete authentication, or time needed to re-enter codes or re-authenticate due to an error). More sophisticated Cross-Device Consent Phishing attacks counter the effectiveness of short lived codes by convincing a user to respond to a phishing e-mail and only request the QR or user code once the user clicks on the link in the phishing e-mail {{SQPHISH}}.
10341034

10351035
### One-Time or Limited Use Codes
10361036
By enforcing one-time use or limited use of user or QR codes, the authorization server can limit the impact of attacks where the same user code or QR code is sent to multiple victims. One-time use may be achieved by including a nonce or date-stamp in the user code or QR code which is validated by the authorization server when the user scans the QR code against a list of previously issued codes. This mitigation can be implemented on the authorization server without changes to other system components.
@@ -1154,7 +1154,7 @@ Some cross-device protocols are more susceptible to the exploits described in th
11541154
A standard to enable authorization on devices with constrained input capabilities (smart TVs, printers, kiosks). In this protocol, the user code or QR code is displayed or made available on the Consumption Device (smart TV) and entered on a second device (e.g., a mobile phone).
11551155

11561156
#### Susceptibility
1157-
There are several reports in the public domain outlining how the unauthenticated channel may be exploited to execute a Cross-Device Consent Phishing attack ({{Exploit1}}, {{Exploit2}}, {{Exploit3}}, {{Exploit4}}, {{Exploit5}}, {{Exploit6}}).
1157+
There are several reports in the public domain outlining how the unauthenticated channel may be exploited to execute a Cross-Device Consent Phishing attack ({{ARTDCPHISH}}, {{DCFLOWPHISH}}, {{NEWDCPHISH}}, {{DEFCON29}}, {{DCATTACK}}, {{SQPHISH}}).
11581158

11591159
#### Device Capabilities
11601160
There are no assumptions in the protocol about underlying capabilities of the device, making it a "least common denominator" protocol that is expected to work on the broadest set of devices and environments.

0 commit comments

Comments
 (0)