AMD нь AMD Zen 3 процессорууд Spectre-STL халдлагад өртөж болзошгүйг баталжээ.

AMD нь Zen 3 цуврал процессоруудад хэрэгжсэн PSF (Predictive Store Forwarding) оновчлолын технологийн аюулгүй байдалд дүн шинжилгээ хийсэн тайлан нийтэллээ.Судалгаагаар 4 оны 2018-р сард тодорхойлсон Spectre-STL (Spectre-vXNUMX) халдлагын аргыг ашиглах боломжтойг онолын хувьд баталсан. PSF технологи боловч практик дээр халдлагад хүргэх чадвартай кодын загвар хараахан олдоогүй байгаа бөгөөд нийт аюулыг ач холбогдолгүй гэж үнэлдэг.

Spectre-v4 (Speculative Store Bypass) халдлага нь шууд бус хаяглалт ашиглан ээлжлэн бичих, унших үйлдлүүдийг боловсруулах үед үйлдлүүдийн таамаглалын гүйцэтгэлийн үр дүнг устгасны дараа процессорын кэшэд хуримтлагдсан өгөгдлийг сэргээхэд суурилдаг гэдгийг санацгаая. Унших үйлдэл нь бичих үйлдлийг дагах үед (жишээ нь, mov [rbx + rcx], 0x0; mov rax, [rdx + rsi]) ижил төстэй үйлдлүүд хийгдэж байгаа тул унших хаягийн офсет аль хэдийн мэдэгдэж байж болно (унших үйлдлүүд нь илүү олон удаа хийгдэх ба уншихыг кэшээс гүйцэтгэх боломжтой) ба процессор нь бичихийн шууд бус офсетийг тооцоолохыг хүлээлгүйгээр бичихийн өмнө унших үйлдлийг таамаглаж чадна.

Энэ функц нь дэлгүүрийн ажиллагаа дуусаагүй байхад зарим хаяг дээрх хуучин утгыг унших зааварт хандах боломжийг олгодог. Хэрэв таамаглалын алдаа гарвал амжилтгүй болсон таамаглалыг устгах боловч түүний гүйцэтгэлийн ул мөр процессорын кэшэд үлдэх бөгөөд хандалтын өөрчлөлтийн дүн шинжилгээнд үндэслэн кэшийн агуулгыг тодорхойлох аргуудын аль нэгээр нь олж авч болно. кэш болон кэшгүй өгөгдөлд цаг хугацаа.

AMD Zen 3 процессоруудад нэмсэн PSF нь унших, бичих үйлдлүүдийн хоорондын хамаарлыг урьдчилан таамаглах замаар унших үйлдлийг STLF (Store-to-Load-Forwarding)-ийг оновчтой болгодог. Сонгодог STLF-ийг ашиглах үед процессор нь өмнөх "дэлгүүр" командаас шууд дамжуулсан өгөгдөл дээр "ачаалах" үйлдлийг гүйцэтгэдэг бөгөөд үр дүн нь санах ойд бичигдэхийг хүлээлгүйгээр, харин "ачаалах" хэсэгт ашигласан хаягууд байгаа эсэхийг шалгаарай. болон "хадгалах" командууд таарч байна. PSF оновчлол нь хаягийн шалгалтыг таамаглал болгож, хэрэв нэг хаягийг удирдаж буй дэлгүүр/ачаалах хос өмнө нь хийгдсэн бол хаягийн мэдээллийг тооцоолохоос өмнө "ачаалах" үйлдлийг гүйцэтгэдэг. Хэрэв таамаглал амжилтгүй болвол төлөв буцаагдах боловч өгөгдөл нь кэшэд үлдэнэ.

PSF-д халдлага хийх нь зөвхөн нэг түвшний давуу эрхийн хүрээнд л боломжтой бөгөөд зөвхөн одоогийн үйл явцын контекстийг хамардаг бөгөөд хаягийн зай тусгаарлах аргууд эсвэл техник хангамжийн хамгаалагдсан хязгаарлагдмал орчны механизмаар хаагддаг. Энэ тохиолдолд процесс дахь програм хангамжийн хамгаалагдсан хязгаарлагдмал орчинд асуудал үүсч болзошгүй. Энэхүү халдлага нь нэг процессын дотор гуравдагч талын кодыг гүйцэтгэдэг хөтөч, код гүйцэтгэх виртуал машин, JIT зэрэг системүүдэд аюул учруулдаг (халдлага нь найдвартай хамгаалагдсан хязгаарлагдмал орчинд хамгаалагдсан кодыг бусад процессын өгөгдөлд хандах боломжийг олгож болзошгүй).

AMD нь PSF-г бүрмөсөн эсвэл сонгон идэвхгүй болгох хэд хэдэн аргыг санал болгосон боловч ихэнх програмуудад эрсдэл багатай тул энэ оновчлолыг анхдагч байдлаар идэвхгүй болгохгүй байхыг зөвлөж байна. Найдваргүй кодыг ажиллуулж байгаа процессуудыг сонгон хамгаалахын тулд "SSBD" болон "PSFD" MSR битүүдийг тохируулж, түүний дотор бие даасан урсгалуудад зориулж PSF-ийг идэвхгүй болгохыг санал болгож байна. PSF-г хэрхэн асааж, унтрааж байгааг хянадаг "psfd" болон "nopsfd" командын мөрийн сонголтуудыг хэрэгжүүлснээр Линуксийн цөмд зориулж засваруудыг бэлтгэсэн.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх