ืคื’ื™ืขื•ื™ื•ืช ื‘-eBPF ืฉืขืœื•ืœื•ืช ืœืขืงื•ืฃ ืืช ื”ื’ื ืช ื”ืชืงืคืช Spectre 4

ื–ื•ื”ื• ืฉืชื™ ื ืงื•ื“ื•ืช ืชื•ืจืคื” ื‘ืœื™ื‘ืช ืœื™ื ื•ืงืก ื”ืžืืคืฉืจื•ืช ืœืชืช-ืžืขืจื›ืช eBPF ืœืขืงื•ืฃ ืืช ื”ื’ื ืช ื”ืชืงืคืช Spectre v4 (SSB, Speculative Store Bypass). ื‘ืืžืฆืขื•ืช ืชื•ื›ื ื™ืช BPF ืœืœื ืคืจื™ื‘ื™ืœื’ื™ื”, ืชื•ืงืฃ ื™ื›ื•ืœ ืœื™ืฆื•ืจ ืชื ืื™ื ืœื‘ื™ืฆื•ืข ืกืคืงื•ืœื˜ื™ื‘ื™ ืฉืœ ืคืขื•ืœื•ืช ืžืกื•ื™ืžื•ืช ื•ืœืงื‘ื•ืข ืืช ื”ืชื•ื›ืŸ ืฉืœ ืื–ื•ืจื™ื ืฉืจื™ืจื•ืชื™ื™ื ืฉืœ ื–ื™ื›ืจื•ืŸ ื”ืœื™ื‘ื”. ืชืช-ืžืขืจื›ื•ืช ืœื™ื•ื•ื™ eBPF ื‘ืงืจื ืœ ืงื™ื‘ืœื• ื’ื™ืฉื” ืœื ื™ืฆื•ืœ ืื‘ ื˜ื™ืคื•ืก ื”ืžื“ื’ื™ื ืืช ื”ืืคืฉืจื•ืช ืœื‘ืฆืข ื”ืชืงืคื•ืช ื‘ืคื•ืขืœ. ื”ื‘ืขื™ื•ืช ืชื•ืงื ื• ื‘ืฆื•ืจื” ืฉืœ ืชื™ืงื•ื ื™ื (1, 2) ืฉื™ื”ื™ื• ื—ืœืง ืžืขื“ื›ื•ืŸ ืœื™ื‘ืช ืœื™ื ื•ืงืก ื”ื‘ื. ื”ื”ืคืฆื•ืช ืขื“ื™ื™ืŸ ืœื ืขื•ื“ื›ื ื• (Debian, RHEL, SUSE, Arch, Fedora, Ubuntu).

