Rebleed ื”ื™ื ืžืชืงืคื” ื—ื“ืฉื” ืขืœ ืžื ื’ื ื•ืŸ ื”ื‘ื™ืฆื•ืข ื”ืกืคืงื•ืœื˜ื™ื‘ื™ ืฉืœ ืžืขื‘ื“ื™ ืื™ื ื˜ืœ ื•-AMD

ืงื‘ื•ืฆืช ื—ื•ืงืจื™ื ืž-ETH ืฆื™ืจื™ืš ื–ื™ื”ืชื” ืžืชืงืคื” ื—ื“ืฉื” ืขืœ ืžื ื’ื ื•ืŸ ื‘ื™ืฆื•ืข ืกืคืงื•ืœื˜ื™ื‘ื™ ืฉืœ ืžืขื‘ืจื™ื ืขืงื™ืคื™ื ื‘ืžืขื‘ื“, ื”ืžืืคืฉืจืช ืœื—ืœืฅ ืžื™ื“ืข ืžื–ื™ื›ืจื•ืŸ ื”ืœื™ื‘ื” ืื• ืœืืจื’ืŸ ื”ืชืงืคื” ืขืœ ื”ืžืขืจื›ืช ื”ืžืืจื—ืช ืžืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช. ื”ืคื’ื™ืขื•ื™ื•ืช ื ืงืจืื•ืช ื‘ืฉื ื”ืงื•ื“ Retbleed (CVE-2022-29900, CVE-2022-29901) ื•ื”ืŸ ืงืจื•ื‘ื•ืช ื‘ืžื”ื•ืชืŸ ืœื”ืชืงืคื•ืช Spectre-v2. ื”ื”ื‘ื“ืœ ืžืกืชื›ื ื‘ืืจื’ื•ืŸ ืฉืœ ื‘ื™ืฆื•ืข ืกืคืงื•ืœื˜ื™ื‘ื™ ืฉืœ ืงื•ื“ ืฉืจื™ืจื•ืชื™ ื‘ืขืช ืขื™ื‘ื•ื“ ื”ื•ืจืืช "retur" (return), ืืฉืจ ืžื‘ื™ืื” ืืช ื”ื›ืชื•ื‘ืช ืœืงืคื•ืฅ ืžื”ืžื—ืกื ื™ืช, ื‘ืžืงื•ื ืงืคื™ืฆื” ืขืงื™ืคื” ื‘ืืžืฆืขื•ืช ื”ื•ืจืืช "jmp", ื˜ืขื™ื ืช ื”ื›ืชื•ื‘ืช ืž- ื–ื™ื›ืจื•ืŸ ืื• ืื•ื’ืจ CPU.

ืชื•ืงืฃ ื™ื›ื•ืœ ืœื™ืฆื•ืจ ืชื ืื™ื ืœื—ื™ื–ื•ื™ ืžืขื‘ืจ ืฉื’ื•ื™ ื•ืœืืจื’ืŸ ืžืขื‘ืจ ืžืžื•ืงื“, ืกืคืงื•ืœื˜ื™ื‘ื™ ืœื’ื•ืฉ ืงื•ื“ ืฉืื™ื ื• ืžืกื•ืคืง ืขืœ ื™ื“ื™ ืœื•ื’ื™ืงื” ืฉืœ ื”ืคืขืœืช ื”ืชื•ื›ื ื™ืช. ื‘ืกื•ืคื• ืฉืœ ื“ื‘ืจ, ื”ืžืขื‘ื“ ื™ืงื‘ืข ืฉื—ื™ื–ื•ื™ ื”ืขื ืฃ ืœื ื”ื™ื” ืžื•ืฆื“ืง ื•ื™ื—ื–ื™ืจ ืืช ื”ืคืขื•ืœื” ืœืžืฆื‘ื” ื”ืžืงื•ืจื™, ืืš ื”ื ืชื•ื ื™ื ืฉื™ืขื•ื‘ื“ื• ื‘ืžื”ืœืš ื‘ื™ืฆื•ืข ืกืคืงื•ืœื˜ื™ื‘ื™ ื™ืกืชื™ื™ืžื• ื‘ืžืื’ืจ ื”ืžื˜ืžื•ืŸ ื•ื”ืžื™ืงืจื•-ืืจื›ื™ื˜ืงื˜ื•ื ื™. ืื ื‘ืœื•ืง ืฉื‘ื•ืฆืข ื‘ื˜ืขื•ืช ื ื™ื’ืฉ ืœื–ื™ื›ืจื•ืŸ, ืื–ื™ ื”ื‘ื™ืฆื•ืข ื”ืกืคืงื•ืœื˜ื™ื‘ื™ ืฉืœื• ื™ื•ื‘ื™ืœ ืœื›ืš ืฉื ืชื•ื ื™ื ืฉื ืงืจืื• ืžื”ื–ื™ื›ืจื•ืŸ ื™ื•ืคืงื“ื• ื‘ืžื˜ืžื•ืŸ ื”ืžืฉื•ืชืฃ.

