eBPF рдЙрдкрдкреНрд░рдгрд╛рд▓реАрдорд╛ рдХрдордЬреЛрд░реАрд╣рд░реВ рдЬрд╕рд▓реЗ рд╕реНрдкреЗрдХреНрдЯрд░ рдЖрдХреНрд░рдордгрд╣рд░реВ рд╡рд┐рд░реБрджреНрдз рд╕реБрд░рдХреНрд╖рд╛рд▓рд╛рдИ рдмрд╛рдЗрдкрд╛рд╕ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ

рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ (CVE-2021-33624) рдорд╛ рдПрдЙрдЯрд╛ рдЬреЛрдЦрд┐рдо рдкрд╣рд┐рдЪрд╛рди рдЧрд░рд┐рдПрдХреЛ рдЫ рдЬрд╕рд▓реЗ eBPF рдЙрдкрдкреНрд░рдгрд╛рд▓реАрд▓рд╛рдИ рд╕реНрдкреЗрдХреНрдЯрд░ рд╡рд░реНрдЧрдХреЛ рдХрдордЬреЛрд░реАрд╣рд░реВ рд╡рд┐рд░реБрджреНрдз рд╕реБрд░рдХреНрд╖рд╛ рдмрд╛рдЗрдкрд╛рд╕ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ, рдЬрд╕рд▓реЗ рдореЗрдореЛрд░реАрдХреЛ рд╕рд╛рдордЧреНрд░реАрд╣рд░реВ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрди рд╕рдореНрднрд╡ рдмрдирд╛рдЙрдБрдЫред рдирд┐рд╢реНрдЪрд┐рдд рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рд╕рдЯреНрдЯрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиред рд╕реНрдкреЗрдХреНрдЯрд░ рдЖрдХреНрд░рдордгрд▓рд╛рдИ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХреЛрдбрдорд╛ рдЖрджреЗрд╢рд╣рд░реВрдХреЛ рдирд┐рд╢реНрдЪрд┐рдд рдЕрдиреБрдХреНрд░рдордХреЛ рдЙрдкрд╕реНрдерд┐рддрд┐ рдЖрд╡рд╢реНрдпрдХ рдЫ рдЬрд╕рд▓реЗ рдирд┐рд░реНрджреЗрд╢рдирд╣рд░реВрдХреЛ рд╕рдЯреНрдЯрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдорд╛ рдЬрд╛рдиреНрдЫред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рд╕рд╛рд░рд┐рдд BPF рдХрд╛рд░реНрдпрдХреНрд░рдорд╣рд░реВрд▓рд╛рдИ рд╣реЗрд░рдлреЗрд░ рдЧрд░реЗрд░, eBPF рдорд╛ рд╕рдорд╛рди рдирд┐рд░реНрджреЗрд╢рдирд╣рд░реВ рдЙрддреНрдкрдиреНрди рдЧрд░реНрди рд░ рд╕рд╛рдЗрдб рдЪреНрдпрд╛рдирд▓рд╣рд░реВ рдорд╛рд░реНрдлрдд рдХрд░реНрдиреЗрд▓ рдореЗрдореЛрд░реА рд░ рднреМрддрд┐рдХ рдореЗрдореЛрд░реАрдХреЛ рдордирдорд╛рдиреА рдХреНрд╖реЗрддреНрд░рд╣рд░реВрдХреЛ рд╕рд╛рдордЧреНрд░реА рдЪреБрд╣рд╛рд╡рдЯ рдЧрд░реНрди рд╕рдореНрднрд╡ рдЫред

