Linux 5.4 рдХрд░реНрдирд▓рд▓рд╛ рдХрд░реНрдирд▓ рдЗрдВрдЯрд░реНрдирд▓рдордзреНрдпреЗ рд░реВрдЯ рдкреНрд░рд╡реЗрд╢ рдорд░реНрдпрд╛рджрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреЕрдЪ рдкреНрд░рд╛рдкреНрдд рдЭрд╛рд▓реЗ рдЖрд╣реЗрдд

рд▓рд┐рдирд╕ рдЯреЙрд░рд╡рд╛рд▓реНрдбреНрд╕ рд╕реНрд╡реАрдХрд╛рд░рд▓реЗ Linux 5.4 рдХрд░реНрдирд▓рдЪреНрдпрд╛ рдЖрдЧрд╛рдореА рдкреНрд░рдХрд╛рд╢рдирд╛рдордзреНрдпреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХреЗрд▓реЗрд▓реЗ рдкреЕрдЪреЗрд╕рдЪрд╛ рд╕рдВрдЪ рдЖрд╣реЗ "рдХреБрд▓реБрдкрдмрдВрдж", рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдбреЗрд╡реНрд╣рд┐рдб рд╣реЙрд╡реЗрд▓реНрд╕ (рд░реЗрдб рд╣реЕрдЯ) рдЖрдгрд┐ рдореЕрдереНрдпреВ рдЧреЕрд░реЗрдЯ (рдореЕрдереНрдпреВ рдЧреЕрд░реЗрдЯ, Google рд╡рд░ рдХрд╛рд░реНрдп рдХрд░рддреЗ) рд░реВрдЯ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪрд╛ рдХрд░реНрдирд▓ рдкреНрд░рд╡реЗрд╢ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА. рд▓реЙрдХрдбрд╛рдЙрди-рд╕рдВрдмрдВрдзрд┐рдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╡реИрдХрд▓реНрдкрд┐рдХрд░рд┐рддреНрдпрд╛ рд▓реЛрдб рдХреЗрд▓реЗрд▓реНрдпрд╛ LSM рдореЙрдбреНрдпреВрд▓рдордзреНрдпреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХреЗрд▓реА рдЖрд╣реЗ (рд▓рд┐рдирдХреНрд╕ рд╕реБрд░рдХреНрд╖рд╛ рдореЙрдбреНрдпреВрд▓), рдЬреЗ UID 0 рдЖрдгрд┐ рдХрд░реНрдирд▓ рджрд░рдореНрдпрд╛рди рдЕрдбрдерд│рд╛ рдЖрдгрддреЗ, рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рддреЗ.

рдЬрд░ рдЖрдХреНрд░рдордгрдХрд░реНрддреНрдпрд╛рдиреЗ рд░реВрдЯ рдЕрдзрд┐рдХрд╛рд░рд╛рдВрд╕рд╣ рдХреЛрдбрдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдХреЗрд▓реА, рддрд░ рддреЛ рдХрд░реНрдирд▓ рд╕реНрддрд░рд╛рд╡рд░ рддреНрдпрд╛рдЪрд╛ рдХреЛрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░реВ рд╢рдХрддреЛ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, kexec рд╡рд╛рдкрд░реВрди рдХрд░реНрдирд▓ рдмрджрд▓реВрди рдХрд┐рдВрд╡рд╛ /dev/kmem рджреНрд╡рд╛рд░реЗ рдореЗрдорд░реА рд╡рд╛рдЪрдгреЗ/рд▓реЗрдЦрди рдХрд░реВрди. рдЕрд╢рд╛ рдХреНрд░рд┐рдпрд╛рдХрд▓рд╛рдкрд╛рдВрдЪрд╛ рд╕рд░реНрд╡рд╛рдд рд╕реНрдкрд╖реНрдЯ рдкрд░рд┐рдгрд╛рдо рдЕрд╕реВ рд╢рдХрддреЛ рд╡рд│рд╕рд╛ UEFI рд╕реБрд░рдХреНрд╖рд┐рдд рдмреВрдЯ рдХрд┐рдВрд╡рд╛ рдХрд░реНрдирд▓ рд╕реНрддрд░рд╛рд╡рд░ рд╕рдВрдЧреНрд░рд╣рд┐рдд рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдбреЗрдЯрд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдгреЗ.

рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛, рд╕рддреНрдпрд╛рдкрд┐рдд рдмреВрдЯрдЪреЗ рд╕рдВрд░рдХреНрд╖рдг рдордЬрдмреВрдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рд╕рдВрджрд░реНрднрд╛рдд рд░реВрдЯ рдкреНрд░рддрд┐рдмрдВрдз рдХрд╛рд░реНрдпреЗ рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрдгрд┐ рд╡рд┐рддрд░рдгреЗ рдмрд░реНтАНрдпрд╛рдЪ рдХрд╛рд│рд╛рдкрд╛рд╕реВрди UEFI рд╕реБрд░рдХреНрд╖рд┐рдд рдмреВрдЯрдЪреЗ рдмрд╛рдпрдкрд╛рд╕ рдЕрд╡рд░реЛрдзрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреГрддреАрдп-рдкрдХреНрд╖ рдкреЕрдЪреЗрд╕ рд╡рд╛рдкрд░рдд рдЖрд╣реЗрдд. рддреНрдпрд╛рдЪ рд╡реЗрд│реА, рдЕрд╢рд╛ рдирд┐рд░реНрдмрдВрдзрд╛рдВрдореБрд│реЗ рдХрд░реНрдирд▓рдЪреНрдпрд╛ рдореБрдЦреНрдп рд░рдЪрдирд╛рдордзреНрдпреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдирд╛рд╣реА рдорддрднреЗрдж рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдордзреНрдпреЗ рдЖрдгрд┐ рд╡рд┐рджреНрдпрдорд╛рди рдкреНрд░рдгрд╛рд▓реАрдВрдордзреНрдпреЗ рд╡реНрдпрддреНрдпрдп рдпреЗрдгреНрдпрд╛рдЪреА рднреАрддреА. "рд▓реЙрдХрдбрд╛рдЙрди" рдореЙрдбреНрдпреВрд▓рдиреЗ рдЖрдзреАрдЪ рд╡рд┐рддрд░рдгрд╛рдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓реЗрд▓реЗ рдкреЕрдЪреЗрд╕ рд╢реЛрд╖рд▓реЗ рдЧреЗрд▓реЗ, рдЬреЗ UEFI рд╕реБрд░рдХреНрд╖рд┐рдд рдмреВрдЯрд╢реА рдЬреЛрдбрд▓реЗрд▓реЗ рдирд╕рд▓реЗрд▓реНрдпрд╛ рд╡реЗрдЧрд│реНрдпрд╛ рдЙрдкрдкреНрд░рдгрд╛рд▓реАрдЪреНрдпрд╛ рд░реВрдкрд╛рдд рдкреБрдиреНрд╣рд╛ рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗ рдЧреЗрд▓реЗ.

рд▓реЙрдХрдбрд╛рдЙрди рдореЛрдб /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, kprobes рдбреАрдмрдЧ рдореЛрдб, mmiotrace, tracefs, BPF, PCMCIA CIS (рдХрд╛рд░реНрдб рдорд╛рд╣рд┐рддреА рд╕рдВрд░рдЪрдирд╛), рдХрд╛рд╣реА ACPI рдЗрдВрдЯрд░рдлреЗрд╕ рдЖрдгрд┐ CPU рд╡рд░ рдкреНрд░рд╡реЗрд╢ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рддреЛ. MSR рдиреЛрдВрджрдгреА, kexec_file рдЖрдгрд┐ kexec_load рдХреЙрд▓ рдЕрд╡рд░реЛрдзрд┐рдд рдЖрд╣реЗрдд, рд╕реНрд▓реАрдк рдореЛрдб рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдЖрд╣реЗ, PCI рдЙрдкрдХрд░рдгрд╛рдВрд╕рд╛рдареА DMA рд╡рд╛рдкрд░ рдорд░реНрдпрд╛рджрд┐рдд рдЖрд╣реЗ, EFI рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕рдордзреВрди ACPI рдХреЛрдб рдЖрдпрд╛рдд рдХрд░рдгреНрдпрд╛рд╕ рдордирд╛рдИ рдЖрд╣реЗ,
рд╕рд┐рд░реАрдпрд▓ рдкреЛрд░реНрдЯрд╕рд╛рдареА рд╡реНрдпрддреНрдпрдп рдХреНрд░рдорд╛рдВрдХ рдЖрдгрд┐ I/O рдкреЛрд░реНрдЯ рдмрджрд▓рдгреНрдпрд╛рд╕рд╣, I/O рдкреЛрд░реНрдЯрд╕рд╣ рд╣рд╛рддрд╛рд│рдгреА рдХрд░рдгреНрдпрд╛рд╕ рдкрд░рд╡рд╛рдирдЧреА рдирд╛рд╣реА.

рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░, рд▓реЙрдХрдбрд╛рдЙрди рдореЙрдбреНрдпреВрд▓ рд╕рдХреНрд░рд┐рдп рдирд╕рддреЗ, рдЬреЗрд╡реНрд╣рд╛ SECURITY_LOCKDOWN_LSM рдкрд░реНрдпрд╛рдп kconfig рдордзреНрдпреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ рдЖрдгрд┐ рдХрд░реНрдирд▓ рдкреЕрд░рд╛рдореАрдЯрд░ тАЬlockdown=тАЭ, рдХрдВрдЯреНрд░реЛрд▓ рдлрд╛рдЗрд▓ тАЬ/sys/kernel/security/lockdownтАЭ рдХрд┐рдВрд╡рд╛ рдЕрд╕реЗрдВрдмрд▓реА рдкрд░реНрдпрд╛рдпрд╛рдВрджреНрд╡рд╛рд░реЗ рд╕рдХреНрд░рд┐рдп рдХреЗрд▓рд╛ рдЬрд╛рддреЛ рддреЗрд╡реНрд╣рд╛ рддреЗ рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЬрд╛рддреЗ. LOCK_DOWN_KERNEL_FORCE_*, рдЬреЗ "рдЕрдЦрдВрдбрддрд╛" рдЖрдгрд┐ "рдЧреЛрдкрдиреАрдпрддрд╛" рдореВрд▓реНрдпреЗ рдШреЗрдК рд╢рдХрддрд╛рдд. рдкрд╣рд┐рд▓реНрдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреНрдпрд╛ рдЬрд╛рдЧреЗрд╡рд░реВрди рдЪрд╛рд▓реВ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдХрд░реНрдирд▓рдордзреНрдпреЗ рдмрджрд▓ рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрдгрд╛рд░реА рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдЕрд╡рд░реЛрдзрд┐рдд рдХреЗрд▓реА рдЬрд╛рддрд╛рдд рдЖрдгрд┐ рджреБрд╕рд▒реНрдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рдХрд░реНрдирд▓рдордзреВрди рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдорд╛рд╣рд┐рддреА рдХрд╛рдврдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рддрд╛ рдпреЗрдгрд╛рд░реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рджреЗрдЦреАрд▓ рдЕрдХреНрд╖рдо рдХреЗрд▓реА рдЬрд╛рддреЗ.

рд╣реЗ рд▓рдХреНрд╖рд╛рдд рдШреЗрдгреЗ рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдЖрд╣реЗ рдХреА рд▓реЙрдХрдбрд╛рдЙрди рдХреЗрд╡рд│ рдХрд░реНрдирд▓рдЪреНрдпрд╛ рдорд╛рдирдХ рдкреНрд░рд╡реЗрд╢рд╛рд╕ рдорд░реНрдпрд╛рджрд┐рдд рдХрд░рддреЗ, рдкрд░рдВрддреБ рдЕрд╕реБрд░рдХреНрд╖рд┐рддрддреЗрдЪреНрдпрд╛ рд╢реЛрд╖рдгрд╛рдЪреНрдпрд╛ рдкрд░рд┐рдгрд╛рдореА рдмрджрд▓рд╛рдВрдкрд╛рд╕реВрди рд╕рдВрд░рдХреНрд╖рдг рдХрд░рдд рдирд╛рд╣реА. рдУрдкрдирд╡реЙрд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯрджреНрд╡рд╛рд░реЗ рдПрдХреНрд╕реНрдкреНрд▓реЛрдЗрдЯреНрд╕ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддрд╛рдд рддреЗрд╡реНрд╣рд╛ рдЪрд╛рд▓реВ рдХрд░реНрдирд▓рдордзреАрд▓ рдмрджрд▓ рдЕрд╡рд░реЛрдзрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрддреЗ рд╕реНрд╡рддрдВрддреНрд░ рдореЙрдбреНрдпреВрд▓ LKRG (рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдирд▓ рд░рдирдЯрд╛рдЗрдо рдЧрд╛рд░реНрдб).

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

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