Viņi identificēja ievainojamību SHA-3 algoritmu bibliotēkā

neaizsargātība

Ja šīs nepilnības tiek izmantotas, uzbrucēji var iegūt nesankcionētu piekļuvi sensitīvai informācijai vai vispār radīt problēmas.

Ir konstatēta ievainojamība (jau norādīts CVE-2022-37454) en kriptogrāfijas jaucējfunkcijas ieviešana SHA-3 (Keccak), kas tiek piedāvāts XKCP pakotnē (eXtended Keccak Code Package).

Konstatētā ievainojamība var izraisīt bufera pārplūdi formēto datu apstrādes laikā. Problēma ir saistīta ar kļūdu konkrētas SHA-3 ieviešanas kodā, nevis paša algoritma ievainojamību.

El paquete XKCP tiek reklamēts kā SHA-3 oficiālā ieviešana, kas izstrādāta ar Keccak izstrādes komandas palīdzību, un izmanto par pamatu funkcijām darbam ar SHA-3 dažādās programmēšanas valodās (piemēram, XKCP kods tiek izmantots Python hashlib modulī, Ruby digest-sha3 pakotnē un PHP hash_* funkcijās).

Kā norāda pētnieks, kurš identificēja problēmu, var izmantot ievainojamību, lai pārkāptu kriptogrāfiskās īpašības jaucējfunkciju un atrast pirmo un otro priekšattēlu, kā arī noteikt sadursmes.

Segmentācijas kļūdas iemesls ir tas, ka skripti mēģinās buferī ierakstīt vairāk datu, nekā tas var saturēt. Šāda ievainojamība ir pazīstama kā bufera pārpilde, ko OWASP raksturo kā "iespējams, vislabāk zināmo programmatūras drošības ievainojamības veidu".

Neliels koda variants radīs bezgalīgu cilpu: vienkārši nomainiet 4294967295 ar 4294967296. Ņemiet vērā līdzību ar CVE-2019-8741 — citu ievainojamību, kuru es atklāju un kas ietekmēja vairāk nekā 1.400 miljarda Apple ierīču programmaparatūru, kas arī izraisīja bezgalīgu cilpu.

Arī, tiek paziņots par prototipa ekspluatācijas izveidi, que ļauj sasniegt koda izpildi, aprēķinot hash no īpaši izveidota faila. Ievainojamību var izmantot arī, lai uzbruktu digitālā paraksta pārbaudes algoritmiem, izmantojot SHA-3 (piemēram, Ed448). Paredzams, ka sīkāka informācija par uzbrukuma metodēm tiks publicēta vēlāk, pēc ievainojamības vispārējās noņemšanas.

Šādai rīcībai nevajadzētu notikt "drošās" valodās, piemēram, Python un PHP, jo tās pārbauda, ​​vai visas lasīšanas un rakstīšanas darbības ir bufera robežās. Tomēr problēma ir tāda, ka ievainojamība ir pamatā esošajā "nedrošajā" C valodā...

Tomēr nav skaidrs, kā ievainojamība praksē ietekmē esošās lietojumprogrammas, jo, lai problēma varētu izpausties kodā, ir jāizmanto ciklisks jaukšanas aprēķins blokos, un vienam no apstrādātajiem blokiem ir jābūt aptuveni 4 GB lielam (vismaz 2^32–200 baiti).

Apstrādājot ievades datus uzreiz (bez secīga sajaukšanas aprēķina pa daļām), problēma neparādās. Kā vienkāršāka aizsardzības metode ir ierosināts ierobežot maksimālo datu apjomu, kas tiek iesaistīti vienā jaukšanas aprēķina iterācijā.

Ievainojamais kods tika publicēts 2011. gada janvārī, tāpēc šīs ievainojamības atrašana prasīja vairāk nekā desmit gadus. Šķiet, ka ir grūti atrast ievainojamības kriptogrāfijas ieviešanā, lai gan tām ir būtiska nozīme sistēmas vispārējā drošībā. (Iespējams, cilvēki pat nemeklē šādas ievainojamības, jo ne šī XKCP ievainojamība, ne iepriekš minētā Apple ievainojamība nav piemērota nevienai kļūdu novēršanas programmai!)

Neaizsargātība iemesls ir kļūda ievades datu bloka apstrādē. Sakarā ar nepareizu vērtību salīdzināšanu ar tipu "int", tiek noteikts nepareizs atlikušo datu lielums, kas izraisa rindas izrakstīšanu no piešķirtā bufera.

Jo īpaši tiek minēts, ka, salīdzinot, izteiciens «partialBlock + instance->byteIOIndex«, kas ar lielām sastāvdaļu vērtībām izraisīja veselu skaitļu pārplūdi. Kodā bija arī nepareizs tipa ieraksts "(unsigned int)(dataByteLen - i)", izraisot pārplūdi sistēmās ar 64 bitu size_t tipu.

Beidzot ja jūs interesē uzzināt vairāk par to, sīkāku informāciju varat pārbaudīt šī saite.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: AB Internet Networks 2008 SL
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.