WikiDer > Vaqtinchalik bajarilish protsessorining zaifligi

Transient execution CPU vulnerability

Vaqtinchalik bajarilish protsessorining zaifliklari a bo'lgan kompyuter tizimidagi zaifliklar spekulyativ ijro optimallashtirish a mikroprotsessor maxfiy ma'lumotlarni ruxsatsiz shaxsga etkazish uchun foydalaniladi. Klassik misol Spektr o'z nomini ushbu turga bergan yon kanal hujumi, ammo 2018 yil yanvar oyidan boshlab turli xil zaifliklar aniqlandi.

Umumiy nuqtai

Zamonaviy kompyuterlar juda parallel qurilmalar bo'lib, ularning ishlash ko'rsatkichlari har xil bo'lgan komponentlardan tashkil topgan. Agar operatsiyani (masalan, filialni) hali bajarib bo'lmaydigan bo'lsa, chunki ba'zi bir sekin operatsiyalar (masalan, xotirani o'qish) tugallanmagan bo'lsa, mikroprotsessor bashorat qilish oldingi operatsiya natijasi va keyingi operatsiyani bajarish spekulyativ tarzda, xuddi taxmin to'g'ri bo'lganidek harakat qilish. Bashorat tizimning so'nggi xatti-harakatlariga asoslangan bo'lishi mumkin. Avvalroq, sekinroq ish tugagandan so'ng, mikroprotsessor bashoratning to'g'ri yoki noto'g'riligini aniqlaydi. Agar u to'g'ri bo'lsa, unda ijro to'xtovsiz davom etadi; agar u noto'g'ri bo'lsa, unda mikroprotsessor spekulyativ tarzda bajarilgan operatsiyalarni orqaga qaytaradi va sekin ishning haqiqiy natijasi bilan asl ko'rsatmani takrorlaydi. Xususan, a vaqtinchalik ko'rsatma[1] protsessor tomonidan xato bilan ishlov berilgan yo'riqnomani bildiradi (holatida filial bashoratchisini ayblash Spektr) protsessorning mikro-me'moriy holatiga ta'sir qilishi mumkin, bu esa me'morchilik holatini bajarilish izlarini qoldirmaydi.

Kompyuterning to'g'ridan-to'g'ri ko'rinadigan xatti-harakatlari nuqtai nazaridan go'yoki spekulyativ tarzda bajarilgan kod "hech qachon bo'lmagan". Biroq, bu spekulyativ ijro mikroprotsessorning ba'zi tarkibiy qismlarining holatiga ta'sir qilishi mumkin, masalan keshva bu ta'sir keyingi operatsiyalar vaqtini diqqat bilan kuzatib borish orqali aniqlanishi mumkin.

Agar tajovuzkor spekulyativ tarzda bajarilgan kodni (tajovuzkor tomonidan to'g'ridan-to'g'ri yozilishi yoki mos bo'lishi mumkin) tashkil qilishi mumkin bo'lsa gadjet ular maqsadli tizimda topilgan), ularga kirish huquqi bo'lmagan maxfiy ma'lumotlar bilan ishlaydi va maxfiy ma'lumotlarning turli qiymatlari uchun keshga boshqacha ta'sir qiladi, ular maxfiy ma'lumotlarning qiymatini bilib olishlari mumkin.

2017 yildan boshlab, bunday zaifliklarning bir nechta namunalari aniqlandi, nashr 2018 yil boshidan boshlanadi.

Zaifliklar va yumshatilishlar sarhisobi

Yumshatilish turiKeng qamrovlilikSamaradorlikIshlash ta'siri
UskunaTo'liqTo'liqYo'q ... Kichik
Mikrokod dasturini yangilashQismanQisman ... To'liqYo'q ... Katta
OS / VMMQismanQisman ... To'liqKichik ... katta
Dasturiy ta'minotni qayta kompilyatsiya qilishKambag'alQisman ... To'liqO'rta ... Katta

Uskunani yumshatish protsessor dizaynini o'zgartirishni va shu tariqa apparatning yangi iteratsiyasini talab qiladi, lekin nolga yaqin ishlash yo'qotilishini keltirib chiqaradi. Mikrokod yangilanishlar protsessor ishlaydigan dasturni o'zgartiradi va yamoqlarni chiqarishni va har bir operatsion tizimga va har bir protsessorga qo'shilishini talab qiladi. OS / VMM yumshatilishlari operatsion tizimda yoki virtual mashina darajasida qo'llaniladi va (ish hajmiga qarab) ko'pincha ishlashni sezilarli darajada yo'qotadi. Dasturiy ta'minotni qayta kompilyatsiya qilish qayta kompilyatsiya qilishni talab qiladi har bir dasturiy ta'minot va odatda qattiq ishlashga olib keladi.

Zaiflik nomi

(taxalluslar)

CVETa'sir qilingan CPU arxitekturalari va yumshatilishlari
Intel[2]AMD[3]
Muzli ko'l[4]Kaskad ko‘li,
Kometa ko'li
Viski ko'li,
Amber ko'li
Qahva ko'li
(9-gen)[5]
Qahva ko'li
(8-gen) *
Zen 1 / Zen 1+Zen 2[6]
Spectre v1
Chegaralarni tekshiring
2017-5753Dasturiy ta'minotni qayta kompilyatsiya qilishDasturiy ta'minotni qayta kompilyatsiya qilish[7]
Spectre v2
Filialning maqsadli in'ektsiyasi
2017-5715Uskuna + operatsion tizimMicrocode + OSMicrocode + OSMicrocode + OS / VMMUskuna + OS / VMM
SpectreRSB[8]/ret2spec[9]Noto'g'ri taxminni qaytaring2018-15572OS[10]
Erish
Rogue Data Cache Load
2017-5754Ta'sir qilinmaydiMikrokodTa'sir qilinmaydi
Spectre-NG v3a2018-3640Ta'sir qilinmaydi[11]Mikrokod
Spectre-NG v4
Spekulyativ do'kon atrofi
2018-3639Uskuna + OS / VMM[11]Microcode + OSOS / VMMUskuna + OS / VMM
Old soya
L1 terminalining nosozligi, L1TF
2018-3615Ta'sir qilinmaydiMikrokodTa'sir qilinmaydi
Spectre-NG
Lazy FP holatini tiklash
2018-3665OS / VMM[12]
Spectre-NG v1.1
Chegaralarni tekshiring
2018-3693OS / VMM[13]
Spectre-NG v1.2
Faqat o'qish uchun himoyalangan chetlab o'tish (RPB)
Yo'q CVE va hech qachon Intel tomonidan tasdiqlanmaganTa'sir qilinmaydi[3]
Foreshadow-OS
L1 terminalining nosozligi (L1TF)
2018-3620Ta'sir qilinmaydiMicrocode + OSTa'sir qilinmaydi
Foreshadow-VMM
L1 terminalining nosozligi (L1TF)
2018-3646
RIDL / ZombieLoad
Mikroarxitektura to'ldirish buferi ma'lumotlarini namuna olish (MFBDS)
2018-12130
RIDL
Mikroarxitektura yuk portidan ma'lumot olish (MLPDS)
2018-12127Ta'sir qilinmaydiTa'sir qilinmaydi [1]Ta'sir qilinmaydiMicrocode + OS[14]
RIDL
Mikroarxitektura ma'lumotlaridan namuna olish keshlanmaydigan xotira (MDSUM)
2019-11091Ta'sir qilinmaydiMicrocode + OS
Qatordan chiqib ketish
Mikroarxitektura do'konining bufer ma'lumotlarini tanlash (MSBDS)
2018-12126Mikrokod[15][16]Ta'sir qilinmaydi [2]Ta'sir qilinmaydiMicrocode + OS
SWAPGS spektri[17][18][19]2019-1125Spectre 1 bilan bir xil
RIDL / ZombieLoad v2
Transaktsion asenkron abort (TAA)[20][21][22]
2019-11135Ta'sirlanmagan[23]Microcode + OS
RIDL / CacheOut
L1D evakuatsiya qilish namunasi (L1DES)[24][25][26]
2020-0549Ta'sirlanmagan
RIDL
Vektor registridan namuna olish (VRS)[24][25]
2020-0548
Yuk qiymatiga qarshi in'ektsiya (LVI)[27][28][29][30]2020-0551Dasturiy ta'minotni qayta kompilyatsiya qilish
Olib ketish[31][32]Ta'sir qilinmaydiHali ham tuzatilmagan (bahsli[33])[34]
CROSSTalk
Bufer ma'lumotlarini maxsus ro'yxatga olish (SRBDS)[35][36][37]
2020-0543Ta'sir qilinmaydiMikrokodTa'sir qilinmaydi
Ko'zi ojiz[38][39]Ta'sir qilingan, hali aniqlanmagan

Ushbu jadvaldagi 8-avlod kofe ko'lining arxitekturasi shuningdek asosidagi arxitekturalar bilan cheklanmagan, ilgari chiqarilgan Intel protsessorlarining keng doirasiga taalluqlidir Intel Core, Pentium 4 va Intel Atom bilan boshlangan Silvermont.[40][41]. Yuqorida kelmagan turli CPU protsessorlarining mikroarxitekturalari ham ta'sir qiladi, ular orasida IBM Power, ARM, MIPS va boshqalar.[42][43][44][45].

Kelajak

Spectre sinfidagi zaifliklar tuzatilmagan bo'lib qoladi, chunki aks holda CPU dizaynerlari o'chirib qo'yishlari kerak OoOE bu katta ishlash yo'qotishlariga olib keladi.

Izohlar

1.^ Kaskad Leyk mikro arxitekturasiga asoslangan Intel® Xeon® kengaytiriladigan protsessorlarning ikkinchi avlodining 5-bosqichiga MSBDS va MLPDS ta'sir qiladi.

Adabiyotlar

  1. ^ Kocher, Pol; Shox, Yann; Fog, Anders; Genkin, Daniel; Gruss, Doniyor. "Tomoshabinlar hujumi: spekulyativ qatlni ekspluatatsiya qilish" (PDF). Olingan 2020-04-16.
  2. ^ "Texnikaga yangi muhofaza qilish muhandisligi". Intel. Olingan 2019-06-12.
  3. ^ a b "AMD mahsulot xavfsizligi | AMD". 2019-08-10. Olingan 2019-08-10.
  4. ^ Kess, doktor Ian. "Muzli ko'lning mezonini oldindan ko'rish: Intelning 10nm ichkarisida". www.anandtech.com. Olingan 2019-08-01.
  5. ^ onlayn, heise. "Intel Core i9-9900K mit 8 Kernen und 5 GHz für Gamer". heise onlayn (nemis tilida). Olingan 2018-10-09.
  6. ^ Kotess, Yan. "AMD Zen 2 Mikroarxitektura tahlili: Ryzen 3000 va EPYC Rim". www.anandtech.com. Olingan 2019-06-11.
  7. ^ https://developer.amd.com/wp-content/resources/90343-B_SoftwareTechniquesforManagingSpeculation_WP_7-18Update_FNL.pdf
  8. ^ "Spectre Return! Return Stack Buferi yordamida spekulyatsiya hujumlari" (PDF). www.usenix.org. Olingan 2019-08-17.
  9. ^ Maisuradze, Giorgi; Rossow, Christian (2018). "ret2spec: Qaytish stak tamponlari yordamida spekulyativ ijro". Kompyuter va aloqa xavfsizligi bo'yicha 2018 yil ACM SIGSAC konferentsiyasi materiallari. 2109-2212 betlar. arXiv:1807.10364. Bibcode:2018arXiv180710364M. doi:10.1145/3243734.3243761. ISBN 9781450356930.
  10. ^ https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=fdf82a7856b32d905c39afc85e34364491e46346
  11. ^ a b "Texnikaga yangi muhofazalarni muhandislik qilish". Intel. Olingan 2019-04-28.
  12. ^ "INTEL-SA-00145". Intel.
  13. ^ "Chegaralarni tekshirish Bypass Store (BCBS) zaifligi (INTEL-OSS-10002)" ". Intel.
  14. ^ "Intel Deep Dive CPUID ro'yxati va me'moriy MSRlar". Intel. Olingan 2020-01-02.
  15. ^ "INTEL-SA-00233". Intel. Olingan 2020-07-15.
  16. ^ danielmgmi (2020-07-15), danielmgmi / icebreak, olingan 2020-07-15
  17. ^ "Bitdefender SWAPGS hujumini kamaytirish echimlari". www.bitdefender.com. Olingan 2019-08-07.
  18. ^ "Documentation / admin-guide / hw-vuln / spectre.rst - chromiumos / third_party / kernel - Git at Google". chromium.googlesource.com. Olingan 2019-08-07.
  19. ^ Winder, Davey (6 avgust 2019). "Microsoft Windows-ning yangi CPU hujumining zaifligini tasdiqlaydi va barcha foydalanuvchilarga hozirda yangilashni maslahat beradi". Forbes. Olingan 7 avgust 2019.
  20. ^ "Kiberus texnologiyasi: TSX asenkron aborti". www.cyberus-technology.de. Olingan 2019-11-12.
  21. ^ 18:02 da, San-Frantsiskoda Shaun Nichols, 12 Noyabr 2019. "ZombieLoad Intel protsessori nomiga sodiq bo'lib, yangi variant bilan aralashib ketdi". www.theregister.co.uk. Olingan 2019-11-12.
  22. ^ Cimpanu, Katalin. "Intelning Cascade Leyk CPUlari yangi Zombieload v2 hujumidan ta'sirlandi". ZDNet. Olingan 2019-11-12.
  23. ^ "Intel Deep Dive TSX asenkron aborti". Intel. Olingan 2020-01-02.
  24. ^ a b "MDS hujumlari: mikrorarxitektura ma'lumotlari namunalari". mdsattacks.com. Olingan 2020-01-27.
  25. ^ a b "IPAS: INTEL-SA-00329". Texnologiya @ Intel. 2020-01-27. Olingan 2020-01-28.
  26. ^ "CacheOut". cacheoutattack.com. Olingan 2020-01-29.
  27. ^ soat 17:00 da, Tom-Klaburn San-Frantsiskoda 10-mart, 2020-yil. "Siz faqat ikki marta LVI: Meltdown Sequel Intel chiplariga zarba beradi - va ma'lumotlar aralashuvidagi kamchiliklarni to'liq yumshatish sizga ishlashning 50% + narxiga olib keladi". www.theregister.co.uk. Olingan 2020-03-10.
  28. ^ "LVI: yuk qiymatini in'ektsiya qilish bilan vaqtinchalik ijroni olib qochish". lviattack.eu. Olingan 2020-03-10.
  29. ^ "INTEL-SA-00334". Intel. Olingan 2020-03-10.
  30. ^ "Chuqur sho'ng'in: yukni in'ektsiya qilish". software.intel.com. Olingan 2020-03-10.
  31. ^ "A Way: AMD's Cache Way Predictors-ning xavfsizlik oqibatlarini o'rganish" (PDF).
  32. ^ Mart 2020, Pol Alkorn 07. "AMD-ning yangi kanal hujumlari aniqlandi, bu Zen arxitekturasiga ta'sir qiladi".. Tomning uskuna. Olingan 2020-03-07.
  33. ^ Alkorn, Pol (2020 yil 9 mart). "AMD-ning yon tomonidagi yangi hujumlar aniqlandi, bu Zen Arxitekturasiga ta'sir qiladi (AMD javoblari)". Tomning uskuna. Olingan 2020-06-10.
  34. ^ Cimpanu, Katalin. "AMD protsessorlari 2011 yildan 2019 yilgacha ikkita yangi hujumga qarshi himoyasiz". ZDNet. Olingan 2020-09-11.
  35. ^ "CROSSTalk". VUSec. Olingan 2020-06-09.
  36. ^ "Chuqur sho'ng'in: bufer ma'lumotlarining maxsus ro'yxatga olinishi". software.intel.com. Olingan 2020-06-09.
  37. ^ "INTEL-SA-00320". Intel. Olingan 2020-06-09.
  38. ^ "BlindSided bo'lmang: yadro himoyasini chetlab o'tishda spekulyativ xotirani tekshiring, zararli dasturlarning ildiz boshqaruvini bering". www.theregister.com. Olingan 2020-09-11.
  39. ^ "BlindSide". VUSec. Olingan 2020-09-11.
  40. ^ "INTEL-SA-00088". Intel. Olingan 2018-09-01.
  41. ^ "INTEL-SA-00115". Intel. Olingan 2018-09-01.
  42. ^ "Erish va tomoshabin holati sahifasi". wiki.netbsd.org. Olingan 2019-09-29.
  43. ^ Ltd, Arm. "Spekulyativ protsessorning zaifligi | Kesh spekulyatsiyasi bilan bog'liq muammolarni yangilash". ARM Developer. Olingan 2019-09-29.
  44. ^ "ARM va Intel protsessorlarida spekulyativ ijro etish zaifliklari to'g'risida". Apple qo'llab-quvvatlashi. Olingan 2019-09-29.
  45. ^ "POWER oilasidagi protsessorlarga mumkin bo'lgan ta'sir". IBM PSIRT blogi. 2019-05-14. Olingan 2019-09-29.

Tashqi havolalar

  1. CPU spekulyativ bajarilishi bilan bog'liq zaifliklar
  2. Vaqtinchalik bajarilish hujumlari va himoyalarini muntazam baholash
  3. Intel, AMD va ARM protsessorlari uchun vaqtinchalik bajarilish zaifliklarining dinamik daraxti
  4. Daniel Gruss tomonidan vaqtinchalik ijro hujumlari, 20 iyun, 2019
  5. CPU xatolari
  6. Intel: Qayta qilingan spekulyativ ijro terminologiyasi