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 ΡΡΡΠΎ ΡΠ° Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΡΡ
Π΅ΠΌΠΈ Π·Π° Π·Π°ΡΠΈΡΠ°, Π° Π·Π°ΡΠΈΡΠ°ΡΠ° ΠΎΡ stack clash ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° ΠΎΡΠ΅ ΠΏΠΎ-ΡΠΈΡΠΎΠΊΠΎ Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π³ΡΡΡ Π½Π°Π±ΠΎΡ ΠΎΡ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅.
ΠΡΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π’ΡΡΠ΄Π½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΠΎΡΠΈΠ³ΡΡΠΈ Π²ΠΈΡΠΎΠΊΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ Π½Π° ΡΠΎΡΡΡΠ΅ΡΠ°. ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΎΠ³ΡΠΎΠΌΠ½ΠΈΡ Π±ΡΠΎΠΉ Π°Π²Π°Π½Π³Π°ΡΠ΄Π½ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΡΠ°ΡΠΈΡΠ΅Π½ Π°Π½Π°Π»ΠΈΠ· Π½Π° ΠΊΠΎΠ΄Π° ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅Π½ Π°Π½Π°Π»ΠΈΠ· ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΈΡ Π½Π°ΠΏΡΠ΅Π΄ΡΠΊ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠΈ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΈ Π΅Π·ΠΈΡΠΈ, ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈΡΡ ΡΠΎΡΡΡΠ΅Ρ Π²ΡΠ΅ ΠΎΡΠ΅ ΡΡΡΠ°Π΄Π° ΠΎΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΠ΅ Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠΈΡΠ°Ρ ΠΎΡ Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈ Π»ΠΈΡΠ°. Π‘ΠΈΡΡΠ°ΡΠΈΡΡΠ° Π΅ ΠΎΡΠ΅ ΠΏΠΎ-Π»ΠΎΡΠ° Π² Π΅ΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π°Ρ ΠΎΡΡΠ°ΡΡΠ» ΠΊΠΎΠ΄. Π ΡΠ°ΠΊΠΈΠ²Π° ΡΠ»ΡΡΠ°ΠΈ Π½Π΅ ΡΠ°ΠΌΠΎ, ΡΠ΅ ΡΠ΅ ΡΠ±Π»ΡΡΠΊΠ²Π°ΠΌΠ΅ Ρ Π²Π΅ΡΠ½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈΠΌ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΈ Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠΈΡΡΠ΅ΠΌΠΈ Π³ΡΠ΅ΡΠΊΠΈ, Π½ΠΎ ΠΈ ΡΠΌΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈ ΠΎΡ ΡΡΡΠΎΠ³ΠΈ ΡΠ°ΠΌΠΊΠΈ Π½Π° ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ΡΡΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ, ΠΎΡΠ΅ ΠΏΠΎ-Π»ΠΎΡΠΎ, ΡΡΠ·Π²ΠΈΠΌ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΡΠΈΡΠ΅Π½ ΠΊΠΎΠ΄.
Π’ΡΠΊ Π²Π»ΠΈΠ·Π°Ρ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ Π·Π° Π·Π°ΡΠΈΡΠ° ΠΈΠ»ΠΈ ΡΡΠΈΠ»Π²Π°Π½Π΅ Π½Π° ΡΠΎΡΡΡΠ΅ΡΠ° (hardening). ΠΡΠΊΠΎΠΈ ΡΠΈΠΏΠΎΠ²Π΅ Π³ΡΠ΅ΡΠΊΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΠΌ, Π½ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΠΆΠΈΠ²ΠΎΡΠ° Π½Π° Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΡΠ΅ Π½Π°ΠΏΠ°Π΄ΠΊΠΈ ΠΏΠΎ-ΡΡΡΠ΄Π΅Π½ ΠΈ Π΄Π° ΡΠ΅ΡΠΈΠΌ ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΡΠ²Π°ΠΉΠΊΠΈ ΠΈΠ»ΠΈ Π·Π°ΡΡΡΠ΄Π½ΡΠ²Π°ΠΉΠΊΠΈ. Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡΡΠ° ΡΠ΅Π·ΠΈ Π³ΡΠ΅ΡΠΊΠΈ. Π’Π°Π·ΠΈ Π·Π°ΡΠΈΡΠ° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π²ΡΠ² Π²ΡΠΈΡΠΊΠΈ ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, Π½ΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ°Π²Π°Ρ ΠΏΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ, Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ: ΠΎΡ ΡΡΠ΅ΠΊΠΎΠ²ΠΈ ΠΊΠ°Π½Π°ΡΡΠ΅ΡΠ° (stack canaries) ΠΈ Π΄ΠΎ Π½Π°ΠΏΡΠ»Π½ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΈ Π·Π°ΡΠΈΡΠΈ ΠΈ . Π ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡ ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΊΠ°ΠΊΠ²ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° Π·Π°ΡΠΈΡΠ° ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π°Ρ Π² Π½Π°ΠΉ-ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΈΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ Π½Π° Linux ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΡΠ΅ ΠΏΡΠΎΡΡΠΈΠΌ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΡΠ° Π½Π° Π±ΠΈΠ½Π°ΡΠ½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π°Ρ ΡΡΠ΅Π· ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ Π½Π° Π²ΡΡΠΊΠ° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡ.
CVE ΠΈ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ
ΠΡΠΈΡΠΊΠΈ Π½ΠΈΠ΅ ΡΠΌΠ΅ Π²ΠΈΠΆΠ΄Π°Π»ΠΈ ΡΡΠ°ΡΠΈΠΈ Ρ Π·Π°Π³Π»Π°Π²ΠΈΡ ΠΊΠ°ΡΠΎ βΠΠ°ΠΉ-ΡΡΠ·Π²ΠΈΠΌΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Π³ΠΎΠ΄ΠΈΠ½Π°ΡΠ°β ΠΈΠ»ΠΈ βΠΠ°ΠΉ-ΡΡΠ·Π²ΠΈΠΌΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈβ. ΠΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΠ°ΠΌ ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° Π·Π° ΠΎΠ±ΡΠΈΡ Π±ΡΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π·Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΈΠΏ , ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈ ΠΎΡ ΠΎΡ ΠΈ Π΄ΡΡΠ³ΠΈ ΠΈΠ·ΡΠΎΡΠ½ΠΈΡΠΈ. ΠΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ ΡΠ΅Π·ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΡΠ΅ ΠΊΠ»Π°ΡΠΈΡΠ°Ρ ΡΠΏΠΎΡΠ΅Π΄ Π±ΡΠΎΡ Π½Π° CVE. ΠΠ° ΡΡΠΆΠ°Π»Π΅Π½ΠΈΠ΅, Π²ΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ 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 ΡΠ° ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈΡΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π·Π° Π²ΡΠΈΡΠΊΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ ΠΏΡΠ΅Π· ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΡΠ΅ΡΠΈΡΠΈ Π³ΠΎΠ΄ΠΈΠ½ΠΈ (). ΠΠ΅Π΄Π½Π°Π³Π° ΡΡΠ°Π²Π° Π²ΠΈΠ΄Π½ΠΎ, ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ CVE ΠΏΠΎΠΏΠ°Π΄Π°Ρ Π² ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ: ΠΎΡΠΊΠ°Π· Π½Π° ΡΡΠ»ΡΠ³Π° (DoS), ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄, ΠΏΡΠ΅ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅, ΠΏΠΎΠ²ΡΠ΅Π΄Π° Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ (Π΅ΠΊΡΠΊΡΠΈΠ»ΡΡΠ°ΡΠΈΡ) Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈ Π΅ΡΠΊΠ°Π»Π°ΡΠΈΡ Π½Π° ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ CVE ΡΠ° ΠΎΡΠ±Π΅Π»ΡΠ·Π°Π½ΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΏΡΡΠΈ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ, ΠΊΠ°ΡΠΎ ΡΡΠ»ΠΎ ΡΡΡΠΈΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΎΡΡΠ°Π²Π°Ρ ΠΎΡ Π³ΠΎΠ΄ΠΈΠ½Π° Π½Π° Π³ΠΎΠ΄ΠΈΠ½Π°. Π ΡΠ»Π΅Π΄Π²Π°ΡΠ°ΡΠ° ΡΠ°ΡΡ Π½Π° ΡΡΠ°ΡΠΈΡΡΠ° ΡΠ΅ ΠΎΡΠ΅Π½ΠΈΠΌ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡ Π΅ΠΌΠΈ Π·Π° Π·Π°ΡΠΈΡΠ° Π·Π° ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΡΠ²Π°Π½Π΅ Π½Π° Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡΡΠ° Π½Π° ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈΡΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ.

