Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«19 смСртных Π³Ρ€Π΅Ρ…ΠΎΠ², ΡƒΠ³Ρ€ΠΎΠΆΠ°ΡŽΡ‰ΠΈΡ… бСзопасности ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 5

Автор Дэвид Π›Π΅Π±Π»Π°Π½ΠΊ

Ошибки ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π½ΠΎΠΉ строкой ΠΌΠΎΠ³ΡƒΡ‚ Π΄Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ эффСкт, ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±ΡƒΡ„Π΅Ρ€Π°, хотя ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Π² строгом смыслС Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ ошибки Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ связаны Π½ΠΈ с ΠΊΠ°ΠΊΠΈΠΌΠΈ Π±ΡƒΡ„Π΅Ρ€Π°ΠΌΠΈ.

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ пСрСполнСния Π±ΡƒΡ„Π΅Ρ€Π° являСтся запись Π² массив Π±Π΅Π· контроля Π²Ρ‹Ρ…ΠΎΠ΄Π° Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Ρ‹. Если ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊ сумССт прямо ΠΈΠ»ΠΈ косвСнно ΠΏΠΎΠ΄ΡΡƒΠ½ΡƒΡ‚ΡŒ индСкс массива ΠΈ Π²Ρ‹ Π½Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ допустимому Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρƒ, Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° запись ΠΏΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΌΡƒ адрСсу Π² памяти. ΠŸΡ€ΠΈ этом Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ измСняСтся ΠΏΠΎΡ‚ΠΎΠΊ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Ρ‚Π΅Ρ€Ρ‚Ρ‹ нСсмСТныС области памяти, Π° это сводит Π½Π° Π½Π΅Ρ‚ всС ΠΌΠ΅Ρ€Ρ‹ противодСйствия ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ Π±ΡƒΡ„Π΅Ρ€Π°.

Π“Π΄Π΅ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ

Π’ΠΎΡ‚ Π½Π° Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ:

β–‘ Π»ΡŽΠ±Ρ‹Π΅ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ ΠΈΠ· сСти, ΠΈΠ· Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки;

β–‘ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Π²Ρ‹ΡˆΠ΅ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚Ρ‹Ρ… источников Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ структуры;

β–‘ использованиС нСбСзопасных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками;

β–‘ использованиС арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ для вычислСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π±ΡƒΡ„Π΅Ρ€Π° ΠΈΠ»ΠΈ числа свободных Π±Π°ΠΉΡ‚ΠΎΠ² Π² Π½Π΅ΠΌ.

ВыявлСниС ошибки Π½Π° этапС Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ΄Π°

ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ присутствиС этого Π³Ρ€Π΅Ρ…Π° Π²ΠΎ врСмя Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ совсСм Π»Π΅Π³ΠΊΠΎ, Ρ‚Π°ΠΊ ΠΈ ΠΎΡ‡Π΅Π½ΡŒ слоТно. ΠŸΡ€ΠΎΡ‰Π΅ всСго ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС случаи употрСблСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками. Надо ΠΈΠΌΠ΅Ρ‚ΡŒ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ мСст, Π³Π΄Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ бСзопасно, Π½ΠΎ наш ΠΎΠΏΡ‹Ρ‚ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ошибки ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π΄Π°ΠΆΠ΅ Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Π²Ρ‹Π·ΠΎΠ²Π°Ρ…. ΠšΠΎΡΡ„Ρ„ΠΈΡ†ΠΈΠ΅Π½Ρ‚ рСгрСссии, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹ΠΉ для ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π° с Ρ†Π΅Π»ΡŒΡŽ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π° бСзопасныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ°Π» (ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠΉ дСсятой Π΄ΠΎ ΠΎΠ΄Π½ΠΎΠΉ сотой Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹, Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΎΠΉ для исправлСния ошибки), Π·Π°Ρ‚ΠΎ это ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²ΠΈΠ΄ΠΎΠ² эксплойтов.

