ΠΡΠΊΡΠΏΠ»Π΅Π½ΠΈΠ΅ Π³ΡΠ΅Ρ Π°
ΠΠ°ΠΊ ΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΡΠ»ΡΡΠ°ΡΡ , ΠΏΠ΅ΡΠ²ΡΠΌ ΡΠ°Π³ΠΎΠΌ ΠΊ ΠΈΡΠΊΡΠΏΠ»Π΅Π½ΠΈΡ Π³ΡΠ΅Ρ Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΡΠ°ΡΡ ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΡΡΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΠ°ΡΠ΅ΠΌ ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅, Π°ΠΊΡΡΠ°Π»ΡΠ½Π° Π»ΠΈ ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠ»ΠΈ Π²Ρ Π΄ΠΎΡΠΈΡΠ°Π»ΠΈ Π΄ΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ°, ΡΠΎ, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π΅Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠ°Ρ DNSβcepβΠ²Π΅ΡΠΎΠΌ.
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΌΠ½ΠΎΠ³ΠΈΡ Π΄ΡΡΠ³ΠΈΡ Π³ΡΠ΅Ρ ΠΎΠ², ΠΌΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ Π΄Π΅ΡΠ°Π»ΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΠΏΠΎΠΌΡΠ½Π΅ΠΌ ΡΡΠ΄ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ². ΠΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΏΡΠΎΡΡΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠ² Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ Π·Π°ΡΠΈΡΠ°ΡΡ Π²ΡΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ SSL. ΠΡΠ»ΠΈ ΡΠ΅ΡΡ ΠΈΠ΄Π΅Ρ ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ , ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΡΠΎ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² ΠΈ Π²ΡΠΏΡΡΡΠΈΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡ ΡΠΈΡΡΠ΅ΠΌ.
ΠΡΡΠ³ΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ β Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠΌ IPSec. ΠΡΠ»ΠΈ IPSec ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎΠ²Π΅ΡΡ Kerberos, ΡΠΎ ΡΠ°ΡΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Π·Π° Π²Π°Ρ ΡΠΆΠ΅ ΠΏΡΠΎΠ΄Π΅Π»Π°Π½Π°; Π΅ΡΡΡ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΡ, ΡΡΠΎ Π»ΡΠ±Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°, ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΠ²ΡΠ°ΡΡΡ Ρ Π²Π°ΡΠ΅ΠΉ, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ, Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠΎΠΉ ΠΆΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ Kerberos (Π² ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Windows, Π΄ΠΎΠΌΠ΅Π½Π΅ ΠΈΠ»ΠΈ Π»Π΅ΡΡ). IPSec Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² ΡΠΎΠΆΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π΅ΠΏΠ»ΠΎΡ ΠΎ, Ρ ΠΎΡΡ Π΄Π»Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ ΠΎΡΠΊΡΡΡΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ (PKI) ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠΈΠ»ΠΈΡ. ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠΌ Π²ΡΠ΅Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π½Π° Π±Π°Π·Π΅ IPSec ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΡΡΡΠΊΡΡΡΠ΅ ΡΠ΅ΡΠΈ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Π° ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΌΡ ΡΡΠΎΠ²Π½Ρ, ΡΡΠ°Π»ΠΎ Π±ΡΡΡ, Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡΠ΄Π°Π½ΠΎ Π½Π° ΠΌΠΈΠ»ΠΎΡΡΡ ΡΠ΅ΡΠ΅Π²ΠΎΠΌΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ. ΠΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠΏΠΎΡΠΎΠ±: ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ Π½Π°Π»ΠΈΡΠΈΡ IPSecβΠ·Π°ΡΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠ°ΡΡΠΊΠ° ΡΠ΅ΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΈ DNSβΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ. Π’ΠΎΠ³Π΄Π°, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, Π΅ΡΡΡ Π³Π°ΡΠ°Π½ΡΠΈΡ, ΡΡΠΎ Π²Ρ ΠΎΠ±ΡΠ°Π΅ΡΠ΅ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ Π²Π°ΡΠΈΠΌ DNSβΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΠ΅ΠΏΠ΅Π½Ρ Π΄ΠΎΠ²Π΅ΡΠΈΡ ΠΊ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΠΈΠΌΠ΅Π½ ΠΏΠΎΠ²ΡΡΠ°Π΅ΡΡΡ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΌΡ ΠΠ ΡΠΊΠ°Π·Π°Π»ΠΈ, ΡΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ΅ΡΠ΅Π½Π°, ΠΎΠ½Π° Π»ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠ°ΡΠΈΠ»Π° ΠΎΡΡΡΠΎΡΡ.
ΠΡΠ»ΠΈ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΡΠ΅ΡΠ΅Π· Kerberos ΠΈΠ»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Windows, ΠΏΡΠΈΡΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ², ΡΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΡΠ΅Ρ Π°ΡΠ°ΠΊΠ°ΠΌ Ρ Β«ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ ΠΏΠΎΡΠ΅ΡΠ΅Π΄ΠΈΠ½Π΅Β». ΠΠΏΡΠΎΡΠ΅ΠΌ, Π²Π·Π»ΠΎΠΌ ΠΏΠ°ΡΠΎΠ»Π΅ΠΉ ΠΏΠΎβΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½.
ΠΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡΠΎΠ±ΠΎ Π²Π°ΠΆΠ½ΠΎ, ΡΠΎ ΡΠ°ΠΌΡΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ΅ΡΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ β ΡΡΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΠ΅ΠΉ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΡΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ Π² ΠΎΠ±ΠΎΠΈΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡΡ . ΠΡΠ»ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΅ΡΠ΅ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΡ, ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΠ΅ ΠΎΡΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡ Π΄Π»Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΡΠ°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π°Π½ΡΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° ΠΈ Π΄ΠΎΡΡΠ°Π²ΡΡΠ΅ Π΅Π³ΠΎ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅. ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΡΠ΅Π°Π½ΡΠΎΠ²ΡΠΉ ΠΊΠ»ΡΡ Π²ΡΠ±ΡΠ°Π½, ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΡ Π΄Π°Π½Π½ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΈΡΠ°ΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π½ΠΎΠΉ, Π° ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π΄Π°ΠΉΠ΄ΠΆΠ΅ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΎΡΠΊΡΠ΄Π° ΠΎΠ½ΠΎ ΠΏΠΎΡΡΡΠΏΠΈΠ»ΠΎ. Π Π°Π±ΠΎΡΡ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΌΠ½ΠΎΠ³ΠΎ, ΠΈ Π½Π°Π΄ΠΎ Π±Ρ ΠΏΡΠΈΠ³Π»Π°ΡΠΈΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠ΅Π½ΠΈΡΡ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ», Π½ΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ΅Π½.
ΠΠ΅ΡΠ΅Π²ΡΠΉ ΠΈ ΠΌΠ°Π»ΠΎΠΏΡΠΈΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΎΡΠΊΠ°Π·Π°ΡΡΡΡ ΠΎΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ DNS ΠΈ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ Π΄ΠΎΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΠΌΠ΅Π½Π° Π½Π° IPβΠ°Π΄ΡΠ΅ΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΠΉΠ»Π° hosts. ΠΡΠ»ΠΈ Π²Π°Ρ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π°ΡΠ°ΠΊΠΈ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΡΡΠΎΠ²Π΅Π½Ρ, ΡΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠΎΠ΄Π»ΠΎΠ³Π° ARPβΠ·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ, ΡΠ΄Π΅Π»Π°Π² ΠΈΡ Π²ΡΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ. ΠΠΎ ΡΡΠΈΠ»ΠΈΡ, Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΡΠ΅ ΠΏΡΠΈ ΡΠ°ΠΊΠΎΠΌ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, ΡΠ΅Π΄ΠΊΠΎ ΠΎΠΏΡΠ°Π²Π΄ΡΠ²Π°ΡΡΡΡ, ΡΠ°Π·Π²Π΅ ΡΡΠΎ Π²Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ΅ΡΠΈ.
ΠΡΡΠ³ΠΈΠ΅ ΡΠ΅ΡΡΡΡΡ
β‘ Building Internet Firewalls, Second Edition by Elizabeth D. Zwicky, Simon Cooper and D. Brent Chapman (O\'Reilly, 2000)
β‘ OzEmail: http://members.ozemail.com.au/~987654321/impact_of_rfc_on_ dns_spoofing.pdf
Π Π΅Π·ΡΠΌΠ΅
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ
β‘ ΠΡΠΈΠΌΠ΅Π½ΡΠΉΡΠ΅ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ². ΠΡΠΎΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΡΠΎΠΉ ΡΠ΅Π»ΠΈ SSL.
ΠΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ
β‘ ΠΠ΅ Π΄ΠΎΠ²Π΅ΡΡΠΉΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ ΠΎΡ DNSβΡΠ΅ΡΠ²Π΅ΡΠ°, ΠΎΠ½Π° Π½Π΅Π½Π°Π΄Π΅ΠΆΠ½Π°!
Π‘ΡΠΎΠΈΡ ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ
β‘ ΠΠ± ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π·Π°ΡΠΈΡΡ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ IPSec ΡΠ΅Ρ ΡΠΈΡΡΠ΅ΠΌ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
ΠΡΠ΅Ρ 16. ΠΠΎΠ½ΠΊΠΈ
Π ΡΠ΅ΠΌ ΡΠΎΡΡΠΎΠΈΡ Π³ΡΠ΅Ρ
ΠΠΎΠ½ΠΊΠ° (race condition), ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ, ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π΅ΡΡΡ Π΄Π²Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ Π² ΡΠ°Π·Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°Ρ (ΠΏΡΠΎΡΠ΅ΡΡΠ°Ρ ΠΈΠ»ΠΈ ΠΏΠΎΡΠΎΠΊΠ°Ρ ). ΠΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠ³ΡΡ ΠΏΡΠ΅ΡΡΠ²Π°ΡΡ Π΄ΡΡΠ³ Π΄ΡΡΠ³Π°, ΠΈ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΠ΅ΡΡΡΡ. ΠΡΠ»ΠΈ Π²Ρ Π΄ΡΠΌΠ°Π΅ΡΠ΅, ΡΡΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΠ°Ρ ΠΊΠΎΡΠΎΡΠΊΠ°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠ»ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎ ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠ΅ΡΠ²Π°Π½Π° Π΄ΡΡΠ³ΠΈΠΌ ΠΏΠΎΡΠΎΠΊΠΎΠΌ Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ, ΡΠΎ ΡΠΎΠ²Π΅ΡΡΠ°Π΅ΡΠ΅ ΡΠΈΠΏΠΈΡΠ½ΡΡ ΠΎΡΠΈΠ±ΠΊΡ. ΠΠ°ΠΆΠ΅ ΠΈΠΌΠ΅Ρ Π½Π΅ΠΎΠΏΡΠΎΠ²Π΅ΡΠΆΠΈΠΌΡΠ΅ Π΄ΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡΡΠ²Π° ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΡΠΊΠ»ΠΎΠ½Π½Ρ Π΅Π΅ Π½Π΅Π΄ΠΎΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ. ΠΠΎ Π²Π΅Π΄Ρ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΡΡΡΡΠΈ (ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ) ΠΊΠΎΠΌΠ°Π½Π΄, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠΏΠ»ΠΎΡΡ ΠΈ ΡΡΠ΄ΠΎΠΌ Π½Π΅ ΡΡΠΏΠ΅Π²Π°ΡΡ Π·Π°Π²Π΅ΡΡΠΈΡΡΡΡ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ²Π°Π½ΡΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΎΡΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ΅ΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΈΠ»ΠΈ ΠΏΠΎΡΠΎΠΊΡ.
ΠΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ Π²Π΄Π°Π²Π°ΡΡΡΡ Π² Π΄Π΅ΡΠ°Π»ΠΈ, Π½ΠΎ ΡΠΎΠΎΠ±ΡΠΈΠΌ, ΡΡΠΎ ΠΏΡΠΎΡΡΠ°Ρ Π³ΠΎΠ½ΠΊΠ° Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΠΉ Β«pingβΠ·Π²ΠΎΠ½ΠΈΠ»ΠΊΠ΅Β» ΠΊΠ°ΠΊβΡΠΎ Π²ΡΠ²Π΅Π»Π° ΠΈΠ· ΡΡΡΠΎΡ ΡΠ΅ΡΠ²ΠΈΡβΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ° ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΏΠΎΡΡΠΈ Π½Π° ΡΡΡΠΊΠΈ. ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Π°Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° ΡΠ΅ΡΡΡΡΠ° ΠΏΡΠΈΠ²Π΅Π»Π° ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΡΠ»Π°Π»ΠΎ pingβΠ·Π°ΠΏΡΠΎΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ IPβΠ°Π΄ΡΠ΅Ρ Ρ ΠΎΡΠ΅Π½Ρ Π²ΡΡΠΎΠΊΠΎΠΉ ΡΠΊΠΎΡΠΎΡΡΡΡ. ΠΠ½Π°ΡΡ ΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠΈ Π³ΠΎΠ½ΠΎΠΊ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΎΠ½ΠΈ ΠΏΡΠΎΡΠ²Π»ΡΡΡΡΡ Π½Π° ΡΠ°ΠΌΡΡ Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°Ρ , ΠΏΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Ρ Π΄Π²ΡΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°ΠΌΠΈ. ΠΡΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π² ΠΏΠΎΠ»ΡΠ·Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ»ΠΎ Π²ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π±ΡΡΡΡΡΠΌΠΈ Π΄Π²ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΠΌΠΈ ΠΌΠ°ΡΠΈΠ½Π°ΠΌΠΈ!
ΠΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½Π½ΡΠ΅ Π³ΡΠ΅Ρ Ρ ΡΠ·ΡΠΊΠΈ
ΠΠ°ΠΊ ΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΡΠ»ΡΡΠ°ΡΡ , Π³ΠΎΠ½ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ Π½Π° Π»ΡΠ±ΠΎΠΌ ΡΠ·ΡΠΊΠ΅. Π―Π·ΡΠΊΠΈ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΈ ΡΠ°Π·Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², Π½Π΅ ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ Π²ΠΈΠ΄Π°ΠΌ Π³ΠΎΠ½ΠΎΠΊ, Π½ΠΎ ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½ΠΈΠ·ΠΊΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ°ΠΊΠΈΡ ΡΠ·ΡΠΊΠΎΠ² Π΄Π΅Π»Π°Π΅Ρ ΠΈΡ ΡΡΠ·Π²ΠΈΠΌΡΠΌΠΈ Π΄Π»Ρ Π°ΡΠ°ΠΊ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΡ Π½Π° ΡΠ°Π·Π½ΠΈΡΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΈ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠ° (time of check to time of use β TOCTOU).
ΠΠ°ΠΊ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π³ΡΠ΅Ρ ΠΎΠΏΠ°Π΄Π΅Π½ΠΈΠ΅
ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ Π³ΠΎΠ½ΠΊΠΈ, β ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΠΏΠΎΠ±ΠΎΡΠ½ΡΠΌΠΈ ΡΡΡΠ΅ΠΊΡΠ°ΠΌΠΈ, ΠΏΡΠΎΡΠΈΠ² ΡΠ΅Π³ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ΅ΡΠ΅Π³Π°ΡΡ Π²ΡΠ΅ ΡΡΠ΅Π±Π½ΠΈΠΊΠΈ. ΠΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ ΡΠ΅Π΅Π½ΡΠ΅ΡΠ°Π±Π΅Π»ΡΠ½Π° ΠΈ Π΄Π²Π° ΠΏΠΎΡΠΎΠΊΠ° ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡΡ Π΅Π΅, ΡΠΎ ΡΠ°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ°. ΠΠ°ΠΊ Π²Ρ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΆΠ΅, Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅, ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅, ΠΏΠΎΡΡΠΈ Π»ΡΠ±Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ° ΠΏΡΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π΅Π²Π΅Π·Π΅Π½ΠΈΠΈ ΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΡ ΡΡΠΈΠ»ΠΈΡΡ , ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΏΡΠΎΡΠΈΠ²Π½ΠΈΠΊΠΎΠΌ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠ΅Π²ΡΠ°ΡΠ΅Π½Π° Π² ΡΠΊΡΠΏΠ»ΠΎΠΉΡ. ΠΠΎΡ ΠΈΠ»Π»ΡΡΡΡΠ°ΡΠΈΡ Π½Π° Π‘++:
...list<unsigned long> g_TheList;
unsigned long getNextFromList()
{
unsigned long ret = 0;
if (!g_TheList.empty())
{
ret = g_TheList.front();
g_TheList.pop_front();
}
return ret;
}
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ Π½Π°Π΄Π΅Π΅ΡΠ΅ΡΡ, ΡΡΠΎ ΡΠ°Π½ΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Π΄Π²Π° ΠΏΠΎΡΠΎΠΊΠ° ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΠΊΠ°ΠΆΡΡΡΡ Π² ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΌΠ°Π»Ρ. ΠΠ΄Π½Π°ΠΊΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠ΅ Π²ΡΡΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Π‘++ ΡΡΠ°Π½ΡΠ»ΠΈΡΡΡΡΡΡ Π² ΡΡΡΡΡΠΈ ΠΌΠ°ΡΠΈΠ½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄. ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΡΠΎΠΊ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ» ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π½Π°Π»ΠΈΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΡΠΏΠΈΡΠΊΠ΅, ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ Π΄ΡΡΠ³ΠΎΠΉ ΠΈΠ·Π²Π»Π΅ΡΠ΅Ρ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΠ·ΠΎΠ²Π° pop_front. ΠΠ°ΠΊ Π³ΠΎΠ²ΠΎΡΠΈΠ» ΠΠ»ΠΈΠ½Ρ ΠΡΡΠ²ΡΠ΄ Π² ΡΠΈΠ»ΡΠΌΠ΅ Β«ΠΡΡΠ·Π½ΡΠΉ ΠΠ°ΡΡΠΈΒ»: Β«ΠΡ ΠΈ ΠΊΠ°ΠΊ ΡΡ ΡΠ΅Π±Ρ ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΠ²ΡΡΠ²ΡΠ΅ΡΡ?Β» ΠΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆΠΈΠΉ ΠΊΠΎΠ΄ ΠΊΠ°ΠΊ ΡΠ°Π· ΠΈ ΠΏΡΠΈΠ²Π΅Π» ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅Ρ ΡΡΡΡ Π»ΠΈ Π½Π΅ ΡΡΡΠΊΠΈ ΠΎΡΠΊΠ°Π·ΡΠ²Π°Π» Π² ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌ.
ΠΡΡΠ³ΠΎΠ΅ ΠΏΡΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ β ΡΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ Π³ΠΎΠ½ΠΊΠΈ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠΈΠ³Π½Π°Π»ΠΎΠ². ΠΠΏΠ΅ΡΠ²ΡΠ΅ ΠΠ’Ρ1 Π.Π’Π.ΠΠ. Π±ΡΠ»Π° ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Π½Π° Π² ΡΡΠ°ΡΡΠ΅ ΠΠΈΡ Π°Π»Π° ΠΠ°Π»Π΅Π²ΡΠΊΠΈ Β«Delivering Signals for Fun and Profit: Understanding, Exploiting and Preventing Signal Handling Related VulnerabilitiesΒ» (Β«ΠΠΎΡΡΠ°Π²ΠΊΠ° ΡΠΈΠ³Π½Π°Π»ΠΎΠ² Π΄Π»Ρ Π·Π°Π±Π°Π²Ρ ΠΈ ΠΊ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ Π²ΡΠ³ΠΎΠ΄Π΅: ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅, ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΡ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΡΠΈΠ³Π½Π°Π»ΠΎΠ²Β»). ΠΠ΅ ΡΠ΅ΠΊΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ h.org/files/4/signals.txt. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ UNIX Π½Π΅ Π³ΠΎΡΠΎΠ²Ρ ΠΊ ΡΠΈΡΡΠ°ΡΠΈΡΠΌ, Π²ΡΡΡΠ΅ΡΠ°ΡΡΠΈΠΌΡΡ Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ . ΠΠ΅Π΄Ρ Π΄Π°ΠΆΠ΅ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π΄Π»Ρ UNIX ΠΈ UNIXβΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ, ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΠΎΡΠΎΠΆΠ΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ, Π° ΠΏΠΎΡΠ»Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠ°ΠΊΠΎΠΉβΠ½ΠΈΠ±ΡΠ΄Ρ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΊΠΎΠΏΠΈΡ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΠ°ΠΌΡΡΠΈ (ΡΡΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅ΡΡΡ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠΎΠΉ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈ Π·Π°ΠΏΠΈΡΠΈ). ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π°Π»Π΅Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠΈΠ³Π½Π°Π»ΠΎΠ², ΠΏΡΠΈΡΠ΅ΠΌ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π°ΡΡΠΎΡΠΈΠΈΡΡΠ΅ΡΡΡ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠΈΠ³Π½Π°Π»Π°ΠΌΠΈ. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΏΠΎΠΊΠΎΠΉΠ½ΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΡΡ ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠΎΠΉ, ΠΊΠ°ΠΊ Π²Π΄ΡΡΠ³ ΠΏΡΠΎΡΠΈΠ²Π½ΠΈΠΊ ΠΏΠΎΡΡΠ»Π°Π΅Ρ Π΅ΠΌΡ ΠΏΠ°ΡΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ², ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΎΡΠ΅Π½Ρ ΠΊΠΎΡΠΎΡΠΊΠΈΠΌ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΊΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. Π Π²ΠΎΡ Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΠΎ ΡΡΡΠΈ Π΄Π΅Π»Π° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΡΠΌ! ΠΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΡΡΠ΄Π½ΠΎ ΠΏΠΈΡΠ°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π·Π½Π°Π΅ΡΡ, ΠΊ ΡΠ΅ΠΌΡ Π³ΠΎΡΠΎΠ²ΠΈΡΡΡΡ; ΡΡΠΎ ΡΠΆ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎ ΡΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° ΡΠ°ΠΊΠΎΠΉ Β«ΠΏΠΎΠ΄Π»ΠΎΡΡΠΈΒ» Π½Π΅ ΠΎΠΆΠΈΠ΄Π°Π΅ΡΡ.
Π¦Π΅Π»ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΊΠ°ΡΠ°Π΅ΡΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ. Π‘ΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΏΠΎΠΏΠ°ΡΡΡ Π² Π±Π΅Π΄Ρ ΡΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ, ΡΡΠΎ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΡΡ. ΠΠΎΡ Π»ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ². ΠΠ°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ·Π΄Π°ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ», ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½Π° ΡΠ½Π°ΡΠ°Π»Π° ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, Π½Π΅Ρ Π»ΠΈ ΡΠΆΠ΅ ΡΠ°ΠΉΠ»Π° Ρ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΠΈ Π΅ΡΠ»ΠΈ Π½Π΅Ρ, ΡΠΎ ΡΠΎΠ·Π΄Π°Π΅Ρ Π΅Π³ΠΎ.
ΠΠ±ΡΡΠ½ΠΎΠ΅ Π΄Π΅Π»ΠΎ, Π½Π΅ ΠΏΡΠ°Π²Π΄Π° Π»ΠΈ? Π’Π°ΠΊβΡΠΎ ΠΎΠ½ΠΎ ΡΠ°ΠΊ, Π½ΠΎ ΡΡΠΎΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄Π»Ρ Π°ΡΠ°ΠΊΠΈ β ΠΏΡΠΎΡΠΈΠ²Π½ΠΈΠΊ ΡΠ³Π°Π΄ΡΠ²Π°Π΅Ρ ΠΈΠΌΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΡΡΠ»ΠΊΡ Π½Π° ΡΡΠΎβΠ½ΠΈΠ±ΡΠ΄Ρ Π²Π°ΠΆΠ½ΠΎΠ΅. ΠΠ°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π½Π΅ ΠΏΠΎΠ²Π΅Π·Π»ΠΎ, ΠΎΠ½Π° ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ΡΡΡΠ»ΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²Π΅Π΄Π΅Ρ Π½Π° ΡΠ°ΠΉΠ», Π²ΡΠ±ΡΠ°Π½Π½ΡΠΉ ΠΏΡΠΎΡΠΈΠ²Π½ΠΈΠΊΠΎΠΌ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΅Π΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΡΡΠΊΠ°Π»Π°ΡΠΈΠΈ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ. ΠΡΠ»ΠΈ Π²Ρ ΡΠ΄Π°Π»ΠΈΡΠ΅ ΡΠ°ΠΉΠ», ΠΏΡΠΎΡΠΈΠ²Π½ΠΈΠΊ ΡΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ΄ΡΡΠ°Π²ΠΈΡΡ Π²ΠΌΠ΅ΡΡΠΎ Π½Π΅Π³ΠΎ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠ»ΠΈ Π²Ρ Π·Π°ΡΡΠ΅ΡΠ΅ ΡΠ°ΠΉΠ», ΡΠΎ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°ΡΡ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ ΡΠ±ΠΎΡ Π² ΠΊΠ°ΠΊΠΎΠΉβΡΠΎ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅. ΠΡΠ»ΠΈ ΡΠ°ΠΉΠ» Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π½Π΅ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌ, ΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π΅Π³ΠΎ ΠΏΡΠ°Π²Π° ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΡΠΎΡΠΈΠ²Π½ΠΈΠΊΡ ΠΏΡΠ°Π²ΠΎ Π·Π°ΠΏΠΈΡΠΈ Π² ΠΊΠ°ΠΊΠΎΠΉβΡΠΎ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ». ΠΡΠΈ Π½Π°ΠΈΡ ΡΠ΄ΡΠ΅ΠΌ ΡΠ°Π·Π²ΠΈΡΠΈΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ Π²Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΄Π»Ρ ΡΠ°ΠΉΠ»Π° ΡΠ΅ΠΆΠΈΠΌ Π·Π°ΠΏΡΡΠΊΠ° ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ root (setuid root), ΠΈ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΡΠΈΠ²Π½ΠΈΠΊΠΎΠΌ, ΠΏΠΎΠ»ΡΡΠΈΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½ΡΠ΅ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ.