AMD процессорлорунун алып-сатарлык аткаруу механизминдеги аялуу

Grsecurity долбоору шартсыз алдыга операциялардан кийин нускамаларды алып-сатарлык түрдө аткарууга байланыштуу AMD процессорлорундагы жаңы аялуу (CVE-2021-26341) үчүн деталдарды жана чабуул ыкмасынын демонстрациясын жарыялады. Эгерде чабуул ийгиликтүү болсо, алсыздык ээнбаштык эстутум аймактарынын мазмунун аныктоого мүмкүндүк берет. Мисалы, изилдөөчүлөр даректин схемасын аныктоого жана ePBF өзөктүк подсистемасында артыкчылыксыз кодду ишке ашыруу аркылуу KASLR (ядро эстутумун рандомизациялоо) коргоо механизмин айланып өтүүгө мүмкүндүк берген эксплойт даярдашты. Башка чабуул сценарийлерин жокко чыгарууга болбойт, алар ядро ​​эс тутумунун мазмунунун агып кетишине алып келиши мүмкүн.

Алсыздык процессор алдын ала аткаруу учурунда инструкцияны эстутумдагы секирүү инструкциясынан кийин (SLS, Straight Line Speculation) дароо алып-сатарлык түрдө иштете турган шарттарды түзүүгө мүмкүндүк берет. Мындан тышкары, мындай оптималдаштыруу шарттуу секирүү операторлору үчүн гана эмес, JMP, RET жана CALL сыяктуу түз шартсыз секирүүнү билдирген көрсөтмөлөр үчүн да иштейт. Шартсыз секирүү көрсөтмөлөрүнөн кийин, аткарууга арналбаган ыктыярдуу маалыматтар жайгаштырылышы мүмкүн. Тармак кийинки нускаманы аткарууну камтыбай турганын аныктагандан кийин, процессор жөн гана абалды артка жылдырат жана спекулятивдүү аткарууну этибарга албайт, бирок нускамалардын аткарылышынын изи жалпы кэште кала берет жана капталдан каналды издөө ыкмаларын колдонуу менен талдоо үчүн жеткиликтүү болот.

Spectre-v1 аялуулугун эксплуатациялоодогудай эле, чабуул ядродо алып сатарлык менен аткарууга алып келген инструкциялардын (гаджеттердин) белгилүү ырааттуулугунун болушун талап кылат. Бул учурда алсыздыкты бөгөттөө коддогу мындай гаджеттерди аныктоого жана аларга спекулятивдүү аткарууну бөгөттөөчү кошумча нускамаларды кошууга туура келет. Спекуляциялык аткаруу үчүн шарттарды eBPF виртуалдык машинасында иштеген артыкчылыксыз программалар да түзүшү мүмкүн. eBPF аркылуу гаджеттерди куруу мүмкүнчүлүгүн бөгөттөө үчүн, системада eBPFге артыкчылыксыз кирүү мүмкүнчүлүгүн өчүрүү сунушталат (“sysctl -w kernel.unprivileged_bpf_disabled=1”).

Аялуу Zen1 жана Zen2 микроархитектурасынын негизиндеги процессорлорго, анын ичинде AMD EPYC жана AMD Ryzen Threadripper процессорлорунун биринчи жана экинчи муундарына, ошондой эле AMD Ryzen 2000/3000/4000/5000, AMD Athlon, AMD Athlon X, AMD Ryzen Threadreadreadreadreadrea таасир этет. PRO жана APU серияларынын процессорлору A. Инструкциялардын алып-сатарлык аткарылышын бөгөттөө үчүн, филиалдык операциялардан кийин INT3 же LFENCE инструкцияларын чакыруу сунушталат (RET, JMP, CALL).

Source: opennet.ru

Комментарий кошуу