рднреЗрд░рд┐рдлрд╛рдпрд░рдорд╛ рддреНрд░реБрдЯрд┐рд╣рд░реВрдХреЛ рдХрд╛рд░рдгрд▓реЗ рдЧрд░реНрджрд╛ рдЬреЛрдЦрд┐рдо рд╣реБрдиреНрдЫ, рдЬреБрди BPF рдХрд╛рд░реНрдпрдХреНрд░рдорд╣рд░реВрдорд╛ рддреНрд░реБрдЯрд┐рд╣рд░реВ рд░ рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рдЧрддрд┐рд╡рд┐рдзрд┐рд╣рд░реВ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред рдкреНрд░рдорд╛рдгрд┐рдХрд░рдгрдХрд░реНрддрд╛рд▓реЗ рд╕рдореНрднрд╛рд╡рд┐рдд рдХреЛрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдорд╛рд░реНрдЧрд╣рд░реВ рдЧрдгрдирд╛ рдЧрд░реНрджрдЫ, рддрд░ рдирд┐рд░реНрджреЗрд╢рди рд╕реЗрдЯ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рдХреЛ рдЕрд░реНрдерд╢рд╛рд╕реНрддреНрд░рдХреЛ рджреГрд╖реНрдЯрд┐рдХреЛрдгрдмрд╛рдЯ рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реБрдиреЗ рд╢рд╛рдЦрд╛рд╣рд░реВ рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рдЫреЛрдбреНрдЫред BPF рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрджрд╛, рдкреНрд░рдорд╛рдгрд┐рдХрд░рдгрдХрд░реНрддрд╛рд▓реЗ рдзреНрдпрд╛рди рдирджрд┐рдиреЗ рддреНрдпрд╕реНрддрд╛ рд╢рд╛рдЦрд╛ рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рдкреНрд░реЛрд╕реЗрд╕рд░рджреНрд╡рд╛рд░рд╛ рдЧрд▓рдд рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ рд░ рд╕рдЯреНрдЯрд╛ рдореЛрдбрдорд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, "рд▓реЛрдб" рдЕрдкрд░реЗрд╢рдирдХреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЧрд░реНрджрд╛, рдкреНрд░рдорд╛рдгрд┐рдХрд░рдгрдХрд░реНрддрд╛рд▓реЗ рдЕрдкреЗрдХреНрд╖рд╛ рдЧрд░реНрджрдЫ рдХрд┐ рдирд┐рд░реНрджреЗрд╢рдирд▓реЗ рдареЗрдЧрд╛рдирд╛рдХреЛ рд╕рд╛рде рджрд░реНрддрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ рдЬрд╕рдХреЛ рдорд╛рди рд╕рдзреИрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реАрдорд╛ рднрд┐рддреНрд░ рд╣реБрдиреНрдЫ, рддрд░ рдПрдХ рдЖрдХреНрд░рдордгрдХрд░реНрддрд╛рд▓реЗ рд╕рд░реНрддрд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рд╕рдХреНрдЫ рдЬрд╕ рдЕрдиреНрддрд░реНрдЧрдд рдкреНрд░реЛрд╕реЗрд╕рд░рд▓реЗ рдЕрдиреБрдорд╛рдирд┐рдд рд░реВрдкрдорд╛ рдЕрдкрд░реЗрд╢рди рдЧрд░реНрди рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдиреЗрдЫред рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕рд░реНрддрд╣рд░реВ рдкреВрд░рд╛ рдирдЧрд░реНрдиреЗ рдареЗрдЧрд╛рдирд╛ред

рд╕рдорд╕реНрдпрд╛ рдХрд░реНрдиреЗрд▓ 4.15 рдХреЛ рд░рд┐рд▓реАрдЬ рджреЗрдЦрд┐ рджреЗрдЦрд╛ рдкрд░реЗрдХреЛ рдЫ рд░ рдкреНрдпрд╛рдЪ рдХреЛ рд░реВрдк рдорд╛ рдлрд┐рдХреНрд╕ рдЧрд░рд┐рдПрдХреЛ рдЫ (1, 2, 3, 4)ред рдЕрд╕реБрд░рдХреНрд╖рд╛ рд╡рд┐рддрд░рдг (Debian, RHEL, Ubuntu, Fedora, SUSE, Arch) рдорд╛ рдЕрдирд┐рд╢реНрдЪрд┐рдд рд░рд╣рдиреНрдЫред

