Üçüncü tərəf kanalları vasitəsilə məlumat sızmasına səbəb olan Intel prosessorlarında zəiflik

Çin və Amerika universitetlərindən olan bir qrup tədqiqatçı Intel prosessorlarında, məsələn, gizli rabitə kanalının təşkili üçün istifadə oluna bilən üçüncü tərəf kanalları vasitəsilə spekulyativ əməliyyatların nəticəsi haqqında məlumatın sızmasına səbəb olan yeni zəifliyi müəyyən ediblər. proseslər arasında və ya Meltdown hücumları zamanı sızmaları aşkar edin.

Zəifliyin mahiyyəti ondan ibarətdir ki, təlimatların spekulyativ icrası nəticəsində baş vermiş EFLAGS prosessor reyestrində baş verən dəyişiklik KİK təlimatlarının sonrakı icra müddətinə təsir göstərir (müəyyən edilmiş şərtlər yerinə yetirildikdə sıçrayış). Spekulyativ əməliyyatlar tamamlanmır və nəticə atılır, lakin atılan EFLAGS dəyişikliyi KİK təlimatlarının icra müddətini təhlil etməklə müəyyən edilə bilər. Spekulyativ olaraq yerinə yetirilən sıçrayışdan əvvəl müqayisə əməliyyatları, əgər müqayisə uğurlu olarsa, ölçülə bilən və məzmunu uyğunlaşdırmaq üçün xüsusiyyət kimi istifadə edilə bilən kiçik bir gecikmə ilə nəticələnir.

Üçüncü tərəf kanalları vasitəsilə məlumat sızmasına səbəb olan Intel prosessorlarında zəiflik

Üçüncü tərəf kanalları vasitəsilə həyata keçirilən digər oxşar hücumlardan fərqli olaraq, yeni metod keşlənmiş və keşlənməyən məlumatlara giriş vaxtının dəyişməsini təhlil etmir və EFLAGS registrinin ilkin vəziyyətə sıfırlanması mərhələsini tələb etmir, bu da onu çətinləşdirir. hücumu aşkar edin və bloklayın. Nümayiş olaraq, tədqiqatçılar spekulyativ əməliyyatın nəticəsi haqqında məlumat əldə etmək üçün yeni üsuldan istifadə edərək Meltdown hücumunun variantını həyata keçirdilər. Meltdown hücumu zamanı məlumat sızmasının təşkili metodunun işləməsi Ubuntu 7 və Linux 6700 nüvəsi olan mühitdə Intel Core i7-7700 və i22.04-5.15 CPU-ları olan sistemlərdə uğurla nümayiş etdirilib. Intel i9-10980XE CPU ilə bir sistemdə hücum yalnız qismən uğurlu oldu.

Meltdown zəifliyi ona əsaslanır ki, təlimatların spekulyativ icrası zamanı prosessor şəxsi məlumat sahəsinə daxil ola, sonra isə nəticəni ləğv edə bilə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 sıçrayışla ayrılır ki, bu da real şəraitdə həmişə işə düşür, lakin şərti bəyanatda prosessorun qabaqlayıcı kod zamanı bilmədiyi hesablanmış qiymətdən istifadə etməsi səbəbindən icra, bütün budaqlanma variantları spekulyativ olaraq icra olunur.

Meltdown-un klassik versiyasında, eyni keş normal icra olunan təlimatlar üçün olduğu kimi spekulyativ şəkildə yerinə yetirilən əməliyyatlar üçün istifadə olunduğundan, spekulyativ icra zamanı qapalı yaddaş sahəsində ayrı-ayrı bitlərin məzmununu əks etdirən keşdə markerlər təyin etmək mümkündür və sonra normal icra edilən kodda onların mənasını keşlənmiş və keşlənməyən məlumatlara giriş vaxtının təhlili vasitəsilə müəyyən etmək. Yeni variant sızma üçün marker kimi EFLAGS reyestrindəki dəyişiklikdən istifadə edir. Gizli Kanal demosunda bir proses EFLAGS reyestrinin məzmununu dəyişdirmək üçün göndərilən məlumatları modulyasiya etdi, digər proses isə birinci proses tərəfindən göndərilən məlumatları yenidən yaratmaq üçün JCC təlimatının icra müddətindəki dəyişikliyi təhlil etdi.

Mənbə: opennet.ru

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