eBPF рдордзреАрд▓ рднреЗрджреНрдпрддрд╛ рдЬреА Specter 4 рд╣рд▓реНрд▓реНрдпрд╛рдкрд╛рд╕реВрди рд╕рдВрд░рдХреНрд╖рдг рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ

рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдирд▓рдордзреНрдпреЗ рджреЛрди рднреЗрджреНрдпрддрд╛ рдУрд│рдЦрд▓реНрдпрд╛ рдЧреЗрд▓реНрдпрд╛ рдЖрд╣реЗрдд рдЬреНрдпрд╛ eBPF рдЙрдкрдкреНрд░рдгрд╛рд▓реАрд▓рд╛ рд╕реНрдкреЗрдХреНрдЯрд░ v4 рд╣рд▓реНрд▓реНрдпрд╛рдкрд╛рд╕реВрди рд╕рдВрд░рдХреНрд╖рдг рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддрд╛рдд (SSB, рд╕рдЯреНрдЯрд╛ рд╕реНрдЯреЛрдЕрд░ рдмрд╛рдпрдкрд╛рд╕). рдЕрдирдкреНрд░рд┐рд╡реНрд╣рд┐рд▓реЗрдЬреНрдб рдмреАрдкреАрдПрдл рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╡рд╛рдкрд░реВрди, рдЖрдХреНрд░рдордгрдХрд░реНрддрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдСрдкрд░реЗрд╢рдиреНрд╕рдЪреНрдпрд╛ рд╕рдЯреНрдЯрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╕рд╛рдареА рдкрд░рд┐рд╕реНрдерд┐рддреА рдирд┐рд░реНрдорд╛рдг рдХрд░реВ рд╢рдХрддреЛ рдЖрдгрд┐ рдХрд░реНрдирд▓ рдореЗрдорд░реАрдЪреНрдпрд╛ рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рдХреНрд╖реЗрддреНрд░рд╛рдВрдЪреА рд╕рд╛рдордЧреНрд░реА рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реВ рд╢рдХрддреЛ. рдХрд░реНрдирд▓рдордзреАрд▓ eBPF рдЙрдкрдкреНрд░рдгрд╛рд▓реАрдЪреНрдпрд╛ рджреЗрдЦрднрд╛рд▓ рдХрд░рдгрд╛рд░реНтАНрдпрд╛рдВрдирд╛ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╢реЛрд╖рдгрд╛рдд рдкреНрд░рд╡реЗрд╢ рдорд┐рд│рд╛рд▓рд╛ рдЬреЛ рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдд рд╣рд▓реНрд▓реЗ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рджрд░реНрд╢рд╡рд┐рддреЛ. рдкреЕрдЪ (1, 2) рдЪреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдд рд╕рдорд╕реНрдпрд╛рдВрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ, рдЬреНрдпрд╛рдЪрд╛ рдкреБрдвреАрд▓ рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдирд▓ рдЕрдкрдбреЗрдЯрдордзреНрдпреЗ рд╕рдорд╛рд╡реЗрд╢ рдХреЗрд▓рд╛ рдЬрд╛рдИрд▓. рд╡рд┐рддрд░рдг рдХрд┐рдЯрдордзреАрд▓ рдЕрджреНрдпрддрдиреЗ рдЕрджреНрдпрд╛рдк рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реА рдирд╛рд╣реАрдд (рдбреЗрдмрд┐рдпрди, рдЖрд░рдПрдЪрдИрдПрд▓, рдПрд╕рдпреВрдПрд╕рдИ, рдЖрд░реНрдХ, рдлреЗрдбреЛрд░рд╛, рдЙрдмрдВрдЯреВ).

