TL;DR. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΠΈΡΡΠ»Π΅Π΄ΡΠ΅ΠΌ Π·Π°ΡΠΈΡΠ½ΡΠ΅ ΡΡ Π΅ΠΌΡ (hardening schemes), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΠΏΡΡΠΈ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ Linux. ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΌΡ Π²Π·ΡΠ»ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠ΄ΡΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π·Π°Π³ΡΡΠ·ΠΈΠ»ΠΈ Π²ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΈ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π»ΠΈ ΡΡ Π΅ΠΌΡ Π·Π°ΡΠΈΡΡ Π²ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ Π΄Π²ΠΎΠΈΡΠ½ΡΡ ΡΠ°ΠΉΠ»Π°Ρ . Π Π°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Ρ OpenSUSE 12.4, Debian 9, CentOS, RHEL 6.10 ΠΈ 7, Π° ΡΠ°ΠΊΠΆΠ΅ Ubuntu 14.04, 12.04 ΠΈ 18.04 LTS.
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°ΡΡ, ΡΡΠΎ Π΄Π°ΠΆΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΡ
Π΅ΠΌΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΡΠ΅ΠΊΠΎΠ²ΡΠ΅ ΠΊΠ°Π½Π°ΡΠ΅ΠΉΠΊΠΈ ΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΉ ΠΎΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΠΊΠΎΠ΄, Π΅ΡΡ Π½Π΅ Π²ΡΠ΅ΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ. Π‘ΠΈΡΡΠ°ΡΠΈΡ Π΅ΡΡ Ρ
ΡΠΆΠ΅ Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ², ΠΊΠΎΠ³Π΄Π° ΡΠ΅ΡΡ ΠΈΠ΄ΡΡ ΠΎ Π·Π°ΡΠΈΡΠ΅ ΠΎΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ Π²ΡΠΎΠ΄Π΅ ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΡΡΠ΅ΠΊΠ° (stack clash), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΏΠ°Π»ΠΈ Π² ΡΠ΅Π½ΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ Π² ΡΠ½Π²Π°ΡΠ΅ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΠΎΠΊΠ°Π·Π°Π»Π°, ΡΡΠΎ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π·Π°ΡΠΈΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π² Ubuntu 18.04 Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΠ‘ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π·Π°ΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ Debian 9. Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Π² OpenSUSE 12.4, CentOS 7 ΠΈ RHEL 7 ΡΠΎΠΆΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΡΡ
Π΅ΠΌΡ Π·Π°ΡΠΈΡΡ, Π° Π·Π°ΡΠΈΡΠ° ΠΎΡ ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΡΡΠ΅ΠΊΠ° ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π΅ΡΡ ΡΠΈΡΠ΅ ΠΏΡΠΈ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΠ»ΠΎΡΠ½ΠΎΠΌ Π½Π°Π±ΠΎΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π’ΡΡΠ΄Π½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π²ΡΡΠΎΠΊΠΎΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ΄Π° ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ΅ΡΡ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ² ΠΈ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΠ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΡΡΡΠ°Π΄Π°Π΅Ρ ΠΎΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠΈΡΡΡΡΡΡ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠ°ΠΌΠΈ. Π‘ΠΈΡΡΠ°ΡΠΈΡ Π΅ΡΡ Ρ ΡΠΆΠ΅ Π² ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΉ ΠΊΠΎΠ΄. Π ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΌΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π΅ΠΌΡΡ Ρ Π²Π΅ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ ΠΏΠΎΠΈΡΠΊΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠΈΡΡΠ΅ΠΌΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ, Π½ΠΎ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Ρ ΠΆΡΡΡΠΊΠΈΠΌΠΈ ΡΠ°ΠΌΠΊΠ°ΠΌΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΡΡΠΎ ΡΡΠ΅Π±ΡΡΡ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΉ, Π° Π΅ΡΡ Ρ ΡΠΆΠ΅ ΡΡΠ·Π²ΠΈΠΌΡΠΉ ΠΈΠ»ΠΈ Π³Π»ΡΡΠ½ΡΠΉ ΠΊΠΎΠ΄.
ΠΠ΄Π΅ΡΡ Π² ΠΈΠ³ΡΡ Π²ΡΡΡΠΏΠ°ΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ Π·Π°ΡΠΈΡΡ ΠΈΠ»ΠΈ ΡΡΠΈΠ»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ (hardening). ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΈΠΏΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΌΡ Π½Π΅ Π² ΡΠΈΠ»Π°Ρ
ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ, Π·Π°ΡΠΎ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΠΆΠΈΠ·Π½Ρ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠ° ΡΠ»ΠΎΠΆΠ½Π΅Π΅ ΠΈ ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΡΠ΅ΡΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΠ² ΠΈΠ»ΠΈ ΠΏΠΎΠΌΠ΅ΡΠ°Π² ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ ΡΡΠΈΡ
ΠΎΡΠΈΠ±ΠΎΠΊ. Π’Π°ΠΊΠ°Ρ Π·Π°ΡΠΈΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΠΎ Π²ΡΠ΅Ρ
ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΠ‘, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠΈΠ»ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΏΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ, ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ: ΠΎΡ ΡΡΠ΅ΠΊΠΎΠ²ΡΡ
ΠΊΠ°Π½Π°ΡΠ΅Π΅ΠΊ (stack canaries) ΠΈ
CVE ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ
ΠΡΠ΅ ΠΌΡ Π²ΠΈΠ΄Π΅Π»ΠΈ ΡΡΠ°ΡΡΠΈ Ρ Π½Π°Π·Π²Π°Π½ΠΈΡΠΌΠΈ Π²ΡΠΎΠ΄Π΅ Β«Π‘Π°ΠΌΡΠ΅ ΡΡΠ·Π²ΠΈΠΌΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π³ΠΎΠ΄Π°Β» ΠΈΠ»ΠΈ Β«Π‘Π°ΠΌΡΠ΅ ΡΡΠ·Π²ΠΈΠΌΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡΒ». ΠΠ±ΡΡΠ½ΠΎ ΡΠ°ΠΌ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΠΏΠΎ ΠΎΠ±ΡΠ΅ΠΌΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΎΠ± ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΡ
ΡΠΈΠΏΠ°
ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΠ±ΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ CVE Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΠ΅ Π³ΠΎΠ΄Π° Π΄Π»Ρ ΡΠ΄ΡΠ° Linux ΠΈ ΠΏΡΡΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ², Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Ubuntu, Debian, Red Hat Enterprise Linux ΠΈ OpenSUSE.
Π ΠΈΡ. 1
Π§ΡΠΎ Π½Π°ΠΌ Π³ΠΎΠ²ΠΎΡΠΈΡ ΡΡΠΎΡ Π³ΡΠ°ΡΠΈΠΊ? ΠΠ·Π½Π°ΡΠ°Π΅Ρ Π»ΠΈ Π±ΠΎΠ»ΡΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ CVE, ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² Π±ΠΎΠ»Π΅Π΅ ΡΡΠ·Π²ΠΈΠΌ, ΡΠ΅ΠΌ Π΄ΡΡΠ³ΠΎΠΉ? ΠΡΠ²Π΅ΡΠ° Π½Π΅Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ Π² Debian ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π±ΠΎΠ»Π΅Π΅ ΠΆΡΡΡΠΊΠΈΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ Π·Π°ΡΠΈΡΡ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ, ΡΠΊΠ°ΠΆΠ΅ΠΌ, Ρ OpenSUSE ΠΈΠ»ΠΈ RedHat Linux, ΠΈ Π²ΡΡ ΠΆΠ΅ Ρ Debian Π±ΠΎΠ»ΡΡΠ΅ CVE. ΠΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ·Π½Π°ΡΠ°ΡΡ ΠΎΡΠ»Π°Π±Π»Π΅Π½Π½ΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ: Π΄Π°ΠΆΠ΅ Π½Π°Π»ΠΈΡΠΈΠ΅ CVE Π½Π΅ Π³ΠΎΠ²ΠΎΡΠΈΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ. ΠΠ°Π»Π»Ρ ΡΠ΅ΡΡΡΠ·Π½ΠΎΡΡΠΈ Π΄Π°ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ, Π½ΠΎ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΈΡΠΎΠ³Π΅ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠΈΡΡΠ΅ΠΌΠΎΡΡΡ Π² Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π·Π°ΡΠΈΡΡ, ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡΠ΅ΠΉ Π² Π·Π°ΡΡΠΎΠ½ΡΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ , Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΡ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠΎΠ². ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΎΡΡΡΡΠΎΠ² CVE Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ Π΄ΡΡΠ³ΠΈΡ Π½Π΅Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΈΠ»ΠΈ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΡ . Π Π°Π·Π½ΠΈΡΠ° Π² CVE ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΡΡΠ½ΡΡΡΡΡ Π½Π΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΠ, Π° Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ°ΠΊΡΠΎΡΠ°ΠΌΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ΅ΡΡΡΡΡ, Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π½Π° ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΈΠ»ΠΈ ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ Π±Π°Π·Ρ. Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ CVE Ρ Debian ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΡΡΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Debian ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ.
Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, ΡΠΈΡΡΠ΅ΠΌΠ° CVE Π΄Π°ΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π·Π°ΡΠΈΡΡ. Π§Π΅ΠΌ Π»ΡΡΡΠ΅ ΠΌΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ ΠΏΡΠΈΡΠΈΠ½Ρ ΡΠ±ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ΅ΠΌ ΠΏΡΠΎΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΡ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ° ΡΠΈΡ.Β 2 ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ Π΄Π»Ρ Π²ΡΠ΅Ρ
Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ² Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΠ΅ Π³ΠΎΠ΄Π° (
Π ΠΈΡ. 2
ΠΠ°Π΄Π°ΡΠΈ
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ Π½Π°ΠΌΠ΅ΡΠ΅Π½Ρ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π²ΠΎΠΏΡΠΎΡΡ:
- ΠΠ°ΠΊΠΎΠ²Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ² Linux? ΠΠ°ΠΊΠΈΠ΅ Π·Π°ΡΠΈΡΠ½ΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π² ΡΠ΄ΡΠ΅ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°?
- ΠΠ°ΠΊ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ ΠΏΡΠΈΠ½ΡΡΠΈΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π·Π°ΡΠΈΡΡ Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ²?
- ΠΠ°ΠΊΠΎΠ²Ρ ΡΡΠ΅Π΄Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°?
- ΠΠ°ΠΊΠΈΠ΅ Π·Π°ΡΠΈΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊΠ°?
ΠΡΠ±ΠΎΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ²
ΠΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, ΡΠ»ΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΡΠΎΡΠ½ΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΠΏΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ°ΠΌ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ², ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°Π³ΡΡΠ·ΠΎΠΊ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅Π°Π»ΡΠ½ΡΡ
ΡΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π²Π°ΡΠΈΠ°Π½ΡΡ Unix ΡΠΎΡΡΠ°Π²Π»ΡΡΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ
ΡΠΈΡΡΠ΅ΠΌ (Π½Π° Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ
69,2%, ΠΏΠΎ
ΠΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²/Π²Π΅ΡΡΠΈΡ
Π―Π΄ΡΠΎ
ΠΠΈΠ»Π΄
OpenSUSE 12.4
4.12.14-95.3-default
#1 SMP Wed Dec 5 06:00:48 UTC 2018 (63a8d29)
Debian 9 (stretch)
4.9.0-8-amd64
#1 SMP Debian 4.9.130-2 (2018-10-27)
CentOS 6.10
2.6.32-754.10.1.el6.x86_64
#1 SMP Tue Jan 15 17:07:28 UTC 2019
CentOS 7
3.10.0-957.5.1.el7.x86_64
#1 SMP Fri Feb 1 14:54:57 UTC 2019
Red Hat Enterprise Linux Server 6.10 (Santiago)
2.6.32-754.9.1.el6.x86_64
#1 SMP Wed Nov 21 15:08:21 EST 2018
Red Hat Enterprise Linux Server 7.6 (Maipo)
3.10.0-957.1.3.el7.x86_64
#1 SMP Thu Nov 15 17:36:42 UTC 2018
Ubuntu 14.04 (Trusty Tahr)
4.4.0β140-generic
#166~14.04.1-Ubuntu SMP Sat Nov 17 01:52:43 UTC 20β¦
Ubuntu 16.04 (Xenial Xerus)
4.15.0β1026-gcp
#27~16.04.1-Ubuntu SMP Fri Dec 7 09:59:47 UTC 2018
Ubuntu 18.04 (Bionic Beaver)
4.15.0β1026-gcp
#27-Ubuntu SMP Thu Dec 6 18:27:01 UTC 2018
Π’Π°Π±Π»ΠΈΡΠ° 1
ΠΠ½Π°Π»ΠΈΠ·
ΠΠ·ΡΡΠΈΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠ΄ΡΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΠ΅ΡΠ΅Π· ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΌΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΈΠ· Π·Π΅ΡΠΊΠ°Π» ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°, ΠΈΠ³Π½ΠΎΡΠΈΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΈΠ· Π½Π΅ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π΅ΡΠΊΠ°Π» βtestingβ Π² Debian) ΠΈ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠ°ΠΊΠ΅ΡΡ Nvidia ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ Π·Π΅ΡΠΊΠ°Π»). ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΌΡ Π½Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΡΠ΄ΡΠ° ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½Π½ΠΎΠΉ Π·Π°ΡΠΈΡΠΎΠΉ.
ΠΠ½Π°Π»ΠΈΠ· ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠ΄ΡΠ°
ΠΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ»ΠΈ ΡΠΊΡΠΈΠΏΡ Π°Π½Π°Π»ΠΈΠ·Π° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅
Π ΡΠ΅Π»ΠΎΠΌ, Π² Π½ΠΎΠ²ΡΡ
ΡΠ΄ΡΠ°Ρ
Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠΎΠ³ΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ CentOS 6.10 ΠΈ RHEL 6.10 Π½Π° ΡΠ΄ΡΠ΅ 2.6.32 Π½Π΅Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ
Π² Π½ΠΎΠ²ΡΡ
ΡΠ΄ΡΠ°Ρ
, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ
ΠΡΡ ΠΎΠ΄ΠΈΠ½ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΡΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ²: Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠ΄ΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ Π°ΡΠ°ΠΊΠΈ, ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ. Π’Π°ΠΊΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ uprobes ΠΈ kprobes, ΠΌΠΎΠ΄ΡΠ»ΠΈ ΡΠ΄ΡΠ° ΠΈ BPF/eBPF. ΠΠ°ΡΠ° ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ Π·Π°ΡΠΈΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΈ Π½Π΅ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½Ρ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, Π° ΠΈΡ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ, ΡΡΠΎ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΠ΅ ΡΡΠ±ΡΠ΅ΠΊΡΡ ΡΠΆΠ΅ Π·Π°ΠΊΡΠ΅ΠΏΠΈΠ»ΠΈΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅. ΠΠΎ Π΅ΡΠ»ΠΈ ΡΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ, ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° Π·Π»ΠΎΡΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡΠΌΠΈ.
ΠΠ·ΡΡΠ°Ρ Π΄Π°Π»Π΅Π΅ Π·Π°ΠΏΠΈΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ 2, ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ΄ΡΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² Π΄Π»Ρ Π·Π°ΡΠΈΡΡ ΠΎΡ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ ΡΠ°ΠΊΠΈΡ
ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΠΊΠ°ΠΊ ΡΡΠ΅ΡΠΊΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°/ΠΊΡΡΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΌΡ Π·Π°ΠΌΠ΅ΡΠ°Π΅ΠΌ, ΡΡΠΎ Π΄Π°ΠΆΠ΅ ΡΠ°ΠΌΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Ρ Π΅ΡΡ Π½Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ Π·Π°ΡΠΈΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΏΠ°ΡΡΠ°ΠΌΠΈ
ΠΠ½Π°Π»ΠΈΠ· ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
ΠΠ΅ΡΠ΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΎ Ρ ΡΠ°Π·Π½ΡΡ
Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ² ΡΠ°Π·Π½ΡΠ΅ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈ Ρ.Β Π΄. Π Π°Π·Π»ΠΈΡΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π΄Π°ΠΆΠ΅ Π΄Π»Ρ
ΠΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Ρ
Π ΠΎΠ±ΡΠ΅ΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΌΡ Π·Π°Π³ΡΡΠ·ΠΈΠ»ΠΈ 361Β 556 ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π΄Π»Ρ Π²ΡΠ΅Ρ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ², ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ°ΠΊΠ΅ΡΡ Ρ Π·Π΅ΡΠΊΠ°Π» ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΡ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΏΠ°ΠΊΠ΅ΡΡ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ELF, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΊΠΎΠ΄Ρ, ΡΡΠΈΡΡΡ ΠΈ Ρ.Β Π΄. ΠΠΎΡΠ»Π΅ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ ΠΎΡΡΠ°Π»ΠΎΡΡ 129Β 569 ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ Π² ΠΎΠ±ΡΠ΅ΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ 584Β 457 Π±ΠΈΠ½Π°ΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². Π Π°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°ΠΌ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡ.Β 3.
Π ΠΈΡ. 3
ΠΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΡΠ΅ΠΌ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½Π΅Π΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ², ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π² Π½ΡΠΌ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΈ Π΄Π²ΠΎΠΈΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΡΠΎ Π»ΠΎΠ³ΠΈΡΠ½ΠΎ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΏΠ°ΠΊΠ΅ΡΡ Ubuntu ΠΈ Debian Π²ΠΊΠ»ΡΡΠ°ΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π΄Π²ΠΎΠΈΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² (ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ , ΡΠ°ΠΊ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ), ΡΠ΅ΠΌ CentOS, SUSE ΠΈ RHEL, ΡΡΠΎ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ Π°ΡΠ°ΠΊΠΈ Ubuntu ΠΈ Debian (Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΡΠΈΡΡΡ ΠΎΡΡΠ°ΠΆΠ°ΡΡ Π²ΡΠ΅ Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊΠΈ Π²ΡΠ΅Ρ Π²Π΅ΡΡΠΈΠΉ ΠΏΠ°ΠΊΠ΅ΡΠ°, ΡΠΎ Π΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΡΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·). ΠΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π²Π°ΠΆΠ½ΠΎ, Π΅ΡΠ»ΠΈ ΡΡΠ΅ΡΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ Π² Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ²Π»ΠΈΡΡΡ Π½Π° ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ°ΡΡΠΈ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΡ, ΠΊΠ°ΠΊ ΡΡΠ·Π²ΠΈΠΌΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ²Π»ΠΈΡΡΡ Π½Π° Π²ΡΠ΅ Π±ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΡΡΠΈΠ΅ Π΅Ρ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΎΡΠΊΠΈ ΠΎΡΡΡΡΡΠ° ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠΈΡΠ»Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΏΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΠ‘:
ΠΠΎΡΡΠΈ Π²ΠΎ Π²ΡΠ΅Ρ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ Ρ 60% ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΏΠΎ 10 Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ (Π±ΠΎΠ»Π΅Π΅ 100). Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΈ ΠΊ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΌ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²: ΠΊΠ°ΠΊ ΠΈ ΠΎΠΆΠΈΠ΄Π°Π»ΠΎΡΡ, Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π΅, ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π² ΡΡΠΈΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΈΠ·Π±ΡΠ°Π½Π½ΡΡ ΠΈΠΌΠ΅ΡΡ Π²ΡΡΠΎΠΊΠΈΠΉ ΡΠΈΡΠΊ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ 20 ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ Π² SLES, Centos 7, Debian 9 ΠΈ Ubuntu 18.04 (Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠ΅ΠΉΠΊΠ΅ ΡΠΊΠ°Π·Π°Π½ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΏΠ°ΠΊΠ΅Ρ ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ).
Π’Π°Π±Π»ΠΈΡΠ° 3
ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ ΡΠ°ΠΊΡ. Π₯ΠΎΡΡ Π²ΡΠ΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌΡΠ΅ ΠΠ‘ ΠΏΠΎΡΡΡΠΎΠ΅Π½Ρ Π΄Π»Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ x86_64, Π° Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΠΊΠ°ΠΊ x86_64 ΠΈ x86, Π½ΠΎ ΠΏΠ°ΠΊΠ΅ΡΡ ΡΠ°ΡΡΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡ.Β 5.
Π ΠΈΡ. 5
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΡΠ³Π»ΡΠ±ΠΈΠΌΡΡ Π² Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌΡΡ Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊΠΎΠ².
Π‘ΡΠ°ΡΠΈΡΡΠΈΠΊΠ° Π·Π°ΡΠΈΡΡ Π±ΠΈΠ½Π°ΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²
ΠΠ°ΠΊ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠΉ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ, Π½ΡΠΆΠ½ΠΎ ΠΈΠ·ΡΡΠΈΡΡ Π±Π°Π·ΠΎΠ²ΡΠΉ Π½Π°Π±ΠΎΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² Π·Π°ΡΠΈΡΡ Π΄Π»Ρ ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΡ Π±ΠΈΠ½Π°ΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ² Linux ΠΏΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ ΡΠΎ ΡΠΊΡΠΈΠΏΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Debian/Ubuntu Π΅ΡΡΡ ΡΠ°ΠΊΠΎΠΉ ΡΠΊΡΠΈΠΏΡ. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΡ:
$ hardening-check $(which docker)
/usr/bin/docker:
Position Independent Executable: yes
Stack protected: yes
Fortify Source functions: no, only unprotected functions found!
Read-only relocations: yes
Immediate binding: yes
Π‘ΠΊΡΠΈΠΏΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΏΡΡΡ
- Position Independent Executable (PIE): ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ°Π·Π΄Π΅Π» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΡΠΎΠ±Ρ Π΄ΠΎΠ±ΠΈΡΡΡΡ ΡΠ°Π½Π΄ΠΎΠΌΠΈΠ·Π°ΡΠΈΠΈ, Π΅ΡΠ»ΠΈ Π² ΡΠ΄ΡΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½ ASLR.
- Stack Protected: Π²ΠΊΠ»ΡΡΠ΅Π½Ρ Π»ΠΈ ΡΡΠ΅ΠΊΠΎΠ²ΡΠ΅ ΠΊΠ°Π½Π°ΡΠ΅ΠΉΠΊΠΈ Π΄Π»Ρ Π·Π°ΡΠΈΡΡ ΠΎΡ Π°ΡΠ°ΠΊ Π½Π° ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°.
- Fortify Source: Π·Π°ΠΌΠ΅Π½ΡΡΡΡΡ Π»ΠΈ Π½Π΅Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, strcpy) ΠΈΡ Π±ΠΎΠ»Π΅Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΌΠΈ Π°Π½Π°Π»ΠΎΠ³Π°ΠΌΠΈ, Π° ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌΡΠ΅ Π² ΡΠ°Π½ΡΠ°ΠΉΠΌΠ΅ Π²ΡΠ·ΠΎΠ²ΡΒ β ΠΈΡ Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌΡΠΌΠΈ Π°Π½Π°Π»ΠΎΠ³Π°ΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, memcpy Π²ΠΌΠ΅ΡΡΠΎ __memcpy_chk).
- Read-only relocations (RELRO): ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Ρ Π»ΠΈ Π·Π°ΠΏΠΈΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊ Β«ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡΒ», Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Π΄ΠΎ Π½Π°ΡΠ°Π»Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
- Immediate binding (Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½Π°Ρ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ°): ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ Π»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠΈΠΊ ΡΡΠ΅Π΄Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ Π½Π°ΡΠ°Π»ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (ΡΡΠΎ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎ ΠΏΠΎΠ»Π½ΠΎΠΌΡ RELRO).
ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π»ΠΈ Π²ΡΡΠ΅ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΡ
ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΎΠ²? Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π½Π΅Ρ. ΠΠ·Π²Π΅ΡΡΠ½Ρ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΎΠ±Ρ
ΠΎΠ΄Π° Π²ΡΠ΅Ρ
Π²ΡΡΠ΅ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΡ
Π·Π°ΡΠΈΡ, Π½ΠΎ ΡΠ΅ΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΆΡΡΡΠΊΠ°Ρ Π·Π°ΡΠΈΡΠ°, ΡΠ΅ΠΌ Π²ΡΡΠ΅ ΠΏΠ»Π°Π½ΠΊΠ° Π΄Π»Ρ Π°ΡΠ°ΠΊΡΡΡΠ΅Π³ΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,
ΠΡ Ρ ΠΎΡΠ΅Π»ΠΈ ΠΈΠ·ΡΡΠΈΡΡ, ΠΊΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΈΠ½Π°ΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΡΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ Π·Π°ΡΠΈΡΠ΅Π½Ρ ΡΡΠΈΠΌΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ Π΅ΡΡ ΡΡΠ΅ΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ:
- ΠΠ΅ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ Π±ΠΈΡ (
NX ) ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ΅Π³ΠΈΠΎΠ½Π΅, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π² ΠΊΡΡΠ΅ ΡΡΠ΅ΠΊΠ° ΠΈ Ρ.Β Π΄. RPATH/RUNPATH ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΏΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠΎΠΌ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. ΠΠ΅ΡΠ²ΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ Π΄Π»Ρ Π»ΡΠ±ΠΎΠΉ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ: Π΅Π³ΠΎ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠ°ΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ Π² ΠΏΠ°ΠΌΡΡΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΅Ρ ΠΊΠ°ΠΊ Π΅ΡΡΡ. ΠΠ»Ρ Π²ΡΠΎΡΠΎΠ³ΠΎ Π½Π΅Π²Π΅ΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΏΡΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ Π² Π²Π²Π΅Π΄Π΅Π½ΠΈΠΈ Π½Π΅Π½Π°Π΄ΡΠΆΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΡΡΠ΄Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,ΡΡΠΊΠ°Π»Π°ΡΠΈΡ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ , Π° ΡΠ°ΠΊΠΆΠ΅Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ).- ΠΠ°ΡΠΈΡΠ° ΠΎΡ ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΡΡΠ΅ΠΊΠ° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π·Π°ΡΠΈΡΡ ΠΎΡ Π°ΡΠ°ΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΡΡΠ°Π²Π»ΡΡΡ ΡΡΠ΅ΠΊ Π½Π°Π»ΠΎΠΆΠΈΡΡΡΡ Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° ΠΊΡΡΡ). Π£ΡΠΈΡΡΠ²Π°Ρ Π½Π΅Π΄Π°Π²Π½ΠΈΠ΅ ΡΠΊΡΠΏΠ»ΠΎΠΉΡΡ, Π·Π»ΠΎΡΠΏΠΎΡΡΠ΅Π±Π»ΡΡΡΠΈΠ΅
ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠΌΠΈ ΡΠΎ ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ΠΌ ΠΊΡΡΠΈ Π² systemd , ΠΌΡ ΡΠΎΡΠ»ΠΈ ΡΠΌΠ΅ΡΡΠ½ΡΠΌ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΡΠΎΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π² Π½Π°Ρ Π½Π°Π±ΠΎΡ Π΄Π°Π½Π½ΡΡ .
ΠΡΠ°ΠΊ, Π±Π΅Π· Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠΈΡ ΡΠ΅ΡΠ΅ΠΌΠΎΠ½ΠΈΠΉ, ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΡΠΌ ΠΊ ΡΠΈΡΠ»Π°ΠΌ. Π’Π°Π±Π»ΠΈΡΡ 4 ΠΈ 5 ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π²ΡΠΆΠΈΠΌΠΊΡ Π°Π½Π°Π»ΠΈΠ·Π° ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ², ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
- ΠΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, Π·Π°ΡΠΈΡΠ° NX ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²Π΅Π·Π΄Π΅, Π·Π° ΡΠ΅Π΄ΠΊΠΈΠΌΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌΠΈ. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΎΠ΅ Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ Ubuntu ΠΈ Debian ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ CentOS, RHEL ΠΈ OpenSUSE.
- Π‘ΡΠ΅ΠΊΠΎΠ²ΡΠ΅ ΠΊΠ°Π½Π°ΡΠ΅ΠΉΠΊΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π³Π΄Π΅ ΠΎΡΡΡΡΡΡΠ²ΡΡΡ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ ΡΠΎ ΡΡΠ°ΡΡΠΌΠΈ ΡΠ΄ΡΠ°ΠΌΠΈ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΠ³ΡΠ΅ΡΡ Π½Π°Π±Π»ΡΠ΄Π°Π΅ΡΡΡ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ Centos, RHEL, Debian ΠΈ Ubuntu.
- ΠΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Debian ΠΈ Ubuntu 18.04, Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ² ΠΏΠ»ΠΎΡ Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° PIE.
- ΠΠ°ΡΠΈΡΠ° ΠΎΡ ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΉ ΡΡΠ΅ΠΊΠ° ΡΠ»Π°Π±ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² OpenSUSE, Centos 7 ΠΈ RHEL 7 ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ .
- ΠΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Ρ Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΡΠ΄ΡΠ°ΠΌΠΈ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ RELRO, ΠΏΡΠΈ ΡΡΠΎΠΌ Π»ΠΈΠ΄ΠΈΡΡΠ΅Ρ Ubuntu 18.04, Π° Π²ΡΠΎΡΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Debian.
ΠΠ°ΠΊ ΡΠΆΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡ, ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π² ΡΡΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅Β β ΡΡΠ΅Π΄Π½ΠΈΠ΅ ΠΏΠΎ Π²ΡΠ΅ΠΌ Π²Π΅ΡΡΠΈΡΠΌ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΡΠ»ΠΈ ΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠΎ ΡΠΈΡΡΡ Π±ΡΠ΄ΡΡ Π΄ΡΡΠ³ΠΈΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΌ.
Π’Π°Π±Π»ΠΈΡΠ° 4. Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π·Π°ΡΠΈΡΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ², ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΡΡ
Π½Π° ΡΠΈΡ.Β 3 (ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ
ΡΡΠ½ΠΊΡΠΈΠΉ Π² ΠΏΡΠΎΡΠ΅Π½ΡΠ°Ρ
ΠΎΡ ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ²)
Π’Π°Π±Π»ΠΈΡΠ° 5. Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π·Π°ΡΠΈΡΡ Π΄Π»Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΡΡ
Π½Π° ΡΠΈΡ.Β 3 (ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ
ΡΡΠ½ΠΊΡΠΈΠΉ Π² ΠΏΡΠΎΡΠ΅Π½ΡΠ°Ρ
ΠΎΡ ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ)
Π’Π°ΠΊ ΠΏΡΠΎΠ³ΡΠ΅ΡΡ Π΅ΡΡΡ? ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎ Π΅ΡΡΡ: ΡΡΠΎ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ ΠΏΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°ΠΌ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΡΡΠ΄ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠ°Π·Π½ΡΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π½Π΅ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΡΡ Π·Π°ΡΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Π·Π³Π»ΡΠ½ΡΠ² Π½Π° Ubuntu 18.04, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊ ngetty (Π·Π°ΠΌΠ΅Π½Π° getty), Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ mksh ΠΈ lksh, ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ picolisp, ΠΏΠ°ΠΊΠ΅ΡΡ nvidia-cuda-toolkit (ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ GPU-ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ΠΌ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ) ΠΈ klibc-utils. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ, Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊ mandos-client (Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ Ρ Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ), Π° ΡΠ°ΠΊΠΆΠ΅ rsh-redone-client (ΠΏΠΎΠ²ΡΠΎΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ rsh ΠΈ rlogin) ΠΏΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ Π±Π΅Π· Π·Π°ΡΠΈΡΡ NX, Ρ ΠΎΡΡ Ρ Π½ΠΈΡ ΠΏΡΠ°Π²Π° SUID :(. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ suid-Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊΠ°Ρ Π½Π΅Ρ Π±Π°Π·ΠΎΠ²ΠΎΠΉ Π·Π°ΡΠΈΡΡ, ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ ΡΡΠ΅ΠΊΠΎΠ²ΡΠ΅ ΠΊΠ°Π½Π°ΡΠ΅ΠΉΠΊΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» Xorg.wrap ΠΈΠ· ΠΏΠ°ΠΊΠ΅ΡΠ° Xorg).
Π Π΅Π·ΡΠΌΠ΅ ΠΈ Π·Π°ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΡ
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ Π²ΡΠ΄Π΅Π»ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ²ΠΎΠΉΡΡΠ² Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ² Linux. ΠΠ½Π°Π»ΠΈΠ· ΠΏΠΎΠΊΠ°Π·Π°Π», ΡΡΠΎ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π΅ Ubuntu LTS (18.04) ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² ΡΡΠ΅Π΄Π½Π΅ΠΌ ΡΠ°ΠΌΠ°Ρ ΡΠΈΠ»ΡΠ½Π°Ρ Π·Π°ΡΠΈΡΠ° ΡΡΠΎΠ²Π½Ρ ΠΠ‘ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΡΠ΅Π΄ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ² Ρ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½ΠΎΠ²ΡΠΌΠΈ ΡΠ΄ΡΠ°ΠΌΠΈ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Ubuntu 14.04, 12.04 ΠΈ Debian 9. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Ρ CentOS, RHEL ΠΈ OpenSUSE Π² Π½Π°ΡΠ΅ΠΌ Π½Π°Π±ΠΎΡΠ΅ Π΄Π°Π½Π½ΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΡΠ΄Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠ»ΠΎΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², Π° Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΡ (CentOS ΠΈ RHEL) ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΈΠΉ ΠΏΡΠΎΡΠ΅Π½Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π·Π°ΡΠΈΡΡ ΠΎΡ ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΡΡΠ΅ΠΊΠ°, ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ°ΠΌΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Debian (Debian ΠΈ Ubuntu). Π‘ΡΠ°Π²Π½ΠΈΠ²Π°Ρ Π²Π΅ΡΡΠΈΠΈ CentOS ΠΈ RedHat, ΠΌΡ Π·Π°ΠΌΠ΅ΡΠ°Π΅ΠΌ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ Π²ΠΎ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠΈ ΡΡΠ΅ΠΊΠΎΠ²ΡΡ ΠΊΠ°Π½Π°ΡΠ΅Π΅ΠΊ ΠΈ RELRO Ρ Π²Π΅ΡΡΠΈΠΉ 6 Π΄ΠΎ 7, Π½ΠΎ Π² ΡΡΠ΅Π΄Π½Π΅ΠΌ Π² CentOS ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠ΅ΠΌ Π² RHEL. Π ΡΠ΅Π»ΠΎΠΌ, Π²ΡΠ΅ΠΌ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ΄Π΅Π»ΠΈΡΡ ΠΎΡΠΎΠ±ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π·Π°ΡΠΈΡΠ΅ PIE, ΠΊΠΎΡΠΎΡΠ°Ρ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Debian 9 ΠΈ Ubuntu 18.04, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΌΠ΅Π½Π΅Π΅ ΡΠ΅ΠΌ Π² 10% Π±ΠΈΠ½Π°ΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· Π½Π°ΡΠ΅Π³ΠΎ Π½Π°Π±ΠΎΡΠ° Π΄Π°Π½Π½ΡΡ .
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ: Ρ
ΠΎΡΡ ΠΌΡ ΠΏΡΠΎΠ²Π΅Π»ΠΈ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΡΡΠ½ΡΡ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com