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

ืคืจื•ื™ืงื˜ Grsecurity ืคืจืกื ืคืจื˜ื™ื ื•ื”ื“ื’ืžื” ืฉืœ ืฉื™ื˜ืช ื”ื”ืชืงืคื” ืœืคื’ื™ืขื•ืช ื—ื“ืฉื” (CVE-2021-26341) ื‘ืžืขื‘ื“ื™ AMD ื”ืงืฉื•ืจื™ื ืœื‘ื™ืฆื•ืข ืกืคืงื•ืœื˜ื™ื‘ื™ ืฉืœ ื”ื•ืจืื•ืช ืœืื—ืจ ืคืขื•ืœื•ืช ืงื“ื™ืžื” ืœืœื ืชื ืื™. ืื ื”ื”ืชืงืคื” ืžืฆืœื™ื—ื”, ื”ืคื’ื™ืขื•ืช ืžืืคืฉืจืช ืœืงื‘ื•ืข ืืช ื”ืชื•ื›ืŸ ืฉืœ ืื–ื•ืจื™ ื–ื™ื›ืจื•ืŸ ืฉืจื™ืจื•ืชื™ื™ื. ืœื“ื•ื’ืžื”, ื—ื•ืงืจื™ื ื”ื›ื™ื ื• ื ื™ืฆื•ืœ ื”ืžืืคืฉืจ ืœื”ื ืœืงื‘ื•ืข ืืช ืคืจื™ืกืช ื”ื›ืชื•ื‘ื•ืช ื•ืœืขืงื•ืฃ ืืช ืžื ื’ื ื•ืŸ ื”ื”ื’ื ื” KASLR (ืงื ื“ื•ืช ื–ื™ื›ืจื•ืŸ ืœื™ื‘ื”) ืขืœ ื™ื“ื™ ื‘ื™ืฆื•ืข ืงื•ื“ ืœื ืžื•ื’ืŸ ื‘ืชืช ืžืขืจื›ืช ืœื™ื‘ืช ePBF. ืœื ื ื™ืชืŸ ืœืฉืœื•ืœ ืชืจื—ื™ืฉื™ ืชืงื™ืคื” ืื—ืจื™ื ืฉืขืœื•ืœื™ื ืœื”ื•ื‘ื™ืœ ืœื“ืœื™ืคื” ืฉืœ ืชื•ื›ืŸ ื–ื™ื›ืจื•ืŸ ืœื™ื‘ื”.

ื”ืคื’ื™ืขื•ืช ืžืืคืฉืจืช ืœื™ืฆื•ืจ ืชื ืื™ื ืฉื‘ื”ื ื”ืžืขื‘ื“, ื‘ืžื”ืœืš ื‘ื™ืฆื•ืข ืžื ืข, ืžืขื‘ื“ ืกืคืงื•ืœื˜ื™ื‘ื™ืช ืืช ื”ื”ื•ืจืื” ืžื™ื“ ืœืื—ืจ ื”ื•ืจืืช ื”ืงืคื™ืฆื” ื‘ื–ื™ื›ืจื•ืŸ (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 Threadripper ืžืขื‘ื“ื™ ืกื“ืจืช PRO ื•-APU A. ื›ื“ื™ ืœื—ืกื•ื ื‘ื™ืฆื•ืข ืกืคืงื•ืœื˜ื™ื‘ื™ ืฉืœ ื”ื•ืจืื•ืช, ืžื•ืžืœืฅ ืœืงืจื•ื ืœื”ื•ืจืื•ืช INT3 ืื• LFENCE ืœืื—ืจ ืคืขื•ืœื•ืช ืกื ื™ืฃ (RET, JMP, CALL).

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

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