Kwetsberens yn Intel-processors dy't liede ta gegevenslekkage fia kanalen fan tredden

In groep ûndersikers fan Sineeske en Amerikaanske universiteiten hat in nije kwetsberens yn Intel-processors identifisearre dy't liedt ta it lekken fan ynformaasje oer it resultaat fan spekulative operaasjes fia kanalen fan tredden, dy't kinne wurde brûkt om bygelyks in ferburgen kommunikaasjekanaal te organisearjen. tusken prosessen of detect lekken tidens Meltdown oanfallen.

De essinsje fan 'e kwetsberens is dat in feroaring yn it EFLAGS-prosessorregister, dy't barde as gefolch fan spekulative útfiering fan ynstruksjes, beynfloedet de folgjende útfieringstiid fan JCC-ynstruksjes (springen as oanjûne betingsten foldien binne). De spekulative operaasjes binne net foltôge en it resultaat wurdt ôfwiisd, mar de ferwidere EFLAGS-feroaring kin bepaald wurde troch it analysearjen fan de útfieringstiid fan 'e JCC-ynstruksjes. Spekulatyf útfierd pre-jump ferliking operaasjes, as de ferliking is suksesfol, resultearje yn in lytse fertraging dat kin wurde mjitten en brûkt as in funksje foar in oerien mei ynhâld.

Kwetsberens yn Intel-processors dy't liede ta gegevenslekkage fia kanalen fan tredden

Oars as oare ferlykbere oanfallen fia kanalen fan tredden, analysearret de nije metoade net de feroaring yn 'e tagongstiid nei cached en net-cached gegevens en fereasket net it poadium fan it weromsetten fan it EFLAGS-register nei de earste steat, wat it dreech makket om ûntdekke en blokkearje de oanfal. As demonstraasje hawwe de ûndersikers in fariant fan 'e Meltdown-oanfal útfierd, mei in nije metoade dêryn om ynformaasje te krijen oer it resultaat fan in spekulative operaasje. De wurking fan 'e metoade foar it organisearjen fan ynformaasjelekkage tidens in Meltdown-oanfal is mei súkses oantoand op systemen mei Intel Core i7-6700 en i7-7700 CPU's yn in omjouwing mei Ubuntu 22.04 en Linux 5.15 kernel. Op in systeem mei in Intel i9-10980XE CPU wie de oanfal mar foar in part suksesfol.

De kwetsberens fan Meltdown is basearre op it feit dat de prosessor yn 'e spekulative útfiering fan ynstruksjes tagong kin ta in privee gegevensgebiet, en dan it resultaat wegerje, om't de ynstelde privileezjes sa'n tagong fan it brûkerproses ferbiede. Yn in programma wurdt in spekulatyf útfierd blok skieden fan 'e haadkoade troch in betingste sprong, dy't yn echte omstannichheden altyd fjoer, mar troch it feit dat de betingsten útspraak in berekkene wearde brûkt dy't de prosessor net wit by pre-emptive koade útfiering, alle branching opsjes wurde spekulatyf útfierd.

Yn 'e klassike ferzje fan Meltdown, om't deselde cache wurdt brûkt foar spekulatyf útfierde operaasjes as foar normaal útfierde ynstruksjes, is it mooglik tidens spekulative útfiering markers yn' e cache yn te stellen dy't de ynhâld fan yndividuele bits yn in sletten ûnthâldgebiet reflektearje, en dan yn 'e normaal útfierde koade om har betsjutting te bepalen troch analyze fan' e tagongstiid ta cached en net-cached gegevens. De nije fariant brûkt de feroaring yn it EFLAGS-register as marker foar in lek. Yn 'e Covert Channel-demo modulearre ien proses de gegevens dy't stjoerd wurde om de ynhâld fan it EFLAGS-register te feroarjen, en in oar proses parsearde de feroaring yn 'e útfieringstiid fan JCC-ynstruksjes om de gegevens opnij te meitsjen dy't troch it earste proses stjoerd binne.

Boarne: opennet.ru

Add a comment