āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ• āĻ āĻŋāĻ•āĻžāĻ¨āĻžāĻ—ā§āĻ˛āĻŋ āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ¯āĻžāĻšāĻ—ā§āĻ˛āĻŋ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡

Kees Cook, kernel.org āĻāĻ° āĻĒā§āĻ°āĻžāĻ•ā§āĻ¤āĻ¨ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ…ā§āĻ¯āĻžāĻĄāĻŽāĻŋāĻ¨āĻŋāĻ¸ā§āĻŸā§āĻ°ā§‡āĻŸāĻ° āĻāĻŦāĻ‚ āĻ‰āĻŦā§āĻ¨ā§āĻŸā§ āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻ°āĻŋāĻŸāĻŋ āĻŸāĻŋāĻŽā§‡āĻ° āĻ¨ā§‡āĻ¤āĻž, āĻāĻ–āĻ¨ Android āĻāĻŦāĻ‚ ChromeOS āĻ¸ā§āĻ°āĻ•ā§āĻˇāĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ Google-āĻ āĻ•āĻžāĻœ āĻ•āĻ°āĻ›ā§‡āĻ¨, āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āĻ˛āĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ•ā§‡āĻ° āĻ…āĻĢāĻ¸ā§‡āĻŸāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ¯āĻžāĻšā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸ā§‡āĻŸ āĻĒā§āĻ°āĻ•āĻžāĻļ āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨ā§ˇ āĻĒā§āĻ¯āĻžāĻšāĻ—ā§āĻ˛āĻŋ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ• āĻĒā§āĻ˛ā§‡āĻ¸āĻŽā§‡āĻ¨ā§āĻŸ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ā§‡āĻ° āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ•āĻ°ā§‡, āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ•ā§‡āĻ° āĻ†āĻ•ā§āĻ°āĻŽāĻŖāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ†āĻ°āĻ“ āĻ•āĻ āĻŋāĻ¨ āĻāĻŦāĻ‚ āĻ•āĻŽ āĻ¸āĻĢāĻ˛ āĻ•āĻ°ā§‡ āĻ¤ā§‹āĻ˛ā§‡āĨ¤ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ ARM64 āĻāĻŦāĻ‚ x86/x86_64 āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻ° āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡āĨ¤

āĻĒā§āĻ¯āĻžāĻšā§‡āĻ° āĻŽā§‚āĻ˛ āĻ§āĻžāĻ°āĻŖāĻžāĻŸāĻŋ PaX RANDKSTACCK āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ—āĻ¤āĨ¤ 2019 āĻ¸āĻžāĻ˛ā§‡, āĻ‡āĻ¨ā§āĻŸā§‡āĻ˛ā§‡āĻ° āĻāĻ•āĻœāĻ¨ āĻĒā§āĻ°āĻ•ā§ŒāĻļāĻ˛ā§€ āĻāĻ˛ā§‡āĻ¨āĻž āĻ°ā§‡āĻļā§‡āĻŸā§‹āĻ­āĻž āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ā§‡ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤ āĻāĻ‡ āĻ§āĻžāĻ°āĻŖāĻžāĻŸāĻŋāĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡āĻ›āĻŋāĻ˛ā§‡āĻ¨āĨ¤ āĻĒāĻ°ā§‡, āĻ‰āĻĻā§āĻ¯ā§‹āĻ—āĻŸāĻŋ Kees āĻ•ā§āĻ• āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛, āĻ¯āĻŋāĻ¨āĻŋ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ā§‡āĻ° āĻŽā§‚āĻ˛ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤ āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°ā§‡āĻ›āĻŋāĻ˛ā§‡āĻ¨āĨ¤ āĻĒā§āĻ¯āĻžāĻšāĻ—ā§āĻ˛āĻŋ 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

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