Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
162
Добавлен:
02.05.2014
Размер:
152.58 Кб
Скачать

УДК 681.3.06

І.А.Терейковський

Захист Web – сайтів корпоративних інформаційних систем від атак на відмову Вступ

Загальновідомо, що підключення корпоративних інформаційних систем до мережі Інтернет надає величезні вигоди через доступ до колосального обсягу інформації. Але таке підключення є апріорі небезпечним. Мережа Інтернет страждає від серйозних проблем з безпекою, які можуть негативно впливати на безпеку підключених до неї корпоративних інформаційних систем [1,2].

Для того, щоб розглядати надалі питання безпеки в Інтернет, розглянемо деякі важливі поняття, якими оперує теорія комп'ютерної безпеки. До цих понять відносяться: загрози, вразливості й атаки.

Загроза безпеці комп'ютерної системи - це потенційно можлива подія, що може зробити негативний вплив на саму систему, а також на інформацію, що зберігається в ній.

Вразливість комп'ютерної системи це нездатність системи протистояти реалізації певної загрози або сукупності загроз. Іншими словами, вразливість комп'ютерної системи - це деяка її невдала характеристика, що сприяє виникненню загрози. Саме через наявність вразливостей у системі можуть відбуватись небажані події.

Атака на комп'ютерну систему - це дія, що починається зловмисником і полягає в пошуку і використанні тієї чи іншої вразливості. Таким чином, атака - це реалізація загрози.

За своїм типом загрози інформації можуть бути класифіковані різним чином. Загальнопоширеною є класифікація відповідно до властивостей інформації, яка порушується у випадку реалізації загрози та відповідно до механізмів реалізації загрози. В першому випадку класифікують загрози конфіденційності, цілісності та доступності інформації. В другому випадку однією з найбільш небезпечних є загроза відмови в обслуговуванні. Ця загроза виникає кожен раз, коли в результаті деяких дій блокується доступ до деякого ресурсу обчислювальної системи. Реальне блокування може бути постійним, так щоб запитуваний ресурс ніколи не був отриманий, чи воно може викликати тільки затримку запитуваного ресурсу, досить довгу для того, щоб він став марним. В таких випадках говорять, що ресурс вичерпаний. Як показує практичний досвід атака з метою відмови в обслуговуванні (атака на відмову) є однією із найбільш розповсюджених та небезпечних. Досить часто об’єктом такої атаки є Web – сервер та операційна система комп’ютерної мережі, що забезпечує функціонування Web – сайту корпоративних інформаційних систем. Успішна атака може призвести до часткового або навіть повного блокування Web – сайту, що може призвести до серйозних економічних збитків організації – експлуатанта корпоративних інформаційних систем. Хоча забезпеченню необхідного рівня безпеки Web – сайтів приділяється досить значна увага, але за останній час відзначені непоодинокі успішні атаки такого типу.

Постановка проблеми у загальному вигляді та її зв’язок із важливими науковими чи практичними завданнями

Забезпечення належного рівня захисту Web – сайту від загрози типу, відмова в обслуговуванні. Проблема безпосередньо пов’язана з важливим науково – практичним завданням забезпечення інформаційної безпеки корпоративних інформаційних систем.

Аналіз останніх досягнень та публікацій, в яких започатковано розв’язання даної проблеми і на які спирається автор

Однієї з основних задач, покладених на Web – сервер є забезпечення надійного віддаленого доступу з будь-якого об'єкта мережі Інтернет до даного об'єкта. Завдання Web – сервера полягає в тім, щоб, знаходячись в пам'яті операційної системи комп’ютерної мережі, постійно очікувати одержання запиту на підключення від віддаленого клієнту мережі Інтернет. В випадку одержання такого запиту Web – сервер повинен або дозволити з’єднання та передати відповідь, або відмовити в з’єднання.

Очевидно, що операційна система комп’ютерної мережі, під управлінням якої працює Web – сервер, здатна мати тільки обмежене число відкритих з'єднань і відповідати лише на обмежене число запитів. Ці обмеження залежать від різних параметрів системи, основними з яких є швидкодія комп’ютера, обсяг оперативної пам'яті і пропускна здатність каналу зв'язку.

