eBPF เชธเชฌเชธเชฟเชธเซเชŸเชฎเชฎเชพเช‚ เชจเชฌเชณเชพเชˆเช“ เช•เซ‡ เชœเซ‡ Linux เช•เชฐเซเชจเชฒ เชธเซเชคเชฐ เชชเชฐ เช•เซ‹เชก เชเช•เซเชเชฟเช•เซเชฏเซเชถเชจเชจเซ‡ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡

eBPF เชธเชฌเชธเชฟเชธเซเชŸเชฎเชฎเชพเช‚ เชฌเซ‡ เชจเชตเซ€ เชจเชฌเชณเชพเชˆเช“ เช“เชณเช–เชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡, เชœเซ‡ เชคเชฎเชจเซ‡ JIT เชธเชพเชฅเซ‡ เชตเชฟเชถเชฟเชทเซเชŸ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฎเชถเซ€เชจเชฎเชพเช‚ Linux เช•เชฐเซเชจเชฒเชจเซ€ เช…เช‚เชฆเชฐ เชนเซ‡เชจเซเชกเชฒเชฐ เชšเชฒเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชชเชฐเชตเชพเชจเช—เซ€ เช†เชชเซ‡ เช›เซ‡. เชฌเช‚เชจเซ‡ เชจเชฌเชณเชพเชˆเช“ เชเช• เช…เชฒเช— eBPF เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฎเชถเซ€เชจเชจเซ€ เชฌเชนเชพเชฐ, เช•เชฐเซเชจเชฒ เช…เชงเชฟเช•เชพเชฐเซ‹ เชธเชพเชฅเซ‡ เชคเชฎเชพเชฐเชพ เช•เซ‹เชกเชจเซ‡ เชšเชฒเชพเชตเชตเชพเชจเซเช‚ เชถเช•เซเชฏ เชฌเชจเชพเชตเซ‡ เช›เซ‡. เชธเชฎเชธเซเชฏเชพเช“ เชตเชฟเชถเซ‡เชจเซ€ เชฎเชพเชนเชฟเชคเซ€ เชเซ€เชฐเซ‹ เชกเซ‡ เช‡เชจเชฟเชถเชฟเชฏเซ‡เชŸเชฟเชต เชŸเซ€เชฎ เชฆเซเชตเชพเชฐเชพ เชชเซเชฐเช•เชพเชถเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€, เชœเซ‡ Pwn2Own เชธเซเชชเชฐเซเชงเชพเชจเซเช‚ เชธเช‚เชšเชพเชฒเชจ เช•เชฐเซ‡ เช›เซ‡, เชœเซ‡ เชฆเชฐเชฎเชฟเชฏเชพเชจ เช† เชตเชฐเซเชทเซ‡ เช‰เชฌเซเชจเซเชŸเซ เชฒเชฟเชจเช•เซเชธ เชชเชฐ เชคเซเชฐเชฃ เชนเซเชฎเชฒเชพเช“ เชฆเชฐเซเชถเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เชนเชคเชพ เชœเซ‡เชฎเชพเช‚ เช…เช—เชพเช‰ เช…เชœเชพเชฃเซ€ เชจเชฌเชณเชพเชˆเช“เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเชคเซ‹ (เชถเซเช‚ eBPF เชฎเชพเช‚ เชจเชฌเชณเชพเชˆเช“ เช† เชนเซเชฎเชฒเชพเช“ เชธเชพเชฅเซ‡ เชธเช‚เชฌเช‚เชงเชฟเชค เช›เซ‡ เช•เซ‡ เช•เซ‡เชฎ เชคเซ‡เชจเซ€ เชœเชพเชฃ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชจเชฅเซ€) .

  • CVE-2021-3490 - eBPF ALU32 เชฎเชพเช‚ bitwise AND, OR, เช…เชจเซ‡ XOR เช‘เชชเชฐเซ‡เชถเชจ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ 32-เชฌเซ€เชŸ เช†เช‰เชŸ-เช‘เชซ-เชฌเชพเช‰เชจเซเชก เชšเซ‡เช•เชฟเช‚เช—เชจเชพ เช…เชญเชพเชตเชจเซ‡ เช•เชพเชฐเชฃเซ‡ เชจเชฌเชณเชพเชˆ เชธเชฐเซเชœเชพเชฏ เช›เซ‡. เชนเซเชฎเชฒเชพเช–เซ‹เชฐ เชซเชพเชณเชตเซ‡เชฒ เชฌเชซเชฐเชจเซ€ เชธเซ€เชฎเชพเชจเซ€ เชฌเชนเชพเชฐ เชกเซ‡เชŸเชพ เชตเชพเช‚เชšเชตเชพ เช…เชจเซ‡ เชฒเช–เชตเชพ เชฎเชพเชŸเซ‡ เช† เชญเซ‚เชฒเชจเซ‹ เชฒเชพเชญ เชฒเชˆ เชถเช•เซ‡ เช›เซ‡. XOR เช‘เชชเชฐเซ‡เชถเชจเชฎเชพเช‚ เชธเชฎเชธเซเชฏเชพ เช•เชฐเซเชจเชฒ เช†เชตเซƒเชคเซเชคเชฟ 5.7-rc1 เช…เชจเซ‡ AND เช…เชจเซ‡ OR - 5.10-rc1 เชฅเซ€ เชถเชฐเซ‚ เช•เชฐเซ€เชจเซ‡ เชฆเซ‡เช–เชพเชฏ เช›เซ‡.
  • CVE-2021-3489 - เชจเชฌเชณเชพเชˆ เชฐเชฟเช‚เช— เชฌเชซเชฐเชจเชพ เช…เชฎเชฒเซ€เช•เชฐเชฃเชฎเชพเช‚ เชญเซ‚เชฒเชจเซ‡ เช•เชพเชฐเชฃเซ‡ เชฅเชพเชฏ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡ เชนเช•เซ€เช•เชคเชจเซ‡ เช•เชพเชฐเชฃเซ‡ เช›เซ‡ เช•เซ‡ bpf_ringbuf_reserve เชซเช‚เช•เซเชถเชจเซ‡ เชซเชพเชณเชตเซ‡เชฒ เชฎเซ‡เชฎเชฐเซ€ เช•เซเชทเซ‡เชคเซเชฐเชจเซเช‚ เช•เชฆ เชตเชพเชธเซเชคเชตเชฟเช• เช•เชฆ เช•เชฐเชคเชพเช‚ เช“เช›เซเช‚ เชนเซ‹เชˆ เชถเช•เซ‡ เชคเซ‡เชตเซ€ เชถเช•เซเชฏเชคเชพเชจเซ‡ เชคเชชเชพเชธเซ€ เชจเชฅเซ€. เชฐเชฟเช‚เช—เชฌเชซเชจเซเช‚. 5.8-rc1 เชฐเชฟเชฒเซ€เช เชฅเชฏเชพ เชชเช›เซ€ เชธเชฎเชธเซเชฏเชพ เชฆเซ‡เช–เชพเชฏ เช›เซ‡.

