BHI ืื™ื– ืึท ื ื™ื™ึทืข ืกืคึผืขืงื˜ืขืจ ืงืœืึทืก ื•ื•ืึทืœื ืขืจืึทื‘ื™ืœื™ื˜ื™ ืื™ืŸ ื™ื ื˜ืขืœ ืื•ืŸ ARM ืคึผืจืึทืกืขืกืขืจื–

ื ื’ืจื•ืคึผืข ืคื•ืŸ โ€‹โ€‹ืจื™ืกืขืจื˜ืฉืขืจื– ืคื•ืŸ ื“ื™ Vrije ืื•ื ื™ื•ื•ืขืจืกื™ื˜ืขื˜ ืืžืกื˜ืขืจื“ืื ื”ืื˜ ื™ื™ื“ืขื ืึทืคื™ื™ื“ ืึท ื ื™ื™ึทืข ื•ื•ืึทืœื ืขืจืึทื‘ื™ืœื™ื˜ื™ ืื™ืŸ ื“ื™ ืžื™ืงืจืึธืึทืจื˜ืฉื™ื˜ืขืงื˜ื•ืจืึทืœ ืกื˜ืจืึทืงื˜ืฉืขืจื– ืคื•ืŸ ื™ื ื˜ืขืœ ืื•ืŸ ARM ืคึผืจืึทืกืขืกืขืจื–, ื•ื•ืึธืก ืื™ื– ืึทืŸ ืขืงืกื˜ืขื ื“ืขื“ ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹ื“ื™ ืกืคึผืขืงื˜ืขืจ-ื•ื• 2 ื•ื•ืึทืœื ืขืจืึทื‘ื™ืœื™ื˜ื™, ื•ื•ืึธืก ืึทืœืึทื•ื– ืื™ืจ ืฆื• ื‘ื™ื™ืคึผืึทืก ื“ื™ eIBRS ืื•ืŸ CSV2 ืฉื•ืฅ ืžืขืงืึทื ื™ื–ืึทืžื– ืฆื•ื’ืขื’ืขื‘ืŸ ืฆื• ืคึผืจืึทืกืขืกืขืจื–. . ื“ื™ ื•ื•ืึทืœื ืขืจืึทื‘ื™ืœื™ื˜ื™ ืื™ื– ื’ืขื’ืขื‘ืŸ ืขื˜ืœืขื›ืข ื ืขืžืขืŸ: BHI (Branch History Injection, CVE-2022-0001), BHB (Branch History Buffer, CVE-2022-0002) ืื•ืŸ Specter-BHB (CVE-2022-23960), ื•ื•ืึธืก ื‘ืึทืฉืจื™ื™ึทื‘ืŸ ืคืึทืจืฉื™ื“ืขื ืข ืžืึทื ืึทืคืขืกื˜ื™ื™ืฉืึทื ื– ืคื•ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืคึผืจืึธื‘ืœืขื (ื‘ื”ื™ - ืึท ื‘ืึทืคืึทืœืŸ ื•ื•ืึธืก ืึทืคืขืงืฅ ืคืึทืจืฉื™ื“ืขื ืข ืœืขื•ื•ืขืœืก ืคื•ืŸ ืคึผืจื™ื•ื•ื™ืœืึทื“ื–ืฉืึทื–, ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ื“ืขืจ ื‘ืึทื ื™ืฆืขืจ ืคึผืจืึธืฆืขืก ืื•ืŸ ื“ื™ ืงืขืจืŸ, ื‘ื”ื‘ - ืึท ื‘ืึทืคืึทืœืŸ ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืคึผืจื™ื•ื•ื™ืœืขื’ื™ืข ืžื“ืจื’ื”, ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, eBPF JIT ืื•ืŸ ื“ื™ ืงืขืจืŸ).