рд╕реНрдкреЗрдХреНрдЯрд░ 4 рдЕрдЯреЕрдХ рдкрджреНрдзрдд рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рдкрддреНрддрд╛ рд╡рд╛рдкрд░реВрди рд╡реИрдХрд▓реНрдкрд┐рдХ рд▓реЗрдЦрди рдЖрдгрд┐ рд╡рд╛рдЪрди рдСрдкрд░реЗрд╢рдиреНрд╕рд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛рдирд╛ рдСрдкрд░реЗрд╢рдиреНрд╕рдЪреНрдпрд╛ рд╕рдЯреНрдЯреЗрдмрд╛рдЬ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪрд╛ рдкрд░рд┐рдгрд╛рдо рдХрд╛рдвреВрди рдЯрд╛рдХрд▓реНрдпрд╛рдирдВрддрд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЕрд╢реЗрдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдбреЗрдЯрд╛ рдкреБрдирд░реНрд╕рдВрдЪрдпрд┐рдд рдХрд░рдгреНрдпрд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЖрд╣реЗ. рдЬреЗрд╡реНрд╣рд╛ рд░реАрдб рдСрдкрд░реЗрд╢рди рд▓рд┐рд╣рд┐рдгреНрдпрд╛рдЪреНрдпрд╛ рдСрдкрд░реЗрд╢рдирдЪреЗ рдЕрдиреБрд╕рд░рдг рдХрд░рддреЗ (рдЙрджрд╛. mov [rbx + rcx], 0x0; mov rax, [rdx + rsi]), рд╡рд╛рдЪрд▓реЗрд▓реНрдпрд╛ рдкрддреНрддреНрдпрд╛рдЪрд╛ рдСрдлрд╕реЗрдЯ рдЕрд╢рд╛рдЪ рдСрдкрд░реЗрд╢рдиреНрд╕рдореБрд│реЗ рдЖрдзреАрдЪ рдУрд│рдЦрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ (рд╡рд╛рдЪрди рдСрдкрд░реЗрд╢рдиреНрд╕ рдЕрдзрд┐рдХ рд╡рд╛рд░рдВрд╡рд╛рд░ рдХреЗрд▓реЗ рдЬрд╛рддреЗ рдЖрдгрд┐ рдХреЕрд╢реЗрдордзреВрди рд╡рд╛рдЪрди рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ) рдЖрдгрд┐ рдкреНрд░реЛрд╕реЗрд╕рд░ рд░рд╛рдЗрдЯрдЪреНрдпрд╛ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рдСрдлрд╕реЗрдЯрдЪреА рдЧрдгрдирд╛ рд╣реЛрдгреНрдпрд╛рдЪреА рдкреНрд░рддреАрдХреНрд╖рд╛ рди рдХрд░рддрд╛ рд░рд╛рдЗрдЯрдЪреНрдпрд╛ рдЖрдзреА рд╡рд╛рдЪрди рдХрд░реВ рд╢рдХрддреЛ.

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

рдкреНрд░рдердо рдЕрд╕реБрд░рдХреНрд╖рд╛ (CVE-2021-35477) BPF рдХрд╛рд░реНрдпрдХреНрд░рдо рдкрдбрддрд╛рд│рдгреА рдпрдВрддреНрд░рдгреЗрддреАрд▓ рддреНрд░реБрдЯреАрдореБрд│реЗ рдЙрджреНрднрд╡рддреЗ. Specter 4 рд╣рд▓реНрд▓реНрдпрд╛рдкрд╛рд╕реВрди рд╕рдВрд░рдХреНрд╖рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ рдореЗрдорд░реАрдордзреНрдпреЗ рд╕рдВрднрд╛рд╡реНрдп рд╕рдорд╕реНрдпрд╛рдкреНрд░рдзрд╛рди рд╕реНрдЯреЛрдЕрд░рдирдВрддрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реВрдЪрдирд╛ рдЬреЛрдбрддреЛ рдЬреЗ рдорд╛рдЧреАрд▓ рдСрдкрд░реЗрд╢рдирдЪреЗ рдЯреНрд░реЗрд╕ рд╡рд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╢реВрдиреНрдп рдореВрд▓реНрдп рд╕рдВрдЪрдпрд┐рдд рдХрд░рддреЗ. рд░рд╛рдЗрдЯ рдирд▓ рдСрдкрд░реЗрд╢рди рдЦреВрдк рд╡реЗрдЧрд╡рд╛рди рдЖрдгрд┐ рд╕рдЯреНрдЯреЗрдмрд╛рдЬреАрдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд▓рд╛ рдмреНрд▓реЙрдХ рдХрд░рдгреЗ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реЛрддреЗ рдХрд╛рд░рдг рддреЗ рдлрдХреНрдд BPF рд╕реНрдЯреЕрдХ рдлреНрд░реЗрдордЪреНрдпрд╛ рдкреЙрдЗрдВрдЯрд░рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕рддреЗ. рдкрд░рдВрддреБ рдЦрд░рдВ рддрд░, рдЕрд╢реА рдкрд░рд┐рд╕реНрдерд┐рддреА рдирд┐рд░реНрдорд╛рдг рдХрд░рдгреЗ рд╢рдХреНрдп рдЭрд╛рд▓реЗ рдЖрд╣реЗ рдЬреНрдпрд╛ рдЕрдВрддрд░реНрдЧрдд рд╕рдЯреНрдЯреЗрдмрд╛рдЬ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдХрдбреЗ рдиреЗрдгрд╛рд░реА рд╕реВрдЪрдирд╛ рдкреНрд░реАрдореНрдкреЗрдЯрд┐рд╡реНрд╣ рд╕реНрдЯреЛрдЕрд░ рдСрдкрд░реЗрд╢рдирдкреВрд░реНрд╡реА рдЕрдВрдорд▓рд╛рдд рдЖрдгрд▓реА рдЬрд╛рдК рд╢рдХрддреЗ.