เชตเชฟเชคเชฐเชฃเซ‹เชฎเชพเช‚ เชชเซ‡เชšเชฟเช‚เช— เชจเชฌเชณเชพเชˆเช“เชจเซ€ เชธเซเชฅเชฟเชคเชฟ เช† เชชเซƒเชทเซเช เซ‹ เชชเชฐ เชŸเซเชฐเซ‡เช• เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡: เช‰เชฌเซเชจเซเชŸเซ, เชกเซ‡เชฌเชฟเชฏเชจ, เช†เชฐเชเชšเชˆเชเชฒ, เชซเซ‡เชกเซ‹เชฐเชพ, เชธเซเชธเซ‡, เช†เชฐเซเช•). เชซเชฟเช•เซเชธเซ‡เชธ เชชเซ‡เชš เชคเชฐเซ€เช•เซ‡ เชชเชฃ เช‰เชชเชฒเชฌเซเชง เช›เซ‡ (CVE-2021-3489, CVE-2021-3490). เชถเซเช‚ เชธเชฎเชธเซเชฏเชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡ เชคเซ‡ เชคเซ‡เชจเชพ เชชเชฐ เช†เชงเชพเชฐ เชฐเชพเช–เซ‡ เช›เซ‡ เช•เซ‡ เชถเซเช‚ eBPF เชธเชฟเชธเซเชŸเชฎ เช•เซ‰เชฒ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชฎเชพเชŸเซ‡ เชเช•เซเชธเซ‡เชธเชฟเชฌเชฒ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, RHEL เชฎเชพเช‚ เชกเชฟเชซเซ‰เชฒเซเชŸ เช—เซ‹เช เชตเชฃเซ€เชฎเชพเช‚, เชจเชฌเชณเชพเชˆเชจเชพ เชถเซ‹เชทเชฃ เชฎเชพเชŸเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชชเชพเชธเซ‡ CAP_SYS_ADMIN เช…เชงเชฟเช•เชพเชฐเซ‹ เชนเซ‹เชตเชพ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡.

