Ranjivost u AMD SEV-u koja omogućuje određivanje ključeva za šifriranje

Programeri iz Google Cloud tima otkriveno ranjivost (CVE-2019-9836) u implementaciji AMD SEV (Secure Encrypted Virtualization) tehnologije, koja omogućuje kompromitaciju podataka zaštićenih ovom tehnologijom. AMD SEV na hardverskoj razini pruža transparentnu enkripciju memorije virtualnog stroja, pri čemu samo trenutni gostujući sustav ima pristup dekriptiranim podacima, a ostali virtualni strojevi i hipervizor primaju šifrirani skup podataka prilikom pokušaja pristupa ovoj memoriji.

Identificirani problem omogućuje potpuno vraćanje sadržaja privatnog PDH ključa koji se obrađuje na razini zasebnog zaštićenog PSP procesora (AMD Security Processor) koji je nedostupan glavnom OS-u.
Imajući PDH ključ, napadač tada može oporaviti ključ sesije i tajni niz naveden prilikom stvaranja virtualnog stroja i dobiti pristup šifriranim podacima.

Ranjivost je uzrokovana nedostacima u implementaciji enkripcije eliptične krivulje (ECC), koja omogućuje napad za vraćanje parametara krivulje. Tijekom izvršavanja naredbe za pokretanje zaštićenog virtualnog stroja, napadač bi mogao poslati parametre krivulje koji nisu u skladu s preporučenim parametrima NIST-a, što je rezultiralo upotrebom točaka niskog reda vrijednosti u operacijama množenja s podacima privatnog ključa.

Sigurnost ECDH protokola izravno ovisi iz narudžba generirana početna točka krivulje, čiji je diskretni logaritam vrlo težak zadatak. Tijekom jednog od koraka inicijalizacije okruženja AMD SEV, izračuni privatnog ključa koriste parametre primljene od korisnika. U biti, operacija je množenje dvije točke, od kojih jedna odgovara privatnom ključu. Ako se druga točka odnosi na proste brojeve nižeg reda, tada napadač može odrediti parametre prve točke (bitove modula korištene u modulo operaciji) pretraživanjem svih mogućih vrijednosti. Za određivanje privatnog ključa, odabrani fragmenti prostih brojeva mogu se spojiti pomoću Kineski teorem o ostatku.

Problem utječe na poslužiteljske platforme AMD EPYC koje koriste SEV firmware do verzije 0.17 build 11. AMD je već опубликовала Ažuriranje firmvera koje dodaje blokiranje točaka koje nisu u skladu s NIST krivuljom. Istodobno, prethodno generirani certifikati za PDH ključeve ostaju važeći, što napadaču omogućuje izvođenje napada radi migracije virtualnih strojeva iz okruženja zaštićenih od ranjivosti u okruženja podložna problemu. Također se spominje mogućnost izvođenja napada za vraćanje verzije firmvera na staro ranjivo izdanje, ali ta mogućnost još nije potvrđena.

Izvor: opennet.ru

Dodajte komentar