Intel və AMD prosessorlarının mikroarxitektura strukturlarına yeni hücum

Virciniya Universiteti və Kaliforniya Universitetindən olan bir qrup tədqiqatçı sənədsiz CPU imkanlarının tərs mühəndisliyi zamanı müəyyən edilmiş Intel və AMD prosessorlarının mikroarxitektura strukturlarına hücumun yeni növünü təqdim ediblər. Təklif olunan hücum metodu, təlimatların spekulyativ icrası zamanı yığılmış məlumatı əldə etmək üçün istifadə oluna bilən prosessorlarda aralıq mikro-op keşinin istifadəsini nəzərdə tutur.

Optimallaşdırma məqsədləri üçün prosessor əvvəlki hesablamaların tamamlanmasını gözləmədən bəzi təlimatları spekulyativ rejimdə yerinə yetirməyə başlayır və sonra proqnozun özünü doğrultmadığını müəyyən edərsə, əməliyyatı ilkin vəziyyətinə qaytarır, lakin əməliyyat zamanı emal edilmiş məlumatları geri qaytarır. spekulyativ icra məzmunu müəyyən edilə bilən bir önbellekdə saxlanılır.

Qeyd edilir ki, yeni metod Spectre v1 hücumunu əhəmiyyətli dərəcədə üstələyir, hücumu aşkar etməyi çətinləşdirir və təlimatların spekulyativ icrası nəticəsində yaranan zəifliklərin qarşısını almaq üçün nəzərdə tutulmuş yan kanal hücumlarından mövcud müdafiə üsulları ilə bloklanmır (məsələn, istifadə LFENCE təlimatı spekulyativ icraatın son mərhələlərində sızmaların qarşısını alır, lakin mikroarxitektura strukturları vasitəsilə sızmadan qorunmur).

Metod 2011-ci ildən buraxılan Intel və AMD prosessor modellərinə, o cümlədən Intel Skylake və AMD Zen seriyalarına təsir göstərir. Müasir CPU-lar mürəkkəb prosessor təlimatlarını ayrıca keş yaddaşda saxlanılan daha sadə RISC kimi mikro əməliyyatlara ayırır. Bu keş daha yüksək səviyyəli keşlərdən əsaslı şəkildə fərqlənir, birbaşa əlçatan deyil və CISC təlimatlarının RISC mikro göstərişlərinə dekodlanmasının nəticələrinə tez daxil olmaq üçün axın buferi kimi çıxış edir. Bununla belə, tədqiqatçılar keş girişi ilə ziddiyyətlər yarandıqda yaranan şərait yaratmağın və müəyyən hərəkətlərin icra müddətindəki fərqləri təhlil edərək mikro-əməliyyat keşinin məzmununu mühakimə etməyə imkan verən üsul tapıblar.

Intel və AMD prosessorlarının mikroarxitektura strukturlarına yeni hücum

Intel prosessorlarında mikro-əməliyyat keşi CPU ipləri (Hyper-Threading) ilə bağlı seqmentlərə bölünür, AMD Zen prosessorları isə paylaşılan keşdən istifadə edirlər ki, bu da təkcə bir icra zəncirində deyil, həm də SMT-də müxtəlif mövzular arasında məlumat sızması üçün şərait yaradır. (müxtəlif məntiqi CPU nüvələrində işləyən kodlar arasında mümkün məlumat sızması).

Tədqiqatçılar gizli məlumat ötürmə kanalları yaratmağa və həm bir proses daxilində məxfi məlumatları sızdırmaq üçün həssas koddan istifadə etməyə imkan verən mikro-əməliyyat keşində dəyişiklikləri və bir neçə hücum ssenarisini aşkar etmək üçün əsas metod təklif etdilər (məsələn, icra zamanı proses məlumatlarını sızdırmaq üçün). JIT ilə mühərriklərdə və virtual maşınlarda üçüncü tərəf kodu) və istifadəçi məkanında nüvə və proseslər arasında.

Mikro-əməliyyat keşindən istifadə edərək Spectre hücumunun bir variantını təşkil edərkən, tədqiqatçılar eyni ünvanda sızmanın təşkili vəziyyətində səhvlərin düzəldilməsindən istifadə edərkən 965.59% səhv dərəcəsi ilə 0.22 Kbps və 785.56 Kbps performans əldə edə bildilər. məkan və imtiyaz səviyyəsi. Fərqli imtiyaz səviyyələrini əhatə edən sızma ilə (ləpə və istifadəçi sahəsi arasında) performans səhvlərin düzəldilməsi əlavə edilməklə 85.2 Kb/s və səhv nisbəti 110.96% olmaqla 4 Kb/s təşkil edib. AMD Zen prosessorlarına hücum edərkən, müxtəlif məntiqi CPU nüvələri arasında sızma yaradaraq, performans 250% səhv dərəcəsi ilə 5.59 Kbps və səhvlərin düzəldilməsi ilə 168.58 Kbps idi. Klassik Spectre v1 metodu ilə müqayisədə yeni hücum 2.6 dəfə sürətli olub.

Gözlənilir ki, mikro-op keş hücumundan qorunmaq üçün Spectre hücumundan müdafiəni aktivləşdirdiyinizdən daha çox performansı azaldacaq dəyişikliklər tələb olunacaq. Optimal kompromis kimi, bu cür hücumları keşləşdirməni söndürməklə deyil, anomaliyaların monitorinqi və hücumlar üçün xarakterik olan keş hallarının müəyyən edilməsi səviyyəsində bloklamaq təklif olunur.

Spectre hücumlarında olduğu kimi, nüvədən və ya digər proseslərdən sızmanın təşkili, qurban proseslərinin tərəfində müəyyən ardıcıllıqla əmrlərin (qadcetlərin) icrasını tələb edir, bu da təlimatların spekulyativ icrasına səbəb olur. Linux nüvəsində 100-ə yaxın oxşar qadcet tapılıb, onlar silinəcək, lakin onların generasiyası üçün həll yolları vaxtaşırı tapılır, məsələn, nüvədə xüsusi hazırlanmış BPF proqramlarının işlədilməsi ilə bağlı.

Mənbə: opennet.ru

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