เช…เชฒเช—เชฅเซ€, เช…เชฎเซ‡ Linux เช•เชฐเซเชจเชฒเชฎเชพเช‚ เช…เชจเซเชฏ เชจเชฌเชณเชพเชˆเชจเซ€ เชจเซ‹เช‚เชง เชฒเชˆ เชถเช•เซ€เช เช›เซ€เช - CVE-2021-32606, เชœเซ‡ เชธเซเชฅเชพเชจเชฟเช• เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเซ‡ เชคเซ‡เชฎเชจเชพ เชตเชฟเชถเซ‡เชทเชพเชงเชฟเช•เชพเชฐเซ‹เชจเซ‡ เชฐเซ‚เชŸ เชธเซเชคเชฐ เชธเซเชงเซ€ เชตเชงเชพเชฐเชตเชพ เชฎเชพเชŸเซ‡ เชชเชฐเชตเชพเชจเช—เซ€ เช†เชชเซ‡ เช›เซ‡. Linux เช•เชฐเซเชจเชฒ 5.11 เชฅเซ€ เชธเชฎเชธเซเชฏเชพ เชธเซเชชเชทเซเชŸ เชฅเชˆ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡ CAN ISOTP เชชเซเชฐเซ‹เชŸเซ‹เช•เซ‹เชฒเชจเชพ เช…เชฎเชฒเซ€เช•เชฐเชฃเชฎเชพเช‚ เชฐเซ‡เชธเชจเซ€ เชธเซเชฅเชฟเชคเชฟเชจเซ‡ เช•เชพเชฐเชฃเซ‡ เชฅเชพเชฏ เช›เซ‡, เชœเซ‡ isotp_setsockopt() เชซเช‚เช•เซเชถเชจเชฎเชพเช‚ เชฏเซ‹เช—เซเชฏ เชคเชพเชณเชพเช“ เชธเซ‡เชŸ เช•เชฐเชตเชพเชจเชพ เช…เชญเชพเชตเชจเซ‡ เช•เชพเชฐเชฃเซ‡ เชธเซ‹เช•เซ‡เชŸ เชฌเช‚เชงเชจเช•เชฐเซเชคเชพ เชชเชฐเชฟเชฎเชพเชฃเซ‹เชจเซ‡ เชฌเชฆเชฒเชตเชพเชจเซเช‚ เชถเช•เซเชฏ เชฌเชจเชพเชตเซ‡ เช›เซ‡. CAN_ISOTP_SF_BROADCAST เชงเซเชตเชœ เชชเชฐ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡.

ISOTP เชธเซ‹เช•เซ‡เชŸ เชฌเช‚เชง เชฅเชฏเชพ เชชเช›เซ€, เชชเซเชฐเชพเชชเซเชคเช•เชฐเซเชคเชพ เชธเซ‹เช•เซ‡เชŸ เชธเชพเชฅเซ‡เชจเซเช‚ เชฌเช‚เชงเชจ เชชเซเชฐเชญเชพเชตเชฎเชพเช‚ เชฐเชนเซ‡ เช›เซ‡, เชœเซ‡ เชธเซ‹เช•เซ‡เชŸ เชธเชพเชฅเซ‡ เชธเช‚เช•เชณเชพเชฏเซ‡เชฒ เชธเซเชŸเซเชฐเช•เซเชšเชฐเซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชšเชพเชฒเซ เชฐเชพเช–เซ€ เชถเช•เซ‡ เช›เซ‡ เชชเช›เซ€ เชคเซ‡เชฎเชจเซ€ เชธเชพเชฅเซ‡ เชธเช‚เช•เชณเชพเชฏเซ‡เชฒ เชฎเซ‡เชฎเชฐเซ€ เชฎเซเช•เซเชค เชฅเชˆ เชœเชพเชฏ (isotp_sock เชธเซเชŸเซเชฐเช•เซเชšเชฐเชจเซ‡ เช•เซ‰เชฒ เช•เชฐเชตเชพเชจเซ‡ เช•เชพเชฐเชฃเซ‡ เช‰เชชเชฏเซ‹เช—-เชชเช›เซ€-เชซเซเชฐเซ€. เชœเซเชฏเชพเชฐเซ‡ isotp_rcv() เช•เชนเซ‡เชตเชพเชฏ เช›เซ‡ เชคเซเชฏเชพเชฐเซ‡ เชคเซ‡ เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เชฎเซเช•เซเชค เชฅเชˆ เช—เชฏเซเช‚ เช›เซ‡). เชกเซ‡เชŸเชพ เชฎเซ‡เชจเซ€เชชเซเชฏเซเชฒเซ‡เชถเชจ เชฆเซเชตเชพเชฐเชพ, เชคเชฎเซ‡ sk_error_report() เชซเช‚เช•เซเชถเชจ เชชเชฐ เชชเซ‹เช‡เชจเซเชŸเชฐเชจเซ‡ เช“เชตเชฐเชฐเชพเช‡เชก เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชจเซ‡ เชคเชฎเชพเชฐเชพ เช•เซ‹เชกเชจเซ‡ เช•เชฐเซเชจเชฒ เชธเซเชคเชฐเซ‡ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹.

เชธเซ‹เชฐเซเชธ: opennet.ru

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