ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ , Π²Ρ ΠΎΠ΄ΡΡΠΈΠΉ Π² ΡΠΎΡΡΠ°Π² OpenBSD, ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ Π΄Π»Ρ -ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ LD_LIBRARY_PATH ΠΈ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΉ ΠΊΠΎΠ΄ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠ°, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½Π½ΡΠΌΠΈ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΌΠΈ. ΠΠ°ΡΡΠΈ Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π΄Π»Ρ ΡΠ΅Π»ΠΈΠ·ΠΎΠ² ΠΈ . ΠΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΏΠ°ΡΡΠΈ () Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌ amd64, i386 ΠΈ arm64 ΡΠΆΠ΅ Π·Π°ΠΏΡΡΠ΅Π½Ρ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΊ ΠΌΠΎΠΌΠ΅Π½ΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ Π΄Π°Π½Π½ΠΎΠΉ Π½ΠΎΠ²ΠΎΡΡΠΈ.
Π‘ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ: Π² Ρ ΠΎΠ΄Π΅ ΡΠ°Π±ΠΎΡΡ ld.so ΡΠ½Π°ΡΠ°Π»Π° ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ ΠΈΠ· ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ LD_LIBRARY_PATH, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ _dl_split_path() ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅Ρ Π΅Π³ΠΎ Π² ΠΌΠ°ΡΡΠΈΠ² ΡΡΡΠΎΠΊ β ΠΏΡΡΠ΅ΠΉ ΠΊ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°ΠΌ. ΠΡΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½Π΅Π΅ Π²ΡΡΡΠ½ΡΠ΅ΡΡΡ, ΡΡΠΎ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ Π·Π°ΠΏΡΡΠ΅Π½ SUID/SGID-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΡΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΈ, ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ LD_LIBRARY_PATH ΠΎΡΠΈΡΠ°ΡΡΡΡ. ΠΡΠΈ ΡΡΠΎΠΌ, Π΅ΡΠ»ΠΈ Π² Ρ ΠΎΠ΄Π΅ ΡΠ°Π±ΠΎΡΡ _dl_split_path() ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡ Ρ Π½Π΅Ρ Π²Π°ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ (ΡΡΠΎ ΡΡΡΠ΄Π½ΠΎ ΠΈΠ·-Π·Π° Π½Π°Π»ΠΈΡΠΈΡ ΡΠ²Π½ΠΎΠ³ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π° ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Π² 256 ΠΊΠΠ°ΠΉΡ, Π½ΠΎ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ), ΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ _dl_libpath ΠΏΠΎΠ»ΡΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ NULL, ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π·Π°ΡΡΠ°Π²ΠΈΡ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ Π²ΡΠ·ΠΎΠ² _dl_unsetenv(Β«LD_LIBRARY_PATHΒ»).
Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡ Π½Π°ΠΉΠ΄Π΅Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ°ΠΌΠΈ , ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ. ΠΡΡΠ²ΠΈΠ²ΡΠΈΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΎΡΠΌΠ΅ΡΠΈΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ: ΠΏΠ°ΡΡ Π±ΡΠ» ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½, ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π²ΡΠΏΡΡΠ΅Π½Ρ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΡΡ ΡΠ°ΡΠΎΠ² ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ OpenBSD.
ΠΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅: ΠΡΠΎΠ±Π»Π΅ΠΌΠ΅ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ Π½ΠΎΠΌΠ΅Ρ . Π ΡΠΏΠΈΡΠΊΠ΅ ΡΠ°ΡΡΡΠ»ΠΊΠΈ oss-security ΡΠ΄Π΅Π»Π°Π½ , Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΠΉ ΠΏΡΠΎΡΠΎΡΠΈΠΏ ΡΠΊΡΠΏΠ»ΠΎΠΈΡΠ°, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Π² OpenBSD 6.6, 6.5, 6.2 ΠΈ 6.1 Π½Π° Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°Ρ
amd64 ΠΈ i386 (ΡΠΊΡΠΏΠ»ΠΎΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°Π½ ΠΈ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ
Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡ).
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠΊΡΠΏΠ»ΡΠ°ΡΠΈΡΡΠ΅ΠΌΠ° Π² ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π΅ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠ΄ Ρ ΠΏΡΠ°Π²Π°ΠΌΠΈ root ΡΠ΅ΡΠ΅Π· ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ suid-ΡΡΠΈΠ»ΠΈΡ chpass ΠΈΠ»ΠΈ passwd. ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΡ
Π΄Π»Ρ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΉ Π½Π΅Ρ
Π²Π°ΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ RLIMIT_DATA ΡΠ΅ΡΠ΅Π· setrlimit.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
