eBPF เชธเชฌเชธเชฟเชธเซเชŸเชฎเชฎเชพเช‚ เชจเชฌเชณเชพเชˆเช“ เชœเซ‡ เชธเซเชชเซ‡เช•เซเชŸเชฐ เชนเซเชฎเชฒเชพ เชธเชพเชฎเซ‡ เชฐเช•เซเชทเชฃเชจเซ‡ เชฌเชพเชฏเชชเชพเชธ เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡

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

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

เช•เชฐเซเชจเชฒ 4.15 เชจเชพ เชชเซเชฐเช•เชพเชถเชจ เชชเช›เซ€ เชธเชฎเชธเซเชฏเชพ เชฆเซ‡เช–เชพเชˆ เชฐเชนเซ€ เช›เซ‡ เช…เชจเซ‡ เชชเซ‡เชšเซ‹ (1, 2, 3, 4) เชจเชพ เชธเซเชตเชฐเซ‚เชชเชฎเชพเช‚ เชธเซเชงเชพเชฐเซ‡เชฒ เช›เซ‡. เชกเชฟเชธเซเชŸเซเชฐเชฟเชฌเซเชฏเซเชถเชจ (เชกเซ‡เชฌเชฟเชฏเชจ, เช†เชฐเชเชšเชˆเชเชฒ, เช‰เชฌเซเชจเซเชŸเซ, เชซเซ‡เชกเซ‹เชฐเชพ, SUSE, เช†เชฐเซเช•) เชฎเชพเช‚ เชจเชฌเชณเชพเชˆ เช…เชจเชฟเชถเซเชšเชฟเชค เชฐเชนเซ‡ เช›เซ‡.

เชตเชงเซเชฎเชพเช‚, เชคเชฎเซ‡ เชธเซเชชเซ‡เช•เซเชŸเชฐ เชจเชฌเชณเชพเชˆเช“ เชธเชพเชฎเซ‡ เชฐเช•เซเชทเชฃ เช†เชชเชตเชพ เชฎเชพเชŸเซ‡เชจเชพ เชธเชพเชงเชจเซ‹เชจเซ€ เช•เชพเชฎเช—เซ€เชฐเซ€เชจเซ€ เช…เชธเชฐ เชตเชฟเชถเซ‡ เชจเซ‹เช‚เชง เชจเซ‹เช‚เชงเซ€ เชถเช•เซ‹ เช›เซ‹. เชจเซ‹เช‚เชง rr (เชฐเซ‡เช•เซ‹เชฐเซเชก เช…เชจเซ‡ เชฐเซ€เชชเซเชฒเซ‡) เชกเซ€เชฌเช—เชฐเชจเชพ เช“เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจเชจเชพ เชชเชฐเชฟเชฃเชพเชฎเซ‹เชจเซ‹ เชธเชพเชฐเชพเช‚เชถ เช†เชชเซ‡ เช›เซ‡, เชœเซ‡ เชเช•เชตเชพเชฐ เชฎเซ‹เชเชฟเชฒเชพเชฎเชพเช‚ เชซเชพเชฏเชฐเชซเซ‹เช•เซเชธเชฎเชพเช‚ เชฎเซเชถเซเช•เซ‡เชฒ-เชฅเซ€-เชชเซเชจเชฐเชพเชตเชฐเซเชคเชฟเชค เชญเซ‚เชฒเซ‹เชจเซ‡ เชกเซ€เชฌเช— เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚. เชกเชพเชฏเชฐเซ‡เช•เซเชŸเชฐเซ€เชเชจเชพ เช…เชธเซเชคเชฟเชคเซเชตเชจเซ‡ เชšเช•เชพเชธเชตเชพ เชฎเชพเชŸเซ‡ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชคเชพ เชธเชฟเชธเซเชŸเชฎ เช•เซ‰เชฒเซเชธเชจเซ‡ เช•เซ‡เชถ เช•เชฐเชตเชพเชฅเซ€ เชชเชฐเซ€เช•เซเชทเชฃ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฎเชพเชŸเซ‡ "rr เชธเซเชคเซเชฐเซ‹เชค" เช‘เชชเชฐเซ‡เชถเชจ 3 เชฎเชฟเชจเชฟเชŸ 19 เชธเซ‡เช•เชจเซเชกเชฅเซ€ เช˜เชŸเชพเชกเซ€เชจเซ‡ 36 เชธเซ‡เช•เชจเซเชก เชฅเชˆ เช—เชฏเซเช‚ เช›เซ‡.

เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจ เชฒเซ‡เช–เช•เซ‡ เชธเซเชชเซ‡เช•เซเชŸเชฐ เชธเช‚เชฐเช•เซเชทเชฃเชจเซ‡ เช…เช•เซเชทเชฎ เช•เชฐเซเชฏเชพ เชชเช›เซ€ เชชเซเชฐเชฆเชฐเซเชถเชจ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฌเชฆเชฒเชพเชถเซ‡ เชคเซ‡ เชคเชชเชพเชธเชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚. เชธเชฟเชธเซเชŸเชฎเชจเซ‡ โ€œเชฎเชฟเชŸเซ€เช—เซ‡เชถเชจ=เช“เชซโ€ เชชเซ‡เชฐเชพเชฎเซ€เชŸเชฐ เชธเชพเชฅเซ‡ เชฌเซเชŸ เช•เชฐเซเชฏเชพ เชชเช›เซ€, เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจ เชตเชฟเชจเชพ โ€œrr เชธเซเชคเซเชฐเซ‹เชคเซ‹โ€ เชจเซ‹ เช…เชฎเชฒ เชธเชฎเชฏ 2 เชฎเชฟเชจเชฟเชŸ 5 เชธเซ‡เช•เชจเซเชก (1.6 เช—เชฃเซ‹ เชเชกเชชเซ€) เชนเชคเซ‹ เช…เชจเซ‡ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจ เชธเชพเชฅเซ‡ เชคเซ‡ 33 เชธเซ‡เช•เชจเซเชก (9% เชเชกเชชเซ€) เชนเชคเซ‹. เชฐเชธเชชเซเชฐเชฆ เชตเชพเชค เช เช›เซ‡ เช•เซ‡, เชธเซเชชเซ‡เช•เซเชŸเชฐ เชชเซเชฐเซ‹เชŸเซ‡เช•เซเชถเชจเชจเซ‡ เช…เช•เซเชทเชฎ เช•เชฐเชตเชพเชฅเซ€ เช•เชฐเซเชจเชฒ เชธเซเชคเชฐเซ‡ เช•เซ‹เชก เชเช•เซเชเซ‡เช•เซเชฏเซเชถเชจเชจเซ‹ เชธเชฎเชฏ เชฎเชพเชคเซเชฐ 1.4 เช—เชฃเซ‹ (2m9s เชฅเซ€ 1m32s เชธเซเชงเซ€) เช˜เชŸเซเชฏเซ‹ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชœเช—เซเชฏเชพ (1m9s เชฅเซ€ 0m33s เชธเซเชงเซ€)เชฎเชพเช‚ เชเช•เซเชเซ‡เช•เซเชฏเซเชถเชจเชจเซ‹ เชธเชฎเชฏ เชชเชฃ เช…เชกเชงเซ‹ เชฅเชˆ เช—เชฏเซ‹ เช›เซ‡, เชธเช‚เชญเชตเชคเชƒ เช“เช›เซ€ เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพ CPU เช•เซ‡เชถ เช…เชจเซ‡ TPU เช•เซ‡เชถ เช“เชชเชฐเซ‡เชถเชจเชจเซ‡ เช•เชพเชฐเชฃเซ‡. เชœเซเชฏเชพเชฐเซ‡ เชธเซเชชเซ‡เช•เซเชŸเชฐ เชธเช‚เชฐเช•เซเชทเชฃ เชธเช•เซเชทเชฎ เชนเซ‹เชฏ เชคเซเชฏเชพเชฐเซ‡ เชฐเซ€เชธเซ‡เชŸ เชฅเชพเชฏ เช›เซ‡.

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

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