ืจืขืกืขืึทืจื˜ืฉืขืจืก ื”ืึธื‘ืŸ ื“ืขืžืึทื ืกื˜ืจื™ื™ื˜ื™ื“ ืึท ืืจื‘ืขื˜ืŸ ืขืงืกืคึผืœื•ื™ื˜ ืึทื– ืึทืœืึทื•ื– ืึทืจื‘ื™ื˜ืจืึทืจื™ืฉ ื“ืึทื˜ืŸ ืฆื• ื–ื™ื™ืŸ ื™ืงืกื˜ืจืึทืงื˜ื™ื“ ืคื•ืŸ ืงืขืจื ืขืœ ื–ื›ึผืจื•ืŸ ืคื•ืŸ ื‘ืึทื ื™ืฆืขืจ ืคึผืœืึทืฅ. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืขืก ืื™ื– ื’ืขื•ื•ื™ื–ืŸ ื•ื•ื™, ื ื™ืฆืŸ ืึท ืฆื•ื’ืขื’ืจื™ื™ื˜ ืขืงืกืคึผืœื•ื™ื˜, ืขืก ืื™ื– ืžืขื’ืœืขืš ืฆื• ืขืงืกื˜ืจืึทืงื˜ ืคึฟื•ืŸ ื“ื™ ืงืขืจืŸ ื‘ืึทืคืขืจื– ืึท ืฉื˜ืจื™ืงืœ ืžื™ื˜ ืึท ื”ืึทืฉ ืคื•ืŸ ื“ื™ ื•ื•ืึธืจืฆืœ ื‘ืึทื ื™ืฆืขืจ ืคึผืึทืจืึธืœ ืœืึธื•ื“ื™ื“ ืคึฟื•ืŸ ื“ื™ /etc/shadow ื˜ืขืงืข. ื“ืขืจ ื’ื•ื•ื•ืจืข ื“ืขืžืึทื ืกื˜ืจื™ื™ืฅ ื“ื™ ืžืขื’ืœืขื›ืงื™ื™ื˜ ืคื•ืŸ ืขืงืกืคึผืœื•ื™ื˜ื™ื ื’ ืึท ื•ื•ืึทืœื ืขืจืึทื‘ื™ืœื™ื˜ื™ ืื™ืŸ ืื™ื™ืŸ ืคึผืจื™ื•ื•ื™ืœืขื’ื™ืข ืžื“ืจื’ื” (ืงืขืจืŸ-ืฆื•-ืงืขืจืŸ ื‘ืึทืคืึทืœืŸ) ื ื™ืฆืŸ ืึท ื‘ืึทื ื™ืฆืขืจ-ืœืึธื•ื“ื™ื“ eBPF ืคึผืจืึธื’ืจืึทื. ืขืก ืื™ื– ืื•ื™ืš ืžืขื’ืœืขืš ืฆื• ื ื•ืฆืŸ ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ eBPF ื™ื’ื–ื™ืกื˜ื™ื ื’ ืกืคึผืขืงื˜ืขืจ ื’ืึทื“ื’ืขืฅ ืื™ืŸ ื“ื™ ืงืขืจืŸ ืงืึธื“, ืกื™ืงื•ื•ืึทื ืกื™ื– ืคื•ืŸ ืงืึทืžืึทื ื“ื– ื•ื•ืึธืก ืคื™ืจืŸ ืฆื• ืกืคึผืขืงื•ืœืึทื˜ื™ื•ื•ืข ื“ื•ืจื›ืคื™ืจื•ื ื’ ืคื•ืŸ ื™ื ืกื˜ืจืึทืงืฉืึทื ื–.

