eBPF-də Spectre 4 hücumundan müdafiəni keçə bilən zəifliklər

Linux nüvəsində eBPF altsisteminə Spectre v4 (SSB, Spekulyativ Mağaza Yansıtma) hücumundan müdafiəni keçməyə imkan verən iki boşluq müəyyən edilib. İmtiyazsız BPF proqramından istifadə edərək təcavüzkar müəyyən əməliyyatların spekulyativ icrası üçün şərait yarada və nüvə yaddaşının ixtiyari sahələrinin məzmununu müəyyən edə bilər. Nüvədəki Escort eBPF altsistemləri praktikada hücumların həyata keçirilməsinin mümkünlüyünü nümayiş etdirən eksploit prototipinə çıxış əldə etdi. Problemlər növbəti Linux nüvəsi yeniləməsinin bir hissəsi olacaq yamaqlar (1, 2) şəklində düzəldildi. Dağıtımlar hələ yenilənməyib (Debian, RHEL, SUSE, Arch, Fedora, Ubuntu).

Spectre 4 hücum metodu dolayı ünvanlamadan istifadə edərək alternativ yazma və oxu əməliyyatlarını emal edərkən əməliyyatların spekulyativ icrasının nəticəsini atdıqdan sonra prosessor keşində yerləşmiş məlumatların bərpasına əsaslanır. Oxuma əməliyyatı yazma əməliyyatından sonra (məsələn, mov [rbx + rcx], 0x0; mov rax, [rdx + rsi]) oxunuş ünvanının ofseti yerinə yetirilən oxşar əməliyyatlara görə artıq məlum ola bilər (oxu əməliyyatları yerinə yetirilir) daha tez-tez və oxuma önbellekten həyata keçirilə bilər) və prosessor yazmadan əvvəl spekulyativ olaraq oxumağı, yazma dolayısı ofsetinin hesablanmasını gözləmədən yerinə yetirə bilər.

Əgər ofseti hesabladıqdan sonra yazı və oxumaq üçün yaddaş sahələrinin kəsişməsi aşkar edilərsə, prosessor sadəcə olaraq artıq spekulyativ olaraq əldə edilmiş oxunuş nəticəsini ləğv edəcək və bu əməliyyatı təkrarlayacaq. Bu xüsusiyyət mağaza əməliyyatı hələ tamamlanmamış halda oxunma təlimatına bəzi ünvanlarda köhnə dəyərə daxil olmaq imkanı verir. Uğursuz bir spekulyativ əməliyyatı ləğv etdikdən sonra onun icrasının izləri keş yaddaşda qalır, bundan sonra keşlənmiş və saxlanmamış məlumatlara giriş vaxtındakı dəyişikliklərin təhlili əsasında keşin məzmununu təyin etmək üsullarından biri əldə etmək üçün istifadə edilə bilər. o.

Birinci boşluq (CVE-2021-35477) BPF proqramının yoxlanılması mexanizmindəki qüsurdan qaynaqlanır. Spectre 4 hücumundan qorunmaq üçün yoxlayıcı potensial problemli saxlama əməliyyatlarından sonra yaddaşa əlavə təlimat əlavə edərək əvvəlki əməliyyatın izlərini silmək üçün sıfır dəyərini saxlayır. Sıfır yazma əməliyyatı çox sürətli olmalı və spekulyativ icraya mane olmalı idi, çünki bu, yalnız BPF yığın çərçivəsinin göstəricisindən asılıdır. Ancaq əslində, spekulyativ icraya aparan göstərişin preemptiv mağaza əməliyyatına qədər icra olunacağı şərait yaratmaq mümkün oldu.

İkinci zəiflik (CVE-2021-3455) BPF yoxlayıcısı tərəfindən potensial təhlükəli yaddaş saxlama əməliyyatları aşkar edildikdə, BPF yığınının işə salınmamış sahələrinin nəzərə alınmaması, birinci yazma əməliyyatı qorunmaması ilə əlaqədardır. . Bu xüsusiyyət mağaza təlimatını yerinə yetirməzdən əvvəl başlatılmamış yaddaş sahəsindən asılı olaraq spekulyativ oxu əməliyyatını yerinə yetirmək imkanına gətirib çıxarır. BPF yığını üçün yeni yaddaş artıq ayrılmış yaddaşda olan məzmun yoxlanılmadan ayrılır və BPF proqramı başlamazdan əvvəl daha sonra BPF yığınına ayrılacaq yaddaş sahəsinin məzmununu idarə etmək üçün bir yol var.

Mənbə: opennet.ru

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