Ang laing kahuyangan naila sa mga processor sa AMD nga nagtugot sa mga pag-atake sa Meltdown

Usa ka grupo sa mga tigdukiduki gikan sa Technical University of Graz (Austria) ug sa Helmholtz Center for Information Security (CISPA) nagbutyag sa usa ka kahuyang (CVE-2021-26318) sa tanang AMD processors nga nagpaposible sa pagpatuman sa Meltdown-class side- mga pag-atake sa channel (sa sinugdan gituohan nga ang mga processor sa AMD dili apektado sa pagkahuyang sa Meltdown). Sa praktikal nga mga termino, ang pag-atake mahimong gamiton sa pag-establisar sa tago nga mga channel sa komunikasyon, pagmonitor sa kalihokan sa kernel, o pagkuha og impormasyon mahitungod sa mga adres sa kernel memory aron malaktawan ang proteksyon sa KASLR samtang nagpahimulos sa mga kahuyangan sa kernel.

Giisip sa AMD nga dili angay ang paghimog espesyal nga mga lakang aron babagan ang problema, tungod kay ang pagkahuyang, sama sa usa ka susamang pag-atake nga nadiskobrehan kaniadtong Agosto, gamay ra nga gamit sa tinuod nga mga kahimtang, limitado sa karon nga mga utlanan sa wanang sa address sa proseso ug nanginahanglan sa presensya sa pipila andam-himo nga mga han-ay sa mga panudlo (gadgets) sa kernel. Aron ipakita ang pag-atake, gikarga sa mga tigdukiduki ang ilang kaugalingon nga kernel module nga adunay artipisyal nga gidugang nga gadyet. Sa tinuod nga mga kondisyon, ang mga tig-atake mahimong mogamit, pananglitan, kanunay nga nagpatunghag mga kahuyangan sa eBPF subsystem aron ilisan ang gikinahanglan nga mga han-ay.

Aron mapanalipdan batok niining bag-ong matang sa pag-atake, girekomenda sa AMD ang paggamit sa luwas nga mga teknik sa coding nga makatabang sa pagbabag sa mga pag-atake sa Meltdown, sama sa paggamit sa mga instruksyon sa LFENCE. Ang mga tigdukiduki nga nakaila sa problema nagrekomendar sa pagpagana sa mas estrikto nga memory page table isolation (KPTI), nga kaniadto gigamit lamang alang sa mga Intel processor.

Atol sa eksperimento, ang mga tigdukiduki nakahimo sa pag-leak sa impormasyon gikan sa kernel ngadto sa usa ka proseso sa user space sa gikusgon nga 52 bytes kada segundo, tungod sa presensya sa usa ka gadget sa kernel nga naghimo sa operasyon "kon (offset < data_len) tmp = LUT[data[offset] * 4096];” Daghang mga pamaagi ang gisugyot alang sa pagkuha sa kasayuran pinaagi sa mga side channel nga natapos sa cache sa panahon sa espekulatibo nga pagpatay. Ang una nga pamaagi gibase sa pag-analisar sa mga paglihis sa oras sa pagpatuman sa instruksiyon sa processor nga "PREFETCH" (Prefetch+Time), ug ang ikaduha sa pagbag-o sa pagbag-o sa konsumo sa enerhiya kung gipatuman ang "PREFETCH" (Prefetch+Power).

Hinumdumi nga ang klasiko nga pagkahuyang sa Meltdown gibase sa kamatuoran nga sa panahon sa espekulatibo nga pagpatuman sa mga panudlo, ang processor maka-access sa usa ka pribado nga lugar sa datos ug dayon isalikway ang sangputanan, tungod kay ang gitakda nga mga pribilehiyo nagdili sa ingon nga pag-access gikan sa proseso sa gumagamit. Sa programa, ang speculatively executed block gibulag gikan sa main code sa usa ka conditional branch, nga sa tinuod nga mga kondisyon kanunay nga nagdilaab, apan tungod sa kamatuoran nga ang conditional nga pahayag naggamit sa usa ka kalkulado nga bili nga wala mahibal-an sa processor sa panahon sa preemptive execution sa ang kodigo, ang tanan nga mga kapilian sa sanga gihimo nga espekulatibo.

Tungod kay ang spekulatibo nga gipatuman nga mga operasyon naggamit sa sama nga cache sama sa kasagarang gipatuman nga mga instruksyon, posible sa panahon sa speculative execution nga magbutang og mga marker sa cache nga nagpakita sa mga sulod sa tagsa-tagsa nga mga bit sa usa ka pribadong memory area, ug dayon sa normal nga gipatuman nga code aron mahibal-an ang ilang bili pinaagi sa timing Ang pag-analisar nag-access sa cache ug non-cached nga datos.

Source: opennet.ru

Idugang sa usa ka comment