рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рд╕реБрд░рдХреНрд╖рд╛ рдПрдХ рдмрд╣реБрдд рд╣реА рдЬрдЯрд┐рд▓ рд╡рд┐рд╖рдп рдХреНрд╖реЗрддреНрд░ рд╣реИред рдЗрд╕рдореЗрдВ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЬрдЯрд┐рд▓ рд░реВрдк рд╕реЗ рдкрд░рд╕реНрдкрд░ рд╕рдВрдмрдВрдзрд┐рдд рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдФрд░ рдЗрд╕рдХрд╛ рдЧреНрд░рд╛рдлрд┐рдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд╣реЛрдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ
рдПрдХ рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рд░рдХреНрд╖рдХ рдорд╛рдирдЪрд┐рддреНрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ред рдпрд╣рд╛рдБ рдПрдХ рдХрд┐рдВрд╡рджрдВрддреА рд╣реИ:

рддреЛ, рдирдХреНрд╢реЗ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд╕реНрддреБрдПрдВ рд╣реИрдВ:
- рднреЗрджреНрдпрддрд╛ рд╡рд░реНрдЧ
- рд╣рдорд▓реЛрдВ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдЙрдирдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреА рддрдХрдиреАрдХреЗрдВ;
- рддреНрд░реБрдЯрд┐ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рд╡рд╛рд▓реЗ рддрдВрддреНрд░;
- рд╕рдВрд░рдХреНрд╖рдг рддрдХрдиреАрдХред
рдмрджрд▓реЗ рдореЗрдВ, рдореБрдЦреНрдп рд╕рдВрд░рдХреНрд╖рдг рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпрд╛рдВ рд╡рд┐рд╖рдо рд╣реИрдВред рдХреБрдЫ рд▓рд┐рдирдХреНрд╕ рд╡реЗрдирд┐рд▓рд╛ рдХрд░реНрдиреЗрд▓ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИрдВ, рдЕрдиреНрдп рдХреЛ рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рд╕реБрд░рдХреНрд╖рд╛ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ)ред рдХрд░реНрдиреЗрд▓ рд╕реБрд░рдХреНрд╖рд╛ рддрдВрддреНрд░ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕рдорд░реНрдерди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рд╕реБрд░рдХреНрд╖рд╛ рд╡рд┐рд╖рдп рдХрд╛рдлреА рд╡реНрдпрд╛рдкрдХ рд╣реИ, рдФрд░ рд╡рд┐рдХрд╕рд┐рдд рдирдХреНрд╢рд╛ рдЗрд╕рдХреЗ рдЕрдзреНрдпрдпрди рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рдорд╛рдирдЪрд┐рддреНрд░ рдкрд░ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╡рд╛рд▓реА рдкреНрд░рддреНрдпреЗрдХ рд░реЗрдЦрд╛ рдЙрдирдХреЗ рдкрд╛рд░рд╕реНрдкрд░рд┐рдХ рдкреНрд░рднрд╛рд╡ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреА рд╣реИ, рдЬрд┐рд╕рдХрд╛ рд╕рд╛рд░ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдорд╛рдирдЪрд┐рддреНрд░ рдХреЗ рдПрдХ рдЯреБрдХрдбрд╝реЗ рдкрд░ рдЪрд┐рддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЪрд┐рддреНрд░рд╛ 1 STACKLEAK рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдХреА рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред
рдЖрд░реЗрдЦ 1. STACKLEAK рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдХреА рд╕реБрд░рдХреНрд╖рд╛ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВPAX_MEMORY_STACKLEAK рдПрдХ рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рд╕реБрд░рдХреНрд╖рд╛ рддрдХрдиреАрдХ рд╣реИ рдЬреЛ рдирд┐рдореНрди рдкреНрд░рдХрд╛рд░ рдХреА рднреЗрджреНрдпрддрд╛рдУрдВ рдХреЗ рд╢реЛрд╖рдг рдХрд╛ рдкреНрд░рддрд┐рдХрд╛рд░ рдХрд░рддреА рд╣реИ: рдЧрд╣рд░рд╛рдИ рдореЗрдВ рдвреЗрд░ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣, рдПрдХрддрд░рдлрд╛ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдВрддрд░рд┐рдХреНрд╖ рдореЗрдВ рд╕реВрдЪрдирд╛ рд░рд┐рд╕рд╛рд╡ред рдирдХреНрд╢реЗ рдореЗрдВ рдЗрди рднреЗрджреНрдпрддрд╛ рд╡рд░реНрдЧреЛрдВ (рд╕реАрдбрдмреНрд▓реНрдпреВрдИ, рдХреЙрдорди рд╡реАрдХрдиреЗрд╕ рдПрдиреНрдпреВрдорд░реЗрд╢рди) рдХреЗ рд▓рд┐рдП рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
STACKLEAK рддрдХрдиреАрдХ рдХреЛ рд▓рд┐рдирдХреНрд╕ рд╡реЗрдирд┐рд▓рд╛ рдХрд░реНрдиреЗрд▓ рдореЗрдВ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рдЖрд░реЗрдЦ рдореЗрдВ рдкрд░рд┐рд▓рдХреНрд╖рд┐рдд рд╣реЛрддрд╛ рд╣реИред рдПрдХ KMSAN рдбрд┐рдмрдЧрд┐рдВрдЧ рддрдВрддреНрд░ рднреА рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдХрд░реНрдиреЗрд▓ рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдВрддрд░рд┐рдХреНрд╖ рдореЗрдВ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рдЪрд░ рдФрд░ рд╕реВрдЪрдирд╛ рд░рд┐рд╕рд╛рд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рд░реНрдб рдХреЛрд░ рдХреЗ рд▓рд┐рдП рд╣рдорд▓реЗ рдХреА рдкрд░рд┐рдзрд┐ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рдореБрджреНрджреЗ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рдиреЗ рд╡рд╛рд▓реА рд▓рдЧрднрдЧ рдХрд┐рд╕реА рднреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рднреА рд╣рдорд▓реЗ рдХреА рдкрд░рд┐рдзрд┐ рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИред рдФрд░ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ, рдореБрдЦреНрдп рдзреНрдпрд╛рди рд╕реБрд░рдХреНрд╖рд╛ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рд╣реИ рдЬреЛ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЗ рд╢реЛрд╖рдг рдХреЗ рдЦрд┐рд▓рд╛рдл рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рдХреА рдЖрддреНрдорд░рдХреНрд╖рд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред
рдЪрд┐рддреНрд░ 2 рдХрд░реНрдиреЗрд▓ рд╕рдВрд╕реНрдХрд░рдг 5.1 рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рдорд╛рдирдЪрд┐рддреНрд░ рджрд┐рдЦрд╛рддрд╛ рд╣реИ (рдЫрд╡рд┐ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рд╕реЗ рдкреВрд░реНрдг рдЖрдХрд╛рд░ рдЦреБрд▓ рдЬрд╛рдПрдЧрд╛)ред
рдЖрд░реЗрдЦ 2. рд▓рд┐рдирдХреНрд╕ v5.1 рдХрд░реНрдиреЗрд▓ рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдореИрдкрдирдХреНрд╢рд╛ рд▓рдЧрд╛рддрд╛рд░ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдЗрд╕реЗ рдХрдо рд╕реЗ рдХрдо рд╣рд░ рдХрд░реНрдиреЗрд▓ рд░рд┐рд▓реАрдЬрд╝ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╕реНрд░реЛрдд рдХреЛ рдкрд╛рда рдХреЗ рд░реВрдк рдореЗрдВ рд░рдЦрдирд╛ рдФрд░ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдмрдирд╛рдП рд░рдЦрдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрдиреЗрдХреНрд╢рди рдХреЗ рдЪреМрд░рд╛рд╣реЛрдВ рдХреА рдПрдХ рдиреНрдпреВрдирддрдо рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдбреАрдУрдЯреА рднрд╛рд╖рд╛ рдХреЛ рдорд╛рдирдЪрд┐рддреНрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдЖрд░реЗрдЦ рдирд┐рдореНрди рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЧреНрд░рд╛рдлрд╡рд┐рдЬрд╝ рдкреИрдХреЗрдЬ рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ:
dot -Tsvg linux-kernel-defence-map.dot -o linux-kernel-defence-map.svg
рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рд╕рд┐рдХреНрдпреЛрд░рд┐рдЯреА рдХрд╛рд░реНрдб GPL v3.0 рдХреЗ рддрд╣рдд рд▓рд╛рдЗрд╕реЗрдВрд╕ рдкреНрд░рд╛рдкреНрдд рдПрдХ рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИред рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА
GitHub рдкрд░ рд╕реНрдерд┐рдд
рд╣реИ ред рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдЕрддреНрдпрдВрдд рдЙрдкрдпреЛрдЧреА рд╣реИ:
- рдХрд░реНрдиреЗрд▓ рд╕реБрд░рдХреНрд╖рд╛ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдирд╛,
- рдЬреАрдПрдирдпреВ / рд▓рд┐рдирдХреНрд╕ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдЖрдИрдкреА рдХреЗ рдЦрддрд░реЗ рд╡рд╛рд▓реЗ рдореЙрдбрд▓ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛,
- рдЙрдЪрд┐рдд рдЙрдкрдЪрд╛рд░ рдХрд╛ рдЪрдпрдиред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдорд╛рдирдЪрд┐рддреНрд░ рдХреЛ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рд╕реНрд░реЛрдд рдХреЛрдб, рдкреНрд░рд▓реЗрдЦрди рдФрд░ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдЕрдиреНрдп рд╕реНрд░реЛрддреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
рдФрд░ рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реБрд░рдХреНрд╖рд╛ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╕рддреНрдпрд╛рдкрди рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ
kconfig-hardened-check рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛, рдЬреЛ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЯреАрдорд╡рд░реНрдХ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИред рдЙрдкрдпреЛрдЧрд┐рддрд╛ x86_64, arm64, x86_32 рдФрд░ рдЖрд░реНрдо рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИред
рдореИрдВ рдЖрдкрдХреЛ
рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рд╕рд┐рдХреНрдпреЛрд░рд┐рдЯреА рдлреАрдЪрд░реНрд╕ рдореИрдк рдХреЗ рд╡рд┐рдХрд╛рд╕ рдФрд░
kconfig- рд╣рд╛рд░реНрдб-рдЪреЗрдХ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рднрд╛рдЧ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдордВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реВрдВред