Π ΠΈΡ. 2
ΠΠ°Π΄Π°ΡΠΈ
Π Π½Π°ΡΡΠΎΡΡΠ°ΡΠ° ΡΡΠ°ΡΠΈΡ ΠΈΠΌΠ°ΠΌΠ΅ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈΠΌ Π½Π° ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Π²ΡΠΏΡΠΎΡΠΈ:
- ΠΠ°ΠΊΠ²Π° Π΅ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ Π½Π° Linux? ΠΠ°ΠΊΠ²ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° Π·Π°ΡΠΈΡΠ° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ Π² ΡΠ΄ΡΠΎΡΠΎ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° Π² ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ?
- ΠΠ°ΠΊ ΡΠ΅ Π΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΠ»ΠΎ ΠΏΡΠΈΠ΅ΠΌΠ°Π½Π΅ΡΠΎ Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈΡΠ΅ Π·Π° Π·Π°ΡΠΈΡΠ° Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ?
- ΠΠ°ΠΊΠ²ΠΈ ΡΠ° ΡΡΠ΅Π΄Π½ΠΈΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈΡΠ΅ Π·Π° Π²ΡΡΠΊΠ° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡ?
- ΠΠ°ΠΊΠ²ΠΈ Π·Π°ΡΠΈΡΠΈ ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π·Π° Π²ΡΠ΅ΠΊΠΈ Π±ΠΈΠ½Π°ΡΠ΅Π½ ΡΠ°ΠΉΠ»?
ΠΠ·Π±ΠΎΡ Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ.
ΠΠΊΠ°Π·Π²Π° ΡΠ΅, ΡΠ΅ Π΅ ΡΡΡΠ΄Π½ΠΎ Π΄Π° ΡΠ΅ Π½Π°ΠΌΠ΅ΡΠΈ ΡΠΎΡΠ½Π° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° Π·Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΠΈ Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π² ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΡΠ»ΡΡΠ°ΠΈ Π±ΡΠΎΡΡ Π½Π° ΡΠ²Π°Π»ΡΠ½ΠΈΡΡΠ° Π½Π΅ ΠΏΠΎΠΊΠ°Π·Π²Π° Π±ΡΠΎΡ Π½Π° ΡΠ΅Π°Π»Π½ΠΈΡΠ΅ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΠΈ. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, Unix Π²Π°ΡΠΈΠ°Π½ΡΠΈΡΠ΅ ΡΡΡΡΠ°Π²Π»ΡΠ²Π°Ρ ΠΌΠ½ΠΎΠ·ΠΈΠ½ΡΡΠ²ΠΎΡΠΎ ΠΎΡ ΡΡΡΠ²ΡΡΠ½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ (Π½Π° ΡΠ΅Π± ΡΡΡΠ²ΡΡΠΈ 69,2%, ΡΠΏΠΎΡΠ΅Π΄ W3techs ΠΈ Π΄ΡΡΠ³ΠΈ ΠΈΠ·ΡΠΎΡΠ½ΠΈΡΠΈ), ΠΈ Π΄Π΅Π»ΡΡ ΠΈΠΌ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π½Π°ΡΠ°ΡΡΠ²Π°. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ, Π·Π° Π½Π°ΡΠ΅ΡΠΎ ΠΈΠ·ΡΠ»Π΅Π΄Π²Π°Π½Π΅ ΡΠ΅ ΡΡΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΡ ΠΌΠ΅ Π²ΡΡΡ Ρ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ, Π½Π°Π»ΠΈΡΠ½ΠΈ ΠΎΡ ΠΊΡΡΠΈΡΡΠ° Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ°. . Π ΡΠ°ΡΡΠ½ΠΎΡΡ, ΠΈΠ·Π±ΡΠ°Ρ ΠΌΠ΅ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ:
ΠΠΈΡΡΡΠΈΠ±ΡΡΠΈΡ/Π²Π΅ΡΡΠΈΡ
Π―Π΄ΡΠΎ
Π‘Π±ΠΎΡΠΊΠ°
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 ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΡΠ΅ ΠΎΠ³Π»Π΅Π΄Π°Π»Π°). ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, Π½ΡΠΌΠ° Π΄Π° ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Ρ ΠΏΠΎΠ²ΠΈΡΠ΅Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ.
ΠΠ½Π°Π»ΠΈΠ· Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° ΡΠ΄ΡΠΎΡΠΎ
ΠΡΠΈΠ»ΠΎΠΆΠΈΡ ΠΌΠ΅ ΡΠΊΡΠΈΠΏΡ Π·Π° Π°Π½Π°Π»ΠΈΠ·, Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° . Π Π°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π·Π° Π·Π°ΡΠΈΡΠ° ΠΎΡ ΠΊΡΡΠΈΡΡΠ° ΠΏΡΠΈ ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΈ ΠΈ Π³ΠΈ ΡΡΠ°Π²Π½ΡΠ²Π°ΠΌΠ΅ ΡΡΡ ΡΠΏΠΈΡΡΠΊΠ° ΠΎΡ (KSPP). ΠΠ° Π²ΡΠ΅ΠΊΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π’Π°Π±Π»ΠΈΡΠ° 2 ΠΎΠΏΠΈΡΠ²Π° ΠΆΠ΅Π»Π°Π½Π°ΡΠ° Π½Π°ΡΡΡΠΎΠΉΠΊΠ°: Π²ΡΠ΅ΠΊΠΈ Π·Π½Π°ΠΊ Π·Π° ΠΎΡΠΌΠ΅ΡΠΊΠ° Π΅ Π·Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΎΡΠ³ΠΎΠ²Π°ΡΡΡ Π½Π° ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈΡΠ΅ Π½Π° KSPP (ΠΎΠ±ΡΡΠ½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠ΅ Π²ΠΈΠΆ. ; Π² Π±ΡΠ΄Π΅ΡΠΈ ΡΡΠ°ΡΠΈΠΈ ΡΠ΅ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ ΠΊΠ°ΠΊ ΡΠ° ΡΠ΅ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ ΡΠ΅Π·ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° Π·Π°ΡΠΈΡΠ° ΠΈ ΠΊΠ°ΠΊ Π΄Π° ΡΠ΅ Ρ Π°ΠΊΠ½Π΅ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΏΡΠΈ Π»ΠΈΠΏΡΠ°ΡΠ° ΠΈΠΌ).

