Abaphandi abavela kwi-Bitdefender ubuthathaka obutsha () kwindlela yokwenziwa komyalelo wentelekelelo yee-CPU zanamhlanje, ebizwa ngokuba yi-SWAPGS, ehambelana negama lomyalelo weprosesa obangela ingxaki. Ukuba sesichengeni umhlaseli ongenalungelo unokumisela imixholo yeendawo zememori ye-kernel okanye ukuqhuba oomatshini bokwenene. Ingxaki kwiiprosesa ze-Intel (x86_64) kwaye ngokuyinxenye процессоры AMD, для которых не проявляется основной вектор атаки. Ранее реализованные методы противодействия уязвимостям Spectre и Meltdown не защищают от атаки SWAPGS при использовании процессоров Intel, но для Linux, ChromeOS, Android и Windows уже предложены исправления.
Ukuba sesichengeni kokweklasi yeSpecter v1 kwaye kusekwe kumbono wokubuyisela idatha kwi-cache yeprosesa eseleyo emva kokuphunyezwa kwemiyalelo eqikelelwayo. Ukuphucula ukusebenza, iiyunithi zokuxela kwangaphambili zesebe zee-CPU zanamhlanje zisebenzisa ukuphunyezwa kwangaphambili kweminye imiyalelo ekunokwenzeka ukuba iphunyezwe, kodwa ngaphandle kokulinda ukubalwa kwazo zonke izinto ezigqiba ukwenziwa kwazo (umzekelo, xa iimeko zesebe okanye iiparamitha zofikelelo zingekafiki. ukanti ibaliwe). Ukuba uqikelelo aluqinisekiswanga, iprosesa iyayilahla isiphumo sokwenziwa okucingelwayo, kodwa idatha ecutshungulwayo ngexesha layo ihlala kwicache yeprosesa kwaye inokubuyiselwa kusetyenziswa iindlela zokumisela imixholo yecache ngokusebenzisa amajelo asecaleni, ukuhlalutya utshintsho ekufikeleleni. ixesha lokufihla kunye nedatha engagcinwanga.
Особенность новой атаки в использовании утечки, возникающей в ходе спекулятивного выполнения инструкции SWAPGS, которая применяется в операционных системах для замены значения регистра GS при переходе управления из пространства пользователя в ядро ОС (используемое в пространстве пользователя значение GS заменяется на значение, используемое при операциях в ядре). В ядре Linux в GS хранится указатель per_cpu, используемый для доступа к данным ядра, а в пространстве пользователя указатели на TLS (Thread Local Storage).
Ukuze ugweme ukubiza umyalelo we-SWAPGS kabini xa ufikelela kwi-kernel kwakhona kwisithuba se-kernel okanye xa uqhuba ikhowudi engadingi utshintsho lwerejista ye-GS, itshekhi kunye nesebe elinemiqathango liyenziwa phambi komyalelo. Injini eqikelelwayo yokubulawa iqhubeleka ngokusebenzayo ukwenza ikhowudi ngomyalelo weSWAPGS ngaphandle kokulinda isiphumo setshekhi, kwaye ukuba isebe elikhethiweyo aliqinisekiswanga, lilahla isiphumo. Ngaloo ndlela, imeko inokuvela xa isebe elingabandakanyi ukubulawa kwe-SWAPGS likhethwe ngokuqikelelwayo, kodwa ngexesha lokuqikelela ixabiso lerejista ye-GS iya kutshintshwa ngumyalelo we-SWAPGS kwaye isetyenziswe kwimisebenzi yememori exhomekeke ekupheleni kwi-CPU cache.
Abaphandi bacebise iimeko ezimbini zokuhlaselwa apho iprototypes yokuxhaphaza ilungiselelwe. Imeko yokuqala isekelwe kwimeko apho umyalelo we-SWAPGS ungenziwanga ngokuqikelelwayo, nangona usetyenziswe ngokwenene ekubulaweni, kwaye okwesibini kuchasene, xa umyalelo we-SWAPGS uphunyezwa ngokuqikelelwa, nangona akufanelekanga ukuba wenziwe. Kwimeko nganye, kukho iindlela ezimbini zokuxhaphaza: umhlaseli unokugqiba ixabiso kwidilesi ethile kwindawo ye-kernel, kwaye umhlaseli unokukhangela ixabiso elithile kwiidilesi ezingahleliwe kwi-kernel. Ukwenza uhlaselo kuthatha ixesha elide kwaye ukuxhaphaza kunokuthatha iiyure ezininzi ukugqiba ukuvuza.

Eyona nto iphambili Linux ingxaki ngokuguqula ingqiqo yokubiza umyalelo we-SWAPGS (ukuthintela ukuphunyezwa okuqikelelwayo), okufana nokulungiswa kobunye ubuthathaka beklasi yeSpecter v1. Ukhuseleko olongezelelweyo kulindeleke ukuba lube nempembelelo encinci ekusebenzeni komthwalo oqhelekileyo wokusebenza. I-Latency iyenzeka ngexesha lesigaba sokutshintsha phakathi komsebenzisi kunye nendawo ye-kernel, enokubangela ukusebenza kakubi xa, umzekelo, kukho umnxeba wenkqubo enzima ukusuka kwisicelo okanye ukuveliswa rhoqo kwe-NMI kunye nokuphazamisa.
Исправление требует установки обновления ядра как в основной системе, так и в гостевых окружениях, с последующей перезагрузкой системы. Для отключения защиты в Linux может быть использована опция «nospectre_v1», которая также отключает меры для блокирования уязвимости SWAPGS. Исправление доступно в виде kwisiseko Linux, который уже включён в состав выпусков , , 4.14.137, 4.9.188 и 4.4.188. Обновления для дистрибутивов Linux пока не выпущены (, , , , , ). NGAPHAKATHI Windows проблема без лишней огласки была устранена в . Inkampani kaGoogle lungisa i-kernel 4.19 ithunyelwe nge-ChromeOS kunye .
По заявлению исследователей из компании Bitdefender, Intel был информирован о проблеме ещё в августе прошлого года. Проблему было решено устранить программно, для чего к скоординированной выработке исправления были привлечены разработчики из Microsoft, Google и ядра Linux. Старые процессоры Intel, до Ivy Bridge, атаковать значительно труднее из-за отсутствия поддержки инструкции WRGSBASE, использованной в эксплоите. Системы ARM, POWER, SPARC, MIPS и RISC-V не подвержены проблеме, так как не поддерживают инструкцию SWAPGS.
Ingxaki ichaphazela ikakhulu abanini be-Intel processors -
Kwiinkqubo ze-AMD, kuphela imeko yohlaselo lwesibini ekwazile ukuphinda iveliswe, elinganiselweyo kwingqikelelo yexabiso lesiseko serejista ye-GS, enokusetyenziselwa ukujonga amaxabiso athile kwiindawo zememori ezingahleliwe. Ukuvala olu khetho lohlaselo iindlela ezikhoyo zokhuseleko kwiSpecter v1.
umthombo: opennet.ru