Π”ΠΎΠ±ΠΈΡ‚ΡŒΡΡ этого ΠΌΠΎΠΆΠ½ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΡ€ΡƒΡ‡ΠΈΠ² Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ компилятору. Если Π²Ρ‹ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ объявлСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ strcpy, strcat, sprintf ΠΈ ΠΈΠΌ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΈΠ· Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ‚ΠΎ компилятор ΡƒΠΊΠ°ΠΆΠ΅Ρ‚ всС мСста Π² ΠΊΠΎΠ΄Π΅, Π³Π΄Π΅ ΠΎΠ½ΠΈ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ. Но ΠΈΠΌΠ΅ΠΉΡ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прилоТСния ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ»ΠΈ частично ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ исполнСния для языка Π‘.

Π‘Π»ΠΎΠΆΠ½Π΅Π΅ ΠΎΡ‚Ρ‹ΡΠΊΠ°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡƒΡ‡ΠΈ. Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту Π·Π°Π΄Π°Ρ‡Ρƒ, Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ возмоТности пСрСполнСния Ρ†Π΅Π»Ρ‹Ρ…, ΠΎ Ρ‡Π΅ΠΌ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Ρ€Π΅Ρ‡ΡŒ Π² Π³Ρ€Π΅Ρ…Π΅ 3. ΠΠ°Ρ‡Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½ΠΎ с выявлСния всСх мСст, Π³Π΄Π΅ производится Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ°ΠΊΠΈΡ… арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ вычислялся Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±ΡƒΡ„Π΅Ρ€Π°.

ΠΠ°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ всС ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰ΠΈΠ΅ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π΄Π°Π½Π½Ρ‹Π΅, начиная с Ρ‚ΠΎΡ‡ΠΊΠΈ Π²Ρ…ΠΎΠ΄Π° Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π΄Π°Π»Π΅Π΅ ΠΏΠΎ всСм функциям. ΠžΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊ.

ВСстированиС

Одной ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ эффСктивных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊ являСтся Ρ€Π°Π½Π΄ΠΎΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ тСстированиС (fuzz testing), ΠΊΠΎΠ³Π΄Π° Π½Π° Π²Ρ…ΠΎΠ΄ ΠΏΠΎΠ΄Π°ΡŽΡ‚ΡΡ полуслучайныС Π΄Π°Π½Π½Ρ‹Π΅. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… строк ΠΈ ΠΏΠΎΠ½Π°Π±Π»ΡŽΠ΄Π°ΠΉΡ‚Π΅ Π·Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ прилоТСния. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΎΠ΄Π½Ρƒ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ: ΠΈΠ½ΠΎΠ³Π΄Π° мноТСство Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… довольно ΠΌΠ°Π»ΠΎ. НапримСр, Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ провСряСтся, Ρ‡Ρ‚ΠΎ Π΄Π»ΠΈΠ½Π° Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ строки Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ мСньшС 260 Π±Π°ΠΉΡ‚ΠΎΠ², Π° Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ мСстС выдСляСтся Π±ΡƒΡ„Π΅Ρ€ Π΄Π»ΠΈΠ½ΠΎΠΉ 256. Если Π²Ρ‹ ΠΏΠΎΠ΄Π°Π΄ΠΈΡ‚Π΅ Π½Π° Π²Ρ…ΠΎΠ΄ ΠΎΡ‡Π΅Π½ΡŒ Π΄Π»ΠΈΠ½Π½ΡƒΡŽ строку, Ρ‚ΠΎ ΠΎΠ½Π°, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ€Π³Π½ΡƒΡ‚Π°, Π½ΠΎ стоит ΠΏΠΎΠΏΠ°ΡΡ‚ΡŒ Ρ‚ΠΎΡ‡Π½ΠΎ Π² Π½Π΅ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ интСрвал–и ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ эксплойт. Часто ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€ΠΈ тСстировании стСпСни Π΄Π²ΠΎΠΉΠΊΠΈ ΠΈΠ»ΠΈ стСпСни Π΄Π²ΠΎΠΉΠΊΠΈ ΠΏΠ»ΡŽΡβ€“ΠΌΠΈΠ½ΡƒΡ Π΅Π΄ΠΈΠ½ΠΈΡ†Π°.

