FixVibe
Covered by FixVibehigh

JWT Sigurtà: Riskji ta' Tokens Mhux Sikurjati u Validazzjoni ta' Talba Neqsin

JSON Web Tokens (JWTs) jipprovdu standard għat-trasferiment tal-pretensjonijiet, iżda s-sigurtà tiddependi fuq validazzjoni rigoruża. Nuqqas li jivverifikaw firem, ħinijiet ta' skadenza, jew udjenzi maħsuba jippermetti lill-attakkanti jevitaw l-awtentikazzjoni jew it-tokens mill-ġdid.

CWE-347CWE-287CWE-613

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-talba aud (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 aud fiha valur li jidentifika s-servizz lokali; jekk is-servizz ma jkunx identifikat fit-talba aud, 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) u aud (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 exp jew huma maħsuba għal udjenza differenti kif definita mit-talba aud [S1].