Plundervolt SGX texnologiyasına təsir edən Intel prosessorlarına yeni hücum üsuludur

Intel azad edilib düzəldən mikrokod yeniləməsi zəiflik (CVE-2019-14607) imkan verir CPU-da dinamik gərginlik və tezliklərə nəzarət mexanizminin manipulyasiyası yolu ilə, təcrid olunmuş Intel SGX anklavlarında hesablamalar üçün istifadə olunan ərazilər də daxil olmaqla, məlumat hüceyrələrinin məzmununa ziyan vurmağa başlayın. Hücum Plundervolt adlanır və potensial olaraq yerli istifadəçiyə sistemdəki imtiyazlarını artırmağa, xidmətdən imtina etməyə və həssas məlumatlara giriş əldə etməyə imkan verir.

Hücum yalnız SGX anklavlarında hesablamalarla manipulyasiyalar kontekstində təhlükəlidir, çünki həyata keçirmək üçün sistemdə kök hüquqları tələb olunur. Ən sadə halda, təcavüzkar anklavda işlənmiş məlumatın təhrif edilməsinə nail ola bilər, lakin daha mürəkkəb ssenarilərdə RSA-CRT və AES-NI alqoritmlərindən istifadə edərək şifrələmə üçün istifadə edilən anklavda saxlanılan şəxsi açarları yenidən yaratmaq imkanı yoxdur. istisna olunur. Texnika yaddaşla işləyərkən zəifliklərin yaranmasına səbəb olmaq üçün ilkin düzgün alqoritmlərdə səhvlər yaratmaq, məsələn, ayrılmış buferin hüdudlarından kənar əraziyə girişi təşkil etmək üçün də istifadə edilə bilər.
Hücum etmək üçün prototip kodu nəşr olundu GitHub-da

Metodun mahiyyəti SGX-də hesablamalar zamanı gözlənilməz məlumat pozuntularının baş verməsi üçün şərait yaratmaqdan ibarətdir ki, bu da anklavda şifrələmə və yaddaşın autentifikasiyasından istifadəni qorumur. Təhrifi tətbiq etmək üçün, tezliyi və gərginliyi idarə etmək üçün standart proqram interfeyslərindən istifadə etmək mümkün olduğu ortaya çıxdı, adətən sistemin boş vaxtı zamanı enerji istehlakını azaltmaq və intensiv iş yerinə yetirərkən maksimum performansı aktivləşdirmək üçün istifadə olunur. Tezlik və gərginlik xüsusiyyətləri təcrid olunmuş anklavda hesablamanın təsiri də daxil olmaqla bütün çipi əhatə edir.

Gərginliyi dəyişdirərək, şarjın CPU daxilində yaddaş hüceyrəsini bərpa etmək üçün kifayət etmədiyi və dəyərinin dəyişdiyi şərait yarada bilərsiniz. Hücumdan əsas fərq RowHammer ondan ibarətdir ki, RowHammer sizə qonşu hüceyrələrdən məlumatları dövri olaraq oxumaqla DRAM yaddaşındakı ayrı-ayrı bitlərin məzmununu dəyişməyə imkan verir, Plundervolt isə hesablama üçün məlumat artıq yaddaşdan yükləndikdə CPU daxilində bitləri dəyişməyə imkan verir. Bu xüsusiyyət yaddaşdakı məlumatlar üçün SGX-də istifadə olunan bütövlüyün idarə edilməsi və şifrələmə mexanizmlərindən yan keçməyə imkan verir, çünki yaddaşdakı dəyərlər düzgün qalır, lakin nəticə yaddaşa yazılmazdan əvvəl onlarla əməliyyatlar zamanı təhrif edilə bilər.

Bu dəyişdirilmiş dəyər şifrələmə prosesinin vurma prosesində istifadə olunarsa, çıxış səhv şifrəli mətnlə rədd edilir. Məlumatlarını şifrələmək üçün SGX-də işləyici ilə əlaqə saxlamaq imkanına malik olan təcavüzkar uğursuzluqlara səbəb ola, çıxış şifrəli mətnindəki dəyişikliklərlə bağlı statistik məlumatları toplaya və bir neçə dəqiqə ərzində anklavda saxlanılan açarın dəyərini bərpa edə bilər. Orijinal giriş mətni və düzgün çıxış şifrəsi məlumdur, açar dəyişmir və yanlış şifrəli mətnin çıxışı bəzi bitin əks qiymətə təhrif edildiyini göstərir.

Müxtəlif uğursuzluqlar zamanı yığılmış düzgün və pozulmuş şifrəli mətnlərin cüt dəyərlərini təhlil edərək, diferensial uğursuzluq təhlili metodlarından istifadə edərək (DFA, Diferensial nasazlıqların təhlili) Bacarmaq proqnozlaşdırmaq AES simmetrik şifrələməsi üçün istifadə edilən ehtimal açarları və sonra müxtəlif dəstlərdəki açarların kəsişmələrini təhlil edərək, istədiyiniz açarı müəyyənləşdirin.

Problemdən Intel prosessorlarının müxtəlif modelləri, o cümlədən 6 ilə Intel Core CPU-ları təsirlənir
10-cu nəsil, həmçinin beşinci və altıncı nəsil Xeon E3, birinci və ikinci nəsil Intel Xeon Scalable, Xeon D,
Xeon W və Xeon E.

Xatırladaq ki, SGX texnologiyası (Software Guard Uzantıları) altıncı nəsil Intel Core prosessorlarında (Skylake) çıxdı və təklif istifadəçi səviyyəli proqramlara qapalı yaddaş sahələrini - anklavları ayırmağa imkan verən bir sıra təlimatlar, məzmunu hətta ring0, SMM və VMM rejimlərində işləyən nüvə və kod tərəfindən oxuna və ya dəyişdirilə bilməz. Ənənəvi atlama funksiyalarından və registrlər və yığınla manipulyasiyalardan istifadə edərək anklavdakı koda nəzarəti ötürmək mümkün deyil; idarəetməni anklavlara ötürmək üçün səlahiyyət yoxlamasını həyata keçirən xüsusi yaradılmış yeni təlimat istifadə olunur. Bu halda, anklavda yerləşdirilən kod anklav daxilindəki funksiyalara daxil olmaq üçün klassik çağırış metodlarından və xarici funksiyaları çağırmaq üçün xüsusi təlimatlardan istifadə edə bilər. Anklav yaddaş şifrələməsi DRAM moduluna qoşulma kimi hardware hücumlarından qorunmaq üçün istifadə olunur.

Mənbə: opennet.ru

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