Π‘Ρ‚ΠΎΠΈΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΈΡΠΊΠ°Ρ‚ΡŒ Ρ‚Π΅ мСста, Π³Π΄Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π΄Π°Ρ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ чСго–либо. Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π΄Π»ΠΈΠ½Ρƒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½Π° Π½Π΅ соотвСтствовала строкС, ΠΈ особоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Ρ‰Π°ΠΉΡ‚Π΅ Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ пСрСполнСния Ρ†Π΅Π»ΠΎΠ³ΠΎ: ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ случаи, ΠΊΠΎΠ³Π΄Π° Π΄Π»ΠΈΠ½Π° +1 = 0.

Для Ρ€Π°Π½Π΄ΠΎΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ тСстирования Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ‚Π΅ΡΡ‚ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Π΅ вСрсии часто Π²ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ утвСрТдСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ ΠΏΠΎΡ‚ΠΎΠΊ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΌΠ΅ΡˆΠ°Ρ‚ΡŒ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ условия, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ экплойт. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, соврСмСнныС компиляторы Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Π΅ вСрсии Ρ…ΠΈΡ‚Ρ€ΠΎΡƒΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ для обнаруТСния ΠΏΠΎΡ€Ρ‡ΠΈ стСка. Π’ зависимости ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ распрСдСлитСля памяти ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΡΡ‚Ρ€ΠΎΠ³ΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ цСлостности ΠΊΡƒΡ‡ΠΈ.

Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ утвСрТдСния для контроля Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ смысл ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹:

...

assert(len < MAX_PATH);

ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ

...

if(len >= MAX_PATH)

{

assert(false);

return false;

}

ВсСгда слСдуСт Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ какой–либо ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ обнаруТСния ошибок ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ AppVerifier для Windows (см. ссылку Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Β«Π”Ρ€ΡƒΠ³ΠΈΠ΅ рСсурсы»). Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ ошибки, связанныС с нСбольшим ΠΈΠ»ΠΈ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΡƒΠ»ΠΎΠ²ΠΈΠΌΡ‹ΠΌ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Π±ΡƒΡ„Π΅Ρ€Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈΠ· Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ пСрСполнСния Π±ΡƒΡ„Π΅Ρ€Π°, взятыС ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… уязвимостСй ΠΈ Π±Ρ€Π΅ΡˆΠ΅ΠΉ (CVE) Π½Π° сайтС http://cve.mitre.org. Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ Π½Π°Π΄ этой ΠΊΠ½ΠΈΠ³ΠΎΠΉ, Π² Π±Π°Π·Π΅ CVE ΠΏΠΎ запросу Β«buffer overrimΒ» Π½Π°Ρ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ 1734 записи. Поиск ΠΏΠΎ Π±ΡŽΠ»Π»Π΅Ρ‚Π΅Π½ΡΠΌ CERT, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ самыС ΡˆΠΈΡ€ΠΎΠΊΠΎ распространСнныС ΠΈ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Π΅ уязвимости, ΠΏΠΎ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ запросу Π΄Π°Π» 107 Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².

CVE–1999–0042

