Nad tuvastasid SHA-3 algoritmide teegis haavatavuse

haavatavus

Kui neid vigu ära kasutatakse, võivad ründajad pääseda volitamata juurde tundlikule teabele või põhjustada üldiselt probleeme

Tuvastati haavatavus (juba loetletud CVE-2022-37454 all) en krüptograafilise räsifunktsiooni rakendamine SHA-3 (Keccak), mida pakutakse XKCP paketis (eXtended Keccak Code Package).

Tuvastatud haavatavus võib põhjustada puhvri ülevoolu moodustatud andmete töötlemise käigus. Probleemi põhjuseks on SHA-3 konkreetse teostuse koodi viga, mitte algoritmi enda haavatavus.

El paquete XKCP reklaamitakse kui Keccaki arendusmeeskonna abiga välja töötatud SHA-3 ametlikku juurutamist kasutatakse SHA-3-ga töötamise funktsioonide aluseks erinevates programmeerimiskeeltes (näiteks XKCP koodi kasutatakse Pythoni hashlib moodulis, Ruby digest-sha3 paketis ja PHP hash_* funktsioonides).

Probleemi tuvastanud teadlase sõnul võib kasutada haavatavust krüptograafiliste omaduste rikkumiseks räsifunktsiooni ja leida esimene ja teine ​​eelkujutis, samuti määrata kokkupõrked.

Segmenteerimisvea põhjus on see, et skriptid üritavad puhvrisse kirjutada rohkem andmeid, kui see mahutab. Sellist haavatavust tuntakse puhvri ülevooluna, mida OWASP kirjeldab kui "tarkvara turvahaavatavuse ilmselt tuntuimat vormi".

Koodi väike variant põhjustab lõpmatu tsükli: lihtsalt asendage 4294967295 4294967296-ga. Pange tähele sarnasust CVE-2019-8741-ga, mis on veel üks minu leitud haavatavus, mis mõjutas enam kui 1.400 miljardi Apple'i seadme püsivara, mis põhjustas samuti lõpmatu tsükli.

Ka, teatatakse prototüübi kasutamisest, que võimaldab saavutada koodi täitmist räsi arvutamisel spetsiaalselt loodud failist. Haavatavust saab potentsiaalselt kasutada ka digitaalallkirja kontrollimise algoritmide ründamiseks, kasutades SHA-3 (näiteks Ed448). Ründemeetodite üksikasjad avaldatakse eeldatavasti hiljem, pärast haavatavuse üldist eemaldamist.

Sellist käitumist ei peaks juhtuma "turvalistes" keeltes, nagu Python ja PHP, kuna need kontrollivad, et kõik lugemis- ja kirjutamistoimingud oleksid puhvri piirides. Probleem on aga selles, et haavatavus on olemas "ebaturvalises" C-keeles...

Ikkagi on ebaselge, kuidas haavatavus olemasolevaid rakendusi praktikas mõjutab, kuna probleemi koodis avaldumiseks tuleb kasutada tsüklilist räsiarvutust plokkide kohta ja üks töödeldud plokk peab olema umbes 4 GB suurune (vähemalt 2^32 – 200 baiti).

Sisendandmete korraga töötlemisel (ilma osade kaupa räsi järjestikuse arvutamiseta) probleemi ei ilmne. Lihtsama kaitsemeetodina tehakse ettepanek piirata räsiarvutuse ühes iteratsioonis kaasatavate andmete maksimaalset suurust.

Haavatav kood avaldati 2011. aasta jaanuaris, seega kulus selle haavatavuse leidmiseks üle kümne aasta. Tundub, et krüptograafiliste rakenduste haavatavusi on raske leida, kuigi need mängivad süsteemi üldises turvalisuses olulist rolli. (Võib-olla inimesed isegi ei otsi selliseid turvaauke, kuna ei see XKCP haavatavus ega ülalmainitud Apple'i haavatavus ei sobi ühegi veaprogrammi jaoks!)

Haavatavus on tingitud veast sisendandmete plokktöötlusel. Väärtuste ebaõige võrdlemise tõttu tüübiga "int" määratakse täitmata andmete vale suurus, mis põhjustab järjekorra väljakirjutamise eraldatud puhvrist.

Eelkõige mainitakse, et kui võrrelda, siis väljend «partialBlock + eksemplar-> byteIOIndex«, mis komponentide suurte väärtustega põhjustas täisarvude ülevoolu. Samuti oli koodis vale tüübiülekanne "(unsigned int)(dataByteLen - i)", mis põhjustas 64-bitise size_t tüübiga süsteemides ületäitumise.

Lõpuks kui olete huvitatud sellest rohkem teada saama, saate üksikasju vaadata järgmine link.


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutav: AB Internet Networks 2008 SL
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.