BHI - Intel және ARM процессорларындағы Spectre класының жаңа осалдығы

Амстердамның Еркін университетінің зерттеушілер тобы Intel және ARM процессорларының микроархитектуралық құрылымдарында жаңа осалдықты анықтады, ол процессорларға қосылған eIBRS және CSV2 қорғау механизмдерін айналып өтуге мүмкіндік беретін Spectre-v2 осалдықының кеңейтілген нұсқасы болып табылады. Осалдыққа бірнеше атау берілді: BHI (Branch History Injection, CVE-2022-0001), BHB (Branch History Buffer, CVE-2022-0002) және Spectre-BHB (CVE-2022-23960), олар әртүрлі көріністерді сипаттайды. бірдей мәселе (BHI - әртүрлі артықшылық деңгейлеріне әсер ететін шабуыл, мысалы, пайдаланушы процесі мен ядро, BHB - бірдей артықшылық деңгейіндегі шабуыл, мысалы, eBPF JIT және ядро).

Зерттеушілер пайдаланушы кеңістігіне ядро ​​жадынан ерікті деректерді шығаруға мүмкіндік беретін жұмыс эксплойтын көрсетті. Мысалы, дайындалған эксплуатацияны пайдалана отырып, ядро ​​буферлерінен /etc/shadow файлынан жүктелген түбірлік пайдаланушының құпия сөзінің хэшімен жолды қалай шығаруға болатыны көрсетілген. Эксплойт пайдаланушы жүктеген eBPF бағдарламасын пайдалана отырып, бір артықшылық деңгейінде (ядродан ядроға шабуыл) осалдықты пайдалану мүмкіндігін көрсетеді. eBPF орнына ядро ​​кодында бар Spectre гаджеттерін, нұсқаулардың алыпсатарлық орындалуына әкелетін командалар тізбегін пайдалану мүмкіндігі де жоққа шығарылмайды.

Осалдық Atom тобының процессорларын қоспағанда, қазіргі Intel процессорларының көпшілігінде пайда болады. ARM процессорларының ішінен Cortex-A15, Cortex-A57, Cortex-A7*, Cortex-X1, Cortex-X2, Cortex-A710, Neoverse N1, Neoverse N2, Neoverse V1 және мүмкін кейбір Cortex-R чиптері зардап шегеді. Зерттеулерге сәйкес, осалдық AMD процессорларында байқалмайды. Мәселені шешу үшін болашақ CPU үлгілерінде аппараттық қорғаныс пайда болғанға дейін пайдалануға болатын осалдықты блоктаудың бірнеше бағдарламалық әдістері ұсынылды.

eBPF ішкі жүйесі арқылы шабуылдарды блоктау үшін "/proc/sys/kernel/unprivileged_bpf_disabled" файлына 1 жазу немесе "sysctl -w kernel" пәрменін орындау арқылы артықшылығы жоқ пайдаланушылардың eBPF бағдарламаларын жүктеу мүмкіндігін әдепкі бойынша өшіру ұсынылады. .unprivileged_bpf_disabled=1". Гаджеттер арқылы шабуылдарды блоктау үшін алыпсатарлық орындауға әкелуі мүмкін код бөлімдерінде LFENCE нұсқаулығын пайдалану ұсынылады. Бір қызығы, Linux дистрибутивтерінің көпшілігінің әдепкі конфигурациясында зерттеушілер көрсеткен eBPF шабуылын блоктауға жеткілікті қажетті қорғаныс шаралары бар. Intel компаниясының eBPF-ге артықшылықсыз кіруді өшіру жөніндегі ұсыныстары да әдепкі бойынша Linux 5.16 ядросынан бастап қолданылады және бұрынғы филиалдарға қайтарылады.

Тұжырымдама бойынша, BHI - бұл қосымша қорғанысты айналып өтуге (Intel eIBRS және Arm CSV2) және деректердің ағып кетуін, мәндерді жаһандық филиал тарихы бар буферге ауыстыруды ұйымдастыруға арналған Spectre-v2 шабуылының кеңейтілген нұсқасы (Branch History Buffer). ) пайдаланылады, ол өткен ауысулардың тарихын ескере отырып, болжау дәлдігін тармақтауды жақсарту үшін орталық процессорда қолданылады. Өтпелер тарихы бар манипуляциялар арқылы шабуыл барысында өтуді қате болжау және қажетті нұсқауларды алыпсатарлық орындау үшін жағдайлар жасалады, оның нәтижесі кэште сақталады.

Тармақтық мақсат буферінің орнына Тармақ тарихы буферін пайдалануды қоспағанда, жаңа шабуыл Spectre-v2-ге ұқсас. Шабуылдаушының міндеті - алыпсатарлық операцияны орындаған кезде мекенжай анықталатын деректер аймағынан алынатындай жағдай жасау. Алыпсатарлық жанама секіруді орындағаннан кейін, жадтан оқылатын көшу мекенжайы кэште қалады, содан кейін кэштелген және кэшке кіру уақытындағы өзгерістерді талдау негізінде кэш мазмұнын анықтау әдістерінің бірі оны шығарып алу үшін пайдаланылуы мүмкін. кэштелмеген деректер.

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

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