AMD процессорларындағы кэш арналарын болжау механизміне екі шабуыл

Грац техникалық университетінің (Австрия) зерттеушілер тобы, бұрын шабуыл әдістерін әзірлеумен танымал. MDS, NetSpectre, Балға и ZombieLoad, AMD процессорларына тән аппараттық құралдарды оңтайландыру бойынша зерттеулер жүргізді және дамыды AMD процессорларының L1 кэш арналарын болжау механизмінің жұмысы кезінде деректердің ағып кетуін басқаратын бүйірлік арналық шабуылдардың екі жаңа әдісі. Әдістерді ASLR қорғанысының тиімділігін төмендету, осал AES енгізулеріндегі кілттерді қалпына келтіру және Spectre шабуылының тиімділігін арттыру үшін пайдалануға болады.

Қандай кэш арнасында белгілі бір жад мекенжайы бар екенін болжау үшін пайдаланылатын орталық процессордың бірінші деңгейлі деректер кэшінде (L1D) арналарды болжау механизмін (жол болжаушысы) жүзеге асыруда проблемалар анықталды. AMD процессорларында қолданылатын оңтайландыру μ-тегтерді (μTag) тексеруге негізделген. μTag виртуалды мекенжайға арнайы хэш функциясын қолдану арқылы есептеледі. Жұмыс барысында арнаны болжау механизмі кестеден кэш арнасын анықтау үшін μTag пайдаланады. Осылайша, μTag процессорға барлық опцияларды іздемей, тек белгілі бір арнаға қол жеткізумен шектелуге мүмкіндік береді, бұл процессордың қуат тұтынуын айтарлықтай азайтады.

AMD процессорларындағы кэш арналарын болжау механизміне екі шабуыл

2011 жылдан 2019 жылға дейін шығарылған AMD процессорларының әртүрлі буындарында арналарды болжау жүйесін енгізуді кері инженериялау кезінде бүйірлік арналық шабуылдың екі жаңа әдісі анықталды:

  • Collide+Probe - шабуылдаушыға бір логикалық процессор өзегінде жұмыс істейтін процестер үшін жадқа кіруді бақылауға мүмкіндік береді. Әдістің мәні жадқа кіруді қадағалау үшін μTag есептеу үшін пайдаланылатын хэш функциясында соқтығыстарды тудыратын виртуалды мекенжайларды пайдалану болып табылады. Intel процессорларында қолданылатын Flush+Reload және Prime+Probe шабуылдарынан айырмашылығы, Collide+Probe ортақ жадты пайдаланбайды және физикалық мекенжайларды білмей жұмыс істейді.
  • Load+Reload – бір физикалық процессор өзегіндегі жадқа кіру іздерін өте дәл анықтауға мүмкіндік береді. Әдіс физикалық жад ұяшығы L1D кэшінде бір рет қана болуы мүмкін екендігіне негізделген. Анау. бір жад ұяшығына басқа виртуалды мекенжайда қол жеткізу ұяшықты L1D кэшінен шығарып, жадқа кіруді қадағалауға мүмкіндік береді. Шабуыл ортақ жадқа негізделгенімен, ол кэш желілерін тазартпайды, бұл деректерді соңғы деңгейдегі кэштен шығармайтын жасырын шабуылдарға мүмкіндік береді.

Collide+Probe және Load+Reload әдістеріне сүйене отырып, зерттеушілер бүйірлік арналық шабуылдың бірнеше сценарийін көрсетті:

  • Мәліметтерді секундына 588 кБ дейінгі жылдамдықпен беруге мүмкіндік беретін екі процесс арасындағы жасырын жанама байланыс арнасын ұйымдастыру әдістерін қолдану мүмкіндігі көрсетілген.
  • μTag ішіндегі соқтығысуларды пайдалана отырып, ASLR (Address Space Layout Randomization) әртүрлі нұсқалары үшін энтропияны азайтуға және толығымен жаңартылған Linux жүйесінде ядродағы ASLR қорғанысын айналып өтуге болады. Пайдаланушы қолданбаларынан да, құмсалғыш ортасында орындалған JavaScript кодын және басқа қонақ ортасында іске қосылған кодты пайдалану арқылы да ASLR энтропиясын азайту үшін шабуыл жасау мүмкіндігі көрсетілген.

    AMD процессорларындағы кэш арналарын болжау механизміне екі шабуыл

  • Collide+Probe әдісі негізінде осал іске асырудан шифрлау кілтін қалпына келтіру үшін шабуыл орындалды (негізінде T-кесте) AES шифрлауы.
  • Деректерді жинау арнасы ретінде Collide+Probe әдісін пайдалану арқылы Spectre шабуылы ортақ жадты пайдаланбай ядродан жеке деректерді шығара алды.

Осалдық микроархитектураға негізделген AMD процессорларында орын алады
Бульдозер, Piledriver, Steamroller, Zen (Ryzen, Epic), Zen+ және Zen2.
AMD бұл мәселе туралы 23 жылдың 2019 тамызында хабардар етілді, бірақ әлі күнге дейін есепті жарияламады осалдықты блоктау туралы ақпаратпен. Зерттеушілердің пікірінше, Intel корпорациясының салалық болжау механизмдерін өшіруді басқару үшін істегеніне ұқсас, арналарды болжау жүйесін таңдаулы түрде өшіру үшін MSR биттерін қамтамасыз ету арқылы микрокодты жаңарту деңгейінде мәселені бұғаттауға болады.

AMD процессорларындағы кэш арналарын болжау механизміне екі шабуыл

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

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