Impatt tal-attakkant
Validazzjoni mhux xierqa ta' JWT tippermetti lill-attakkanti jevitaw il-mekkaniżmi ta' awtentikazzjoni billi jiffalsifikaw pretensjonijiet jew jerġgħu jużaw tokens skaduti [S1]. Jekk server jaċċetta tokens mingħajr firma valida, attakkant jista' jimmodifika t-tagħbija biex iżid il-privileġġi jew jippersona lil kwalunkwe utent [S1]. Barra minn hekk, in-nuqqas li jinforza t-talba tal-iskadenza (exp) jippermetti lil attakkant juża token kompromess b'mod indefinit [S1].
Kawża Għerq
JSON Web Token (JWT) hija struttura bbażata fuq JSON użata biex tirrappreżenta talbiet li huma ffirmati diġitalment jew protetti bl-integrità [S1]. Il-fallimenti tas-sigurtà tipikament jirriżultaw minn żewġ lakuni primarji fl-implimentazzjoni:
- Aċċettazzjoni ta' JWTs Mhux Sikurjati: Jekk servizz ma jinfurzax b'mod strett il-verifika tal-firma, jista' jipproċessa "JWTs Mhux Sikurjati" fejn il-firma tkun assenti u l-algoritmu huwa ssettjat għal "xejn" [S1]. F'dan ix-xenarju, is-server jafda t-talbiet fil-payload mingħajr ma jivverifika l-integrità tagħhom [S1].
- Validazzjoni tat-Talba Nieqsa: It-talba
exp(ħin ta’ skadenza) tidentifika ż-żmien li fih jew wara li ż-JWT ma għandux jiġi aċċettat għall-ipproċessar ta’ [S1]. It-talbaaud(udjenza) tidentifika r-riċevituri maħsuba tat-token [S1]. Jekk dawn ma jiġux iċċekkjati, is-server jista 'jaċċetta tokens li huma skaduti jew kienu maħsuba għal applikazzjoni differenti [S1].
Fixs tal-Konkrit
- Inforza Firem Kriptografiċi: Ikkonfigura l-applikazzjoni biex tirrifjuta kwalunkwe JWT li ma jużax algoritmu ta' iffirmar b'saħħtu approvat minn qabel (bħal RS256).
- Ivvalida l-Iskadenza: Implimenta verifika obbligatorja biex tiżgura li d-data u l-ħin attwali jkunu qabel il-ħin speċifikat fit-talba
exp[S1]. - Ivverifika l-Udjenza: Kun żgur li t-talba
audfiha valur li jidentifika s-servizz lokali; jekk is-servizz ma jkunx identifikat fit-talbaaud, it-token għandu jiġi rrifjutat [S1]. - Prevenzjoni Replay: Uża t-talba
jti(JWT) biex tassenja identifikatur uniku għal kull token, li tippermetti lis-server isegwi u jirrifjuta tokens użati mill-ġdid [S1].
Strateġija ta' Sejbien
Il-vulnerabbiltajiet fl-immaniġġjar ta' JWT jistgħu jiġu identifikati billi tiġi analizzata l-istruttura tat-tokens u l-imġiba tar-rispons tas-server:
- Spezzjoni tal-Header: Iċċekkja l-header
alg(algoritmu) biex tiżgura li ma tkunx issettjata għal "xejn" u tuża standards kriptografiċi mistennija [S1]. - Verifika tat-Talba: Tikkonferma l-preżenza u l-validità tal-pretensjonijiet
exp(skadenza) uaud(udjenza) fi ħdan it-tagħbija JSON [S1]. - Testjar ta' Validazzjoni: Ittestjar jekk is-server jirrifjutax b'mod korrett tokens li skadew skont it-talba
expjew huma maħsuba għal udjenza differenti kif definita mit-talbaaud[S1].