ΠΠ°ΡΠΎ ΡΡΠ»ΠΎ, Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ΄ΡΠ° ΠΈΠΌΠ°Ρ ΠΏΠΎ-ΡΡΡΠΎΠ³ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ CentOS 6.10 ΠΈ RHEL 6.10 Ρ ΡΠ΄ΡΠΎ 2.6.32 Π»ΠΈΠΏΡΠ²Π°Ρ ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΊΡΠΈΡΠΈΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π² Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ΄ΡΠ°, ΠΊΠ°ΡΠΎ , ΡΡΡΠΎΠ³ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ RWX, ΡΠ°Π½Π΄ΠΎΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° Π°Π΄ΡΠ΅ΡΠΈ ΠΈΠ»ΠΈ Π·Π°ΡΠΈΡΠ° copy2usr. Π’ΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈ, ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ Π²Π°ΡΠΈΠ°Π½ΡΠΈΡΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π² ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° ΠΎΡΡΡΡΡΠ²Π°Ρ Π² ΠΏΠΎ-ΡΡΠ°ΡΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ ΠΈ Π½Π΅ ΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠΈΠΌΠΈ Π² ΡΠ΅Π°Π»Π½ΠΎΡΡΡΠ° β Π² ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° Π²ΡΠ΅ ΠΏΠ°ΠΊ Π΅ ΠΏΠΎΡΠΎΡΠ΅Π½ΠΎ, ΡΠ΅ Π΅ Π½Π°Π»ΠΈΡΠ΅ Π»ΠΈΠΏΡΠ° Π½Π° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠ° Π·Π°ΡΠΈΡΠ°. ΠΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π½Π°ΡΠΈΠ½, Π°ΠΊΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΡΡ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π»ΠΈΠΏΡΠ²Π° Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ, Π° Π·Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ ΡΠΎΠ·ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½, ΡΠΎΠ²Π° ΡΠ΅ ΡΡΠΈΡΠ° Π·Π° ΡΠ°Π·ΡΠΌΠ½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ.
ΠΠ΄ΠΈΠ½ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΡΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅: Π½ΡΠΊΠΎΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ, ΠΊΠΎΠΈΡΠΎ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Ρ ΠΏΠΎΠ²ΡΡΡ Π½ΠΎΡΡΡΠ° Π½Π° Π°ΡΠ°ΠΊΠ°, ΡΡΡΠ΅Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ. ΠΡΠΈΠΌΠ΅ΡΠΈ Π·Π° ΡΠΎΠ²Π° Π²ΠΊΠ»ΡΡΠ²Π°Ρ uprobes ΠΈ kprobes, ΠΌΠΎΠ΄ΡΠ»ΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ ΠΈ BPF/eBPF. ΠΠ°ΡΠ°ΡΠ° ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠ° Π΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅Π°Π»Π½Π° Π·Π°ΡΠΈΡΠ°, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠ΅ Π½Π΅ ΡΠ° ΡΡΠΈΠ²ΠΈΠ°Π»Π½ΠΈ Π·Π° ΡΠΏΠΎΡΡΠ΅Π±Π° ΠΈ ΡΡΡ Π½Π°ΡΠ° Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°, ΡΠ΅ Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈ ΡΡΠ±Π΅ΠΊΡΠΈ Π²Π΅ΡΠ΅ ΡΠ° ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°. ΠΠΎ Π°ΠΊΠΎ ΡΠ΅Π·ΠΈ ΠΎΠΏΡΠΈΠΈ ΡΠ° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ΠΈ, ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ ΡΡΡΠ±Π²Π° Π°ΠΊΡΠΈΠ²Π½ΠΎ Π΄Π° ΡΠ»Π΅Π΄ΠΈ Π·Π° Π·Π»ΠΎΡΠΏΠΎΡΡΠ΅Π±ΠΈ.
ΠΠ·ΡΡΠ°Π²Π°ΠΉΠΊΠΈ Π·Π°ΠΏΠΈΡΠΈΡΠ΅ Π² ΡΠ°Π±Π»ΠΈΡΠ° 2, Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅, ΡΠ΅ ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈΡΠ΅ ΡΠ΄ΡΠ° ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° Π·Π° Π·Π°ΡΠΈΡΠ° ΠΎΡ Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡ Π½Π° ΡΠ°ΠΊΠΈΠ²Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ, ΠΊΠ°ΡΠΎ ΡΠ΅ΡΠΎΠ²Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈ ΠΏΡΠ΅Π»ΠΈΠ²Π°Π½Π΅ Π½Π° ΡΡΠ΅ΠΊΠ°/ΠΊΡΡΠ°ΡΠ°. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π° ΠΎΡΠ±Π΅Π»ΡΠ·Π²Π°ΠΌΠ΅, ΡΠ΅ Π΄ΠΎΡΠΈ Π½Π°ΠΉ-Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π»ΠΈ ΠΏΠΎ-ΡΠ»ΠΎΠΆΠ½Π° Π·Π°ΡΠΈΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Ρ ΠΏΠ°ΡΠΎΠ²Π΅ ) ΠΈΠ»ΠΈ ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½Π° Π·Π°ΡΠΈΡΠ° ΠΎΡ ΠΏΠΎΠ²ΡΠΎΡΠ½Π° ΡΠΏΠΎΡΡΠ΅Π±Π° Π½Π° ΠΊΠΎΠ΄Π° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ). ΠΡΠ΅ ΠΏΠΎ-Π»ΠΎΡΠΎ, Π΄ΠΎΡΠΈ ΡΠ΅Π·ΠΈ ΠΏΠΎ-ΡΡΡΠ²ΡΡΡΠ΅Π½ΡΡΠ²Π°Π½ΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π° Π·Π°ΡΠΈΡΠ° Π½Π΅ ΠΏΡΠ΅Π΄ΠΏΠ°Π·Π²Π°Ρ ΠΎΡ ΡΠ΅Π»ΠΈΡ ΡΠΏΠ΅ΠΊΡΡΡ ΠΎΡ Π°ΡΠ°ΠΊΠΈ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ, Π·Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈ Π΅ ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π²Π°ΠΆΠ½ΠΎ Π΄Π° Π΄ΠΎΠΏΡΠ»Π²Π°Ρ ΡΠ°Π·ΡΠΌΠ½ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΠΈ ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΡΠ²Π°Π½Π΅ Π½Π° Π΅ΠΊΡΠΏΠ»ΠΎΠΉΡΠΈ Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅.
ΠΠ½Π°Π»ΠΈΠ· Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ°
ΠΠ΅ Π΅ ΡΡΡΠ΄Π²Π°ΡΠΎ, ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ ΠΈΠΌΠ°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ, Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈΡΠ΅ ΠΈ Ρ.Π½. Π Π°Π·Π»ΠΈΠΊΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ Π΄ΠΎΡΠΈ Π·Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ Ρ ΠΌΠ°Π»ΠΊΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, coreutils Π² Ubuntu ΠΈΠ»ΠΈ Debian). ΠΠ° Π΄Π° ΠΎΡΠ΅Π½ΠΈΠΌ ΡΠ°Π·Π»ΠΈΠΊΠΈΡΠ΅, ΠΈΠ·ΡΠ΅Π³Π»ΠΈΡ ΠΌΠ΅ Π²ΡΠΈΡΠΊΠΈ Π½Π°Π»ΠΈΡΠ½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΠΈΠ·Π²Π»Π΅ΠΊΠΎΡ ΠΌΠ΅ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ ΠΈΠΌ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Ρ ΠΌΠ΅ Π±ΠΈΠ½Π°ΡΠ½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅ ΠΈΠΌ. ΠΠ° Π²ΡΠ΅ΠΊΠΈ ΠΏΠ°ΠΊΠ΅Ρ ΠΏΡΠΎΡΠ»Π΅Π΄ΠΈΡ ΠΌΠ΅ Π΄ΡΡΠ³ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΠΎΡ ΠΊΠΎΠΈΡΠΎ ΡΠΎΠΉ Π·Π°Π²ΠΈΡΠΈ, ΠΈ Π·Π° Π²ΡΠ΅ΠΊΠΈ Π±ΠΈΠ½Π°ΡΠ΅Π½ ΡΠ°ΠΉΠ» ΠΏΡΠΎΡΠ»Π΅Π΄ΠΈΡ ΠΌΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅ ΠΌΡ. Π ΡΠΎΠ·ΠΈ ΡΠ°Π·Π΄Π΅Π» ΠΊΡΠ°ΡΠΊΠΎ ΡΠ΅ ΠΈΠ·Π»ΠΎΠΆΠΈΠΌ ΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅.
ΠΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ
ΠΠ±ΡΠΎ ΡΠΌΠ΅ ΠΊΠ°ΡΠΈΠ»ΠΈ 361Β 556 ΠΏΠ°ΠΊΠ΅ΡΠ° Π·Π° Π²ΡΠΈΡΠΊΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ, ΠΈΠ·Π²Π»ΠΈΡΠ°ΠΉΠΊΠΈ ΡΠ°ΠΌΠΎ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΎΡ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°ΡΠΈΡΠ΅ ΡΠ΅ ΠΎΠ³Π»Π΅Π΄Π°Π»Π°. ΠΠ³Π½ΠΎΡΠΈΡΠ°Ρ ΠΌΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈ Π±Π΅Π· ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌΠΈ ELF ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΊΠ°ΡΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΠΈ ΠΊΠΎΠ΄ΠΎΠ²Π΅, ΡΡΠΈΡΡΠΎΠ²Π΅ ΠΈ Ρ.Β Π½. Π‘Π»Π΅Π΄ ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ ΠΎΡΡΠ°Π½Π°Ρ Π° 129Β 569 ΠΏΠ°ΠΊΠ΅ΡΠ°, ΡΡΠ΄ΡΡΠΆΠ°ΡΠΈ ΠΎΠ±ΡΠΎ 584Β 457 Π±ΠΈΠ½Π°ΡΠ½ΠΈ ΡΠ°ΠΉΠ»Π°. Π Π°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ ΠΏΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡ. 3.

