Үшінші тарап арналары арқылы деректердің ағып кетуіне әкелетін Intel процессорларындағы осалдық

Қытай және Америка университеттерінің бір топ зерттеушілері Intel процессорларындағы жаңа осалдықты анықтады, ол алыпсатарлық операциялардың нәтижесі туралы ақпараттың үшінші тараптың ағып кетуіне әкеліп соғады, оны, мысалы, процестер арасында жасырын байланыс арнасын ұйымдастыру үшін пайдалануға болады. Meltdown шабуылдары кезінде ағып кетуді анықтау.

Осалдықтың мәні мынада: нұсқауларды алыпсатарлық орындау нәтижесінде пайда болатын EFLAGS процессорының регистріндегі өзгеріс JCC нұсқауларының кейінгі орындалу уақытына әсер етеді (көрсетілген шарттар орындалған кезде секіру). Спекуляциялық операциялар аяқталмайды және нәтиже жойылады, бірақ жойылған EFLAGS өзгерісін JCC нұсқауларының орындалу уақытын талдау арқылы анықтауға болады. Өтуге дейін алыпсатарлық режимде орындалған салыстыру операциялары, егер сәтті болса, өлшеуге және мазмұнды таңдау белгісі ретінде пайдалануға болатын шағын кідіріске әкеледі.

Үшінші тарап арналары арқылы деректердің ағып кетуіне әкелетін Intel процессорларындағы осалдық

Басқа ұқсас бүйірлік арна шабуылдарынан айырмашылығы, жаңа әдіс кэштелген және кэштелмеген деректерге қол жеткізу уақытындағы өзгерістерді талдамайды және EFLAGS регистрін бастапқы күйіне қайтару кезеңін қажет етпейді, бұл шабуылды анықтау мен блоктауды қиындатады. Демонстрация ретінде зерттеушілер алыпсатарлық операцияның нәтижесі туралы ақпарат алудың жаңа әдісін қолданып, Meltdown шабуылының нұсқасын жүзеге асырды. Meltdown шабуылы кезінде ақпараттың ағып кетуін ұйымдастыру әдісінің жұмысы Ubuntu 7 және Linux ядросы 6700 бар ортада Intel Core i7-7700 және i22.04-5.15 процессорлары бар жүйелерде сәтті көрсетілді. Intel i9-10980XE процессоры бар жүйеде шабуыл тек ішінара орындалды.

Meltdown осалдығы нұсқауларды алыпсатарлық орындау кезінде процессордың жеке деректер аймағына қол жеткізіп, содан кейін нәтижені алып тастай алатындығына негізделген, себебі орнатылған артықшылықтар пайдаланушы процесінде мұндай қатынасты тыйым салады. Бағдарламада алыпсатарлық орындалатын блок негізгі кодтан шартты тармақ арқылы бөлінеді, ол нақты жағдайларда әрқашан жанып тұрады, бірақ шартты оператор алдын ала орындау кезінде процессор білмейтін есептік мәнді қолдануына байланысты. код, барлық филиал опциялары алыпсатарлық түрде жүзеге асырылады.

Meltdown классикалық нұсқасында кәдімгі орындалатын нұсқаулар сияқты алыпсатарлық орындалатын операциялар үшін бірдей кэш пайдаланылатындықтан, алыпсатарлық орындау кезінде кэште жабық жад аймағында жеке биттердің мазмұнын көрсететін маркерлерді орнатуға болады, содан кейін кэштелген және кэштелмеген деректерге қол жеткізу уақытын талдау арқылы қалыпты орындалатын кодта олардың мағынасын анықтау. Жаңа нұсқа ағып кету маркері ретінде EFLAGS регистріндегі өзгерісті пайдаланады. Жасырын арна демонстрациясында бір процесс EFLAGS регистрінің мазмұнын өзгертуге жағдай жасау үшін жіберілген деректерді модуляциялады, ал басқа процесс бірінші процесс арқылы жіберілген деректерді қайта құру үшін JCC нұсқаулығын орындау уақытының өзгеруіне талдау жасады.

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

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