Pinapayagan ng AMD ‘Zenbleed’ Bug ang Pagnanakaw ng Data Mula sa Zen 2 Ryzen 3000, Mga EPYC na CPU: Karamihan sa mga Patch na Paparating na Q4 (Na-update)
Update 7/24/23 1:30pm PT: Tumugon ang AMD nang may mga pangunahing detalye at nag-publish ng isang advisory sa seguridad na may mga inaasahang petsa para sa mga bagong firmware, na marami sa mga ito ay hindi dumarating hanggang sa katapusan ng taon. Nagpadala rin sa amin ng pahayag ang Google. Idinagdag namin ang impormasyong iyon sa orihinal na artikulo sa ibaba.
Orihinal na Artikulo Nai-publish 7/24/23 8:45am PT:
Si Tavis Ormandy, isang mananaliksik sa Google Information Security, ay nag-post ngayon tungkol sa isang bagong kahinaan na independyente niyang natagpuan sa mga processor ng Zen 2 ng AMD. Ang kahinaan ng ‘Zenbleed’ ay sumasaklaw sa buong stack ng produkto ng Zen 2, kabilang ang mga EPYC data center processor ng AMD at ang Ryzen 3000/4000/5000 na mga CPU, na nagpapahintulot sa pagnanakaw ng protektadong impormasyon mula sa CPU, tulad ng mga encryption key at mga login ng user. Ang pag-atake ay hindi nangangailangan ng pisikal na pag-access sa computer o server at maaari pa ngang isagawa sa pamamagitan ng javascript sa isang webpage.
Walang advisory na handa ang AMD sa oras ng paglalathala, ngunit idinagdag ng kumpanya ang AMD-SB-7008 Bulletin makalipas ang ilang oras. Ang AMD ay may handa na mga patch para sa EPYC 7002 ‘Rome’ na mga processor nito ngayon, ngunit hindi nito tatambalan ang consumer nito na Zen 2 Ryzen 3000, 4000, at ilang 5000-series chips hanggang Nobyembre at Disyembre ng taong ito. Ang mga processor ng AMD na ginamit upang paganahin ang PS5, Xbox Series X at S, at Steam Deck ay lahat ay pinapagana din ng Zen 2 chips, ngunit nananatiling hindi malinaw kung naaapektuhan ang mga iyon. Sinusubaybayan namin para sa higit pang mga detalye. Nagdagdag kami ng mga detalye sa ibaba tungkol sa mga iskedyul ng pagpapagaan.
Ang AMD ay hindi nagbigay ng mga partikular na detalye ng anumang epekto sa pagganap ngunit naglabas ng sumusunod na pahayag sa Tom’s Hardware: “Ang anumang epekto sa pagganap ay mag-iiba depende sa workload at configuration ng system. Hindi alam ng AMD ang anumang kilalang pagsasamantala sa inilarawang kahinaan sa labas ng kapaligiran ng pananaliksik.”
Ang pahayag ng AMD ay nagpapahiwatig na magkakaroon ng ilang epekto sa pagganap mula sa mga patch, ngunit kailangan nating magsagawa ng mga independiyenteng benchmark kapag dumating ang mga patch para sa mga produktong Ryzen ng consumer. Pansamantala, humiling kami sa AMD ng anumang mga numero ng ballpark na maibabahagi nito.
Ang kahinaan ng Zenbleed ay isinampa bilang CVE-2023-20593 at pinapayagan ang data exfiltration (pagnanakaw) sa bilis na 30kb bawat core, bawat segundo, kaya nagbibigay ng sapat na throughput upang magnakaw ng sensitibong impormasyon na dumadaloy sa processor. Gumagana ang pag-atakeng ito sa lahat ng software na tumatakbo sa processor, kabilang ang mga virtual machine, sandbox, container, at proseso. Ang kakayahan ng pag-atakeng ito na magbasa ng data sa mga virtual machine ay partikular na nagbabanta para sa mga cloud service provider at sa mga gumagamit ng cloud instance.
Ang pag-atake ay maaaring magawa sa pamamagitan ng walang pribilehiyong arbitrary code execution. Nag-post si Ormandy ng isang security research repository at code para sa pagsasamantala. Gumagana ang pag-atake sa pamamagitan ng pagmamanipula sa mga file ng rehistro upang pilitin ang isang maling hula, tulad ng inilarawan sa ibaba:
“Gumawa ang bug nang ganito, una sa lahat kailangan mong mag-trigger ng isang bagay na tinatawag na XMM Register Merge Optimization2, na sinusundan ng pagpapalit ng pangalan ng rehistro at isang maling hula na vzeroupper. Ang lahat ng ito ay kailangang mangyari sa loob ng isang tumpak na window upang gumana.
Alam na natin ngayon na ang mga pangunahing operasyon tulad ng strlen, memcpy at strcmp ay gagamit ng mga vector registers – upang epektibo nating ma-espiya ang mga operasyong iyon na nangyayari saanman sa system! Hindi mahalaga kung ang mga ito ay nangyayari sa iba pang mga virtual machine, sandbox, lalagyan, proseso, anuman!
Gumagana ito dahil ang register file ay ibinabahagi ng lahat sa parehong pisikal na core. Sa katunayan, ang dalawang hyperthread ay nagbabahagi ng parehong pisikal na file ng rehistro,” sabi ni Ormandy.
Ang AMD ay naglalarawan sa pagsasamantala nang mas simple, na nagsasabing, “Sa ilalim ng mga partikular na microarchitectural na pangyayari, ang isang rehistro sa “Zen 2″ na mga CPU ay maaaring hindi maisulat sa 0 nang tama. Ito ay maaaring magsanhi ng data mula sa isa pang proseso at/o thread na maimbak sa rehistro ng YMM, na maaaring magpapahintulot sa isang umaatake na potensyal na ma-access ang sensitibong impormasyon.”
Sinabi ni Ormandy na ang bug ay maaaring ma-patch sa pamamagitan ng isang software approach para sa maraming operating system (hal., Windows -“maaari mong itakda ang chicken bit DE_CFG[9]”), ngunit maaari itong magresulta sa isang parusa sa pagganap. Sinabi ni Ormandy na lubos na inirerekomenda na makuha ang pag-update ng microcode, ngunit ang kanyang post ay mayroon ding mga halimbawa ng mga pagpapagaan ng software para sa iba pang mga operating system, masyadong.
Narito ang isang listahan ng mga naapektuhang processor, at ang iskedyul para sa paglabas ng mga bersyon ng AGESA sa mga OEM:
Mag-swipe upang mag-scroll nang pahalangProcessorAgesa FirmwareAvailability sa mga OEMMicrocode2nd-Gen AMD EPYC Rome ProcessorsRomePI 1.0.0.HNow0x0830107ARyzen 3000 Series “Matisse”ComboAM4v2PI_1.2.0.C | ComboAM4PI_1.0.0.C Target Dis 2023 para sa pareho?Ryzen 4000 Series “Renoir” AM4ComboAM4v2PI_1.2.0.C Target Dis 2023?Threadripper 3000-Series “Caslle Peak”CastlePeakPI-SP3r3 1.0arget PROW X-Series “Castle Peak”CastlePeakWSPI-sWRX8 1.0.0.C | ChagallWSPI-sWRX8 1.0.0.7Target Nob 2023 | Target Dis 2023?Ryzen 5000 Series Mobile “Lucienne”CezannePI-FP6_1.0.1.0Target Dis 2023?Ryzen 4000 Series Mobile “Renoir”RenoirPI-FP6_1.0.0.DTarget Nob 2023?Ryzen 7020Dec.6000 Serye 2023?Mga Proseso ng Serye ng AMD Ryzen 3000AMD Ryzen PRO 3000 Series Mga Proseso ng AMD Ryzen Threadripper 3000 Mga Serye na ProsesoMga Proseso ng Serye ng AMD Ryzen 4000 na may Radeon GraphicsMga Proseso ng Serye ng AMD Ryzen PRO 4000AMD Ryzen 5000 Series Mga Proseso ng Serye na may Radeon GraphicsMga Proseso ng AMD Ryzen na may Radeon GraphicsAMD 7020202
Ang AGESA ng AMD ay isang code foundation kung saan ang mga OEM ay nagtatayo ng mga pagbabago sa BIOS. Kakailanganin mong mag-update sa isang BIOS na may nakalista sa itaas na AGESA code, o mas bago, upang i-patch ang iyong system.
“Alam namin ang kahinaan sa seguridad ng hardware ng AMD na inilarawan sa CVE-2023-20593, na natuklasan ni Tavis Ormandy, isang Security Researcher sa Google, at malapit kaming nakipagtulungan sa AMD at mga kasosyo sa industriya. Kami ay nagtrabaho upang matugunan ang kahinaan sa lahat ng mga platform ng Google.” – tagapagsalita ng Google.
Sinabi ni Ormandy na iniulat niya ang isyu sa AMD noong Mayo 15, 2023, ngunit nananatiling hindi malinaw kung ito ay isang coordinated disclosure — mukhang hindi handa ang AMD para sa anunsyo. Pinasasalamatan din ni Ormandy ang kanyang mga kasamahan; “Hindi ko ito mahahanap nang walang tulong mula sa aking mga kasamahan, lalo na sina Eduardo Vela Nava at Alexandra Sandulescu. Nagkaroon din ako ng tulong sa pagsusuri ng bug mula kay Josh Eads.”