Π ΠΈΡ. 3
ΠΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π·Π°Π±Π΅Π»Π΅ΠΆΠΈ, ΡΠ΅ ΠΊΠΎΠ»ΠΊΠΎΡΠΎ ΠΏΠΎ-ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π΅Π½ Π΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΡΡ, ΡΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΈ Π΄Π²ΠΎΠΈΡΠ½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΡΡΠ΄ΡΡΠΆΠ°, ΠΊΠΎΠ΅ΡΠΎ Π΅ Π»ΠΎΠ³ΠΈΡΠ½ΠΎ. Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅, ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅ Π½Π° Ubuntu ΠΈ Debian Π²ΠΊΠ»ΡΡΠ²Π°Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ Π±ΠΈΠ½Π°ΡΠ½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ (ΠΊΠ°ΠΊΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌΠΈ, ΡΠ°ΠΊΠ° ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ), ΠΎΡΠΊΠΎΠ»ΠΊΠΎΡΠΎ CentOS, SUSE ΠΈ RHEL, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π½ΠΎ Π²Π»ΠΈΡΠ΅ Π½Π° Π°ΡΠ°ΠΊΡΠ²Π°Π½Π°ΡΠ° ΠΏΠΎΠ²ΡΡΡ Π½ΠΎΡΡ Π½Π° Ubuntu ΠΈ Debian (ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈ, ΡΠ΅ ΡΠΈΡΡΠΈΡΠ΅ ΠΎΡΡΠ°Π·ΡΠ²Π°Ρ Π²ΡΠΈΡΠΊΠΈ Π±ΠΈΠ½Π°ΡΠ½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ Π²Π΅ΡΡΠΈΠΈ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅, Ρ.Π΅. Π½ΡΠΊΠΎΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΡΠ΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΏΡΡΠΈ). Π’ΠΎΠ²Π° Π΅ ΠΎΡΠΎΠ±Π΅Π½ΠΎ Π²Π°ΠΆΠ½ΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ Π²Π·Π΅ΠΌΠ°Ρ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅. ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½, ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ Π² Π±ΠΈΠ½Π°ΡΠ΅Π½ ΡΠ°ΠΉΠ» Π½Π° Π΅Π΄ΠΈΠ½ ΠΏΠ°ΠΊΠ΅Ρ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ²Π»ΠΈΡΠ΅ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°ΡΡΠΈ ΠΎΡ Π΅ΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, ΠΊΠ°ΠΊΡΠΎ ΡΡΠ·Π²ΠΈΠΌΠ°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ²Π»ΠΈΡΠ΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ Π±ΠΈΠ½Π°ΡΠ½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ Ρ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠ°Ρ. ΠΠ°ΡΠΎ ΠΎΡΠΏΡΠ°Π²Π½Π° ΡΠΎΡΠΊΠ°, Π½Π΅ΠΊΠ° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π±ΡΠΎΡ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅ ΠΏΠΎ ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΠ‘:
Π ΠΈΡ. 4
ΠΠΎΡΡΠΈ Π²ΡΠ² Π²ΡΠΈΡΠΊΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ 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:
ΠΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΠΎ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌΠΎ: Π΄Π°
ΠΠ°ΡΠΈΡΠ΅Π½ ΡΡΠ΅ΠΊ: Π΄Π°
Π€ΡΠ½ΠΊΡΠΈΠΈ Fortify Source: Π½Π΅, Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈ ΡΠ° ΡΠ°ΠΌΠΎ Π½Π΅Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ!
ΠΠ°ΠΏΠΈΡΠΈ ΡΠ°ΠΌΠΎ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅: Π΄Π°
ΠΠ΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½ΠΎ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅: Π΄Π°Π‘ΠΊΡΠΈΠΏΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π° ΠΏΠ΅Ρ :
- ΠΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΠΎ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌΠΎ (PIE): ΡΠΊΠ°Π·Π²Π° Π΄Π°Π»ΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΈΡΡ ΡΠ°Π·Π΄Π΅Π» Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ΅Π½ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ°, Π·Π° Π΄Π° ΡΠ΅ ΠΏΠΎΡΡΠΈΠ³Π½Π΅ ΡΠ°Π½Π΄ΠΎΠΌΠΈΠ·Π°ΡΠΈΡ, Π°ΠΊΠΎ Π² ΡΠ΄ΡΠΎΡΠΎ Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½ ASLR.
- ΠΠ°ΡΠΈΡΠ΅Π½ ΡΡΠ΅ΠΊ: Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π»ΠΈ ΡΠ° ΡΡΠ΅ΠΊΠΎΠ²ΠΈ ΠΊΠ°Π½Π°ΡΠ΅ΠΉΠΊΠΈ Π·Π° Π·Π°ΡΠΈΡΠ° ΠΎΡ Π°ΡΠ°ΠΊΠΈ ΡΡΠ΅ΡΡ ΡΠ±Π»ΡΡΡΠΊ Π½Π° ΡΡΠ΅ΠΊΠ°.
- Fortify Source: Π·Π°ΠΌΠ΅Π½ΡΡ Π»ΠΈ ΡΠ΅ Π½Π΅Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, strcpy) Ρ ΡΠ΅Ρ Π½ΠΈΡΠ΅ ΠΏΠΎ-Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΈ Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²ΠΈ, Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈΡΠ΅ Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Ρ ΡΠ΅Ρ Π½ΠΈΡΠ΅ Π½Π΅ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°Π½ΠΈ Π°Π½Π°Π»ΠΎΠ·ΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, memcpy Π²ΠΌΠ΅ΡΡΠΎ __memcpy_chk).
- ΠΠ°ΠΏΠΈΡΠΈ ΡΠ°ΠΌΠΎ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ (RELRO): ΠΎΠ·Π½Π°ΡΠ°Π²Π°Ρ Π»ΠΈ Π·Π°ΠΏΠΈΡΠΈΡΠ΅ Π² ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° Π·Π° ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Π½Π΅, ΡΠ΅ ΡΠ° ΠΌΠ°ΡΠΊΠΈΡΠ°Π½ΠΈ ΠΊΠ°ΡΠΎ 'ΡΠ°ΠΌΠΎ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅', Π°ΠΊΠΎ ΡΠ° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ΠΈ ΠΏΡΠ΅Π΄ΠΈ Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ.
- ΠΠ΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½ΠΎ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅: ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π»ΠΈ ΡΡΠ΅Π΄Π°ΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠΈΠΊΠ° Π΄Π° ΡΠ°Π·ΡΠ΅ΡΠΈ Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅Π΄ΠΈ Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° (ΡΠΎΠ²Π° Π΅ Π΅ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎ Π½Π° ΠΏΡΠ»Π½ΠΎ RELRO).
ΠΠΎΡΡΠ°ΡΡΡΠ½ΠΈ Π»ΠΈ ΡΠ° Π³ΠΎΡΠ΅ΡΠΏΠΎΠΌΠ΅Π½Π°ΡΠΈΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ? ΠΠ° ΡΡΠΆΠ°Π»Π΅Π½ΠΈΠ΅, Π½Π΅. ΠΠ·Π²Π΅ΡΡΠ½ΠΈ ΡΠ° Π½Π°ΡΠΈΠ½ΠΈ Π·Π° Π·Π°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΠ½Π΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ Π³ΠΎΡΠ΅ΡΠΏΠΎΠΌΠ΅Π½Π°ΡΠΈ Π·Π°ΡΠΈΡΠΈ, Π½ΠΎ ΠΊΠΎΠ»ΠΊΠΎΡΠΎ ΠΏΠΎ-ΡΡΡΠΎΠ³Π° Π΅ Π·Π°ΡΠΈΡΠ°ΡΠ°, ΡΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΠΎ-Π²ΠΈΡΠΎΠΊΠ° Π΅ Π»Π΅ΡΠ²Π°ΡΠ° Π·Π° Π°ΡΠ°ΠΊΡΠ²Π°ΡΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎ-ΡΡΡΠ΄Π½ΠΎ ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π°Ρ, ΠΊΠΎΠ³Π°ΡΠΎ PIE ΠΈ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½ΠΎ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π΄Π΅ΠΉΡΡΠ²Π°Ρ. ΠΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π½Π°ΡΠΈΠ½, ΠΏΡΠ»Π½ΠΈΡΡ ASLR ΠΈΠ·ΠΈΡΠΊΠ²Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΡΠ°Π±ΠΎΡΠ° Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ΅Ρ Π΅ΠΊΡΠΏΠ»ΠΎΠΉΡ. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΠ°ΡΠ΅Π»Π½ΠΈ Π½Π°ΠΏΠ°Π΄Π°ΡΠ΅Π»ΠΈ Π²Π΅ΡΠ΅ ΡΠ° Π³ΠΎΡΠΎΠ²ΠΈ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΡΠ°Π²ΡΡ ΡΡΠ΅ΡΡ ΡΠ°ΠΊΠΈΠ²Π° Π·Π°ΡΠΈΡΠΈ: ΡΡΡ Π½ΠΎΡΠΎ ΠΎΡΡΡΡΡΠ²ΠΈΠ΅ ΠΏΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎ ΡΡΠΊΠΎΡΡΠ²Π° Ρ Π°ΠΊΠ²Π°Π½Π΅ΡΠΎ. ΠΠ°ΡΠΎΠ²Π° Π΅ ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π²Π°ΠΆΠ½ΠΎ, ΡΠ΅ ΡΠ΅Π·ΠΈ ΠΌΠ΅ΡΠΊΠΈ ΡΠ΅ ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°Ρ ΠΊΠ°ΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ.
ΠΡΠΊΠ°Ρ ΠΌΠ΅ Π΄Π° ΠΏΡΠΎΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΈΠ½Π°ΡΠ½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π² ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°Π½ΠΈΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ ΡΠ° Π·Π°ΡΠΈΡΠ΅Π½ΠΈ Ρ ΡΠ΅Π·ΠΈ, ΠΊΠ°ΠΊΡΠΎ ΠΈ Ρ ΠΎΡΠ΅ ΡΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°:
- ΠΠ΅ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌΠΈΡΡ Π±ΠΈΡ () ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΡΠ²Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π² Π²ΡΡΠΊΠ° Π·ΠΎΠ½Π°, ΠΊΠΎΡΡΠΎ Π½Π΅ Π±ΠΈ ΡΡΡΠ±Π²Π°Π»ΠΎ Π΄Π° Π΅ ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π² ΡΡΠ΅ΠΊΠ° ΠΈ Ρ.Π½.
- ΠΎΠ·Π½Π°ΡΠ°Π²Π° ΠΏΡΡΡ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ ΠΎΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΈΡ Π·Π°ΡΠ΅ΠΆΠ΄Π°Ρ Π·Π° Π½Π°ΠΌΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π°ΡΠΈΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. ΠΡΡΠ²ΠΈΡΡ Π΅ Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π΅Π½ ΠΠ° Π²ΡΡΠΊΠ° ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°: ΠΎΡΡΡΡΡΠ²ΠΈΠ΅ΡΠΎ ΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈ Π»ΠΈΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΎ Π΄Π° Π·Π°ΠΏΠΈΡΠ²Π°Ρ ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΡΠΎΠ²Π°Ρ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΈ Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ ΠΊΠ°ΠΊΡΠΎ Π΅. ΠΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° Π²ΡΠΎΡΠΎΡΠΎ, Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π½Π° ΠΏΡΡΠΈΡΠ°ΡΠ° Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠΌΠ°Π³Π°Ρ Π·Π° Π²ΡΠ²Π΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° Π½Π΅Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΡΠ΅Π΄ΠΈΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, , ΠΊΠ°ΠΊΡΠΎ ΠΈ ).
- ΠΠ°ΡΠΈΡΠ° ΠΎΡ ΡΠ±Π»ΡΡΡΠΊ Π½Π° ΡΡΠ΅ΠΊΠ° ΠΎΡΠΈΠ³ΡΡΡΠ²Π° Π·Π°ΡΠΈΡΠ° ΡΡΠ΅ΡΡ Π°ΡΠ°ΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠΈΠ½ΡΠΆΠ΄Π°Π²Π°Ρ ΡΡΠ΅ΠΊΠ° Π΄Π° ΡΠ΅ Π½Π°ΠΊΠ»Π°Π΄Π°Ρ Π½Π° Π΄ΡΡΠ³ΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΎΡ ΠΏΠ°ΠΌΠ΅ΡΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° ΠΊΡΠΏΡΠΈΠ½Π°ΡΠ°). ΠΠΌΠ°ΠΉΠΊΠΈ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π·Π»ΠΎΡΠΏΠΎΡΡΠ΅Π±ΡΠ²Π°Ρ , ΠΏΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠ΅, ΡΠ΅ Π΅ ΡΠΌΠ΅ΡΡΠ½ΠΎ Π΄Π° Π²ΠΊΠ»ΡΡΠΈΠΌ ΡΠΎΠ·ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π² Π½Π°ΡΠΈΡ Π½Π°Π±ΠΎΡ ΠΎΡ Π΄Π°Π½Π½ΠΈ.
Π’Π°ΠΊΠ°, Π±Π΅Π· Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΡΠ΅ΡΠ΅ΠΌΠΎΠ½ΠΈΠΈ, Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΠΌ ΠΊΡΠΌ ΡΠΈΡΠ»Π°ΡΠ°. Π’Π°Π±Π»ΠΈΡΠΈ 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.
ΠΠ°ΠΊΡΠΎ Π²Π΅ΡΠ΅ Π±Π΅ΡΠ΅ ΡΠΏΠΎΠΌΠ΅Π½Π°ΡΠΎ, ΠΌΠ΅ΡΡΠΈΠΊΠΈΡΠ΅ Π² ΡΠ°Π·ΠΈ ΡΠ°Π±Π»ΠΈΡΠ° ΡΠ° ΡΡΠ΅Π΄Π½ΠΈ Π·Π° Π²ΡΠΈΡΠΊΠΈ Π²Π΅ΡΡΠΈΠΈ Π½Π° Π±ΠΈΠ½Π°ΡΠ½ΠΈΡ ΡΠ°ΠΉΠ». ΠΠΊΠΎ ΡΠ΅ Π³Π»Π΅Π΄Π°Ρ ΡΠ°ΠΌΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅, ΡΠΈΡΡΠΈΡΠ΅ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΈΠΆΡΠ΅ ). ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°Ρ Π·Π°ΡΠΈΡΠ°ΡΠ° ΡΠ°ΠΌΠΎ Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Π΄Π²ΠΎΠΈΡΠ½ΠΈΡ ΠΊΠΎΠ΄, Π° Π² Π½Π°ΡΠΈΡ Π°Π½Π°Π»ΠΈΠ· Π΅ ΡΠΊΠ°Π·Π°Π½ ΠΈΡΡΠΈΠ½ΡΠΊΠΈΡΡ ΠΏΡΠΎΡΠ΅Π½Ρ Π½Π° ΡΠΊΡΠ΅ΠΏΠ΅Π½ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ, Π°ΠΊΠΎ Π² Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊΠ° ΡΠ° Π·Π°ΡΠΈΡΠ΅Π½ΠΈ 5 ΠΎΡ 50 ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠ΅ ΠΌΡ Π½Π°Π·Π½Π°ΡΠΈΠΌ ΠΎΡΠ΅Π½ΠΊΠ° 0,1, ΠΊΠΎΠ΅ΡΠΎ ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π° Π½Π° 10% ΡΠΊΡΠ΅ΠΏΠ΅Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ.