ื“ื™ ื•ื•ืึทืœื ืขืจืึทื‘ื™ืœื™ื˜ื™ ืื™ื– ืืจื•ื™ืก ืื™ืŸ ืจื•ื‘ึฟ ืงืจืึทื ื˜ ื™ื ื˜ืขืœ ืคึผืจืึทืกืขืกืขืจื–, ืžื™ื˜ ื“ื™ ื•ื™ืกื ืขื ืคื•ืŸ ืคึผืจืึทืกืขืกืขืจื– ืคื•ืŸ ื“ื™ Atom ืžืฉืคึผื—ื”. ืฆื•ื•ื™ืฉืŸ ARM ืคึผืจืึทืกืขืกืขืจื–, Cortex-A15, Cortex-A57, Cortex-A7 *, Cortex-X1, Cortex-X2, Cortex-A710, Neoverse N1, Neoverse N2, Neoverse V1 ืื•ืŸ ืขืคืฉืขืจ ืขื˜ืœืขื›ืข Cortex-R ื˜ืฉื™ืคึผืก ื–ืขื ืขืŸ ืึทืคืขืงื˜ืึทื“ ื“ื•ืจืš ื“ืขื ืคึผืจืึธื‘ืœืขื. ืœื•ื™ื˜ ืคืึธืจืฉื•ื ื’, ื“ื™ ื•ื•ืึทืœื ืขืจืึทื‘ื™ืœื™ื˜ื™ ืงืขืŸ ื ื™ืฉื˜ ื“ืขืจืฉื™ื™ึทื ืขืŸ ืื™ืŸ ืึทืžื“ ืคึผืจืึทืกืขืกืขืจื–. ืฆื• ืขืœื™ืžื™ื ื™ืจืŸ ื“ืขื ืคึผืจืึธื‘ืœืขื, ืขื˜ืœืขื›ืข ื•ื•ื™ื™ื›ื•ื•ืืจื’ ืžืขื˜ื”ืึธื“ืก ื–ืขื ืขืŸ ืคืืจื’ืขืœื™ื™ื’ื˜ ืฆื• ืคืึทืจืฉืคึผืึทืจืŸ ื“ื™ ื•ื•ืึทืœื ืขืจืึทื‘ื™ืœื™ื˜ื™, ื•ื•ืึธืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืื™ื™ื“ืขืจ ื“ื™ ืื•ื™ืกื–ืขืŸ ืคื•ืŸ ื™ื™ึทื–ื ื•ื•ืึทืจื’ ืฉื•ืฅ ืื™ืŸ ืฆื•ืงื•ื ืคึฟื˜ ืงืคึผื• ืžืึธื“ืขืœืก.

ืฆื• ืคืึทืจืฉืคึผืึทืจืŸ ืื ืคืืœืŸ ื“ื•ืจืš ื“ื™ eBPF ืกืึทื‘ืกื™ืกื˜ืขื, ืขืก ืื™ื– ืจืขืงืึทืžืขื ื“ื™ื“ ืฆื• ื“ื™ืกื™ื™ื‘ืึทืœ ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืคึฟืึทืจ ืึทื ืคึผืจื™ื•ื•ื™ืœื™ื“ื–ืฉื“ ื ื™ืฆืขืจืก ืฆื• ืึธืคึผืœืึธื“ื™ืจืŸ eBPF ืžื’ื™ืœื” ื“ื•ืจืš ืฉืจื™ื™ื‘ืŸ 1 ืฆื• ื“ืขืจ ื˜ืขืงืข "/proc/sys/kernel/unprivileged_bpf_disabled" ืึธื“ืขืจ ืœื•ื™ืคืŸ ื“ื™ ื‘ืึทืคึฟืขืœ "sysctl -w kernel. unprivileged_bpf_disabled=1". ืฆื• ืคืึทืจืฉืคึผืึทืจืŸ ื”ืึทืžืฆืึธืข ืื ืคืืœืŸ, ืขืก ืื™ื– ืจืขืงืึทืžืขื ื“ื™ื“ ืฆื• ื ื•ืฆืŸ ื“ื™ LFENCE ืœื™ืžืขื“ ืื™ืŸ ื“ื™ ื’ืขื‘ื™ื˜ืŸ ืคื•ืŸ ืงืึธื“ ื•ื•ืึธืก ืคึผืึทื˜ืขื ื˜ืฉืึทืœื™ ืคื™ืจืŸ ืฆื• ืกืคึผืขืงื•ืœืึทื˜ื™ื•ื•ืข ื“ื•ืจื›ืคื™ืจื•ื ื’. ืขืก ืื™ื– ื ืึธื•ื˜ื•ื•ืขืจื“ื™ ืึทื– ื“ื™ ืคืขืœื™ืงื™ื™ึทื˜ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืคื•ืŸ ืจื•ื‘ึฟ ืœื™ื ื•ืงืก ื“ื™ืกื˜ืจื™ื‘ื™ื•ืฉืึทื ื– ืฉื•ื™ืŸ ื›ึผื•ืœืœ ื“ื™ ื ื™ื™ื˜ื™ืง ืฉื•ืฅ ืžื™ื˜ืœืขืŸ ื’ืขื ื•ื’ ืฆื• ืคืึทืจืฉืคึผืึทืจืŸ ื“ื™ eBPF ื‘ืึทืคืึทืœืŸ ื“ืขืžืึทื ืกื˜ืจื™ื™ื˜ื™ื“ ื“ื•ืจืš ื“ื™ ืจื™ืกืขืจื˜ืฉืขืจื–. ื™ื ื˜ืขืœ ืก ืจืขืงืึทืžืึทื ื“ื™ื™ืฉืึทื ื– ืคึฟืึทืจ ื“ื™ืกื™ื™ื‘ืึทืœื™ื ื’ ืึทื ืคึผืจื™ื•ื•ื™ืœืึทื“ื–ืฉืึทื“ ืึทืงืกืขืก ืฆื• eBPF ื–ืขื ืขืŸ ืื•ื™ืš ื“ื™ ืคืขืœื™ืงื™ื™ึทื˜ ื–ื™ื ื˜ ืœื™ื ื•ืงืก ืงืขืจืŸ 5.16 ืื•ืŸ ื•ื•ืขื˜ ื–ื™ื™ืŸ ื‘ืึทืงืคึผืึธืจื˜ืขื“ ืฆื• ืคืจื™ืขืจ ืฆื•ื•ื™ื™ื’ืŸ.