Одна із проблем безпеки полягає в тому, що в мережі Інтернет ідентифікація запиту можлива тільки за адресою його відправника. В програмному забезпеченні більшості Web – серверів не передбачено засобів ідентифікації адреси відправника при обробці запиту на з’єднання з загальнодоступною сторінкою сайту. В літературі [1,3] розглядається декілька типових атак, спрямованих на відмову в обслуговуванні Web – сервера та операційної системи комп’ютерної мережі.

Зловмисник може передавати на Web – сервер, що атакується, нескінченне число анонімних запитів на підключення. Результат застосування такої віддаленої атаки - порушення на атакованому Web – сервері працездатності відповідної служби надання віддаленого доступу, тобто неможливість одержання віддаленого доступу з інших об'єктів Інтернет - відмова в обслуговуванні.

Другий різновид такої атаки полягає в передачі з однієї адреси такої кількості запитів на Web – сервер, яке дозволить трафік (спрямований "шторм" запитів). В цьому випадку, якщо в системі не передбачені правила, що обмежують число прийнятих запитів з однієї адреси в одиницю часу, то результатом цієї атаки може бути переповнення черги запитів. Наслідком переповнення черги може бути як відмова телекомунікаційної служби надання віддалено доступу, так і повна зупинка комп'ютера через неможливість операційної системи займатися нічим іншим, крім обробки запитів.

Третім різновидом атаки "відмова в обслуговуванні" є передача на об'єкт, що атакується, некоректного, спеціально підібраного запиту. У цьому випадку при наявності помилок у віддаленій системі можливе зациклення процедури обробки запиту, переповнення буфера з наступним зависанням системи.

В літературі [3], відзначено, що типова віддалена атака "Відмова в обслуговуванні Web – сайту" є активним впливом, здійснюваним з метою порушення працездатності системи. Відзначається, що дана атака є безумовним, односпрямованим впливом, який може бути здійсненим на транспортному та прикладному рівнях моделі OSІ.

Розглянемо типову реалізацію атаки з метою порушення працездатності Web – сайту при використанні спрямованого "шторму" хибних TCP-запитів на створення з'єднання та при переповненні черги запитів.

Аналіз схеми створення TCP-з'єднання показує, що на кожен отриманий TCP-запит на створення з'єднання операційна система повинна з генерувати початкове значення ідентифікатора ІSN і відіслати його у відповідь. По причині того що в мережі Іnternet не передбачений контроль за ІP - адресою відправника повідомлення, неможливо відстежити справжній маршрут, пройдений ІP - пакетом. Таким чином у Web – сервера немає можливості обмежити число можливих запитів, прийнятих в одиницю часу від одного відправника. Тому можливо передавати на атакує мий Web – сервер великої кількості хибних TCP-запитів на створення з'єднання від імені будь-якого клієнта мережі Інтернет. При цьому, атакуєма операційна система комп’ютерної мережі в залежності від обчислювальної потужності комп'ютера у гіршому випадку - практично зависає, а в кращому випадку - перестає реагувати на легальні запити на підключення. Це відбувається через те, що для всієї маси отриманих хибних запитів система повинна, по-перше, зберегти в пам'яті отриману в кожнім запиті інформацію і, по-друге, виробити і відіслати відповідь на кожен запит. В наслідок цього всі ресурси системи будуть зайняті обробкою хибних запитів. Крім цього може бути переповнена черга запитів на сервері. Таким чином Web – сайт стане тимчасово недоступним.

Ефективність даної атаки тим вища, чим більша пропускна здатність каналу між зловмисником та Web – сервером, і тим нижча, чим більша обчислювальна потужність комп'ютера, що атакується.

В літературі [1] наведені результати здійснення таких атак на різні типи Web – серверів та операційних систем. Аналіз результатів показує досить невисоку ефективність атаки в випадку якісного адміністрування Web – серверу, мережної операційної системи та використанні потужного комп'ютера - сервера.

Відзначимо, що негативно впливає на ефективність розглянутих атак обмеження обчислювальних можливостей комп’ютера зловмисника. Як показує практика зловмисники бажають залишатися невідомими для об’єкта атаки. По цій причині вони будуть використовувати при вході в мережу Інтернет місця, що не підлягають процесу ідентифікації, наприклад Інтернет - клуби. Таким чином, зловмисник буде користуватись не надто потужним комп’ютером та матиме серйозні обмеження по "трафіку" та на термін проведення атаки.

