In oare kwetsberens is identifisearre yn AMD-processors dy't Meltdown-oanfallen tastean

In team fan ûndersikers fan 'e Technyske Universiteit fan Graz (Eastenryk) en it Helmholtz Center for Information Security (CISPA) hat ynformaasje iepenbiere oer in kwetsberens (CVE-2021-26318) yn alle AMD-processors dy't it mooglik makket Meltdown-klasse út te fieren side-kanaal oanfallen (ynearsten waard oannommen dat AMD processors wurde net beynfloede troch de Meltdown kwetsberens). Yn praktyske termen kin de oanfal brûkt wurde om geheime kommunikaasjekanalen te fêstigjen, aktiviteit yn 'e kernel te kontrolearjen, of ynformaasje te krijen oer adressen yn kernelûnthâld om KASLR-beskerming te omgean by it eksploitearjen fan kwetsberens yn' e kernel.

AMD achtet it net geskikt om spesjale maatregels te nimmen om it probleem te blokkearjen, om't de kwetsberens, lykas in ferlykbere oanfal ûntdutsen yn augustus, net folle nut is yn echte omstannichheden, wurdt beheind troch de hjoeddeistige grinzen fan 'e prosesadresromte en fereasket de oanwêzigens fan bepaalde klearmakke sekwinsjes fan ynstruksjes (gadgets) yn 'e kearn. Om de oanfal te demonstrearjen, laden de ûndersikers har eigen kernelmodule mei in keunstmjittich tafoege gadget. Yn echte omstannichheden kinne oanfallers brûke, bygelyks, regelmjittich opdûken fan kwetsberens yn it eBPF-subsysteem om de nedige sekwinsjes te ferfangen.

Om te beskermjen tsjin dit nije type oanfal, advisearre AMD it brûken fan feilige kodearringstechniken dy't helpe by it blokkearjen fan Meltdown-oanfallen, lykas it brûken fan LFENCE-ynstruksjes. De ûndersikers dy't it probleem identifisearren advisearje it ynskeakeljen fan strangere ûnthâldsidetabelisolaasje (KPTI), dy't earder allinich brûkt waard foar Intel-processors.

Tidens it eksperimint slagge it de ûndersikers om ynformaasje fan 'e kernel te lekken nei in proses yn brûkersromte mei in snelheid fan 52 bytes per sekonde, sjoen de oanwêzigens fan in gadget yn' e kernel dy't de operaasje "as (offset <data_len) tmp = LUT[data[offset] * 4096];” . Ferskate metoaden binne foarsteld foar it opheljen fan ynformaasje fia sydkanalen dy't yn 'e cache einiget by spekulative útfiering. De earste metoade is basearre op it analysearjen fan ôfwikingen yn 'e útfieringstiid fan' e prosessorynstruksje "PREFETCH" (Prefetch + Tiid), en de twadde op it feroarjen fan de feroaring yn enerzjyferbrûk by it útfieren fan "PREFETCH" (Prefetch + Power).

Tink derom dat de klassike Meltdown-kwetsberens is basearre op it feit dat by spekulative útfiering fan ynstruksjes de prosessor tagong kin ta in privee gegevensgebiet en dan it resultaat fersmite, om't de ynstelde privileezjes sa'n tagong ferbiede fan it brûkerproses. Yn it programma wurdt it spekulatyf útfierde blok skieden fan 'e haadkoade troch in betingstlike tûke, dy't yn echte omstannichheden altyd fjoer, mar troch it feit dat de betingstlike ferklearring in berekkene wearde brûkt dy't de prosessor net wit tidens de preemptive útfiering fan de koade, alle branch opsjes wurde útfierd spekulatyf.

Om't spekulatyf útfierde operaasjes deselde cache brûke as 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 privee ûnthâldgebiet reflektearje, en dan yn normaal útfierde koade om har wearde te bepalen fia timing analyze tagong ta cached en net-cached gegevens.

Boarne: opennet.ru

Add a comment