SWAPGS - bregusrwydd newydd yn y mecanwaith gweithredu hapfasnachol CPU

Ymchwilwyr o Bitdefender wedi'i nodi bregusrwydd newydd (CVE-2019-1125) yn y mecanwaith gweithredu cyfarwyddiadau hapfasnachol o CPUs modern, a elwir yn SWAPGS, sy'n cyfateb i enw'r cyfarwyddyd prosesydd sy'n achosi'r broblem. Bregusrwydd yn caniatáu caniatáu i ymosodwr di-freintiedig bennu cynnwys ardaloedd cof cnewyllyn neu redeg peiriannau rhithwir. Problem wedi'i gadarnhau mewn proseswyr Intel (x86_64) ac yn rhannol yn effeithio процессоры AMD, для которых не проявляется основной вектор атаки. Ранее реализованные методы противодействия уязвимостям Spectre и Meltdown не защищают от атаки SWAPGS при использовании процессоров Intel, но для Linux, ChromeOS, Android и Windows уже предложены исправления.

Mae'r bregusrwydd yn perthyn i'r dosbarth Specter v1 ac mae'n seiliedig ar y syniad o adfer data o storfa'r prosesydd sy'n weddill ar ôl gweithredu cyfarwyddiadau yn hapfasnachol. Er mwyn gwella perfformiad, mae unedau rhagfynegi cangen o CPUs modern yn defnyddio gweithredu rhagataliol o rai cyfarwyddiadau sydd fwyaf tebygol o gael eu gweithredu, ond heb aros am gyfrifo'r holl ffactorau sy'n pennu eu gweithrediad (er enghraifft, pan nad yw amodau cangen neu baramedrau mynediad wedi'u cyflawni. eto wedi ei gyfrifo). Os na chaiff y rhagfynegiad ei gadarnhau, mae'r prosesydd yn taflu canlyniad y gweithrediad hapfasnachol, ond mae'r data a brosesir yn ystod ei fod yn aros yn storfa'r prosesydd a gellir ei adfer gan ddefnyddio dulliau ar gyfer pennu cynnwys y storfa trwy sianeli ochr, gan ddadansoddi'r newid mewn mynediad amser i ddata wedi'i storio a heb ei gadw.

Особенность новой атаки в использовании утечки, возникающей в ходе спекулятивного выполнения инструкции SWAPGS, которая применяется в операционных системах для замены значения регистра GS при переходе управления из пространства пользователя в ядро ОС (используемое в пространстве пользователя значение GS заменяется на значение, используемое при операциях в ядре). В ядре Linux в GS хранится указатель per_cpu, используемый для доступа к данным ядра, а в пространстве пользователя указатели на TLS (Thread Local Storage).

Er mwyn osgoi galw'r cyfarwyddyd SWAPGS ddwywaith wrth gyrchu'r cnewyllyn eto o ofod cnewyllyn neu wrth weithredu cod nad oes angen newid cofrestr GS arno, cynhelir gwiriad a changen amodol cyn y cyfarwyddyd. Mae'r peiriant gweithredu hapfasnachol yn mynd ymlaen yn rhagweithiol i weithredu cod gyda'r cyfarwyddyd SWAPGS heb aros am ganlyniad y siec, ac os na chadarnheir y gangen a ddewiswyd, mae'n taflu'r canlyniad. Felly, gall sefyllfa godi pan fydd cangen nad yw'n ymwneud â gweithredu SWAPGS yn cael ei dewis yn hapfasnachol, ond yn ystod gweithredu hapfasnachol bydd gwerth y gofrestr GS yn cael ei newid gan gyfarwyddyd SWAPGS a'i ddefnyddio mewn gweithrediadau cof dibynnol sy'n dod i ben yn y storfa CPU.

