Zhvilluesit e ekipit Google Cloud një vulnerabilitet (CVE-2019-9836) në implementimin e teknologjisë AMD SEV (Virtualizimi i Enkriptuar në Siguri), e cila lejon kompromitimin e të dhënave të mbrojtura me këtë teknologji. AMD SEV siguron enkriptim të dukshëm të memories së makinave virtuale në nivelin harduerik, ku aksesin në të dhënat e dekriptuara e ka vetëm sistemi aktual i mysafirëve, ndërsa makinat e tjera virtuale dhe hipervizori, gjatë përpjekjes për të aksesuar këtë memory, marrin një set të dhënash të enkriptuara.
Problemi i identifikuar lejon rikuperimin e plotë të përmbajtjes së çelësit PDH të mbyllur, që përpunohet në nivelin e një procesori të mbrojtur të veçantë PSP (AMD Security Processor), i paaksesueshëm për OS-në kryesore.
Duke pasur çelësin PDH, sulmuesi mund të rikuperojë çelësin e seancës dhe sekuencën sekrete, e cila është vendosur gjatë krijimit të makinës virtuale, dhe të fitojë akses në të dhënat e enkriptuara.
Vulnerabiliteti shkaktohet nga mangësitë në implementimin e kurbave eliptike (ECC), të aplikuara për enkriptim, të cilat lejojnë realizimin e për rikuperimin e parametrave të kurbës. Gjatë ekzekutimit të komandës për të nisur makinën virtuale të mbrojtur, sulmuesi mund të dërgojë parametrat e kurbës, që nuk përputhen me parametrat e rekomanduar nga NIST, çka do të çojë në përdorimin e vlerave të pikave të rendit të vogël në operacionet e shumzimit me të dhënat e çelësit të mbyllur.
Siguria e protokollit ECDH drejtpërdrejt nga i pikës fillestare të kurbës, logaritmi diskret i së cilës përbën një detyrë shumë të komplikuar. Në një nga hapat e inicializimit të ambientit AMD SEV, në llogaritjet me çelësin e mbyllur përdoren parametrat e marrë nga përdoruesi. Në thelb, ekzekutohet operacioni i shumzimit të dy pikave, njëra nga të cilat i përket çelësit të mbyllur. Nëse pika e dytë i përket numrave të thjeshtë të rendit të ulët, sulmuesi mund të përcaktojë parametrat e pikës së parë (bitët e modulit të përdorur në operacionin e ngritjes në fuqi moduluar) duke provuar të gjitha vlerat e mundshme. Për të përcaktuar çelësin e mbyllur, fragmentet e përzgjedhura të numrave të thjeshtë mund të mblidhen së bashku me ndihmën e .
Problemet preken e platformave server AMD EPYC që përdorin firmware SEV deri në versionin 0.17 build 11. Kompania AMD tashmë ka lëshuar një përditësim firmware, i cili shton bllokimin e përdorimit të pikave që nuk përputhen me kurbën NIST. Ndërkohë, certifikatat e gjeneruara më parë për çelësat PDH mbeten valide, çka i lejon hakerëve të realizojnë një sulm për të migruar makinat virtuale nga ambientet e mbrojtura nga kjo dobësi në ambiente që preken nga problemi. Gjithashtu përmendet mundësia e realizimit të një sulmi duke rikthyer versionin e firmware në një lëshim të vjetër të dobësueshëm, por kjo mundësi ende nuk është konfirmuar.
Burimi: opennet.ru
