AMD, AMD Zen 3 CPU-larının Spectre-STL hücumuna qarşı potensial zəifliyini təsdiqlədi.

AMD Zen 3 seriyalı prosessorlarda tətbiq edilən PSF (Predictive Store Forwarding) optimallaşdırma texnologiyasının təhlükəsizliyini təhlil edən hesabat dərc edib.Tədqiqat 4-ci ilin may ayında müəyyən edilmiş Spectre-STL (Spectre-v2018) hücum metodunun tətbiq oluna biləcəyini nəzəri cəhətdən təsdiqləyib. PSF texnologiyası, lakin praktikada hücuma səbəb ola biləcək kod şablonları hələ tapılmayıb və ümumi təhlükə əhəmiyyətsiz olaraq qiymətləndirilir.

Yada salaq ki, Spectre-v4 (Speculative Store Bypass) hücumu dolayı ünvanlamadan istifadə etməklə alternativ yazma və oxu əməliyyatlarını emal edərkən əməliyyatların spekulyativ icrasının nəticəsini ləğv etdikdən sonra prosessor keşində yerləşmiş məlumatların bərpasına əsaslanır. Oxuma əməliyyatı yazma əməliyyatından sonra (məsələn, mov [rbx + rcx], 0x0; mov rax, [rdx + rsi]) yerinə yetirilən oxşar əməliyyatlar səbəbindən oxunma ünvanının ofseti artıq məlum ola bilər (oxu əməliyyatları daha tez-tez yerinə yetirilir və oxunmalar keşdən həyata keçirilə bilər) və prosessor yazmanın dolayı ofsetinin hesablanmasını gözləmədən yazmadan əvvəl oxunmaları spekulyativ şəkildə yerinə yetirə bilər.

Bu xüsusiyyət mağaza əməliyyatı hələ tamamlanmamış halda oxunmuş təlimata bəzi ünvanda köhnə dəyərə daxil olmaq imkanı verir. Proqnozlaşdırma xətası olarsa, uğursuz spekulyativ əməliyyat ləğv ediləcək, lakin onun icrasının izləri prosessorun keşində qalacaq və girişdə dəyişikliklərin təhlili əsasında keşin məzmununu müəyyən etmək üsullarından biri ilə əldə edilə bilər. Keşlənmiş və keşsiz məlumatların vaxtı.

AMD Zen 3 prosessorlarına əlavə edilən PSF, oxumaq və yazma əməliyyatları arasındakı əlaqəni proqnozlaşdırmaqla oxu əməliyyatlarını spekulyativ şəkildə yerinə yetirən STLF-ni (Store-to-Load-Forwarding) optimallaşdırır. Klassik STLF-dən istifadə edərkən prosessor nəticənin əslində yaddaşa yazılmasını gözləmədən, lakin “yükləmə”də istifadə olunan ünvanların əvvəlki “mağaza” əmrindən birbaşa ötürülən verilənlər üzərində “yükləmə” əməliyyatını həyata keçirir. və "mağaza" əmrləri uyğun gəlir. PSF optimallaşdırılması ünvan yoxlanmasını spekulyativ edir və əvvəllər tək bir ünvanı manipulyasiya edən mağaza/yük cütü icra edilibsə, ünvan məlumatı hesablanmamışdan əvvəl "yükləmə" əməliyyatını yerinə yetirir. Proqnoz uğursuz olarsa, vəziyyət geri qaytarılır, lakin məlumatlar keşdə qalır.

PSF-yə hücum yalnız bir səviyyəli imtiyazlar çərçivəsində mümkündür, yalnız cari proses kontekstini əhatə edir və ünvan məkanının təcrid üsulları və ya hardware sandbox mexanizmləri ilə bloklanır. Bu halda, proseslərdə proqram təminatının sandboxing üsulları problemdən potensial olaraq təsirlənə bilər. Hücum brauzerlər, kod icra edən virtual maşınlar və bir proses daxilində üçüncü tərəf kodunu icra edən JIT-lər kimi sistemlər üçün təhlükə yaradır (hücum etibarsız sandboxed kodun digər proses məlumatlarına çıxış əldə etməsinə imkan verə bilər).

AMD PSF-ni tamamilə və ya seçici olaraq söndürmək üçün bir sıra üsullar təqdim etdi, lakin əksər proqramlar üçün əhəmiyyətsiz riski nəzərə alaraq, bu optimallaşdırmanın standart olaraq qeyri-aktiv edilməməsini tövsiyə etdi. Etibarsız kodu icra edənləri təcrid edən prosesləri selektiv şəkildə qorumaq üçün "SSBD" və "PSFD" MSR bitlərini, o cümlədən fərdi yivlər üçün təyin etməklə PSF-ni söndürmək təklif olunur. Linux nüvəsi üçün PSF-nin necə yandırıldığını və söndürülməsinə nəzarət edən “psfd” və “nopsfd” komanda xətti seçimlərinin tətbiqi ilə yamaqlar hazırlanmışdır.

Mənbə: opennet.ru

Добавить комментарий