can then be used to complete an authorisation grant
flow for arbitrary client applications, including FOCI
clients.
Typically, the disadvantage of abusing SSO is that
each time the attacker wants access to some scope that
was not authorised for some stolen access token, the
attacker needs to request a new signed cookie or
otherwise complete an authorisation grant flow again
to obtain a new access token with the desired scopes.
In the case of FRTs, even if the attacker only had the
opportunity to generate a single pre-signed cookie,
the attacker can silently exchange the FRT multiple
times for new access tokens for other FOCI clients
and benefit from their authorised scopes.
4.1.4 Zero Trust
FOCI predates the adoption of the Zero Trust security
model at Microsoft. The guiding principals of Zero
Trust require that client authentication and
authorization are based on all available information,
client access is limited to least privilege for the
shortest duration, and that the client is assumed to be
breached, so the blast radius must be minimized
(Microsoft, 2022c). The current implementation of
FOCI is incompatible with the Zero Trust model.
FRTs allow long-term persistent access and privilege
escalation relative to the client application. As there
is only one “family” of Microsoft first-party client
applications means that the level of access afforded
by FRTs is not segmented according to the needs of
legitimate software that require FOCI to function.
4.1.5 Conditional Access Policies
Conditional access policies still apply to FOCI clients
and FRTs. Conditional access policies that require
multi-factor authentication, however, do not impede
attackers from abusing the legitimately issued FRTs
since refresh token grants are always non-interactive,
and usually inherit the authentication method claims
from the original authorisation grant. Furthermore,
conditional access policies based on trusting the
device are ineffective when a FOCI client is
maliciously authorised by abusing SSO because the
request “originates” from the trusted device.
Any conditional access policies (or other controls)
based purely on the FOCI client identifiers are trivial
to bypass if another FOCI client has consent for the
desired scopes.
Refresh token grants are logged in Azure AD non-
interactive user sign-ins log. Currently, the non-
interactive sign-in log events do not contain details
about the client application to which the refresh token
was originally issued. This prevents detecting
exploitation of FRTs.
4.1.6 Anticompetitive Practices
According to United States Federal Trade
Commission (FTC), antitrust laws “prohibit conduct
by a single firm that unreasonably restrains
competition by creating or maintaining monopoly
position” (FTC, 2022). FTC uses a previous
Microsoft case as an example for monopolisation
(FTC, 2022):
Microsoft was able to use its dominant position in
the operating systems market to exclude other
software developers and prevent computer makers
from installing non-Microsoft browser software to
run with Microsoft's operating system software.
FOCI establishes a “family” of first-party
Microsoft client applications that are given special
treatment compared to third-party client applications
in Azure AD. Microsoft does not allow third-party
developers to benefit from the FOCI functionality,
i.e., designate their own “family” of client. As such,
it may have provided Microsoft software with a
competitive advantage over third-party software even
if the third-party used Azure AD as the identity
provider.
4.2 Conclusion
In this paper, we reported our findings related to the
non-standard behaviour of certain Azure AD’s first-
party clients’ refresh tokens.
We found answers to both research questions.
First, we found 16 first-party clients supporting these
special type of refresh tokens, called Family Refresh
Tokens (FRTs). Second, we found out that the clients
supporting FRTs were called Family of Client ID
(FOCI) clients, and that the purpose of FRTs is to
provide singe-sign-on experience without a separate
authentication broker for mobile platforms.
Based on our findings, we recommend Microsoft
to publish the list of FOCI clients, so that Azure AD
customers can protect their environments
accordingly. Further, as FOCI is created for mobile
platforms, its usage should be limited to those
platforms.
4.3 Limitations
The used data set of ~600 first-party applications is
not exhaustive, so the study may not have revealed all
FOCI clients. Also, Microsoft is creating new and
removing old FOCI applications (MSRC, 2021).