ืงืึทื ืกืขืคึผื˜ืฉื•ืึทืœื™, BHI ืื™ื– ืึทืŸ ืขืงืกื˜ืขื ื“ืขื“ ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ื“ื™ Specter-v2 ื‘ืึทืคืึทืœืŸ, ืื™ืŸ ื•ื•ืึธืก, ืฆื• ื‘ื™ื™ืคึผืึทืก ืฆื•ื’ืขืœื™ื™ื’ื˜ ืฉื•ืฅ (ื™ื ื˜ืขืœ eIBRS ืื•ืŸ Arm CSV2) ืื•ืŸ ืึธืจื’ืึทื ื™ื–ื™ืจืŸ ื“ืึทื˜ืŸ ืœื™ืงืึทื“ื–ืฉ, ื•ื•ืขืจื˜ ืกืึทื‘ืกื˜ื™ื˜ื•ืฉืึทืŸ ืื™ื– ื’ืขื ื™ืฆื˜ ืื™ืŸ ื“ื™ ื‘ืจืึทื ื˜ืฉ ื’ืขืฉื™ื›ื˜ืข ื‘ืึทืคืขืจ, ื’ืขื ื™ืฆื˜ ืื™ืŸ ื“ื™ ืงืคึผื• ืฆื• ืคืึทืจื’ืจืขืกืขืจืŸ ืคึผืจืึธื’ื ืึธื–. ืึทืงื™ืขืจืึทืกื™ ื‘ืจืึทื ื˜ืฉื™ื ื’ ื“ื•ืจืš ื’ืขื ื•ืžืขืŸ ืื™ืŸ ื—ืฉื‘ื•ืŸ ื“ื™ ื’ืขืฉื™ื›ื˜ืข ืคื•ืŸ โ€‹โ€‹ืคืึทืจื’ืึทื ื’ืขื ื”ื™ื™ื˜ ื˜ืจืึทื ื–ื™ืฉืึทื ื–. ื‘ืขืฉืึทืก ื“ื™ ื‘ืึทืคืึทืœืŸ, ื“ื•ืจืš ืžืึทื ื™ืคึผื™ืึทืœื™ื™ืฉืึทื ื– ืžื™ื˜ ื“ื™ ื’ืขืฉื™ื›ื˜ืข ืคื•ืŸ โ€‹โ€‹ื˜ืจืึทื ื–ื™ืฉืึทื ื–, ื˜ื ืึธื™ื ื–ืขื ืขืŸ ื‘ืืฉืืคืŸ ืคึฟืึทืจ ืคืึทืœืฉ ืคืึธืจื•ื™ืกื–ืึธื’ืŸ ืคื•ืŸ ื“ื™ ื™ื‘ืขืจื’ืึทื ื’ ืื•ืŸ ืกืคึผืขืงื•ืœืึทื˜ื™ื•ื•ืข ื“ื•ืจื›ืคื™ืจื•ื ื’ ืคื•ืŸ ื“ื™ ื ื™ื™ื˜ื™ืง ื™ื ืกื˜ืจืึทืงืฉืึทื ื–, ื“ืขืจ ืจืขื–ื•ืœื˜ืึทื˜ ืคื•ืŸ ื•ื•ืึธืก ืขื ื“ืก ืื™ืŸ ื“ื™ ืงืึทืฉ.

