Təlimatların icra müddətinin ARM və Intel CPU-larındakı məlumatlardan asılılığı

Adiantum şifrəsinin tərtibatçılarından biri və Linux nüvəsinin fscrypt alt sisteminin təminatçısı Erik Biggers, müxtəlif emal edilmiş məlumatların daimi icra müddətinə zəmanət verməyən Intel prosessorlarının xüsusiyyətindən irəli gələn təhlükəsizlik problemlərinin qarşısını almaq üçün bir sıra yamaqlar təklif etdi. Problem Ice Lake ailəsindən başlayaraq Intel prosessorlarında görünür. Oxşar problem ARM prosessorlarında da müşahidə olunur.

Təlimatların icra müddətinin bu təlimatlarda işlənmiş məlumatlardan asılılığının olması yamaqların müəllifi tərəfindən prosessorlarda zəiflik kimi qiymətləndirilir, çünki bu cür davranış sistemdə həyata keçirilən kriptoqrafik əməliyyatların təhlükəsizliyinə zəmanət verə bilməz. Kriptoqrafik alqoritmlərin bir çox tətbiqi məlumatların təlimatların icra müddətinə təsir etməməsini təmin etmək üçün nəzərdə tutulmuşdur və bu davranışın pozulması onun emal vaxtının təhlili əsasında məlumatları bərpa edən yan kanal hücumlarının yaradılmasına səbəb ola bilər.

Potensial olaraq, iş vaxtı məlumatlarından asılılıq istifadəçi məkanından nüvə məlumatlarını təyin etmək üçün hücumlara başlamaq üçün də istifadə edilə bilər. Erik Biggersə görə, daimi icra müddəti hətta əlavə və XOR əməliyyatlarını yerinə yetirən təlimatlar, eləcə də ixtisaslaşdırılmış AES-NI təlimatları üçün standart olaraq təmin edilmir (testlərlə təsdiqlənməyən məlumat, digər məlumatlara görə, bir gecikmə var. vektorun vurulması və bitlərin hesablanması zamanı dövr ).

Bu davranışı aradan qaldırmaq üçün Intel və ARM yeni bayraqlar təklif etdi: ARM CPU-ları üçün PSTATE bit DIT (Məlumatdan Müstəqil Zamanlama) və Intel CPU-ları üçün MSR bit DOITM (Məlumat Operandından Müstəqil Zamanlama Modu), daimi icra vaxtı ilə köhnə davranışı qaytarır. Intel və ARM kritik kod üçün lazım olan mühafizənin aktivləşdirilməsini tövsiyə edir, lakin reallıqda kritik hesablama nüvənin və istifadəçi məkanının istənilən yerində baş verə bilər, ona görə də biz bütün nüvə üçün hər zaman DOITM və DIT rejimlərini aktivləşdirməyi nəzərdən keçiririk.

ARM prosessorları üçün Linux 6.2 ləpə qolu artıq nüvənin davranışını dəyişdirən yamaqları qəbul etmişdir, lakin bu yamalar qeyri-kafi hesab edilir, çünki onlar yalnız nüvə kodunu əhatə edir və istifadəçi sahəsinin davranışını dəyişdirmir. Intel prosessorları üçün mühafizənin daxil edilməsi hələ nəzərdən keçirmə mərhələsindədir. Yamanın performansa təsiri hələ ölçülməyib, lakin Intel sənədlərinə əsasən, DOITM rejiminin işə salınması performansı azaldır (məsələn, verilənlərə xüsusi ön yükləmə kimi bəzi optimallaşdırmaları söndürməklə) və gələcək prosessor modellərində performans azalması arta bilər. .

Mənbə: opennet.ru

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