ื›ื“ื™ ืœืงื‘ื•ืข ืืช ื”ื ืชื•ื ื™ื ืฉื ื•ืชืจื• ื‘ืžื˜ืžื•ืŸ ืœืื—ืจ ืคืขื•ืœื•ืช ืกืคืงื•ืœื˜ื™ื‘ื™ื•ืช, ืชื•ืงืฃ ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘ื˜ื›ื ื™ืงื•ืช ืฉืœ ืขืจื•ืฅ ืฆื“ื“ื™ ื›ื“ื™ ืœืงื‘ื•ืข ื ืชื•ื ื™ื ืฉื™ื•ืจื™ื™ื, ื›ื’ื•ืŸ ื ื™ืชื•ื— ืฉื™ื ื•ื™ื™ื ื‘ื–ืžื ื™ ื’ื™ืฉื” ืœื ืชื•ื ื™ื ืžืื•ื—ืกื ื™ื ื•ืœื ืžืื•ื—ืกื ื™ื ื‘ืžื˜ืžื•ืŸ. ื›ื“ื™ ืœื—ืœืฅ ืžื™ื“ืข ืžืื–ื•ืจื™ื ื‘ืจืžืช ื”ืจืฉืื” ืื—ืจืช (ืœื“ื•ื’ืžื”, ืžื–ื™ื›ืจื•ืŸ ื”ืœื™ื‘ื”), ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘"ื’ืื“ื’'ื˜ื™ื" - ืจืฆืคื™ ืคืงื•ื“ื•ืช ื”ืงื™ื™ืžื™ื ื‘ืงืจื ืœ, ื”ืžืชืื™ืžื™ื ืœืงืจื™ืื” ืกืคืงื•ืœื˜ื™ื‘ื™ืช ืฉืœ ื ืชื•ื ื™ื ืžื”ื–ื™ื›ืจื•ืŸ ื‘ื”ืชืื ืœืชื ืื™ื ื—ื™ืฆื•ื ื™ื™ื ืฉื ื™ืชืŸ ืœื”ืฉืคื™ืข ืขืœ ื™ื“ื™ ื”ืชื•ืงืฃ.

ื›ื“ื™ ืœื”ื’ืŸ ืžืคื ื™ ื”ืชืงืคื•ืช ืงืœืืกื™ื•ืช ืžืกื•ื’ Spectre ื”ืžืฉืชืžืฉื•ืช ื‘ื”ื•ืจืื•ืช ืงืคื™ืฆื” ืžื•ืชื ื•ืช ื•ืขืงื™ืคื•ืช, ืจื•ื‘ ืžืขืจื›ื•ืช ื”ื”ืคืขืœื” ืžืฉืชืžืฉื•ืช ื‘ื˜ื›ื ื™ืงืช "retpoline", ื”ืžื‘ื•ืกืกืช ืขืœ ื”ื—ืœืคืช ืคืขื•ืœื•ืช ืงืคื™ืฆื” ืขืงื™ืคื•ืช ื‘ื”ื•ืจืื” "ret", ืฉืขื‘ื•ืจืŸ ื”ืžืขื‘ื“ื™ื ืžืฉืชืžืฉื™ื ื‘ื™ื—ื™ื“ืช ื—ื™ื–ื•ื™ ืžืฆื‘ ืžื—ืกื ื™ืช ื ืคืจื“ืช. ืœื ืžืฉืชืžืฉ ื‘ื‘ืœื•ืง ื—ื™ื–ื•ื™ ืขื ืฃ. ื›ืืฉืจ ืจื˜ืคื•ืœื™ืŸ ื”ื•ืฆื’ ื‘ืฉื ืช 2018, ื”ืืžื™ื ื• ื›ื™ ืžื ื™ืคื•ืœืฆื™ื•ืช ืฉืœ ื›ืชื•ื‘ืช ื“ื•ืžื•ืช ืœ-Spectre ืื™ื ืŸ ืžืขืฉื™ื•ืช ืœื”ืกืชืขืคื•ืช ืกืคืงื•ืœื˜ื™ื‘ื™ืช ื‘ืืžืฆืขื•ืช ื”ื•ืจืืช "ret".