Π’Π°Π±Π»ΠΈΡΠ° 4. Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° Π·Π°ΡΠΈΡΠ°ΡΠ° Π·Π° ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈ Π½Π° ΡΠΈΡ. 3 (ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΏΡΠΎΡΠ΅Π½ΡΠΈ ΠΎΡ ΠΎΠ±ΡΠΈΡ Π±ΡΠΎΠΉ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅)

Π’Π°Π±Π»ΠΈΡΠ° 5. Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° Π·Π°ΡΠΈΡΠ°ΡΠ° Π·Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈΡΠ΅, ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈ Π½Π° ΡΠΈΡ. 3 (ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΏΡΠΎΡΠ΅Π½ΡΠΈ ΠΎΡ ΠΎΠ±ΡΠΈΡ Π±ΡΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ)
ΠΠΌΠ° Π»ΠΈ Π½Π°ΠΏΡΠ΅Π΄ΡΠΊ? ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΈΠΌΠ°: ΡΠΎΠ²Π° Π΅ Π²ΠΈΠ΄Π½ΠΎ ΠΎΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°ΡΠ° ΠΏΠΎ ΠΎΡΠ΄Π΅Π»Π½ΠΈΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ), ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΎΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡΠ΅ ΠΏΠΎ-Π³ΠΎΡΠ΅ ΡΠ°Π±Π»ΠΈΡΠΈ. ΠΠ°ΡΠΎ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π° ΡΠΈΡ. 6 Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π·Π°ΡΠΈΡΠ½ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ Π² ΡΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ Π½Π° Ubuntu LTS 5 (ΠΏΡΠΎΠΏΡΡΠ½Π°Ρ ΠΌΠ΅ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°ΡΠ° Π·Π° Π·Π°ΡΠΈΡΠ° ΠΎΡ ΡΠ±Π»ΡΡΡΠΊ Π½Π° ΡΡΠ΅ΠΊΠ°). ΠΠ°Π±Π΅Π»ΡΠ·Π²Π°ΠΌΠ΅, ΡΠ΅ ΠΎΡ Π²Π΅ΡΡΠΈΡ Π½Π° Π²Π΅ΡΡΠΈΡ Π²ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΡΡΠ΅ΠΉΠΊ ΠΊΠ°Π½Π°ΡΡΠ΅ΡΠ°, Π° ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ Π²ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ Π±ΠΈΠ½Π°ΡΠ½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΡΠ΅ Π΄ΠΎΡΡΠ°Π²ΡΡ Ρ ΠΏΡΠ»Π½Π° Π·Π°ΡΠΈΡΠ° RELRO.
Π ΠΈΡ. 6
ΠΠ° ΡΡΠΆΠ°Π»Π΅Π½ΠΈΠ΅, ΡΠ΅Π΄ΠΈΡΠ° ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ Π²ΡΠ΅ ΠΎΡΠ΅ Π½ΡΠΌΠ°Ρ Π½ΠΈΡΠΎ Π΅Π΄Π½Π° ΠΎΡ ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈΡΠ΅ ΠΏΠΎ-Π³ΠΎΡΠ΅ Π·Π°ΡΠΈΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² 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