рджреБрд╕рд░реА рднреЗрджреНрдпрддрд╛ (CVE-2021-3455) рдпрд╛ рд╡рд╕реНрддреБрд╕реНрдерд┐рддреАрдореБрд│реЗ рдЖрд╣реЗ рдХреА рдЬреЗрд╡реНрд╣рд╛ BPF рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ рд╕рдВрднрд╛рд╡реНрдп рдзреЛрдХрд╛рджрд╛рдпрдХ рдореЗрдорд░реА рд╕реЗрд╡реНрд╣ рдСрдкрд░реЗрд╢рдиреНрд╕ рдУрд│рдЦрддреЛ, рддреЗрд╡реНрд╣рд╛ рддреЗ BPF рд╕реНрдЯреЕрдХрдЪреНрдпрд╛ рд╕реБрд░реВ рди рдХреЗрд▓реЗрд▓реЗ рдХреНрд╖реЗрддреНрд░ рд╡рд┐рдЪрд╛рд░рд╛рдд рдШреЗрдд рдирд╛рд╣реА, рдЬреНрдпрд╛рд╡рд░ рдкреНрд░рдердо рд▓реЗрдЦрди рдСрдкрд░реЗрд╢рди рд╕рдВрд░рдХреНрд╖рд┐рдд рдирд╛рд╣реА. рд╣реЗ рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рд╕реНрдЯреЛрдЕрд░ рд╕реВрдЪрдирд╛ рдЕрдВрдорд▓рд╛рдд рдЖрдгрдгреНрдпрд╛рдкреВрд░реНрд╡реА, рдПрдХ рдЕрдирд╛рд░рдВрднрд┐рдд рдореЗрдорд░реА рдХреНрд╖реЗрддреНрд░рд╛рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди, рд╕рдЯреНрдЯрд╛ рд╡рд╛рдЪрди рдСрдкрд░реЗрд╢рди рдХрд░рдгреНрдпрд╛рдЪреА рд╢рдХреНрдпрддрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ. BPF рд╕реНрдЯреЕрдХрд╕рд╛рдареА рдирд╡реАрди рдореЗрдорд░реА рд╡рд╛рдЯрдк рдХреЗрд▓реЗрд▓реНрдпрд╛ рдореЗрдорд░реАрдордзреНрдпреЗ рдЖрдзреАрдкрд╛рд╕реВрди рдЕрд╕рд▓реЗрд▓реА рд╕рд╛рдордЧреНрд░реА рддрдкрд╛рд╕рд▓реНрдпрд╛рд╢рд┐рд╡рд╛рдп рд╡рд╛рдЯрдк рдХреЗрд▓реА рдЬрд╛рддреЗ рдЖрдгрд┐ BPF рдкреНрд░реЛрдЧреНрд░рд╛рдордиреЗ рдореЗрдорд░реА рдкреНрд░рджреЗрд╢рд╛рддреАрд▓ рд╕рд╛рдордЧреНрд░реА рд╣рд╛рддрд╛рд│рдгреНрдпрд╛рдЪрд╛ рдПрдХ рдорд╛рд░реНрдЧ рдЖрд╣реЗ рдЬреЛ рдирдВрддрд░ BPF рд╕реНрдЯреЕрдХрд╕рд╛рдареА рд╡рд╛рдЯрдк рдХреЗрд▓рд╛ рдЬрд╛рдИрд▓.

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