Віруси проти технології NX в Windows XP SP2 h2>
Ідеальних
систем не буває. І що б в Microsoft не говорили про курс на зміцнення
безпеці своїх продуктів, помилки і критичні вразливості в них будуть
знаходити завжди. Встановлення Service Pack 2 може попсувати чимало крові навіть
досвідченому адміністраторові (Див., наприклад, статтю Безпечна Windows. Але ж
головний "бонус" такої установки - підвищення рівня безпеки
Windows XP. Так чи вигідно це для звичайного домашнього користувача
або поки йому цілком можна і почекати ?.. p>
Основні загрози безпеки h2>
Погляньмо
на двадцятку "найпопулярніших" шкідливих програм минулого
вересня. p>
Табличку,
насправді, можна сильно скоротити: здебільшого вона заповнена
різноманітними штамами черв'яків NetSky, Bagle і Mydoom. Одне місце дісталося
угорському черв'якові Zafi і ще два займають представники сімейства троянських
програм. Всі до одного учасники "гарячої двадцятки" використовують
тільки довірливість і недосвідченість користувача: черв'яки поширюються по
електронною поштою та через P2P-мережі у вигляді файлів, що виконуються, а троянців
користувачі взагалі підкидають один одному самі. А значить, Service Pack 2 на
цю ситуацію принципово не вплине: "дірки" в головах
компьютеровладельцев він, на жаль, закрити не в змозі. То, може, його й
встановлювати не треба? p>
Проведемо
простий експеримент: підключимо ПК зі свіжовстановленому Windows XP
Professional SP1 до Інтернету через одного з найбільших московських провайдерів
- "МТУ-Інтел" (який начебто навіть фільтрує у своїй мережі найбільш
відомі і небезпечні віруси - і вже точно мав би фільтрувати MSBlast),
відкриємо в IE сайт "Компьютерра" і засікти час. Через приблизно
вісімнадцять хвилин (і скажіть ще спасибі, що вам ці 18 хвилин дали. У
мережах студентських гуртожитків того ж МГУ "час життя" незахищеною
машини становить не більше 3-5 хвилин комп'ютер, як і очікувалося, підчепив вірус
W32.Blaster.Worm. Так що кидатися з крайності в крайність не варто: хоча б
найбільш критичні латочки (у даному випадку - KB823980) поставити все-таки
необхідно. До того ж MSBlast - всього лише найвідоміший черв'як, що проникає
на комп'ютер без будь-яких дій з боку користувача, але є і набагато
більш небезпечні "непомітні" черв'яки, від яких антивіруси захищають
погано. p>
Так,
багато галасу наробила виявлена в кінці літа уразливість MS04-28 в стандартній
бібліотеці GDI + Windows XP (Див.
www.microsoft.com/technet/security/bulletin/MS04-028.mspx). Функції цієї
бібліотеки, які використовуються для перегляду JPEG-файлів, що містять помилку типу
"переповнення буфера" і дозволяють при перегляді спеціально
сформованої картинки запустити на комп'ютері жертви довільний код.
Бібліотеку, яка входить у всі різновиди Windows XP, використовують не тільки
Internet Explorer і Outlook, але і чи не кожна друга програма, якою
доводиться переглядати картинки цього формату. Про масштаби загрози
красномовно говорять п'ять (!) випущених патчів і список "affected
software "на два екрани. А найсумніше те, що, навіть встановивши ці патчі,
в цілковитій безпеці ви себе все одно не відчуєте, бо добрі
програмісти, щоб не втрачати сумісності своїх продуктів з версіями Windows,
відмінними від XP, і використовувати повною мірою переваги нового графічного
інтерфейсу, запросто могли включити в дистрибутиви вразливу копію GDI +. p>
До
щастя, влітку і на початку осені віруси вели себе на диво тихо, так що
очікувана аналітиками епідемія поштового вірусу, що використовує цю вразливість,
не відбулася. Поки що. Але "потенціал" у JPEG-експлойта приголомшливий, і
сумніватися в тому, що рано чи пізно з'явиться ціле сімейство відповідних
вірусів, не доводиться (в інтернеті на "полуничних" сайтах вже
виявилися перші "ластівки". Залишається лише порадіти тому, що
хоча інформація про MS04-28 з'явилася лише 14 вересня (SP2 вийшов двома
тижнями раніше), основні латочки від цієї гидоти другий сервіс-пак все-таки
містить (втім, це тема для окремого обговорення (див., наприклад, матеріал
Ми впишемо нову сторінку !). p>
Data Execution Prevention - захист від ще не
існуючих експлойтів h2>
Втім,
"недовго музика грала". Так, з десятка опублікованих з моменту
виходу SP2 нових вразливостей велика частина в Windows XP SP2 не працює. Так, на
сьогоднішній день не існує жодного хоча б концептуального експлойта, на
практиці доводить можливість ураження Windows XP з встановленим SP2. Але
(повертаючись до початку статті) перший відповідні уразливості вже знайдені і
описані. Наприклад, випущений недавно кумулятивний апдейт MS04-038 до Internet
Explorer (Див. www.microsoft.com/technet/security/Bulletin/MS04-038.mspx)
зачіпає і Windows XP SP2 - правда, поки лише в ранзі Important, а не
Critical. P>
Отже,
що ж виходить? SP2 не дає нічого принципового нового в порівнянні з
латкою KB833987 і подібних до неї? Не зовсім: щасливі власники процесорів
AMD Athlon 64/Sempron (Socket 754) та останніх степпінгу Pentium 4
Prescott/Celeron D, нарешті отримають працюючу апаратну
"противірусну підтримку" у вигляді спеціального біта NX в таблицях
трансляції віртуальної пам'яті. Якщо не вдаватися в подробиці (за якими я
відсилаю до статті, згаданої в попередній виносці), завдяки цьому биту
операційна система може заборонити виконання коду з певних областей
пам'яті. У випадку з SP2 Microsoft просто забороняє виконувати код з будь-яких
областей, для яких явно не сказано, що вони призначені саме
для коду. І одночасно за замовчуванням забороняє запис в сторінки, оголошені
для зберігання коду. Так що яку б уразливість в обробці мережевих запитів ні
містила програма, запустити шкідливий код на машині жертви неможливо:
записати вірус в ділянки пам'яті, вже зайняті програмним кодом, не можна - вони
захищені від запису. А записувати вірус в будь-яке інше місце - в стек або
область даних (що і використовується у всіляких вразливості з переповненням
буфера) - сенсу немає, оскільки запустити його звідти на комп'ютері з апаратної
підтримкою NX не вдасться. Всі ці хитрощі корпорація називає технологією DEP
(Data Execution Prevention). P>
Чесно
кажучи, озброївшись власноручно написаної крихітної програмкою,
перевіряє функціонування DEP, я був трохи збентежений тим, що на
свіжовстановленому Windows XP Professional (до речі, хто-небудь з читачів
може пояснити, чому після установки SP2 напис "Professional" з
завантажувального екрану зникає?) імітація атаки переповненням буфера пройшла більш
ніж успішно. Виявилося, що за замовчуванням технологія Data Execution Prevention в
новому сервіс-паку включена лише для загадкових "найбільш критичних
системних програм ". Мабуть, Microsoft вирішила, що виліт додатків по
спрацьовуванню DEP (наприклад, з бенчмарків по DEP "вилітає" Vulpine
GLmark) може переповнити чашу терпіння користувачів. Однак і вимкнути DEP
зовсім, якщо комп'ютер її апаратно підтримує, не так-то просто: правка
завантаження ключів у файлі boot.ini - процедура, звичайно, проста, але аж надто
"в стилі Unix", а значить, далеко не кожен користувач туди полізе
(не можу втриматися і від підколки на адресу "інтуїтивно зрозумілого
інтерфейсу "Windows: у кращих традиціях Microsoft налаштування DEP
знаходяться ... в пункті Perfomance Options ( "Параметри
швидкодії "), доступному з вкладки Advanced (" Додатково ")
діалогу System ( "Система") з "Панелі управління". Втім,
до верху ідіотизму - процесу налаштування системи на прийом вхідних дзвінків (для
встановлення прямого, так би мовити, "нуль-провайдерської" модемного
з'єднання) - ця особливість не дотягує. Якщо хто не знає - робиться
подібна операція тільки з меню "Додатково" штатного
"Провідника", причому з'являється цей пункт меню лише при заході в
папку "Мережеві підключення". Навіть з інструкцією на руках я знайшов його
лише з третьої спроби - просто не міг уявити, що в абсолютно незмінному
і ніколи не використовується меню Explorer раптом додасться ще одна життєво
необхідний пункт). p>
Оскільки
з експлойт до Windows XP SP2 поки не густо, ми відчували захист NX "в
польових умовах "на звичайних файлових віруси. Деякі шкідливі
програми, зокрема Virus.Win32.Jess.a, DEP теж "хапає за руку"
при спробі, наприклад, впровадження свого коду в адресний простір Internet
Explorer. Так що якщо на вашому комп'ютері DEP забила тривогу для першого
файла ... друга ... третя ... - Є серйозний привід турбуватися. Шкода
тільки, що спрацьовування апаратного захисту по NX рівносильно апаратному
переривання SEGFAULT, гарантовано вбиває що породив його процес з
стандартно-вибачається повідомленням Microsoft. p>
До
жаль, така особливість захисту, і змінити тут щось неможливо. І
оскільки терпіти подібного роду фатальні помилки можна далеко не завжди,
передбачена можливість вибіркового відключення DEP для певних програм
і процесів. Звичайно, деколи це не дуже зручно, проте безпека дорожче.
І хоча я так і не наважився поставити SP2 на домашню систему (немає ні найменшого
бажання возитися і перенастроювати або встановлювати заново масу звичних і
часто використовуються професійних програм, до числа яких, наприклад,
входять два IDE, досить тісно інтегрується з ОС і ревниво відносяться до
подібного роду змін), але якби в мене комп'ютер, в якому можна включити
апаратний DEP, я вчинив би інакше. Microsoft, правда, заявляє і якісь програмні
елементи DEP, але ні я, ні фахівці "Лабораторії Касперського" так і
не змогли з'ясувати, в чому це проявляється: експлойти на подібній системі
прекрасно працюють (та й дивно було б, якщо б було інакше, - біт NX
важко чимось замінити). Якщо захочете перевірити, яка у вас підтримка DEP --
апаратна або програмна, то після установки SP2 відкрийте "Властивості
системи "- в нижньому правому куті повинно бути написано про підтримку режиму
Physical Address Extension (PAE), оскільки NX є частиною AMD64, а для
функціонування останньої необхідно включити саме цей режим. p>
Закриття
всіх відомих дірок і вразливостей в поєднанні з DEP залишає приємне відчуття
надійності. Все працює, проблем майже немає, і навіть якщо несподівано вилізе
черговий JPEG-експлойт або вірус проникне зі старою версією бібліотеки, DEP
майже напевно зупинить поширення шкідливих програм. Звичайно,
апаратна захист від переповнення буфера - не панацея (є чимало способів
обійти і її, причому навіть без участі користувача), але від самих
поширених і небезпечних атак вона все ж таки захищає. Але що робити, якщо зараза
все-таки пробралася в комп'ютер? p>
Брандмауер Windows XP SP2 h2>
Найчастіше
інтернет-черв'яки дбають тільки про своє виживання - і тоді користувач
позбудеться незначної частини дискового простору (яке займуть копії
черв'яка; Sasser, наприклад, за три години роботи встиг абсолютно ненавмисно
наплодити на нашій тестовій машині копій двадцять) і мережевого трафіку (128
потоків того ж Sasser'а безперервно сканують навколишній простір у пошуках
жертв). Типовою є також ситуація, коли на машину жертви
"попутно" встановлюється троян, на адресу його автора йде лист з
усіма паролями користувача, на сайт якої-небудь SCO починається DDoS-атака,
або ж машина використовується як поштова релей для пересилання спаму. Особливо це
відноситься до троянських коней, для яких існують прекрасні
"конфігураційні утиліти", що дозволяють зібрати троянця за своїм
смаку - персонально для чимось не сподобався юному "хакеру"
користувача. p>
Захист
від подібних напастей - грамотно налаштований файрвол, який до того ж вибудує
ще одну лінію оборони від вторгнення в систему без активної участі
користувача. Microsoft в другому сервіс-паку серйозно обновила вбудований в
Windows XP брандмауер; так, може, тут можна обійтися і без сторонніх
рішень? p>
До
жаль, повноцінний захист Microsoft так і не народила. Так, закриті деякі
помилки, які дозволяли обходити брандмауер. Але він до цих пір не дозволяє вести
контроль вихідних з'єднань, ініційованих вже встановленими програмами. І в
"Лабораторії Касперського" це наочно продемонстрували: після
засилання на комп'ютер жертви того ж "Сусіда" на спеціально створений
для цих цілей поштову скриньку відразу впало електронне повідомлення з файлом
паролів користувача. Так що якщо справді дбати про власну
безпеки, потрібно неодмінно обзавестися файрволлов стороннього виробника.
Втім, від багатьох "лобових" атак і від "прямолінійного"
відкриття портів троянцем на машині жертви ( "створення backdoor'ов")
штатний мікрософтовское засіб все-таки рятує. p>
Правда,
Кріс Касперски переконливо показав (див. www.insidepro.com/kk/016/016r.shtml),
що обійти таку "захист" зовсім не важко, але спасибі й на тому, що
користувачеві взагалі хоч щось дали. Тим паче і брандмауери, які відстежують
вихідні з'єднання, теж можна обдурити, замаскувавшись під цілком
благопристойне програму. p>
В
іншому - брандмауер цілком пристойно справляється з покладеними на нього
обов'язками: не висне, не глючить, власних вразливостей не має і спроби
відкриття портів "на прослуховування" відстежує. Скажімо так: гірше від
його включення вже точно не стане. Тим більше що в багатьох відношеннях це цілком
пристойний файрволл з розвиненими настройками, яким досвідчений адміністратор
знайде корисне застосування. Крім того, навчитися працювати з цим
"засобом захисту" зможе навіть недосвідчений користувач. p>
"Шашечки" і загальні висновки з безпеки SP2 h2>
До
"шашечки", звичайно ж, слід віднести появу в Windows XP SP2 Центру
безпеки. Це красиве і зручне нововведення, а спливаючі подсказочкі про
невстановленому в системі антивірусі - непогана турбота про користувача (мене все
ці спливаючі підказки, відверто кажучи, дістали. А як їх відключити - я
не знайшов (правда, особливо і не шукав). Але реальної надійності чи зручності в
налаштування Центр не додає: дуже вже легко його обдурити, зробивши вигляд, що
антивірус і сторонній брандмауер в системі вже встановлені. p>
Традиційного
висновку про те, що в Microsoft, як завжди, попрацювали більше над формою, ніж
над змістом, цього разу не буде. Надійність Windows XP SP2 дійсно
заслуговує усіляких похвал: за два місяці - жодної критичної уразливості,
ні одного працездатного вірусу! І додаткова страховка у вигляді DEP на
майбутнє. Шкода тільки, що в гонитві за безпекою серйозно постраждали звичайні
користувачі. Шкода і того, що в систему не вбудували більш-менш
повноцінного файрволла. Отже, якщо не боїтеся тимчасових проблем, сміливо
ставте SP2, додавайте будь-який нормальний брандмауер і антивірус і радійте
повністю захищеною системі. А якщо боїтеся - встановіть найбільш критичні
латки на SP1, додайте ті ж брандмауер і антивірус і знову ж таки радійте
захищеної системи. Головне, не забувайте вчасно читати інформаційні
бюлетені Microsoft і антивірусних компаній. Нарешті, якщо у вас непоганий досвід
роботи з комп'ютером, а віруси з поштових вкладень, так само як і незнайомі
програми, викачані з файлообмінних мереж, ви не запускаєте, то можна скористатися
і штатним файрволлов і навіть, можливо, відмовитися від антивіруса. Але це --
тільки за наявності повної впевненості в своїх силах. p>
Список літератури h2>
Для
підготовки даної роботи були використані матеріали з сайту http://mdforum.dynu.com
p>