Intel prozesadoreetan ahultasuna hirugarrenen kanalen bidez datuak isurtzea eragiten du

Txinako eta Amerikako unibertsitateetako ikertzaile talde batek Intel prozesadoreetan ahultasun berri bat identifikatu du, eragiketa espekulatiboen emaitzari buruzko informazioa hirugarrenen kanalen bidez isurtzea eragiten duena, eta hori erabil daiteke, adibidez, ezkutuko komunikazio kanal bat antolatzeko. prozesuen artean edo Meltdown erasoetan ihesak hautemateko.

Zaurgarritasunaren funtsa da EFLAGS prozesadore-erregistroaren aldaketak, instrukzioen exekuzio espekulatiboaren ondorioz gertatu denak, JCC instrukzioen ondorengo exekuzio-denboran eragiten duela (jauzi zehaztutako baldintzak betetzen direnean). Eragiketa espekulatiboak ez dira amaitu eta emaitza baztertu egiten da, baina baztertutako EFLAGS aldaketa zehaztu daiteke JCCren instrukzioen exekuzio-denbora aztertuz. Jauzi aurreko konparazio-eragiketak espekulatiboki egiten diren, konparaketa arrakastatsua bada, atzerapen txiki bat eragiten dute, edukia parekatzeko ezaugarri gisa neurtu eta erabil daitekeena.

Intel prozesadoreetan ahultasuna hirugarrenen kanalen bidez datuak isurtzea eragiten du

Hirugarrenen kanalen antzeko beste eraso batzuk ez bezala, metodo berriak ez du aztertzen cachean dauden eta cachean ez dauden datuetarako sarbide-denboraren aldaketa eta ez du eskatzen EFLAGS erregistroa hasierako egoerara berrezartzeko etapa, eta horrek zaildu egiten du. erasoa detektatu eta blokeatu. Erakuspen gisa, ikertzaileek Meltdown erasoaren aldaera bat ezarri zuten, bertan metodo berri bat erabiliz espekulazio operazio baten emaitzari buruzko informazioa lortzeko. Meltdown-eko eraso batean informazio-ihesak antolatzeko metodoaren funtzionamendua arrakastaz frogatu da Intel Core i7-6700 eta i7-7700 CPUak dituzten sistemetan Ubuntu 22.04 eta Linux 5.15 nukleoa duten ingurune batean. Intel i9-10980XE CPU batekin sistema batean, erasoa partzialki arrakastatsua izan zen.

Meltdown ahultasuna jarraibideen exekuzio espekulatiboan prozesadoreak datu pribatuen eremu batera sar dezakeela eta, ondoren, emaitza baztertu dezakeela oinarritzen da, ezarritako pribilegioek erabiltzailearen prozesutik sarbide hori debekatzen baitute. Programa batean, espekulatiboki exekutaturiko bloke bat kode nagusitik bereizten da baldintzazko jauzi baten bidez, eta baldintza errealetan beti pizten da, baina baldintzapeko adierazpenak prozesadoreak aurrez aurreko kodean ezagutzen ez duen balio kalkulatua erabiltzen duelako. exekuzioa, adarkatze-aukera guztiak espekulatiboki exekutatzen dira.

Meltdown-en bertsio klasikoan, espekulatiboki exekutatutako eragiketetarako normalean exekutatu diren instrukzioetarako erabiltzen denez cache bera, exekuzio espekulatiboan posible da memoria itxi batean bit indibidualen edukia islatzen duten markatzaileak ezartzea cachean, eta gero normalean exekutatutako kodean haien esanahia zehazteko, cachean gordetako eta ez dauden datuetarako sarbide-denboraren azterketaren bidez. Aldaera berriak EFLAGS erregistroaren aldaketa erabiltzen du filtrazio baten markatzaile gisa. Covert Channel demoan, prozesu batek bidaltzen ari ziren datuak modulatu zituen EFLAGS erregistroaren edukia aldatzeko, eta beste prozesu batek JCC instrukzioen exekuzio denboraren aldaketa analizatu zuen lehen prozesuak bidalitako datuak birsortzeko.

Iturria: opennet.ru

Gehitu iruzkin berria