ืึทื—ื•ืฅ ืคึฟืึทืจ ื ื™ืฆืŸ ืึท ื‘ืจืึทื ื˜ืฉ ื’ืขืฉื™ื›ื˜ืข ื‘ืึทืคืขืจ ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ืึท ืฆื•ื•ื™ื™ึทื’ ืฆื™ืœ ื‘ืึทืคืขืจ, ื“ื™ ื ื™ื™ึทืข ื‘ืึทืคืึทืœืŸ ืื™ื– ื™ื™ื“ืขื ื™ืงืึทืœ ืฆื• Specter-v2. ื“ื™ ืึทืจื‘ืขื˜ ืคื•ืŸ ื“ื™ ืึทื˜ืึทืงืขืจ ืื™ื– ืฆื• ืฉืึทืคึฟืŸ ื˜ื ืึธื™ื ืึทื–ื•ื™ ืึทื– ื“ื™ ืึทื“ืจืขืก, ื•ื•ืขืŸ ืคึผืขืจืคืึธืจืžื™ื ื’ ืึท ืกืคึผืขืงื•ืœืึทื˜ื™ื•ื•ืข ืึธืคึผืขืจืึทืฆื™ืข, ืื™ื– ื’ืขื ื•ืžืขืŸ ืคึฟื•ืŸ ื“ืขืจ ื’ืขื’ื ื˜ ืคื•ืŸ ื“ื™ ื“ื™ืคื™ื™ื ื“ ื“ืึทื˜ืŸ. ื ืึธืš ื“ื•ืจื›ืคื™ืจืŸ ืึท ืกืคึผืขืงื•ืœืึทื˜ื™ื•ื•ืข ื•ืžื“ื™ืจืขืงื˜ ืฉืคึผืจื™ื ื’ืขืŸ, ื“ื™ ืฉืคึผืจื™ื ื’ืขืŸ ืึทื“ืจืขืก ืœื™ื™ืขื ืขืŸ ืคื•ืŸ ื–ื›ึผืจื•ืŸ ื‘ืœื™ื™ื‘ื˜ ืื™ืŸ ื“ื™ ืงืึทืฉ, ื ืึธืš ื•ื•ืึธืก ืื™ื™ื ืขืจ ืคื•ืŸ ื“ื™ ืžืขื˜ื”ืึธื“ืก ืคึฟืึทืจ ื“ื™ื˜ืขืจืžืึทื ื™ื ื’ ื“ื™ ืื™ื ื”ืึทืœื˜ ืคื•ืŸ ื“ื™ ืงืึทืฉ ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืฆื• ืฆื•ืจื™ืงืงืจื™ื’ืŸ ืขืก ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ืึทืŸ ืึทื ืึทืœื™ืกื™ืก ืคื•ืŸ ืขื ื“ืขืจื•ื ื’ืขืŸ ืื™ืŸ ืึทืงืกืขืก ืฆื™ื™ื˜ ืฆื• ืงืึทืฉื˜ ืื•ืŸ ืึทื ืงืึทื˜ืฉืขื“. ื“ืึทื˜ืŸ.

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

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’