Mae ymchwilwyr wedi cynnig dwy senario ymosodiad y mae prototeipiau ecsbloetio wedi'u paratoi ar eu cyfer. Mae'r senario gyntaf yn seiliedig ar y sefyllfa lle nad yw'r cyfarwyddyd SWAPGS yn cael ei weithredu'n hapfasnachol, er ei fod yn cael ei ddefnyddio mewn gwirionedd wrth gyflawni, a'r ail yw'r gwrthwyneb, pan weithredir y cyfarwyddyd SWAPGS yn hapfasnachol, er na ddylid ei weithredu mewn gwirionedd. Ar gyfer pob senario, mae dau opsiwn ar gyfer ecsbloetio: gall yr ymosodwr bennu'r gwerth mewn cyfeiriad penodol yn ardal y cnewyllyn, a gall yr ymosodwr chwilio am werth penodol mewn cyfeiriadau ar hap yn y cnewyllyn. Mae cyflawni ymosodiad yn cymryd amser hir ac efallai y bydd angen sawl awr i gwblhau'r gollyngiad.

Chwarae fideo

Yn y craidd Linux y broblem dileu trwy newid y rhesymeg o alw'r cyfarwyddyd SWAPGS (rhwystro gweithredu hapfasnachol), yn debyg i gywiro gwendidau eraill yn y dosbarth Specter v1. Disgwylir i'r amddiffyniad ychwanegol gael effaith fach iawn ar berfformiad llwythi gwaith nodweddiadol. Mae hwyrni yn digwydd yn ystod y cyfnod newid rhwng gofod defnyddiwr a chnewyllyn, a all arwain at berfformiad gwael pan fydd, er enghraifft, yn galw system drwm o'r cais neu'n cynhyrchu NMI yn aml ac yn torri ar draws.

Исправление требует установки обновления ядра как в основной системе, так и в гостевых окружениях, с последующей перезагрузкой системы. Для отключения защиты в Linux может быть использована опция «nospectre_v1», которая также отключает меры для блокирования уязвимости SWAPGS. Исправление доступно в виде clwt ar gyfer y craidd Linux, который уже включён в состав выпусков 4.19.65, 5.2.7, 4.14.137, 4.9.188 и 4.4.188. Обновления для дистрибутивов Linux пока не выпущены (Debian, RHEL, Fedora, Arch Linux, SUS/openSUSE, Ubuntu) AT Windows проблема без лишней огласки была устранена в Diweddariad mis Gorffennaf. Cwmni Google wedi'i baratoi trwsio ar gyfer cnewyllyn 4.19 gludo gyda ChromeOS a Android.

По заявлению исследователей из компании Bitdefender, Intel был информирован о проблеме ещё в августе прошлого года. Проблему было решено устранить программно, для чего к скоординированной выработке исправления были привлечены разработчики из Microsoft, Google и ядра Linux. Старые процессоры Intel, до Ivy Bridge, атаковать значительно труднее из-за отсутствия поддержки инструкции WRGSBASE, использованной в эксплоите. Системы ARM, POWER, SPARC, MIPS и RISC-V не подвержены проблеме, так как не поддерживают инструкцию SWAPGS.

Mae'r broblem yn effeithio'n bennaf ar berchnogion proseswyr Intel -
Ar systemau AMD, dim ond yr ail senario ymosodiad y gellir ei atgynhyrchu, sy'n gyfyngedig i brosesu hapfasnachol o werth sylfaenol y gofrestr GS, y gellir ei ddefnyddio i chwilio am werthoedd penodol mewn ardaloedd cof ar hap. I rwystro'r opsiwn ymosodiad hwn digon dulliau presennol o amddiffyn rhag Spectre v1.

Ffynhonnell: opennet.ru

Prynu gwesteio dibynadwy ar gyfer gwefannau sydd â diogelwch DDoS, gweinyddwyr VPS VDS 🔥 Prynu cynnal gwefannau dibynadwy gyda diogelwch DDoS, gweinyddion VPS VDS | ProHoster