Ata identifikuan një dobësi në bibliotekën e algoritmit SHA-3

dobësi

Nëse shfrytëzohen, këto të meta mund t'i lejojnë sulmuesit të kenë akses të paautorizuar në informacione të ndjeshme ose në përgjithësi të shkaktojnë probleme

Është identifikuar një cenueshmëri (të renditur tashmë nën CVE-2022-37454) en zbatimin e funksionit hash kriptografik SHA-3 (Keccak), ofrohet në paketën XKCP (eXtended Keccak Code Package).

Dobësia e identifikuar mund të shkaktojë një tejmbushje buferi gjatë përpunimit të të dhënave të formuara. Problemi është për shkak të një gabimi në kodin e një zbatimi specifik të SHA-3, jo nga një cenueshmëri në vetë algoritmin.

El paquete XKCP është shpallur si zbatimi zyrtar i SHA-3, i zhvilluar me ndihmën e ekipit të zhvillimit të Kecçakut, dhe përdoret si bazë për funksionet për të punuar me SHA-3 në gjuhë të ndryshme programimi (për shembull, kodi XKCP përdoret në modulin hashlib Python, paketën Ruby digest-sha3 dhe funksionet PHP hash_*).

Sipas studiuesit që identifikoi problemin, mund të përdorë cenueshmërinë për të shkelur vetitë kriptografike të funksionit hash dhe gjeni paraimazhin e parë dhe të dytë, si dhe përcaktoni përplasjet.

Arsyeja për gabimin e segmentimit është se skriptet do të përpiqen të shkruajnë më shumë të dhëna në një bufer sesa mund të mbajë. Një dobësi e tillë njihet si një tejmbushje buffer, të cilën OWASP e përshkruan si "ndoshta forma më e njohur e cenueshmërisë së sigurisë së softuerit".

Një variant i vogël i kodit do të shkaktojë një lak të pafund: thjesht zëvendësoni 4294967295 me 4294967296. Vini re ngjashmërinë me CVE-2019-8741, një dobësi tjetër që gjeta që ndikoi në firmuerin e mbi 1.400 miliardë pajisjeve Apple, i cili gjithashtu shkaktoi një lak të pafund.

Edhe, shpallet krijimi i një shfrytëzimi prototipi, que lejon të arrihet ekzekutimi i kodit gjatë llogaritjes së hash-it nga një skedar i krijuar posaçërisht. Dobësia mund të përdoret gjithashtu për të sulmuar algoritmet e verifikimit të nënshkrimit dixhital duke përdorur SHA-3 (për shembull, Ed448). Detajet e metodave të sulmit pritet të publikohen në një datë të mëvonshme, pas heqjes së përgjithshme të cenueshmërisë.

Kjo lloj sjelljeje nuk supozohet të ndodhë në gjuhët "të sigurta" si Python dhe PHP, pasi ato kontrollojnë që të gjitha operacionet e leximit dhe shkrimit të jenë brenda kufijve të tamponit. Sidoqoftë, problemi është se cenueshmëria është e pranishme në gjuhën "e pasigurt" C themelore ...

Ende është e paqartë se si cenueshmëria ndikon në aplikacionet ekzistuese në praktikë, pasi që problemi të shfaqet në kod, duhet të përdoret llogaritja ciklike hash në blloqe dhe një nga blloqet e përpunuara duhet të jetë rreth 4 GB në madhësi (të paktën 2^32 – 200 bajt).

Kur përpunoni të dhënat hyrëse menjëherë (pa llogaritjen vijuese të hash-it sipas pjesëve), problemi nuk shfaqet. Si një metodë më e thjeshtë mbrojtjeje, propozohet të kufizohet madhësia maksimale e të dhënave të përfshira në një përsëritje të llogaritjes hash.

Kodi i cenueshëm u publikua në janar 2011, kështu që u desh më shumë se një dekadë për të gjetur këtë dobësi. Duket se është e vështirë të gjesh dobësi në implementimet kriptografike, edhe pse ato luajnë një rol kritik në sigurinë e përgjithshme të një sistemi. (Ndoshta njerëzit as nuk janë duke kërkuar për dobësi të tilla, pasi as kjo dobësi në XKCP dhe as dobësia e Apple e përmendur më lart nuk janë të pranueshme për ndonjë program të shpërblimit të gabimeve!)

Prekshmëria është për shkak të një gabimi në përpunimin e bllokut të të dhënave hyrëse. Për shkak të një krahasimi të gabuar të vlerave me llojin "int", përcaktohet një madhësi e pasaktë e të dhënave të pazgjidhura, gjë që bën që radha të shkruhet nga buferi i caktuar.

Në veçanti, përmendet se gjatë krahasimit, shprehja «partialBlock + shembull->byteIOIndex«, e cila, me vlera të mëdha të pjesëve përbërëse, çoi në tejkalim të numrave të plotë. Gjithashtu, ka pasur një shtypje të gabuar të tipit "(unsigned int)(dataByteLen - i)" në kod, duke shkaktuar një tejmbushje në sistemet me një tip size_t 64-bit.

Më në fund nëse jeni të interesuar të dini më shumë për të, ju mund të kontrolloni detajet në lidhja vijuese.


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: AB Internet Networks 2008 SL
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.