Слід зазначити, що в доступній літературі поняття показника технічної ефективності атаки сформульоване не достатньо чітко. Наприклад, не зрозуміло на скільки ефективною слід вважати довготермінову атаку здійснену з використанням великої кількості потужних комп’ютерів зловмисників, що призвела до короткотермінового виведення із ладу Web – сайту. Як наслідок, відсутній показник технічної ефективності захисту від атаки на відмову. В свою чергу ці обставини не дозволяють сформувати шкалу рівнів захищеності Web – сайтів від атак на відмову.

В той же час не достатньо повно розглянуті можливості використання при атаці на відмову доступних для використання з допомогою Web – серверу програмних додатків. На багатьох сайтах санкціонований доступ до програмних додатків може здійснюватись анонімно, хоча і в межах установлених правил. При цьому, використовуються ресурси мережної операційної системи та обчислювальні можливості комп’ютера. Таким чином, атака на відмову здійснена на рівні санкціонованого використання програмних додатків несе потенційну загрозу.

В багатьох випадках метою застосування серверних програмних додатків є формування сторінок сайтів з динамічним змістом, що залежить від запиту клієнта. Це можуть бути лічильники відвідувань, кошики покупок та інші інтерактивні сайти. При цьому використовуються різноманітні технології – ASP, Java, Perl, Python, Gold Fusion та PHP [4]. Відзначається [5,6], що PHP є одним із найбільш поширених мов сценаріїв, що виконуються на стороні серверу. Програмний код PHP може бути вбудованим в середину HTML документу, дозволяючи йому генерувати зміст по вимозі клієнта. Перевагами PHP є надійність, простота розробки додатків, якісна взаємодія з базами даних та незалежність від платформи. Крім цього, PHP є мовою програмування з відкритим кодом, що дозволяє самостійно проводити його модифікацію та позитивно впливає на надійність програмного коду. По відношенню до інших незалежних від платформи мов програмування з відкритим кодом ( наприклад Perl та Python ) перевагами PHP є швидкість виконання сценаріїв та простота використання. PHP дозволяє вирішувати, як відносно прості задачі створення форми запиту із зворотнім зв’язком, так і досить складні задачі розробки систем управління документами, що базуються на використання розподілених баз даних. При цьому беззаперечною перевагою PHP є можливість встановлення в вигляді модуля Web – серверів типу Apache, в результаті чого його продуктивність ще більш зростає. Відзначимо, що згідно матеріалів офіційного сайту організації - розробника Apache, розміщеного за адресою www.apache.org, цей Web – сервер використовується для підтримки 60% - 80% сайтів в світі. На більшості Web – серверів типу Apache встановлено модуль PHP. Для вітчизняних сайтів ця тенденція підсилюється можливістю безкоштовного використання як Apache так і PHP. По вказаним причинам ймовірність використання зловмисником при атаці на відмову Web – сайту серверних сценаріїв PHP досить висока.

Розглянемо заходи безпеки, що рекомендуються при встановленні PHP та створенні сценаріїв. Як правило, вони повинні бути інтегровані з засобами забезпечення безпеки Web – серверу Apache. Загальними заходами підтримки належного рівня безпеки Web – серверу є обмеження прав доступу до каталогу в якому встановлюється сервер, заборона на пере визначення користувачами загальних настройок, заборона доступу до файлів, що асоційовані з сайтом, визначення кожному користувачу власної домашньої сторінки. Особлива увага приділяється настройкам CGI сценаріїв, зміст яких полягає в обмеженні прав доступу користувачів для їх запуску та модифікації, а також обмеження можливостей сценаріїв модифікації файлів на сервері. Специфічними заходами безпеки, що стосуються PHP є розміщення його аналізатора зовні ієрархії каталогів Web – сервера та захист установки. Захист установки передбачає визначення: максимального терміну виконання сценаріїв, максимального обсягу пам’яті, що необхідна для виконання сценарію, можливостей сценаріїв що до роботи з файлами, каталогу серверу в який будуть завантажуватись файли, а також запуску PHP в захищеному режимі та спеціальних параметрів для баз даних. Захищений режим PHP передбачає додаткові обмеження при ідентифікації користувачів.

