-
Notifications
You must be signed in to change notification settings - Fork 4.5k
Add Modern MFA Attack Patterns and Mitigations Section #2244
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from 11 commits
1655888
01de012
b037d37
5eabbbb
f0a63e1
119d975
ea93568
152f566
2a58200
52a3c41
1790b49
cf086df
6159b97
826f7e4
20f8c0a
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -369,6 +369,63 @@ The are a number of common types of biometrics that are used, including: | |
| - If compromised, biometric data can be difficult to change. | ||
| - Hardware may be vulnerable to additional attack vectors. | ||
|
|
||
| ## Modern MFA Attack Patterns and Mitigations | ||
|
|
||
| ### MFA Fatigue Attacks (Push Notification Bombing) | ||
|
|
||
| Attackers spam MFA push notifications hoping the user approves one out of annoyance or accidental interaction. | ||
|
|
||
| **Mitigations:** | ||
|
|
||
| - Enforce **Number Matching** / Challenge-Response to break the "Approve" loop. | ||
| - CISA – Phishing Guidance: Stopping the Attack Cycle at Phase One.[CISA]( https://www.cisa.gov). | ||
| - Strictly rate-limit and lock out MFA prompts after repeated unapproved attempts ([OWASP ASVS v4.0](https://owasp.org/www-project-application-security-verification-standard/)). | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Link TO ASVS5.0 ? :) Also deep link to ASVS specific requirement. |
||
|
|
||
| ### Real-Time Phishing (Adversary-in-the-Middle / AiTM) | ||
|
|
||
| Attackers use reverse-proxy tools (e.g., Evilginx) to intercept credentials and standard MFA tokens (SMS, TOTP) in real-time. | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Maybe some more explanations are needed. It looks like you talk about MITM the connection with the target website but I believe you actually want to automate impersonation about the target web site?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thanks for the feedback. I’ve clarified the description. The intent is to describe AiTM phishing kits that proxy the user’s session to the real site and capture the authenticated session cookies, enabling automated impersonation. I’ll update the text to make that distinction clearer. |
||
|
|
||
| **Mitigations:** | ||
|
|
||
| - Mandate **Phishing-Resistant MFA** (FIDO2 / WebAuthn) which cryptographically binds the authentication to the origin URL ([CISA Phishing Guidance](https://www.cisa.gov/sites/default/files/2025-03/Phishing%20Guidance%20-%20Stopping%20the%20Attack%20Cycle%20at%20Phase%20One%20508.pdf)). | ||
| - Implement risk-based authentication to block known VPN/proxy IP spaces and impossible travel ([CISA. Zero Trust Maturity Model, Identity Pillar](https://www.cisa.gov/zero-trust-maturity-model). | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Does this actually help in this case?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Good point. Phishing‑resistant MFA directly mitigates AiTM because the authentication is origin‑bound. Risk‑based authentication doesn’t stop AiTM itself, but it can detect suspicious access patterns after the attacker attempts to reuse the stolen session. I’ll adjust the wording to reflect that distinction. |
||
|
|
||
| ### SIM Swap & Phone Number Takeover | ||
|
|
||
| Attackers socially engineer telecoms to transfer a victim's number, intercepting out-of-band SMS or voice MFA codes. | ||
|
|
||
| **Mitigations:** | ||
|
|
||
| - **Deprecate Telephony MFA** for high-privilege accounts ([NIST SP 800-63-4](https://pages.nist.gov/800-63-4/sp800-63.html)). | ||
| - Default to TOTP authenticator apps or FIDO2 hardware keys. | ||
|
|
||
| ### Token Theft & Session Hijacking | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. "Impossible travel" detection would be useful in this case?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes- impossible travel is useful here, but only as a detection mechanism after a stolen token is replayed from a different location. I’ll clarify that it’s a post‑compromise signal rather than a preventative control. |
||
|
|
||
| Attackers use infostealer malware or XSS to steal post-authentication session cookies or tokens, bypassing MFA entirely. | ||
|
|
||
| **Mitigations:** | ||
|
|
||
| - Implement **Continuous Access Evaluation (CAE)** with short-lived tokens ([Microsoft CAE Documentation](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-continuous-access-evaluation)). | ||
| - Enforce strict cookie flags (`HttpOnly`, `Secure`, `SameSite=Strict`) and bind sessions to device hardware. | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I would split this bullet point in two.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Agreed - these are separate mitigations. I’ll split them into two bullets. |
||
|
|
||
| ### Device Binding Bypass | ||
|
|
||
| Attackers extract cryptographic keys or clone device fingerprints to spoof a "trusted device" and bypass MFA prompts. | ||
|
|
||
| **Mitigations:** | ||
|
|
||
| - Store device identity keys strictly in non-exportable hardware modules (TPM or Secure Enclave). | ||
| - Require OS-level platform attestation (e.g., Android Play Integrity, iOS DeviceCheck) before granting access. | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I really don't believe this is really useful for security. On the other hands, this is real PITA for actual users, harmful for interoperability.
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. And it blocks actual legitimate users who don't want to use Google or Apple OS from using the MFA solution. This is therefore actually harmful for security, an issue for society in general and a problem for sovereignty (which is ultimately a problem for security).
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Understood - that’s a fair point. Platform attestation is highly vendor‑specific and can introduce interoperability and accessibility issues. I’ll remove this mitigation to keep the guidance vendor‑neutral and broadly applicable. |
||
|
|
||
| ### MFA Downgrade Attacks (OAuth/SSO) | ||
|
|
||
| Attackers manipulate the authentication flow to fall back from strong MFA (e.g., WebAuthn) to weaker, legacy channels (e.g., SMS). | ||
|
|
||
| **Mitigations:** | ||
|
|
||
| - Completely disable legacy authentication endpoints (e.g., basic auth, older WS-Trust). | ||
| - Enforce strict conditional access policies that forbid fallback to lower-assurance methods for privileged accounts. | ||
|
|
||
| ## Somewhere You Are | ||
|
|
||
| Location-based authentication is based on the user's physical location. It is sometimes argued that location is used when deciding whether or not to require MFA (as discussed [above](#when-to-require-mfa)) however this is effectively the same as considering it to be a factor in its own right. Two prominent examples of this are the [Conditional Access Policies](https://docs.microsoft.com/en-us/azure/active-directory/conditional-access/overview) available in Microsoft Azure, and the [Network Unlock](https://docs.microsoft.com/en-us/windows/security/information-protection/bitlocker/bitlocker-how-to-enable-network-unlock) functionality in BitLocker. | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Explain this? (I don't understand it as it stands).
Also include the link in the first "CISA" instance?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the review. I’ve clarified the mitigation text. Also, regarding the CISA reference — CISA does not actually describe or recommend "Number Matching." That feature is specific to Microsoft Authenticator. I’ve updated the wording so it no longer implies a CISA connection and added a clearer explanation of the mitigation itself.