Spectre v6.2 шабуылдан қорғауды айналып өтуі мүмкін Linux 2 ядросындағы осалдық

Linux ядросының 6.2-де осалдық (CVE-2023-1998) анықталды, ол Spectre v2 шабуылдарынан қорғауды өшіреді, бұл әртүрлі SMT немесе Hyper Threading ағындарында, бірақ бір физикалық процессорда орындалатын басқа процестердің жадына кіруге мүмкіндік береді. негізгі. Осалдық, басқа нәрселермен қатар, бұлттық жүйелердегі виртуалды машиналар арасында деректердің ағып кетуіне себеп болуы мүмкін. Мәселе тек Linux 6.2 ядросына әсер етеді және Spectre v2 қорғанысын қолданудың елеулі үстеме шығындарын азайтуға арналған оңтайландыруларды дұрыс орындамаудан туындады. Осалдық Linux 6.3 ядросының тәжірибелік бөлімінде түзетілді.

Пайдаланушы кеңістігінде Spectre шабуылдарынан қорғау үшін процестер prctl PR_SET_SPECULATION_CTRL арқылы нұсқаулардың алыпсатарлық орындалуын таңдаулы түрде өшіре алады немесе seccomp механизміне негізделген жүйелік шақыруды сүзуді пайдалана алады. Мәселені анықтаған зерттеушілердің пікірінше, 6.2 ядросындағы қате оңтайландыру prctl арқылы спектр-BTI шабуылын блоктау режимін қосқанына қарамастан, кем дегенде бір негізгі бұлттық провайдердің виртуалды машиналарын тиісті қорғаныссыз қалдырды. Сондай-ақ осалдық 6.2 ядросы бар кәдімгі серверлерде пайда болады, оларды жүктеген кезде «spectre_v2=ibrs» параметрі қолданылады.

Осалдықтың мәні мынада: IBRS немесе eIBRS қорғау режимдерін таңдаған кезде енгізілген оңтайландырулар STIBP (Single Thread Indirect Branch Predictors) механизмін пайдалануды өшірді, бұл бір уақытта көп ағынды технологияны (SMT немесе Hyper-) пайдалану кезінде ағып кетуді блоктау үшін қажет. Жіп). Дегенмен, тек eIBRS режимі ағындар арасындағы ағып кетуден қорғауды қамтамасыз етеді, бірақ IBRS режимі емес, өйткені бұл жағдайда логикалық ядролар арасындағы ағып кетуден қорғауды қамтамасыз ететін IBRS биті басқару пайдаланушы кеңістігіне оралған кезде өнімділік себептері бойынша тазартылады, бұл пайдаланушы кеңістігіндегі ағындар Spectre v2 шабуылдарынан қорғалмаған.

Ақпарат көзі: opennet.ru

пікір қалдыру