Slide 21 of 28
Part 4 · PreventionSlide 21
Slide 21 · Mitigation 3
MIT 03
Implement multi-factor authentication.

Add a second factor to authentication for all sensitive accounts. Options in order of security:

Hardware security keys (FIDO2/WebAuthn) — phishing-resistant, highest security

Authenticator app (TOTP) — time-based one-time passwords (Google Authenticator, Authy)

Push notifications — approve/deny login on a registered device

SMS OTP — better than nothing, but SIM-swappable; avoid for high-security contexts

Also apply MFA to the MFA recovery flows — backup codes and account recovery are common bypass targets.

Credential stuffing works because the attacker has the correct username and password. MFA adds a factor the attacker doesn't have — a physical device, a time-based code. Even a perfectly valid password isn't enough to get in.

MFA can be bypassed via real-time phishing (attacker proxies the MFA code between victim and server), SIM swapping (for SMS), and social engineering account recovery. MFA raises the bar dramatically but isn't impenetrable.

💼 Business takeaway

Ask your team whether there is a limit on failed login attempts — and whether that limit applies to your API, not just your web form. A login form with a lockout but an API without one is an open door.

← Back MIT 04: Validate tokens properly →