Заходи безпеки при створенні сценаріїв PHP пов’язані в першу чергу з ідентифікацією користувачів та використанням криптографічної бібліотеки mcrypt та бібліотеки OpenSSL для захисту потоку даних між Web – сервером та браузером згідно протоколу SSL. Крім цього, рекомендується перевіряти введені користувачем дані. з метою заборони виконання несанкціонованих функцій. Таким чином, представлені заходи безпеки, що рекомендуються при встановленні PHP та створенні сценаріїв стосуються в основному захисту від несанкціонованого доступу та зміни інформації. При цьому, методи захисту від атаки на відмову Web – сервера з санкціонованим використанням сценарію PHP не достатньо надійні. Однією з можливих причин є не достатня дослідженість методики реалізації атаки такого типу. Крім того, немає порівняльного аналізу ефективності атаки на відмову PHP - сторінки по відношенню до звичайної HTML – сторінки.

Виділення невирішених частин загальної проблеми, котрим присвячується дана стаття

  • Відсутнє визначення показників технічної ефективності атаки на відмову з санкціонованим використанням сценаріїв на стороні сервера.

  • Відсутнє визначення показників технічної ефективності захисту від атаки на відмову з санкціонованим використанням сценаріїв на стороні сервера.

  • Методи та засоби атаки на відмову Web – сайту з санкціонованим використанням сценаріїв PHP описані не достатньо;

  • Методи та засоби захисту від атаки на відмову Web – сайту з санкціонованим використанням сценаріїв PHP не досконалі.

Формулювання цілей статті ( постановка завдання )

  • Формування показників ефективності атаки на відмову та захисту від атаки на відмову з санкціонованим використанням сценаріїв на стороні сервера.

  • Вдосконалення методики захисту від атак на відмову Web – сайту, що санкціоновано використовують сценарії PHP.

Виклад основного матеріалу з повним обґрунтуванням отриманих наукових результатів

Визначення результативності атаки на відмову Web – сайту в загальному випадку залежить від багатьох факторів. До цих факторів можна віднести сферу діяльності власника сайту, сервіси які були заблоковані в результаті атаки, тривалість та час блокування, збитки власника сайту в результаті атаки , витрати зловмисника для проведення атаки, доходи зловмисника в результаті атаки. В даній статі не розглядаються тільки технічні аспекти результату атаки, хоча це і дещо звужує коло наукових досліджень.

Як вже було відзначено типова атака на відмову корпоративного Web – сайту проводиться зловмисником в умовах обмеження обчислювальних потужностей. Крім того, така атака не може здійснюватись безперервно довго. В протилежному випадку ймовірність затримки нападника стає досить високою. Відзначимо, що зловмисники можуть спробувати обійти обмеження обчислювальних можливостей за допомогою комп’ютерних вірусів, які спочатку розповсюджуються на велику кількість клієнтських комп’ютерів, а в визначений час разом атакують сервер. Але по причині недостатньої досконалості технології проведення атаки такого типу не мають достатнього успіху. Як правило описані віруси виявляються та знешкоджуються ще на етапах розповсюдження. Таким чином, ще одним обмеженням атаки є обмеження її тривалості.

Очікуваним результатом атаки є блокування доступу до сторінок сайту, в наслідок вичерпання обчислювальних ресурсів сервера сайту. В даному випадку під поняттям обчислювальних ресурсів сервера будемо розуміти ресурси Web – сервера, операційної системи комп’ютерної мережі, комп’ютера та каналів зв’язку, що обслуговують сайт. Крім цього очікувані умови атаки обмежимо кваліфікованим адмініструванням сайту та відсутністю помилок в його програмному та апаратному забезпеченні. Допускаємо, що пропускна спроможність каналу зв’язку сайту набагато вища ніж у зловмисника ( групи зловмисників ). При виконанні вказаних обмежень основною причиною блокування ресурсів сайту при атаці на відмову з використанням серверних сценаріїв, може стати тільки вичерпання потужності центрального процесора ( процесорів ) комп’ютера (комп’ютера ), що обслуговує сайт.

Таким чином використання обчислювальних потужностей комп’ютера зловмисника призволить до втрати цих потужностей комп’ютером, що обслуговує функціонування сайту. Зрозуміло, що чим менше потужності використав комп’ютер зловмисника і чим більше потужностей витратив комп’ютер сайту, тим ефективніша була атака. По цій причині, доцільно технічну ефективність атаки поставити у відповідність з кореляцією між цими потужностями. На наш погляд витрату обчислювальних потужностей можливо визначити:

  • Для зловмисника ( зловмисників ) - за допомогою показників навантаженням ( сумарного навантаження ) центрального процесора при реалізації атаки та тривалості виконання атаки для зловмисника;

  • Для комп’ютера, що обслуговує сайт – за допомогою тривалості роботи з 100% навантаженням центрального процесора. При цьому доступ до сторінок сайту гарантовано блокується.

