Π’ΠΎΠ²Π΅Π΄Π΅Π½ΠΈ Π·Π°ΠΊΡ€ΠΏΠΈ Π·Π° Ρ€Π°Π½Π΄ΠΎΠΌΠΈΠ·ΠΈΡ€Π°ΡšΠ΅ Π½Π° адрСси Π½Π° ΠΌΠ°Π³Π°Ρ†ΠΈΠ½ΠΎΡ‚ Π½Π° ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ Π½Π° Linux Π·Π° систСмски ΠΏΠΎΠ²ΠΈΡ†ΠΈ

Кис ΠšΡƒΠΊ, ΠΏΠΎΡ€Π°Π½Π΅ΡˆΠ΅Π½ Π³Π»Π°Π²Π΅Π½ систСмски администратор Π½Π° kernel.org ΠΈ Π²ΠΎΠ΄Π°Ρ‡ Π½Π° бСзбСдносниот Ρ‚ΠΈΠΌ Π½Π° Ubuntu, кој сСга Ρ€Π°Π±ΠΎΡ‚ΠΈ Π²ΠΎ Google Π½Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ Π½Π° Android ΠΈ ChromeOS, објави Π·Π±ΠΈΡ€ Π½Π° Π·Π°ΠΊΡ€ΠΏΠΈ Π·Π° Ρ€Π°Π½Π΄ΠΎΠΌΠΈΠ·ΠΈΡ€Π°ΡšΠ΅ ΠΏΠΎΠΌΠ΅ΡΡ‚ΡƒΠ²Π°ΡšΠ° Π²ΠΎ стСкот Π½Π° ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° систСмски ΠΏΠΎΠ²ΠΈΡ†ΠΈ. Π—Π°ΠΊΡ€ΠΏΠΈ ја ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΡƒΠ²Π°Π°Ρ‚ бСзбСдноста Π½Π° ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ со ΠΏΡ€ΠΎΠΌΠ΅Π½Π° Π½Π° поставСноста Π½Π° стСкот, ΡˆΡ‚ΠΎ Π³ΠΈ ΠΏΡ€Π°Π²ΠΈ Π½Π°ΠΏΠ°Π΄ΠΈΡ‚Π΅ Π½Π° стСкот ΠΌΠ½ΠΎΠ³Ρƒ ΠΏΠΎΡ‚Π΅ΡˆΠΊΠΈ ΠΈ ΠΏΠΎΠΌΠ°Π»ΠΊΡƒ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΈ. ΠŸΠΎΡ‡Π΅Ρ‚Π½Π°Ρ‚Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π° ARM64 ΠΈ x86/x86_64 процСсори.

ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π½Π°Ρ‚Π° идСја Π·Π° Π»Π΅ΠΏΠ΅Π½ΠΊΠ°Ρ‚Π° ΠΏΡ€ΠΈΠΏΠ°Ρ“Π° Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ PaX RANDKSTACK. Π’ΠΎ 2019 Π³ΠΎΠ΄ΠΈΠ½Π°, Π•Π»Π΅Π½Π° Π Π΅ΡˆΠ΅Ρ‚ΠΎΠ²Π°, ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ ΠΎΠ΄ Π˜Π½Ρ‚Π΅Π», сС ΠΎΠ±ΠΈΠ΄Π΅ Π΄Π° создадС ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° Π½Π° ΠΎΠ²Π°Π° идСја ΠΏΠΎΠ³ΠΎΠ΄Π½Π° Π·Π° Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°ΡšΠ΅ Π²ΠΎ Π³Π»Π°Π²Π½ΠΈΠΎΡ‚ ΠΊΠ΅Ρ€Π½Π΅Π» Π½Π° Линукс. ΠŸΠΎΠ΄ΠΎΡ†Π½Π°, ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°Ρ‚ΠΈΠ²Π°Ρ‚Π° ја ΠΏΡ€Π΅Π·Π΅Π΄Π΅ Kees Cook, кој прСтстави ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° ΠΏΠΎΠ³ΠΎΠ΄Π½Π° Π·Π° Π³Π»Π°Π²Π½Π°Ρ‚Π° Π²Π΅Ρ€Π·ΠΈΡ˜Π° Π½Π° ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚. Π—Π°ΠΊΡ€ΠΏΠΈΡ‚Π΅ сС ΠΏΠ»Π°Π½ΠΈΡ€Π° Π΄Π° Π±ΠΈΠ΄Π°Ρ‚ Π²ΠΊΠ»ΡƒΡ‡Π΅Π½ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π΅Π» ΠΎΠ΄ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅Ρ‚ΠΎ 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

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€