ื”ื—ื•ืงืจื™ื ืฉืคื™ืชื—ื• ืืช ืฉื™ื˜ืช ื”ื”ืชืงืคื” ืฉืœ Retbleed ื”ื“ื’ื™ืžื• ืืคืฉืจื•ืช ืœื™ืฆื•ืจ ืชื ืื™ื ืžื™ืงืจื•-ืืจื›ื™ื˜ืงื˜ื•ื ื™ื™ื ืœืชื—ื™ืœืช ืžืขื‘ืจ ืกืคืงื•ืœื˜ื™ื‘ื™ ื‘ืืžืฆืขื•ืช ื”ื•ืจืืช "ret" ื•ืคืจืกืžื• ื›ืœื™ื ืžื•ื›ื ื™ื ืœื–ื™ื”ื•ื™ ืจืฆืคื™ ื”ื•ืจืื•ืช (ื’ืื“ื’'ื˜ื™ื) ื”ืžืชืื™ืžื™ื ืœื ื™ืฆื•ืœ ื”ืคื’ื™ืขื•ืช ื‘ืงืจื ืœ ื”ืœื™ื ื•ืงืก. ืฉื‘ื”ื ืžืชื‘ื˜ืื™ื ืชื ืื™ื ื›ืืœื”.

ื‘ืžื”ืœืš ื”ืžื—ืงืจ, ื”ื•ื›ืŸ ื ื™ืฆื•ืœ ืขื‘ื•ื“ื” ื”ืžืืคืฉืจ, ื‘ืžืขืจื›ื•ืช ืขื ืžืขื‘ื“ื™ ืื™ื ื˜ืœ, ืœื—ืœืฅ ื ืชื•ื ื™ื ืฉืจื™ืจื•ืชื™ื™ื ืžื–ื™ื›ืจื•ืŸ ื”ืœื™ื‘ื” ืžืชื”ืœื™ืš ื‘ืœืชื™ ืžื•ื’ืŸ ื‘ืžืจื—ื‘ ื”ืžืฉืชืžืฉ ื‘ืžื”ื™ืจื•ืช ืฉืœ 219 ื‘ืชื™ื ืœืฉื ื™ื™ื” ื•ื“ื™ื•ืง ืฉืœ 98%. ื‘ืžืขื‘ื“ื™ AMD, ื”ื™ืขื™ืœื•ืช ืฉืœ ื”ื ื™ืฆื•ืœ ื’ื‘ื•ื”ื” ื‘ื”ืจื‘ื” - ืงืฆื‘ ื”ื“ืœื™ืคื” ื”ื•ื 3.9 KB ืœืฉื ื™ื™ื”. ื›ื“ื•ื’ืžื” ืžืขืฉื™ืช, ืื ื• ืžืจืื™ื ื›ื™ืฆื“ ืœื”ืฉืชืžืฉ ื‘ื ื™ืฆื•ืœ ื”ืžื•ืฆืข ื›ื“ื™ ืœืงื‘ื•ืข ืืช ื”ืชื•ื›ืŸ ืฉืœ ืงื•ื‘ืฅ /etc/shadow. ื‘ืžืขืจื›ื•ืช ืขื ืžืขื‘ื“ื™ ืื™ื ื˜ืœ, ื”ืžืชืงืคื” ืœืงื‘ื™ืขืช ื”-hash ืฉืœ ืกื™ืกืžืช ื”ืžืฉืชืžืฉ ื”ื‘ืกื™ืกื™ืช ื‘ื•ืฆืขื” ืชื•ืš 28 ื“ืงื•ืช, ื•ื‘ืžืขืจื›ื•ืช ืขื ืžืขื‘ื“ื™ AMD - ืชื•ืš 6 ื“ืงื•ืช.

ื”ืžืชืงืคื” ืื•ืฉืจื” ื‘ืžืฉืš ื“ื•ืจื•ืช 6-8 ืฉืœ ืžืขื‘ื“ื™ ืื™ื ื˜ืœ ืฉืฉื•ื—ืจืจื• ืœืคื ื™ ื”ืจื‘ืขื•ืŸ ื”ืฉืœื™ืฉื™ ืฉืœ 3 (ื›ื•ืœืœ Skylake), ื•ืžืขื‘ื“ื™ AMD ื”ืžื‘ื•ืกืกื™ื ืขืœ ืžื™ืงืจื•-ืืจื›ื™ื˜ืงื˜ื•ืจื•ืช Zen 2019, Zen 1+ ื•-Zen 1 ืฉืฉื•ื—ืจืจื• ืœืคื ื™ ื”ืจื‘ืขื•ืŸ ื”ืฉื ื™ ืฉืœ 2. ื‘ื“ื’ืžื™ ืžืขื‘ื“ื™ื ื—ื“ืฉื™ื ื™ื•ืชืจ ื›ืžื• AMD Zen2021 ื•-Intel Alder Lake, ื›ืžื• ื’ื ื‘ืžืขื‘ื“ื™ ARM, ื”ื‘ืขื™ื” ื ื—ืกืžืช ืขืœ ื™ื“ื™ ืžื ื’ื ื•ื ื™ ื”ื’ื ื” ืงื™ื™ืžื™ื. ืœื“ื•ื’ืžื”, ืฉื™ืžื•ืฉ ื‘ื”ื•ืจืื•ืช IBRS (Indirect Branch Restricted Speculation) ืžืกื™ื™ืข ื‘ื”ื’ื ื” ืžืคื ื™ ื”ืชืงืคื•ืช.

ืขืจื›ืช ืฉื™ื ื•ื™ื™ื ื”ื•ื›ื ื” ืขื‘ื•ืจ ืœื™ื‘ืช ืœื™ื ื•ืงืก ื•-Xen hypervisor, ืืฉืจ ื™ื—ืกืžื• ืืช ื”ื‘ืขื™ื” ื‘ืชื•ื›ื ื” ื‘ืžืขื‘ื“ื™ื ื™ืฉื ื™ื ื™ื•ืชืจ. ื”ืชื™ืงื•ืŸ ื”ืžื•ืฆืข ืขื‘ื•ืจ ืœื™ื‘ืช ืœื™ื ื•ืงืก ืžืฉื ื” 68 ืงื‘ืฆื™ื, ืžื•ืกื™ืฃ 1783 ืฉื•ืจื•ืช ื•ืžื•ื—ืง 387 ืฉื•ืจื•ืช. ืœืžืจื‘ื” ื”ืฆืขืจ, ื”ื”ื’ื ื” ืžื•ื‘ื™ืœื” ืœืขืœื•ื™ื•ืช ืชืงื•ืจื” ืžืฉืžืขื•ืชื™ื•ืช - ื‘ื˜ืงืกื˜ื™ื ืฉื ืขืจื›ื™ื ืขืœ ืžืขื‘ื“ื™ AMD ื•ืื™ื ื˜ืœ, ื”ื™ืจื™ื“ื” ื‘ื‘ื™ืฆื•ืขื™ื ืžื•ืขืจื›ืช ืž-14% ืœ-39%. ืขื“ื™ืฃ ืœื”ืฉืชืžืฉ ื‘ื”ื’ื ื” ื”ืžื‘ื•ืกืกืช ืขืœ ื”ื•ืจืื•ืช IBRS, ื”ื–ืžื™ื ื” ื‘ื“ื•ืจื•ืช ื—ื“ืฉื™ื ืฉืœ ืžืขื‘ื“ื™ ืื™ื ื˜ืœ ื•ื ืชืžื›ืช ื”ื—ืœ ืžืœื™ื‘ืช ืœื™ื ื•ืงืก 4.19.

ื‘ืžืขื‘ื“ื™ ืื™ื ื˜ืœ, ื”ื—ืœืคืช ื›ืชื•ื‘ื•ืช ืœืงืคื™ืฆื” ืขืงื™ืคื” ืกืคืงื•ืœื˜ื™ื‘ื™ืช ืžืชื‘ืฆืขืช ื”ื•ื“ื•ืช ืœืชื›ื•ื ื” ื”ืžื•ืคื™ืขื” ื›ืืฉืจ ืžืชืจื—ืฉืช ื’ืœื™ืฉื” ื“ืจืš ื”ื’ื‘ื•ืœ ื”ืชื—ืชื•ืŸ (underflow) ื‘-Return Stack Buffer. ื›ืืฉืจ ืชื ืื™ื ื›ืืœื” ืžืชืจื—ืฉื™ื, ื”ื”ื•ืจืื” "ret" ืžืชื—ื™ืœื” ืœื”ื—ื™ืœ ื”ื™ื’ื™ื•ืŸ ื‘ื—ื™ืจืช ื›ืชื•ื‘ืช ื“ื•ืžื” ืœื–ื” ื”ืžืฉืžืฉ ืœืงืคื™ืฆื•ืช ืขืงื™ืคื•ืช ืจื’ื™ืœื•ืช. ื ืžืฆืื• ื™ื•ืชืจ ืžืืœืฃ ืžืงื•ืžื•ืช ื‘ืงืจื ืœ ื”ืœื™ื ื•ืงืก ื”ื™ื•ืฆืจื™ื ืชื ืื™ื ืœื”ืคืขืœืช ื–ืจื™ืžื” ื—ื•ื–ืจืช ื›ื–ื• ื•ื ื’ื™ืฉื™ื ื‘ืืžืฆืขื•ืช ืงืจื™ืื•ืช ืžืขืจื›ืช.

ื‘ืžืขื‘ื“ื™ AMD, ื‘ื™ืฆื•ืข ืกืคืงื•ืœื˜ื™ื‘ื™ ืฉืœ ื”ื•ืจืืช "ret" ืžืชื‘ืฆืข ืœืœื ื”ืชื™ื™ื—ืกื•ืช ืœืžืื’ืจ ืกืคืฆื™ืคื™ ืœื—ืกื™ืžื” (Return Address Stack) ื•ื™ื—ื™ื“ืช ื—ื™ื–ื•ื™ ื”ืกื ื™ืฃ ืจื•ืื” ื‘ื”ื•ืจืื” "ret" ืœื ื›ื”ื—ื–ืจืช ื‘ืงืจื”, ืืœื ื›ืกื ื™ืฃ ืขืงื™ืฃ. , ื•ื‘ื”ืชืื, ืžืฉืชืžืฉ ื‘ื ืชื•ื ื™ื ืœื—ื™ื–ื•ื™ ืžืขื‘ืจื™ื ืขืงื™ืคื™ื. ื‘ืชื ืื™ื ืืœื”, ื ื™ืชืŸ ืœื ืฆืœ ื›ืžืขื˜ ื›ืœ ืคืขื•ืœืช "ืžื—ื“ืฉ" ืฉื ื™ืชืŸ ืœื”ื’ื™ืข ืืœื™ื” ื‘ืืžืฆืขื•ืช ืงืจื™ืืช ืžืขืจื›ืช.

ื‘ื ื•ืกืฃ, ื–ื•ื”ืชื” ื‘ืขื™ื” ื ื•ืกืคืช ื’ื ื‘ืžืขื‘ื“ื™ AMD (CVE-2022-23825, Branch Type Confusion) ื”ืงืฉื•ืจื” ืœื”ื˜ืžืขืช ืขื ืคื™ื ืคื™ืงื˜ื™ื‘ื™ื™ื - ืชื ืื™ื ืœื—ื™ื–ื•ื™ ืขื ืคื™ื ื™ื›ื•ืœื™ื ืœื”ืชืจื—ืฉ ื’ื ืœืœื ื”ื•ืจืื•ืช ื”ืขื ืฃ ื”ื“ืจื•ืฉื•ืช, ืžื” ืฉืžืืคืฉืจ ืœื”ืฉืคื™ืข ืขืœ ืžืื’ืจ ื—ื™ื–ื•ื™ ื”ืขื ืฃ ืœืœื ื”ื”ื•ืจืื” "ret". ืชื›ื•ื ื” ื–ื• ืžืกื‘ื›ืช ื‘ืื•ืคืŸ ืžืฉืžืขื•ืชื™ ืืช ื™ื™ืฉื•ื ื”ื”ื’ื ื” ื•ื“ื•ืจืฉืช ื ื™ืงื•ื™ ืืงื˜ื™ื‘ื™ ื™ื•ืชืจ ืฉืœ ืžืื’ืจ ื—ื™ื–ื•ื™ ื”ืขื ืฃ. ื”ื•ืกืคืช ื”ื’ื ื” ืžืœืื” ืœืงืจื ืœ ืฆืคื•ื™ื” ืœื”ื’ื“ื™ืœ ืืช ื”ืชืงื•ืจื” ื‘-209%.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”