Π¦ΠΈΡ‚Π°Ρ‚Π° ΠΈΠ· описания ошибки: Β«ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±ΡƒΡ„Π΅Ρ€Π° Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ сСрвСров IMAP ΠΈ POP Π’Π°ΡˆΠΈΠ½Π³Ρ‚ΠΎΠ½ΡΠΊΠΎΠ³ΠΎ унивСрситСта». Π­Ρ‚Π° ΠΆΠ΅ ошибка ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° Π² Π±ΡŽΠ»Π»Π΅Ρ‚Π΅Π½Π΅ CERT Π·Π° Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ БА–1997–09. ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ происходит Π²ΠΎ врСмя Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ для доступа ΠΊ сСрвСрам, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ Post Office Protocol (POP) ΠΈ Internet Message Access Protocol (IMAP). Бвязанная с Π½Π΅ΠΉ ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ сСрвСр элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹ Π½Π΅ ΠΌΠΎΠ³ ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ, поэтому эксплойт Π΄Π°Π²Π°Π» ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊΡƒ ΠΏΡ€Π°Π²Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ root. Π­Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ поставило ΠΏΠΎΠ΄ ΡƒΠ΄Π°Ρ€ довольно ΠΌΠ½ΠΎΠ³ΠΎ систСм.

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, созданная для поиска уязвимых вСрсий этого сСрвСра, ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»Π° Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Π΅ Π΄Π΅Ρ„Π΅ΠΊΡ‚Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ SLMail 2.5 производства Seattle Labs, ΠΎ Ρ‡Π΅ΠΌ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ ΠΎΡ‚Ρ‡Π΅Ρ‚ Π½Π° страницС www.winnetmag.com/Article/ArticleID/9223/ 9223.html.

CVE–2000–0389 – CVE–2000–0392

Из CVE–2000–0389: Β«ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±ΡƒΡ„Π΅Ρ€Π° Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ krb_rd_req Π² Kerberos вСрсий 4 ΠΈ 5 позволяСт ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊΡƒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ rootΒ».

Из CVE–2000–0390: Β«ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±ΡƒΡ„Π΅Ρ€Π° Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ krb425_conv_principal Π² Kerberos 5 позволяСт ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊΡƒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ rootΒ».

Из CVE–2000–0391: Β«ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±ΡƒΡ„Π΅Ρ€Π° Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ krshd, входящСй Π² состав Kerberos 5, позволяСт ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊΡƒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ rootΒ».

Из CVE–2000–0392: Β«ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±ΡƒΡ„Π΅Ρ€Π° Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ krshd, входящСй Π² состав Kerberos 5, позволяСт ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊΡƒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ rootΒ».

Π­Ρ‚ΠΈ ошибки Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ систСмы Kerberos производства МВИ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π² Π±ΡŽΠ»Π»Π΅Ρ‚Π΅Π½Π΅ CERT БА–2000–06 ΠΏΠΎ адрСсу www.cert.org/advisories/CA–2000–06.html. Π₯отя исходныС тСксты ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ ΡƒΠΆΠ΅ нСсколько Π»Π΅Ρ‚ ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° корСнится Π² использовании опасных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками (strcat), ΠΎΡ‚Ρ‡Π΅Ρ‚ ΠΎ Π½Π΅ΠΉ появился Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² 2000 Π³ΠΎΠ΄Ρƒ.

CVE–2002–0842, CVE–2003–0095, CAN–2003–0096

Из CVE–2002–0842:

Ошибка ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π½ΠΎΠΉ строкой Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ mod_dav, примСняСмой для протоколирования сообщСний ΠΎ ΠΏΠ»ΠΎΡ…ΠΎΠΌ шлюзС (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Oracle9i Application Server 9.0.2), позволяСт ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊΡƒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠ²ΡˆΠΈΡΡŒ ΠΊ URI, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ сСрвСр Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚ Β«502 BadGatewayΒ». Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ функция dav_lookup_uri() Π² Ρ„Π°ΠΉΠ»Π΅ mod_dav.c Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ спСцификаторы Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π½ΠΎΠΉ строки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΡ‚ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ap_log_rerror().

Из CVE–2003–0095: ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±ΡƒΡ„Π΅Ρ€Π° Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ORACLE.EXE для Oracle Database Server 9i, 8i, 8.1.7 ΠΈ 8.0.6 позволяСт ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊΡƒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄, Π·Π°Π΄Π°Π² ΠΏΡ€ΠΈ Π²Ρ…ΠΎΠ΄Π΅ Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Ошибкой ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠ· клиСнтских ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΡ… Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ, Ρ‡Ρ‚ΠΎ ΠΈ продСмонстрировано Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ LOADPSP.

