рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓рд╕рд╛рдареА рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдирд▓ рд╕реНрдЯреЕрдХ рдкрддреНрддреЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреЕрдЪреЗрд╕ рд╕рд╛рджрд░ рдХреЗрд▓реЗ

Kees Cook, kernel.org рдЪреЗ рдорд╛рдЬреА рдореБрдЦреНрдп рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХ рдЖрдгрд┐ Ubuntu рд╕реБрд░рдХреНрд╖рд╛ рдЯреАрдордЪреЗ рдиреЗрддреЗ, рдЖрддрд╛ Google рд╡рд░ Android рдЖрдгрд┐ ChromeOS рд╕реБрд░рдХреНрд╖рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрд╛рдо рдХрд░рдд рдЖрд╣реЗрдд, рдпрд╛рдВрдиреА рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓реНрд╕рд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛рдирд╛ рдХрд░реНрдирд▓ рд╕реНрдЯреЕрдХрдордзреНрдпреЗ рдСрдлрд╕реЗрдЯ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреЕрдЪрдЪрд╛ рдПрдХ рд╕рдВрдЪ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреЗрд▓рд╛. рдкреЕрдЪреЗрд╕ рд╕реНрдЯреЕрдХ рдкреНрд▓реЗрд╕рдореЗрдВрдЯ рдмрджрд▓реВрди рдХрд░реНрдирд▓ рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрдзрд╛рд░рддрд╛рдд, рд╕реНрдЯреЕрдХрд╡рд░реАрд▓ рд╣рд▓реНрд▓реЗ рдЕрдзрд┐рдХ рдХрдареАрдг рдЖрдгрд┐ рдХрдореА рдпрд╢рд╕реНрд╡реА рд╣реЛрддрд╛рдд. рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА ARM64 рдЖрдгрд┐ x86/x86_64 рдкреНрд░реЛрд╕реЗрд╕рд░рд▓рд╛ рд╕рдорд░реНрдерди рджреЗрддреЗ.

рдкреЕрдЪрдЪреА рдореВрд│ рдХрд▓реНрдкрдирд╛ PaX RANDKSTACCK рдкреНрд░рдХрд▓реНрдкрд╛рдЪреА рдЖрд╣реЗ. 2019 рдордзреНрдпреЗ, рдЗрдВрдЯреЗрд▓рдордзреАрд▓ рдЕрднрд┐рдпрдВрддрд╛ рдПрд▓реЗрдирд╛ рд░реЗрд╢реЗрдЯреЛрд╡реНрд╣рд╛ рдпрд╛рдВрдиреА рдореБрдЦреНрдп рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдирд▓рдордзреНрдпреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдпреЛрдЧреНрдп рдпрд╛ рдХрд▓реНрдкрдиреЗрдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХреЗрд▓рд╛. рдирдВрддрд░, рдХреАрд╕ рдХреБрдХрдиреЗ рдкреБрдврд╛рдХрд╛рд░ рдШреЗрддрд▓рд╛, рдЬреНрдпрд╛рдиреЗ рдХрд░реНрдирд▓рдЪреНрдпрд╛ рдореБрдЦреНрдп рдЖрд╡реГрддреНрддреАрд╕рд╛рдареА рдпреЛрдЧреНрдп рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рд╕рд╛рджрд░ рдХреЗрд▓реА. 5.13 рд░рд┐рд▓реАрдЭрдЪрд╛ рднрд╛рдЧ рдореНрд╣рдгреВрди рдкреЕрдЪ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рдпреЛрдЬрдирд╛ рдЖрд╣реЗ. рдореЛрдб рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рдЕрдХреНрд╖рдо рдХреЗрд▓рд╛ рдЬрд╛рдИрд▓. рддреЗ рд╕рдХреНрд╖рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдХрд░реНрдирд▓ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкреЕрд░рд╛рдореАрдЯрд░ тАЬrandomize_kstack_offset=on/offтАЭ рдЖрдгрд┐ CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT рд╕реЗрдЯрд┐рдВрдЧ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЖрд╣реЗ. рдореЛрдб рд╕рдХреНрд╖рдо рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдУрд╡реНрд╣рд░рд╣реЗрдбрдордзреНрдпреЗ рдЕрдВрджрд╛рдЬреЗ 1% рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╣рд╛рдиреАрдЪрд╛ рдЕрдВрджрд╛рдЬ рдЖрд╣реЗ.

рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕рдВрд░рдХреНрд╖рдгрд╛рдЪреЗ рд╕рд╛рд░ рдореНрд╣рдгрдЬреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓рд╕рд╛рдареА рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕реНрдЯреЕрдХ рдСрдлрд╕реЗрдЯ рдирд┐рд╡рдбрдгреЗ, рдЬреНрдпрд╛рдореБрд│реЗ рдкрддреНрддрд╛ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдЭрд╛рд▓реНрдпрд╛рдирдВрддрд░рд╣реА рдореЗрдорд░реАрдордзреНрдпреЗ рд╕реНрдЯреЕрдХ рд▓реЗрдЖрдЙрдЯ рдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреЗ рдХрдареАрдг рд╣реЛрддреЗ, рдХрд╛рд░рдг рдкреБрдвреАрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рд╕реНрдЯреЕрдХрдЪрд╛ рдореВрд│ рдкрддреНрддрд╛ рдмрджрд▓реЗрд▓. PaX RANDKSTACK рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреНрдпрд╛ рд╡рд┐рдкрд░реАрдд, рдХрд░реНрдирд▓рдордзреНрдпреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдкреЕрдЪреЗрд╕рдордзреНрдпреЗ, рдпрд╛рджреГрдЪреНрдЫрд┐рдХреАрдХрд░рдг рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЯрдкреНрдкреНрдпрд╛рд╡рд░ (cpu_current_top_of_stack) рдХреЗрд▓реЗ рдЬрд╛рдд рдирд╛рд╣реА, рдкрд░рдВрддреБ pt_regs рд░рдЪрдирд╛ рд╕реЗрдЯ рдХреЗрд▓реНрдпрд╛рдирдВрддрд░, рдЬреНрдпрд╛рдореБрд│реЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдСрдлрд╕реЗрдЯ рдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА ptrace-рдЖрдзрд╛рд░рд┐рдд рдкрджреНрдзрддреА рд╡рд╛рдкрд░рдгреЗ рдЕрд╢рдХреНрдп рд╣реЛрддреЗ. рджреАрд░реНрдШрдХрд╛рд│ рдЪрд╛рд▓рдгрд╛рд▒реНрдпрд╛ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рджрд░рдореНрдпрд╛рди.

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

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