ืฉื™ื˜ืช ื”ื”ืชืงืคื” ืฉืœ Spectre 4 ืžื‘ื•ืกืกืช ืขืœ ืฉื—ื–ื•ืจ ื ืชื•ื ื™ื ืฉื”ืชื™ื™ืฉื‘ื• ื‘ืžื˜ืžื•ืŸ ื”ืžืขื‘ื“ ืœืื—ืจ ื”ืฉืœื›ืช ื”ืชื•ืฆืื” ืฉืœ ื‘ื™ืฆื•ืข ืกืคืงื•ืœื˜ื™ื‘ื™ ืฉืœ ืคืขื•ืœื•ืช ื‘ืขืช ืขื™ื‘ื•ื“ ืคืขื•ืœื•ืช ื›ืชื™ื‘ื” ื•ืงืจื™ืื” ืžืชื—ืœืคื•ืช ืชื•ืš ืฉื™ืžื•ืฉ ื‘ื›ืชื•ื‘ืช ืขืงื™ืคื”. ื›ืืฉืจ ืคืขื•ืœืช ืงืจื™ืื” ื‘ืื” ื‘ืขืงื‘ื•ืช ืคืขื•ืœืช ื›ืชื™ื‘ื” (ืœื“ื•ื’ืžื”, mov [rbx + rcx], 0x0; mov rax, [rdx + rsi]), ื™ื™ืชื›ืŸ ืฉื”ืกื˜ืช ื›ืชื•ื‘ืช ื”ืงืจื™ืื” ื›ื‘ืจ ื™ื“ื•ืขื” ืขืงื‘ ื‘ื™ืฆื•ืข ืคืขื•ืœื•ืช ื“ื•ืžื•ืช (ืžื‘ืฆืขื™ื ืคืขื•ืœื•ืช ืงืจื™ืื” ื‘ืชื“ื™ืจื•ืช ื’ื‘ื•ื”ื” ื”ืจื‘ื” ื™ื•ืชืจ ื•ื ื™ืชืŸ ืœื‘ืฆืข ืงืจื™ืื” ืžื”ืžื˜ืžื•ืŸ) ื•ื”ืžืขื‘ื“ ื™ื›ื•ืœ ืœื‘ืฆืข ืงืจื™ืื” ืกืคืงื•ืœื˜ื™ื‘ื™ืช ืœืคื ื™ ื›ืชื™ื‘ื” ืžื‘ืœื™ ืœื—ื›ื•ืช ืœื—ื™ืฉื•ื‘ ื”ื™ืกื˜ ืขืงื™ืฃ ื”ื›ืชื™ื‘ื”.

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

ื”ืคื’ื™ืขื•ืช ื”ืจืืฉื•ื ื” (CVE-2021-35477) ื ื’ืจืžืช ืขืœ ื™ื“ื™ ืคื’ื ื‘ืžื ื’ื ื•ืŸ ื”ืื™ืžื•ืช ืฉืœ ืชื•ื›ื ื™ืช BPF. ื›ื“ื™ ืœื”ื’ืŸ ืžืคื ื™ ืžืชืงืคืช Spectre 4, ื”ืžืืžืช ืžื•ืกื™ืฃ ื”ื•ืจืื” ื ื•ืกืคืช ืœืื—ืจ ืคืขื•ืœื•ืช ืื—ืกื•ืŸ ืฉืขืœื•ืœื•ืช ืœื”ื™ื•ืช ื‘ืขื™ื™ืชื™ื•ืช ืœื–ื™ื›ืจื•ืŸ, ื•ืฉื•ืžืจ ืืช ื”ืขืจืš ืฉืœ ืืคืก ื›ื“ื™ ืœื”ื“ื™ื— ืขืงื‘ื•ืช ืฉืœ ื”ืคืขื•ืœื” ื”ืงื•ื“ืžืช. ืคืขื•ืœืช ื”ื›ืชื™ื‘ื” ื”ืืคืกื™ืช ื”ื™ื™ืชื” ืืžื•ืจื” ืœื”ื™ื•ืช ืžื”ื™ืจื” ืžืื•ื“ ื•ืœื—ืกื•ื ื‘ื™ืฆื•ืข ืกืคืงื•ืœื˜ื™ื‘ื™, ืžื›ื™ื•ื•ืŸ ืฉื”ื™ื ืชืœื•ื™ื” ืจืง โ€‹โ€‹ื‘ืžืฆื‘ื™ืข ืœืžืกื’ืจืช ื”ืžื—ืกื ื™ืช ืฉืœ BPF. ืืš ืœืžืขืฉื”, ื”ืชื‘ืจืจ ืฉื ื™ืชืŸ ืœื™ืฆื•ืจ ืชื ืื™ื ืฉื‘ื”ื ื”ื”ื•ืจืื” ื”ืžื•ื‘ื™ืœื” ืœื‘ื™ืฆื•ืข ืกืคืงื•ืœื˜ื™ื‘ื™ ืžืกืคื™ืงื” ืœื”ืชื‘ืฆืข ืœืคื ื™ ืคืขื•ืœืช ื”ื—ื ื•ืช ื”ืžื•ื ืขืช.

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

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

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