AMD prosessorlarında Meltdown hücumlarına imkan verən daha bir zəiflik aşkar edilib

Qraz Texniki Universiteti (Avstriya) və Helmholtz İnformasiya Təhlükəsizliyi Mərkəzindən (CISPA) tədqiqatçılar qrupu bütün AMD prosessorlarında Meltdown-class həyata keçirməyə imkan verən zəiflik (CVE-2021-26318) haqqında məlumatı açıqlayıb. yan kanal hücumları (əvvəlcə AMD prosessorlarının Meltdown zəifliyindən təsirlənmədiyi güman edilirdi). Praktiki baxımdan, hücum gizli rabitə kanalları yaratmaq, nüvədə fəaliyyətə nəzarət etmək və ya nüvədəki zəifliklərdən istifadə edərkən KASLR qorunmasından yan keçmək üçün nüvə yaddaşındakı ünvanlar haqqında məlumat əldə etmək üçün istifadə edilə bilər.

AMD problemin qarşısını almaq üçün xüsusi tədbirlərin görülməsini məqsədəuyğun hesab etmir, çünki avqust ayında aşkar edilmiş oxşar hücum kimi zəiflik real şəraitdə az istifadə olunur, prosesin ünvan məkanının mövcud sərhədləri ilə məhdudlaşır və müəyyən proqramların mövcudluğunu tələb edir. kerneldə təlimatların (qadcetlərin) hazır ardıcıllığı. Tədqiqatçılar hücumu nümayiş etdirmək üçün öz nüvə modulunu süni şəkildə əlavə edilmiş qadcetlə yükləyiblər. Real şəraitdə təcavüzkarlar, məsələn, lazımi ardıcıllıqları əvəz etmək üçün eBPF alt sistemində müntəzəm olaraq açılan boşluqlardan istifadə edə bilərlər.

Bu yeni hücum növündən qorunmaq üçün AMD LFENCE təlimatlarından istifadə kimi Meltdown hücumlarının qarşısını almağa kömək edən təhlükəsiz kodlaşdırma üsullarından istifadə etməyi tövsiyə edir. Problemi müəyyən edən tədqiqatçılar əvvəllər yalnız Intel prosessorları üçün istifadə edilən daha sərt yaddaş səhifə cədvəli izolyasiyasını (KPTI) işə salmağı tövsiyə edirlər.

Təcrübə zamanı tədqiqatçılar nüvədə “if (offset < data_len) tmp = əməliyyatını yerinə yetirən qadcetin mövcudluğunu nəzərə alaraq, nüvədən istifadəçi məkanındakı prosesə saniyədə 52 bayt sürətlə məlumat sızdırmağa nail olublar. LUT[data[ofset] * 4096];” . Spekulyativ icra zamanı keş yaddaşa daxil olan yan kanallar vasitəsilə məlumat əldə etmək üçün bir neçə üsul təklif edilmişdir. Birinci üsul prosessorun “PREFETCH” (Prefetch+Time) əmrinin icra müddətindəki sapmaların təhlilinə, ikincisi isə “PREFETCH” (Prefetch+Power) icrası zamanı enerji sərfiyyatının dəyişməsinin dəyişdirilməsinə əsaslanır.

Xatırladaq ki, klassik Meltdown zəifliyi təlimatların spekulyativ icrası zamanı prosessorun şəxsi məlumat sahəsinə daxil ola və sonra nəticəni ləğv edə bilməsinə əsaslanır, çünki müəyyən edilmiş imtiyazlar istifadəçi prosesinə belə girişi qadağan edir. Proqramda spekulyativ şəkildə yerinə yetirilən blok əsas koddan şərti budaqla ayrılır ki, bu da real şəraitdə həmişə işə düşür, lakin şərti ifadənin qabaqcadan icrası zamanı prosessorun bilmədiyi hesablanmış qiymətdən istifadə etməsi səbəbindən. kodu, bütün şöbə variantları spekulyativ olaraq həyata keçirilir.

Spekulyativ icra edilən əməliyyatlar normal icra edilən təlimatlarla eyni keşdən istifadə etdiyinə görə, spekulyativ icra zamanı xüsusi yaddaş sahəsində ayrı-ayrı bitlərin məzmununu əks etdirən keşdə markerlər təyin etmək, sonra isə onların dəyərini zamanlama vasitəsilə müəyyən etmək üçün normal icra edilən kodda mümkündür. analiz keşlənmiş və keşsiz məlumatlara daxil olur.

Mənbə: opennet.ru

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