Из CAN–2003–0096: ΠœΠ½ΠΎΠ³ΠΎΡ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Π΅ ошибки пСрСполнСния Π±ΡƒΡ„Π΅Ρ€Π° Π² Oracle 9i Database Release 2, Release 1, 8i, 8.1.7 ΠΈ 8.0.6 ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊΡƒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄, (1) Π·Π°Π΄Π°Π² Π΄Π»ΠΈΠ½Π½ΡƒΡŽ строку прСобразования Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ TO_TIMESTAMP_TZ, (2) Π·Π°Π΄Π°Π² Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ часового пояса Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ TZ_OFFSET ΠΈ (3) Π·Π°Π΄Π°Π² Π΄Π»ΠΈΠ½Π½ΡƒΡŽ строку Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° DIRECTORY Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ BFILENAME.

Π­Ρ‚ΠΈ ошибки Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π² Π±ΡŽΠ»Π»Π΅Ρ‚Π΅Π½Π΅ CERT БА–2003–05 ΠΏΠΎ адрСсу www.cert.org/advisories/CA–2003–05.html. Π˜Ρ… – Π² числС ΠΏΡ€ΠΎΡ‡ΠΈΡ… – ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ» Дэвид Π›ΠΈΡ‚Ρ‡Ρ„ΠΈΠ»Π΄ со своими сотрудниками ΠΈΠ· ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Next Generation Security Software Ltd. ΠŸΠΎΠΏΡƒΡ‚Π½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π½Π΅ стоит ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ свои прилоТСния «нС–взламываСмыми», Ссли Π·Π° Π΄Π΅Π»ΠΎ бСрСтся г–н Π›ΠΈΡ‚Ρ‡Ρ„ΠΈΠ»Π΄.

CAN–2003–0352

Из описания в CVE:

ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±ΡƒΡ„Π΅Ρ€Π° Π² ΠΎΠ΄Π½ΠΎΠΌ интСрфСйсС DCOM, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΌ Π² систСмС RPC, примСняСмой Π² Microsoft Windows NT 4.0,2000, Π₯Π  ΠΈ Server 2003, позволяСт ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊΡƒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄, сформировав Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ сообщСниС. Π­Ρ‚ΠΎΠΉ ошибкой воспользовались Ρ‡Π΅Ρ€Π²ΠΈ Blaster/MSblast/LovSAN and Nachi/Welchia.

Π­Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ интСрСсно Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ ΠΊ ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌΡƒ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½Π΅Π½ΠΈΡŽ Π΄Π²ΡƒΡ… вСсьма Ρ€Π°Π·Ρ€ΡƒΡˆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ‡Π΅Ρ€Π²Π΅ΠΉ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ²Π»Π΅ΠΊΠ»ΠΎ Π·Π° собой Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ нСприятности Π² сСти Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚. ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½ΡΠ»ΡΡ Π±ΡƒΡ„Π΅Ρ€ Π² ΠΊΡƒΡ‡Π΅, Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎΠΌ возмоТности эксплуатации ошибки стало появлСниС ΠΎΡ‡Π΅Π½ΡŒ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ чСрвя. Ко всСму ΠΏΡ€ΠΎΡ‡Π΅ΠΌΡƒ Π΅Ρ‰Π΅ Π±Ρ‹Π» Π½Π°Ρ€ΡƒΡˆΠ΅Π½ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ прСдоставлСния Π½Π°ΠΈΠΌΠ΅Π½ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ, этот интСрфСйс Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Π» Π±Ρ‹Ρ‚ΡŒ доступСн Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ. Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎ Π΅Ρ‰Π΅ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ прСдпринятыС Π² Windows 2003 ΠΊΠΎΠ½Ρ‚Ρ€ΠΌΠ΅Ρ€Ρ‹ свСли послСдствия Π°Ρ‚Π°ΠΊΠΈ ΠΊ ΠΎΡ‚ΠΊΠ°Π·Ρƒ ΠΎΡ‚ обслуТивания вмСсто эскалации ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎΠ± этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π½Π° страницах www.cert.org/ advisories/CA–2003–23.html ΠΈ www.microsoft.com/technet/security/bulletin/MS03–039.asp.