GrSecurity / PaX: рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╕реБрд░рдХреНрд╖рд╛ рд╕реНрддрд░

(рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓реЗрдЦ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рд╡рд┐рд╖рдп рдореЗрдВ рд╣реИрдВред рдмрд╛рдХреА рдХреЛ рдореЗрд░реЗ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦреЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реЛрдЧреАред

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

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВрдиреЗ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рд╕рд╛ рдкреНрд░рджрд░реНрд╢рди рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ GrSecurity / PaX рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рддрдирд╛ рдзреАрдорд╛ рд╣реИред K2 рдХреЗ рд╕рд╛рде рдХрд░реНрдиреЗрд▓ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рдВрдЧрд▓ рдпреВрдЬрд░ рдореЛрдб рдореЗрдВ 322-рдмрд┐рдЯ OS рдореЗрдВ Core2Duo рдкрд░ рдЯреЗрд╕реНрдЯ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдП рдЧрдП рдереЗ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ + sys рдХрд╛ рдФрд╕рдд рдореВрд▓реНрдп рддреАрди рд░рди рд╕реЗ рдЕрдзрд┐рдХ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рдХрд░реНрдиреЗрд▓ рдмрд┐рд▓реНрдб рдЧрддрд┐ рдХреА рддреБрд▓рдирд╛ рдорд╛рдирдХ рдПрдХ рд╕реЗ рдХреА рдЧрдИ рдереА: рдХрд░реНрдиреЗрд▓ рдореЗрдВ PSecurity рдФрд░ PaX рдХреЛ рдЕрдХреНрд╖рдо рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдХрдареЛрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред , рдЬреАрд╕реАрд╕реА)ред

рддреЛ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 6 рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╕реБрд░рдХреНрд╖рд╛ рд╕реНрддрд░ рд╣реИрдВ ( Security options тЖТ Grsecurity тЖТ Security Level ):
  1. рдХрдо
  2. рдордзреНрдпрдо
  3. рдЙрдЪреНрдЪ
  4. рдХрдареЛрд░ рдЬреЗрдВрдЯреВ [рд╕рд░реНрд╡рд░]
  5. рдХрдареЛрд░ рдЬреЗрдВрдЯреВ [рдХрд╛рд░реНрдп рдХреЗрдВрджреНрд░]
  6. рдХрдареЛрд░ рдЬреЗрдВрдЯреВ [рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди]
рдореИрдВрдиреЗ рдирд┐рдореНрди рдФрд░ рдордзреНрдпрдо рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ - рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╡реЗ рдХрд┐рд╕реА рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

