Impattu di l'attaccu
A validazione JWT impropria permette à l'attaccanti di aggirari i meccanismi di autentificazione falsificandu rivendicazioni o riutilizendu tokens scaduti [S1]. Se un servitore accetta tokens senza una firma valida, un attaccu pò mudificà u payload per scalate i privilegii o impersonà qualsiasi utilizatore [S1]. Inoltre, a mancanza di rinfurzà a pretesa di scadenza (exp) permette à un attaccante di utilizà un token cumprumissu indefinitu [S1].
Causa Root
A JSON Web Token (JWT) hè una struttura basata in JSON utilizata per rapprisintà e rivendicazioni chì sò firmati digitalmente o protetti da integrità [S1]. I fallimenti di sicurezza sò generalmente da dui lacune di implementazione primaria:
- Accettazione di JWT Unsecured: Se un serviziu ùn impone micca strettamente a verificazione di a firma, pò processà "JWT Unsecured" induve a firma hè assente è l'algoritmu hè stabilitu à "none" [S1]. In questu scenariu, u servitore fiducia in i rivindicazioni in u payload senza verificà a so integrità [S1].
- Missing Claim Validation: U
exp(tempu di scadenza) identifica l'ora o dopu chì u JWT ùn deve esse accettatu per u processu [S1]. A dichjarazioneaud(audience) identifica i destinatari destinati di u token [S1]. Se questi ùn sò micca verificati, u servitore pò accettà tokens caduti o destinati à una applicazione diversa [S1].
Correzioni Concrete
- Infurzà Signature Cryptographic: Configurate l'applicazione per rifiutà qualsiasi JWT chì ùn utilizeghja micca un algoritmu di firmamentu forte pre-appruvatu (cum'è RS256).
- Validate l'Expiration : Implementa un cuntrollu obligatoriu per assicurà a data è l'ora attuale sò prima di l'ora specificata in a dumanda
exp[S1]. - Verify Audience: Assicuratevi chì a pretendenza
audcuntene un valore chì identifica u serviziu locale; se u serviziu ùn hè micca identificatu in a dumandaaud, u token deve esse rifiutatu [S1]. - Prevente Replay: Aduprate u
jti(JWT ID) pretendenu per assignà un identificatore unicu à ogni token, chì permette à u servitore di seguità è rifiutà i tokens reutilizati [S1].
Strategia di rilevazione
Vulnerabilità in a gestione di JWT ponu esse identificate analizendu a struttura di u token è u cumpurtamentu di a risposta di u servitore:
- Inspeczione di l'intestazione: Verificate l'intestazione
alg(algoritmu) per assicurà chì ùn hè micca impostatu à "nimu" è usa i standard criptografici previsti [S1]. - Verificazione di Rivendicazione: Cunfirmà a presenza è a validità di e rivendicazioni
exp(scadenza) èaud(audience) in u payload JSON [S1]. - Test di Validazione: Pruvate se u servitore rifiuta currettamente i tokens chì sò scaduti secondu a pretendenza
expo sò destinati à un publicu sfarente cum'è definitu da a dumandaaud[S1].