Це дозволяє визначити два показники технічної ефективності атаки на відмову з використанням сценаріїв - ефективна потужність атаки та ефективність блокування.

Під потужністю атаки () будемо розуміти відношення навантаження центрального процесора атакуємого комп’ютера - сервера () до навантаження центрального процесора зловмисника ( сумарного навантаження центральних процесорів зловмисників ) при реалізації атаки ():

(1)

Ефективність блокування (B) у вигляді відношення тривалості 100% навантаження процесора комп’ютера, що обслуговує функціонування сайту () до тривалості виконання атаки ():

(2)

Технічну ефективність захисту доцільно поставити в противагу технічній ефективності атаки. В наслідок цього можливо визначити два показники технічної ефективності захисту від атаки на відмову з використанням сценаріїв - ефективна потужність захисту та ефективність захисту від блокування.

Ефективна потужність захисту () можливо розрахувати у вигляді відношення:

(3)

Ефективність захисту від блокування () можливо розрахувати у вигляді відношення:

(4)

В якості засобу здійснення атаки на відмову нами було розроблено спеціальну програму. Основними можливостями цієї програми є відкриття , зчитування та закриття файлу, що знаходиться на будь – якому Web – сервері. Інтерфейс користувача програми дозволяє визначити повне ім’я файлу, кількість сеансів доступу та параметри доступу (відкриття, закриття, кількість, порядок та місцезнаходження інформації зчитаної із файлу). Програма розроблена в середовищі Microsoft VC++.NET з використання бібліотеки для роботи з Інтернет afxinet. Основними етапами роботи програми є відкриття сесії, багаторазовий доступ до файлу по протоколу HTTP в циклі з визначеною кількістю ітерацій, закриття сесії та обчислення терміну виконання циклу. Зазначимо, що обсяг програмного коду для реалізації зазначених етапів роботи становить менше 50 рядків. З етичних міркувань програмний код в статті відсутній. Зацікавлені можуть звернутись до автора за адресою terejkowski@rambler.ru.

Для визначення оптимальної методики атаки розроблено план експерименту, що передбачає відкриття, відкриття/закриття та зчитування HTML та PHP файлів. В якості Web - сервера використано Apache 1.3, який працював на комп’ютері Intel Pentium 3 під управлінням операційної системи Microsoft Windows. Атака здійснювалась з використанням комп’ютера з аналогічними характеристиками, що також працював під управлінням операційної системи Microsoft Windows. Основні результати експериментів показані на рис. 1, 2 та представлені в таблицях 1, 2.

Відзначимо, що реєстрація тривалості виконання атаки здійснювалась програмно. Реєстрація параметрів використання системних ресурсів комп’ютерів проводилась за допомогою Windows Task Manager. Для прикладу на рис.1 показані графіки навантаження центрального процесора в випадках: 1 - файл циклічно відкривається/закривається 100 разів, 2 - файл циклічно відкривається/закривається 1000 разів. Як видно із графіка 3 використання оперативної пам’яті при цьому не змінювалось.

Аналіз результатів експериментів ( таблиця 1 ) показує, що для повного блокування сайту достатньо здійснити близько 1000 циклічних процедур відкриття / закриття для HTML - файлів та 100 аналогічних процедур для PHP – файлів. При цьому зчитування змісту перших 5 рядків як HTML так і PHP – файлів практично не впливає на завантаження сервера. Вища вразливість PHP – файлів пояснюється тим, що при кожному їх відкритті в адресному просторі Apache запускається новий процес інтерпретатора PHP, який спричиняє додаткове навантаження на процесор.

Аналіз тривалості виконання комп’ютером, що забезпечує функціонування Web – сайту клієнтських запитів ( таблиця 2 ) вказує на різке зростання терміну виконання запиту сервером при зверненні до PHP – файлів відносно до HTML - файлів. Крім того, при багаторазових циклічних зверненнях до PHP – файлів зафіксовано декілька процесів PHP на комп’ютері – сервері.

1 – файл циклічно відкривається/закривається 100 разів; 2 - файл циклічно відкривається/закривається 1000 разів; 3 – використання оперативної пам’яті.

Рис.1 Використання Web – сервером ресурсів комп’ютера під час виконання запитів на відкриття/закриття HTML файлу

Таблиця 1

Соседние файлы в папке Лекции по защите информации4