Intel процессорлорунун MMIO механизминдеги кемчиликтер

Intel процессорлордун микроархитектуралык структуралары аркылуу берилиштердин жаңы классы тууралуу маалыматты ачып берди, бул MMIO (Эстутумдун картасын киргизүү чыгаруу) механизмин манипуляциялоо аркылуу башка CPU өзөктөрүндө иштетилген маалыматты аныктоого мүмкүндүк берет. Мисалы, алсыздыктар маалыматтарды башка процесстерден, Intel SGX анклавдарынан же виртуалдык машиналардан алууга мүмкүндүк берет. Алсыздыктар Intel процессорлоруна гана мүнөздүү; башка өндүрүүчүлөрдүн процессорлоруна алсыздыктар таасир этпейт.

Алсыздыктар ар кандай Intel процессорлорунда, анын ичинде Haswell, Skylake, IceLake, Broadwell, Lakefield, Kabylake, Cometlake жана Rocketlake микроархитектураларына негизделген процессорлордо, ошондой эле Xeon EP/EX, Scalable жана кээ бир Atom сервер процессорлорунда пайда болот. Чабуул жасоо үчүн MMIO кирүү талап кылынат, аны, мисалы, чабуулчу башкарган конок системалары үчүн MMIO кирүү мүмкүнчүлүгүн камсыз кылган виртуалдаштыруу системаларында алса болот. Intel SGX (Software Guard Extensions) изоляцияланган анклавдарын колдонгон системалар үчүн да оңдоо талап кылынышы мүмкүн.

Алсыздыкты бөгөттөө микрокодду жаңыртууну да, ядродон колдонуучу мейкиндигине кайтып келгенде же конок системасына башкарууну өткөрүп жатканда микроархитектуралык буферлердин мазмунун тазалоо үчүн VERW инструкциясын колдонууга негизделген кошумча программалык камсыздоону коргоо ыкмаларын колдонууну талап кылат. Окшош коргоо, ошондой эле MDS (Микроархитектуралык маалыматтарды тандоо), SRBDS (Атайын реестр буфердик маалыматтарын тандоо) жана TAA (Транзакциялык асинхрондук токтотуу) класстарынын мурда аныкталган чабуулдарын бөгөттөө үчүн колдонулат.

Микрокод тарабында коргоону ишке ашыруу үчүн зарыл болгон өзгөртүүлөр май айындагы Intel процессорлору үчүн микрокод жаңыртууларында сунушталган (IPU 2022.1). Linux ядросунда чабуулдардын жаңы классынан коргоо 5.18.5, 5.15.48, 5.10.123, 5.4.199, 4.19.248, 4.14.284 жана 4.9.319 релиздеринде камтылган. Системанын MMIOнун алсыздыктарына дуушар болушун текшерүү жана айрым коргоо механизмдеринин активдүүлүгүн баалоо үчүн Linux ядросуна “/sys/devices/system/cpu/vulnerabilities/mmio_stale_data” файлы кошулган. Коргоону киргизүүнү көзөмөлдөө үчүн ядронун жүктөө параметри “mmio_stale_data” ишке ашырылган, ал “full” (колдонуучу мейкиндигине жана VMге өтүүдө буферлерди тазалоого мүмкүндүк берет), “full,nosmt” ( "толук" катары + кошумча SMT/Hyper- Threads өчүрөт) жана "өчүрүү" (коргоо өчүрүлгөн). Xen гипервизору жана Qubes операциялык системасы үчүн өзүнчө оңдоолор сунушталат.

Алсыздыктын аныкталган классынын маңызы, кээ бир операциялар башка CPU өзөктөрүндө аткарылгандан кийин калган маалыматтарды бир микроархитектуралык буферден экинчисине көчүрүүгө же жылдырууга алып келет. MMIO-нун алсыздыктары бул калдык маалыматтарды обочолонгон микроархитектуралык буферлерден колдонмо көрүнгөн регистрлерге же CPU буферлерине өткөрүүгө мүмкүндүк берет. MMIO аркылуу калдык маалыматтарды алуу үчүн үч ыкма аныкталган:

  • DRPW (Түзмөк регистринин жарым-жартылай жазуусу, CVE-2022-21166) - кээ бир MMIO регистрлерине жазууларды туура эмес иштетүү менен байланышкан маселе. Эгерде жазылып жаткан маалыматтардын өлчөмү реестрдин өлчөмүнөн аз болсо, анда толтуруу буферлеринен калган маалымат да реестрге көчүрүлөт. Натыйжада, MMIO реестрине толук эмес жазуу операциясын баштаган процесс башка CPU өзөктөрүндө аткарылган операциялардан микроархитектуралык буферлерде калган маалыматтарды ала алат.
  • SBDS (Shared Buffers Data Sampling, CVE-2022-21125) бул бардык өзөктөр үчүн жалпы болгон аралык буферлерден кыймылдын натыйжасында ядро ​​менен байланышкан толтуруу буферинен калган маалыматтардын агып чыгышы.
  • SBDR (Shared Buffers Data Read, CVE-2022-21123) - көйгөй SBDSге окшош, бирок калган маалыматтар тиркемелерге көрүнгөн CPU түзүмдөрүндө калышы мүмкүн экендиги менен айырмаланат. SBDS жана SBDR көйгөйлөрү кардар системалары үчүн процессорлордо жана Intel Xeon E3 сервер үй-бүлөсүндө гана пайда болот.

Intel процессорлорунун MMIO механизминдеги кемчиликтер


Source: opennet.ru

Комментарий кошуу