рдпрд╣рд╛рдВ рдХрд░реНрдиреЗрд▓ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рджреА рдЧрдИ рд╣реИ, рдЬреЛ рдЗрди рд╕реБрд░рдХреНрд╖рд╛ рд╕реНрддрд░реЛрдВ ("+" рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╡рд┐рдХрд▓реНрдк рдЪрд╛рд▓реВ рд╣реИ, "-" рдХрд┐ рд╡рд┐рдХрд▓реНрдк рдмрдВрдж рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдХреБрдЫ рднреА рдирд╣реАрдВ - рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдореВрд▓реНрдп рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ):
рдЙрдЪреНрдЪрд╕рд░реНрд╡рд░wsvirt
CONFIG_X86_32_LAZY_GS--
CONFIG_CC_STACKPROTECTOR--
CONFIG_GRKERNSEC_IO+
CONFIG_GRKERNSEC_KERN_LOCKOUT+
CONFIG_GRKERNSEC_PROC_ADD++
CONFIG_GRKERNSEC_SYSFS_RESTRICT+
CONFIG_GRKERNSEC_PROC_IPADDR+++
CONFIG_GRKERNSEC_RWXMAP_LOG+++
CONFIG_GRKERNSEC_SYSCTL+++
CONFIG_GRKERNSEC_SYSCTL_ON+++
CONFIG_PAX_PER_CPU_PGD+++-
CONFIG_PAX_ELFRELOCS+
CONFIG_PAX_KERNEXEC+++-
CONFIG_PAX_KERNEXEC_MODULE_TEXT444-
CONFIG_PAX_MEMORY_SANITIZE+++
CONFIG_PAX_MEMORY_UDEREF++-
(CC_STACKPROTECTOR рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ PAX_MEMORY_UDEREF рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░рдг рд╣реЛрддрд╛ рд╣реИред)

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

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣рд╛рдВ рдЙрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рджреА рдЧрдИ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рднреА рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╕реБрд░рдХреНрд╖рд╛ рд╕реНрддрд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВ рдмрджрд▓реЗ рдЧрдП рд╣реИрдВ, рдЕрд░реНрдерд╛рддреНред рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ (рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЙрдиреНрд╣реЗрдВ CONFIG_ * рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдФрд░ menuconfig рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рджрд┐рдЦрд╛рдКрдВрдЧрд╛):
 CONFIG_GRKERNSEC_ACL_HIDEKERN CONFIG_GRKERNSEC_EXECLOG CONFIG_GRKERNSEC_CHROOT_EXECLOG CONFIG_GRKERNSEC_AUDIT_PTRACE CONFIG_GRKERNSEC_AUDIT_CHDIR CONFIG_GRKERNSEC_AUDIT_TEXTREL CONFIG_GRKERNSEC_BLACKHOLE CONFIG_PAX_EMUTRAMP CONFIG_PAX_MPROTECT_COMPAT CONFIG_PAX_MEMORY_STACKLEAK Grsecurity ---> [*] Grsecurity Role Based Access Control Options ---> [ ] Hide kernel processes Kernel Auditing ---> [ ] Exec logging [ ] Log execs within chroot [ ] Ptrace logging [ ] Chdir logging [ ] ELF text relocations logging (READ HELP) Network Protections ---> [ ] TCP/UDP blackhole and LAST_ACK DoS prevention PaX ---> [*] Enable various PaX features Non-executable pages ---> [ ] Emulate trampolines [ ] Use legacy/compat protection demoting (read help) Miscellaneous hardening features ---> [ ] Sanitize kernel stack 

рдЕрдиреНрдп рд╕рднреА GrSecurity / PaX рд╡рд┐рдХрд▓реНрдк рд╕рднреА рд╕реБрд░рдХреНрд╖рд╛ рд╕реНрддрд░реЛрдВ рдкрд░ рд╕рдХреНрд╖рдо рд╣реИрдВред

рдЕрдм рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдПред рд╕реБрд░рдХреНрд╖рд╛ рдмрдврд╝рд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рд╕реЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ 5% рдХреА рдЧрд┐рд░рд╛рд╡рдЯ рд╣реЛрддреА рд╣реИред CONFIG_PAX_MEMORY_STACKLEAK рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рд╕реЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдЧрд┐рд░рд╛рд╡рдЯ 3% рддрдХ рдХрдо рд╣реЛ рдЬрд╛рддреА рд╣реИред CONFIG_PAX_MEMORY_SANITIZE рдХрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╢рдЯрдбрд╛рдЙрди - 1% рддрдХ ред рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ, рдореЗрд░реА рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░рд╛рдп рдпрд╣ рд╣реИ рдХрд┐ рдЗрди рджреЛрдиреЛрдВ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдХрд╛рд░реНрдпрд╕реНрдерд╛рдиреЛрдВ рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рдмрд┐рд▓реНрдХреБрд▓ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред GrSecurity / PaX рдХреА рд▓рдЧрднрдЧ рд╕рднреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрджрд▓реЗ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдХрд╛ 1% рдЦреЛрдирд╛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдпрд╣ рдЗрди рджреЛ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ 4% рдЦреЛрдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ рдпрд╛ рдирд╣реАрдВред

рдФрд░ рдЕрдВрдд рдореЗрдВ, рдПрдХ рдирд┐рдпрдорд┐рдд рд╣реЛрдо рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди рдХреЗ рд╕рд╛рде рдпрд╣ рд╕рдм рдХреА рдЕрдиреБрдХреВрд▓рддрд╛ - рдЬрд╣рд╛рдВ рдЖрдкрдХреЛ рдПрдХреНрд╕рдПрд╕, рдорд╛рд▓рд┐рдХрд╛рдирд╛ рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдПрдирд╡реАрдбрд┐рдпрд╛, рд╕реНрдХрд╛рдЗрдк рдФрд░ рд╡реАрдПрдорд╡реЗрдпрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╕реНрдерд┐рддрд┐ рдмрджрд▓ рд╕рдХрддреА рд╣реИред

Source: https://habr.com/ru/post/In137171/


All Articles