рдердк рд░реВрдкрдорд╛, рддрдкрд╛рдЗрдБ рд╕реНрдкреЗрдХреНрдЯрд░ рдХрдордЬреЛрд░реАрд╣рд░реВ рд╡рд┐рд░реБрджреНрдз рд╕реБрд░рдХреНрд╖рд╛ рдЧрд░реНрди рдЙрдкрдХрд░рдгрд╣рд░реВрдХреЛ рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рднрд╛рд╡рдХреЛ рдмрд╛рд░реЗрдорд╛ рдиреЛрдЯ рдиреЛрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдиреЛрдЯрд▓реЗ rr (рд░реЗрдХрд░реНрдб рд░ рд░рд┐рдкреНрд▓реЗ) рдбрд┐рдмрдЧрд░рдХреЛ рдЕрдкреНрдЯрд┐рдорд╛рдЗрдЬреЗрд╕рдирдХреЛ рдирддрд┐рдЬрд╛рд╣рд░реВрд▓рд╛рдИ рд╕рдВрдХреНрд╖реЗрдк рдЧрд░реНрджрдЫ, рдЬреБрди рдПрдХ рдкрдЯрдХ рдлрд╛рдпрд░рдлрдХреНрд╕рдорд╛ рджреЛрд╣реЛрд░реНрдпрд╛рдЙрди рдЧрд╛рд╣реНрд░реЛ рд╣реБрдиреЗ рддреНрд░реБрдЯрд┐рд╣рд░реВрд▓рд╛рдИ рдбрд┐рдмрдЧ рдЧрд░реНрди рдореЛрдЬрд┐рд▓рд╛рдорд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрд╣рд░реВрдХреЛ рдЕрд╕реНрддрд┐рддреНрд╡ рдЬрд╛рдБрдЪ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреЗ рдкреНрд░рдгрд╛рд▓реА рдХрд▓рд╣рд░реВ рдХреНрдпрд╛рд╕ рдЧрд░реНрдирд╛рд▓реЗ рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рд▓рд╛рдЧрд┐ "rr рд╕реНрд░реЛрддрд╣рд░реВ" рд╕рдЮреНрдЪрд╛рд▓рдирд▓рд╛рдИ рей рдорд┐рдиреЗрдЯ резреп рд╕реЗрдХреЗрдиреНрдбрдмрд╛рдЯ рейрем рд╕реЗрдХреЗрдиреНрдбрдорд╛ рдШрдЯрд╛рдЗрдпреЛред

рдЕрдкреНрдЯрд┐рдорд╛рдЗрдЬреЗрд╕рди рд▓реЗрдЦрдХрд▓реЗ рд╕реНрдкреЗрдХреНрдЯрд░ рд╕реБрд░рдХреНрд╖рд╛ рдЕрд╕рдХреНрд╖рдо рдЧрд░реЗрдкрдЫрд┐ рдкреНрд░рджрд░реНрд╢рди рдХрд╕рд░реА рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрдиреНрдЫ рднрдиреЗрд░ рдЬрд╛рдБрдЪ рдЧрд░реНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реНрдпреЛред "рд╢рдорди = рдмрдиреНрдж" рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рдХреЛ рд╕рд╛рде рдкреНрд░рдгрд╛рд▓реА рдмреБрдЯ рдЧрд░реЗрдкрдЫрд┐, рдЕрдиреБрдХреВрд▓рди рдмрд┐рдирд╛ "rr рд╕реНрд░реЛрддрд╣рд░реВ" рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рдордп 2 рдорд┐рдиреЗрдЯ 5 рд╕реЗрдХреЗрдиреНрдб (1.6 рдЧреБрдгрд╛ рдЫрд┐рдЯреЛ) рдерд┐рдпреЛ, рд░ рдЕрдиреБрдХреВрд▓рди рд╕рдВрдЧ рдпреЛ 33 рд╕реЗрдХреЗрдиреНрдб (9% рдЫрд┐рдЯреЛ) рдерд┐рдпреЛред рдЪрд╛рдЦрд▓рд╛рдЧреНрджреЛ рдХреБрд░рд╛ рдХреЗ рдЫ рднрдиреЗ, рд╕реНрдкреЗрдХреНрдЯрд░ рд╕реБрд░рдХреНрд╖рд╛ рдЕрд╕рдХреНрд╖рдо рдкрд╛рд░реНрдиреБрд▓реЗ рдХрд░реНрдиреЗрд▓ рд╕реНрддрд░рдорд╛ рдХреЛрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рдордпрд▓рд╛рдИ рез.рек рдЧреБрдгрд╛ (реиm1.4s рдмрд╛рдЯ 2m9s рд╕рдореНрдо) рдШрдЯрд╛рдПрдХреЛ рдорд╛рддреНрд░ рд╣реЛрдЗрди, рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдкреЗрд╕рдорд╛ (1m32s рдмрд╛рдЯ 1m9s рд╕рдореНрдо) рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрдиреЗ рд╕рдордп рдкрдирд┐ рдЖрдзрд╛ рдШрдЯрд╛рдПрдХреЛ рдЫ, рд╕рдореНрднрд╡рддрдГ CPU рдХреНрдпрд╛рд╕ рдЕрдкрд░реЗрд╢рди рд░ CPU рдХреНрдпрд╛рд╕ рдХрдо рднрдПрдХреЛрд▓реЗред рд╕реНрдкреЗрдХреНрдЯрд░ рд╕реБрд░рдХреНрд╖рд╛ рд╕рдХреНрд╖рдо рд╣реБрдБрджрд╛ рд░рд┐рд╕реЗрдЯ рд╣реБрдиреНрдЫред

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди