Chrome-da Spectre Class Zəifliklərindən İstifadə Etmək üçün Yeni Texnika

Amerika, Avstraliya və İsrail universitetlərindən olan bir qrup tədqiqatçı Chromium mühərriki əsasında brauzerlərdə Spectre sinif zəifliklərindən istifadə etmək üçün yeni yan kanal hücumu texnikasını təklif ediblər. Kod adı Spook.js olan hücum JavaScript kodunu işlətməklə saytın izolyasiya mexanizmindən yan keçməyə və cari prosesin bütün ünvan sahəsinin məzmununu oxumağa imkan verir, yəni. digər tablarda işləyən, lakin eyni prosesdə işlənmiş səhifələrdən məlumatlara giriş.

Chrome müxtəlif proseslərdə müxtəlif saytlar işlətdiyindən, praktiki hücumlar həyata keçirmək imkanı müxtəlif istifadəçilərə öz səhifələrini yerləşdirməyə imkan verən xidmətlərlə məhdudlaşır. Metod təcavüzkarın JavaScript kodunu daxil etmək imkanı olan səhifədən istifadəçinin eyni saytdan açdığı digər səhifələrin mövcudluğunu müəyyən etməyə və onlardan məxfi məlumatları, məsələn, etimadnamələri və ya əvəz edilmiş bank rekvizitlərini çıxarmağa imkan verir. veb formalarda sahələrin avtomatik doldurulması sistemi ilə. Nümayiş olaraq, Tumblr xidmətində başqasının bloqunun sahibi eyni xidmətdə yerləşən təcavüzkarların bloqunu başqa tabda açsa, ona necə hücum edə biləcəyiniz göstərilir.

Metoddan istifadə etmək üçün başqa bir seçim, təcavüzkar tərəfindən idarə olunan əlavəni quraşdırarkən digər əlavələrdən məlumat çıxarmağa imkan verən brauzer əlavələrinə hücumdur. Nümunə olaraq, zərərli əlavəni quraşdırmaqla LastPass parol menecerindən məxfi məlumatları necə çıxara biləcəyinizi göstəririk.

Tədqiqatçılar CPUIntel i89-7K və i6700-7U ilə sistemlərdə Chrome 7600-da işləyən istismarın prototipini dərc ediblər. İstismar yaradarkən, əvvəllər Google tərəfindən dərc edilmiş JavaScript kodunun prototipləri Spectre sinifli hücumları həyata keçirmək üçün istifadə edilmişdir. Bildirilir ki, tədqiqatçılar Intel və Apple M1 prosessorları əsasında sistemlər üçün iş eksploytlarını hazırlaya biliblər ki, bu da yaddaşın oxunmasını saniyədə 500 bayt sürətlə və 96% dəqiqliklə təşkil etməyə imkan verir. Metodun AMD prosessorlarına da şamil olunduğu güman edilir, lakin tam funksional istismar hazırlamaq mümkün olmayıb.

Hücum Google Chrome, Microsoft Edge və Brave daxil olmaqla, Chromium mühərrikinə əsaslanan istənilən brauzerlərə şamil edilir. Tədqiqatçılar həmçinin hesab edirlər ki, metod Firefox ilə işləmək üçün uyğunlaşdırıla bilər, lakin Firefox mühərriki Chrome-dan çox fərqli olduğundan, belə bir eksploit yaratmaq işi gələcəyə qalıb.

Təlimatların spekulyativ icrası ilə bağlı brauzerə əsaslanan hücumlardan qorunmaq üçün Chrome ünvan məkanının seqmentasiyasını həyata keçirir - sandbox izolyasiyası JavaScript-ə yalnız 32 bitlik göstəricilərlə işləməyə imkan verir və işləyicilərin yaddaşını ayrı-ayrı 4 GB yığınlarda paylaşır. Bütün prosesin ünvan məkanına girişi təmin etmək və 32 bitlik məhdudiyyəti keçmək üçün tədqiqatçılar JavaScript mühərrikini səhv tipli obyekti emal etməyə məcbur edən Type Confusion adlı texnikadan istifadə ediblər və bu, 64 bitlik bir obyekt yaratmağa imkan verir. iki 32 bitlik dəyərin birləşməsinə əsaslanan göstərici.

Hücumun mahiyyəti ondan ibarətdir ki, JavaScript mühərrikində xüsusi hazırlanmış zərərli obyekti emal edərkən massivə daxil olan təlimatların spekulyativ icrasına səbəb olan şərait yaradılır. Obyekt elə seçilir ki, təcavüzkar tərəfindən idarə olunan sahələr 64 bitlik göstəricinin istifadə olunduğu ərazidə yerləşdirilsin. Zərərli obyektin növü emal olunan massivin növünə uyğun gəlmədiyinə görə, normal şəraitdə bu cür hərəkətlər Chrome-da massivlərə daxil olmaq üçün istifadə edilən kodun optimallaşdırılması mexanizmi ilə bloklanır. Bu problemi həll etmək üçün Type Confusion hücumunun kodu şərti “if” blokuna yerləşdirilir, bu blok normal şəraitdə aktivləşdirilmir, lakin prosessor sonrakı şaxələnməni səhv proqnozlaşdırırsa, spekulyativ rejimdə icra olunur.

Nəticədə, prosessor spekulyativ olaraq yaradılan 64 bitlik göstəriciyə daxil olur və uğursuz proqnozu təyin etdikdən sonra vəziyyəti geri qaytarır, lakin icra izləri paylaşılan keşdə qalır və dəyişiklikləri təhlil edən yan kanal keşinin aşkarlanması metodlarından istifadə etməklə bərpa edilə bilər. keşlənmiş və keşsiz məlumatlara giriş vaxtları. JavaScript-də mövcud olan taymerin qeyri-kafi dəqiqliyi şəraitində keşin məzmununu təhlil etmək üçün prosessorlarda istifadə olunan Tree-PLRU önbelleği çıxarma strategiyasını aldadan və dövrlərin sayını artırmaqla imkan verən Google tərəfindən təklif olunan metoddan istifadə olunur. önbellekdə bir dəyər mövcud olduqda və olmadıqda vaxt fərqini əhəmiyyətli dərəcədə artırır. .

Mənbə: opennet.ru

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