Лучшие автора конкурса
1. saleon@bk.ru (141)
4. patr1cia@i.ua (45)


Вселенная:
Результат
Архив

Главная / Украинские Рефераты / Комп'ютерні науки / Криптопротокол S-HTTP


Криптопротокол S-HTTP - Комп'ютерні науки - Скачать бесплатно


Зміст

Вступ

Загальна характеристика

Робота по протоколу S-HTTP

HTTPS-проксі

Порядок використання сертифікованого Web-сервера системи

Основні поняття комп’ютерної безпеки

Класифікація комп’ютерних атак

Атаки, що використовують помилки реалізації служб мережі

Атака через WWW

Проблеми стосовно мережі Internet

Методи захисту від віддалених атак в мережі Internet

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

Допомога. Безпечне з’єднання.

Висновок

Список використаної літератури



Вступ

У даній роботі безпека мереж на базі протокола S-HTTP буде розглянута на прикладі мережі Internet, інформаційна безпека якої в значній мірі визначається цим протоколом.

Курсова робота представляє собою огляд найбільш поширених атак, основаних на особливостях протоколів, з описом причин, по яким вони можливі, і описом способів усунення вразливостей. Також в роботі затронуті теми, що немають безпосереднього відношення до протоколу S-HTTP, але є не менш важливими з точки зору безпеки мережі Internet.

Будуть розглянуті типові атаки, але спочатку потрібно дати декілька загальних визначень і розглянути класифікацію загроз безпеки. Крім того, варто замітити, що по статистиці руйнування даних в обчислювальних системах частіше всього відбувається не через діяльність зловмисників, помилок в програмах чи дії вірусів (17%) чи технічних відмов (16%), а через помилки і несанкціоновані дії користувачів (67%).

Загальна характеристика

S-HTTP – це захищений HTTP-протокол, розроблений компанією Enterprise Integration Technologies (EIT) спеціально для Web. Протокол S-HTTP дозволяє забезпечити надійний криптозахист тільки HTTP-документів Web-сервера і функціонує на прикладному рівні моделі OSI. Така особливість протокола робить його абсолютно спеціалізованим засобом захисту з’єднання, отже, його застосування для захисту всіх інших прикладних протоколів (FTP, TELNET, SMTP та ін.) є неможливим. Крім того, ні один з існуючих на сьогоднішній день основних Web-браузерів (ні Netscape Navigator, ні Microsoft Explorer) не підтримують цей протокол. Одна з основних причин успіху віддалених атак на розподілені обчислювальні мережі полягає у використанні мережних протоколів обміну, які не можуть надійно ідентифікувати віддалені об’єкти, захистити з’єднання та дані, що передаються по ньому. Тому цілком природньо, що в процесі функціонування Internet були створені різні захищені мережні протоколи, що використовують криптографію як з закритим, так і з відкритим ключем. Класична криптографія з симетричними криптоалгоритмами передбачає наявність у передавальної та приймаючої сторін симетричних (однакових) ключів для шифрування та дешифрування повідомлень. Ці ключі заздалегідь мають бути розподілені між скінченною кількістю абонентів, що в криптографії називається стандартною проблемою статичного розподілу ключів. Очевидно, що застосування класичної криптографії з симетричними ключами є можливим лише на обмеженій множині об’єктів. У мережі Internet для всіх її користувачів вирішити проблему статичного розподілу ключів не є можливим. Однак, одним з перших захищених протоколів обміну в Internet був протокол Kerberos, заснований саме на статичному розподілі ключів для скінченної кількості абонентів. Для того, щоб дати можливість захиститися усій множині користувачів мережі Internet, а не обмеженій її підмножині, необхідно використовувати ключі, що динамічно виробляються в процесі створення віртуального з’єднання, застосовуючи криптографію з відкритим ключем.

Робота по протоколу S-HTTP

Клієнти і сервери S-HTTP допускають використання декількох стандартних форматів криптографічних повідомлень. Клієнти, що підтримують S-HTTP, можуть встановлювати зв’язок з серверами S-HTTP і навпаки, ці сервери можуть зв’язуватись з клієнтами S-HTTP, хоча у процесі подібних транзакцій функції безпеки S-HTTP використовуватися скоріше всього не будуть. S-HTTP не потребує від клієнта сертифікатів загальних ключів (чи самих загальних ключів), тому що цей протокол підтримує тільки операції з симетричними шифрувальними ключами. Хоча S-HTTP може користуватися перевагами глобальних сертифікаційних інфраструктур, дл його роботи такі структури не є обов’язковими.

Протокол S-HTTP підтримує безпечні наскрізні (end-to-end) транзакциї, що вигідно відрізняє його від базових механізмів ідентифікації HTTP, які потребують, щоб клієнт спробував отримати доступ і отримав відмову, а лише тоді включають механізм безпеки. Клієнти можуть бути настроєні таким чином, щоб будь-яка їх транзакція автоматично захищалась (звичайно за допомогою спеціальної мітки у заголовку повідомлення). Така настройка, наприклад, часто використовується для передачі заповнених бланків. Якщо використовувати протокол S-HTTP, то ніколи не прийдеться відправляти важливі дані по мережі в незахищеному вигляді..

S-HTTP підтримує високий рівень гнучкості криптографічних алгоритмів, режимів і параметрів. Для того, щоб клієнти і сервери змогли вибрати єдиний режим транзакції (наприклад їм потрібно вирішити, чи буде запит тільки шифруватися чи тільки підписуватися, або і шифруватися, і підписуватися одночасно. Таке ж рішення потрібно прийняти і для їх відповідей), використовується механізм узгодження опцій, криптографічних алгоритмів (RSA чи Digital Signature Standard [DSA] для підпису, DES чи RC2 для шифрування і т.д.), і вибору сертифікатів. S-HTTP підтримує криптографію загальних ключів і функцію цифрового підпису і забезпечує конфіденційність даних.

S-HTTP (Secure HTTP - безпечний HTTP) – це схема, запропонована CommerceNet, об’єднанням організацій, які зацікавлені в розвитку Internet для комерційного використання. Це протокол більш високого рівня, який працює тільки з протоколом http.

Для роботи по протоколу HTTPS необхідно:

- серверна ОС;

- встановити на ній Сервер Сертифікатів;

- за допомогою сервера сертифікатів згенерувати запит на сертифікат;

- відправити запит на сертифікат на Verisign (чи іншій компанії, яка розробляє сертифікати) чи самому розробити його, наприклад, за допомогою програми openssl;

- отриманий сертифікат встановити на сервері;

- налаштувати iis на порт;

- встановити в настройках iis вимоги щодо встановлення безпечне з’єднання.

HTTPS-проксі

HTTPS-проксі – це фактично частина HTTP-проксі. S у назві означає “secure”, тобто безпечний. Незважаючи на те, що програмно це частина HTTP-проксі, звичайно HTTPS виділяють в окрему категорію (і є окреме поле для нього в настройці браузерів). Звичайно цей протокол – безпечний http – застосовують, коли потрібна передача секретної інформації, наприклад, номерів кредитних карт. При використанні звичайного HTTP-проксі всю інформацію, що передається можна перехватити засобами самого прноксі (тобто це під силу адміністратору ЛС) чи на більш низькому рівні, наприклад, tcpdump (тобто адміністратор провайдера і будь-якої проміжної сітки і взагалі будь-яка людина, що має фізичний доступ до маршрутів передачі ваших даних по мережі, може при великому бажанні взнати ваші секрети). Тому в таких випадках застосовують secure HTTP – все, що передається при цьому шифрується. Проксі-серверу при цьому дається тільки команда “з’єднатися з таким-то сервером”, і після з’єднання проксі передає в обидві сторонни шифрований трафік, не маючи можливості взнати подробиці (відповідно і багато засобів управління доступом – такі як фільтрація малюнків – не можуть бути реалізовані для HTTPS, бо проксі в даному випадку невідомо, що саме передається). Власне в процесі шифрації/дешифрації проксі також участь не приймає – це роблять клієнтська програма і цільовий сервер. Наявність команди “з’єднатися з таким-то сервером” в HTTPS-проксі призводить до цікавого і корисного побічного ефекта, яким все частіше користуються розробники клієнтських програм. Оскільки після з'єднання з вказаним сервером HTTPS-проксі лише пасивно передає дані в обидві сторони, не роблячи ніякої обробки цього потоку навіть до відключення клієнта чи сервера, це дозволяє використовувати проксі для передачі майже будь-якого TCP-протокола, а не тільки HTTP. Тобто HTTPS-проксі одночасно є і простим POP3-проксі, SMTP-проксі, IMAP-проксі, NNTP-проксі і т.п. – при умові, що відповідна клієнтська програма вміє так експлуатувати HTTPS-проксі (нажаль далеко не всі це вміють, але є допоміжні програми, що “завертають” трафік звичайних клієнтів через HTTPS-проксі).

Порядок використання сертифікованого Web-сервера системи

Для роботи з інтерфейсами системи необхідно виробляти звертання до спеціального сертифікованого Web-сервера системи. Всі інтерфейси розташовані за адресою цього сервера. Імена файлів інтерфейсів і параметри запитів наведені в описі кожного інтерфейса.

При програмному (автоматизованому) виклику інтерфейсу з додатків, скриптів інших Web-серверів і ін.. можуть виникати проблеми, пов’язані з особливостями відправки https-запитів з під різних ОС і апаратних платформ. Рекомендації по автоматизованій відправці https-запитів наведені нижче:

формування https-запитів для програмного звертання до сертифікованого Web-сервера системи з клієнтської платформи Unix-Php;

формування https-інтерфейсів системи з власним модулем аутентифікації.

В даному розділі представлені інтерфейси системи, основані на звертаннях (запитах) до спеціального web-cервера ситеми по протоколу HTTPS (SSL 128 бит) з використанням спеціально модуля аутентифікації (формування електронного цифрового підпису – ЦЕП) WMSigner. Вивчення інтерфейсів доцільно розробляти послідовно, починаючи з двох вхідних розділів і далі:

- призначення і опис порядка використання модуля аутентифікації;

- призначення і опис порядка використання web-сервера HTTPS-інтерфейсів;

Інтерфейс 1. Виписування рахунку від одного учасника (магазина, ресурса) другому учаснику (покупцю) системи

Інтерфейс 2. Перевірка стану виписаного раніше рахунка (оплачений чи ні)

Інтерфейс 3. Переказ засобів з одного гаманця на інший

Інтерфейс 4. Переказ засобів з одного гаманця на інший з протекцією угоди

Інтерфейс 5. Перевірка виконання операції по переказу засобів між гаманцями

Інтерфейс 6. Відправка повідомлень довільному WM-ідентифікатору по внутрішній пошті WMT

Інтерфейс 7. Ідентифікація і аутентифікація клієнта - власника WM Keeper Classic на сторонньому сайті

Інтерфейс 8. Отримання інформації про належність гаманця WM-ідентифікатору

Приклад використання WMSigner (CGI/Perl) perl-20051009.zip.

Приклад використання WMSigner (Php) php-20060131.zip.

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

HTTPS-сервер – це WEB-сервер, що забезпечує захист від перехвату даних шляхом їх наскрізного криптування. Для встановлення захищених з’єднань в Інтернет використовується протокол SSL/TLS. Він застосовує криптографічні алгоритми для аутентифікації, шифрування та забезпечення цілісності даних, що передаються.

Приклад.
На сервері працюють два користувачі. Перший користувач при передачі та отриманні даних користується протоколом HTTP, а другий HTTPS. Якщо в процесі передачі даних від сервера безпосередньо у двох користувачів хтось спробує перехватити дані, то в першому випадку ця спроба буде успішна, бо дані є незахищеними. А в другому випадку дані будуть у вигляді кода, тому можливість їх перехвату буде зведена до мінімуму.

На даний час S-HTTP реалізований для сервера Open Marketplace Server, що розповсюджений компанією Open Market, Inc, на стороні сервера і в Secure HTTP Mosaic від Enterprise Integration Technologies на стороні клієнта.

Основні поняття комп’ютерної безпеки

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

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

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

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

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

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

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

В локальних обчислювальних системах (ОС) найчастіше є загрози розкриття і цілісності, а в глобальних на першому місці є загроза відмови в обслуговуванні.

Особливості безпеки комп’ютерних систем

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

Мережні системи характерні тим, що поруч з звичайними (локальними) атаками, що здійснюються в межех однієї комп’ютерної системи, до них може застосовуватися специфічний вид атак, зумовлений розподіленістю ресурсів і інформації у просторі. Це так звані атаки мережі або віддалені атаки (remote чи network attacks). Вони характерні, по-перше тим, що зловмисник може знаходитися за тисячі кілометрів від об’єкта, що атакується, і по-друге тим, що атакований може бути не конкретний комп’ютер, а інформація, що передається по з’єднанням мережі. З розвитком локальних і глобальних мереж саме віддалені атаки мають лідерство як по кількості спроб, так і по успішності їх застосування і відповідно забезпечення безпеки ОС з точки зору протистояння відділеним атакам має первісне значення.

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

У забезпеченні безпеки велике значення має регламентування питання доступу: наприклад, доступ до бухгалтерського сервера надається тільки бухгалтерії й відділу збуту, доступ до файлового сервера мають всі користувачі, а до сервера телемеханіки - інженерний відділ і черговий диспетчер.

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

користувачі мережі можуть обмінюватися між собою інформацією необмежено;

користувачі можуть обмінюватися інформацією тільки всередині відділу;

користувачі не мають права надавати доступ до своїх локальних ресурсів.

Розглянемо кожний із цих варіантів докладніше.

Якщо користувачам дозволено спілкуватися між собою необмежено, вони можуть безперешкодно надавати доступ до своїх локальних файлів, принтерам або просто грати в мережні ігри. Але такий "ліберальний підхід" може мати досить неприємні наслідки: так, якщо на одному з комп'ютерів з'явиться вірус, він зможе швидко поширитися на інші комп'ютери. Антивірусні програми істотно знижують імовірність подібної ситуації, однак навіть програма (АВП) при своєчасному відновленні антивірусних баз і проведенні модернізації оперативної системи (ОС) (що у великій мережі саме по собі є складним завданням) завжди існує загроза появи вірусу, здатного обійти АВП або "знаючого" про "незалатану дірку" в ОС.

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

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

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

Однак найважливіший вид трафіка в мережі - службовий мережний трафік. Внесення помилок у його роботу може викликати простій у функціонуванні всієї мережі. Якщо ж зловмисник одержить доступ до керування комутатором або маршрутизатором, це дозволить йому модифікувати списки доступу за своїм розсудом; а одержання доступу до центрального сервера аутентифікації й авторизації відкриває перед ним необмежені можливості для протиправної діяльності в мережі.

Визначивши, що треба захищати, розглянемо деякі засоби забезпечення захисту. Почнемо із самого головного - службового мережного трафіка й керування мережею. Оскільки необхідно забезпечити максимальний рівень захисту, насамперед варто повністю обмежити доступ. Сучасні комутатори дозволяють блокувати службовий трафік на своїх портах. Реалізуючи цю можливість, потрібно всі порти комутатора налаштувати за замовчуванням на блокування такого трафіка, дозволяючи його роботу тільки на потрібних портах. Якщо протоколи підтримують аутентифікацію - це треба обов'язково використати. Бажано, щоб у випадку появи службового трафіка (наприклад, пакетів BPDU) з боку користувальницького порту комутатор не тільки фільтрував такі пакети, але й сповіщав про це системному адміністратору. Для автоматичного сповіщення й журналювання можна застосовувати syslog або snmptrap. Завдяки цим програмам, підтримка яких забезпечується практично всіма виробниками устаткування, інформацію про події можна направляти з різних пристроїв у журнал.

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

Щоб уникнути цього, можна відключити на комутаторах доступу автоматичне запам'ятовування Мас-адреси і виписати всі адреси вручну, однак цей спосіб вимагає більших трудових затрат і складно реалізується в більшості мережах. Більш прийнятне рішення полягає в обмеженні кількості Мас-адрес, які можуть бути автоматично зчитані з одного порту. Для стандартного користувальницького порту, як правило, досить автоматично одержати тільки одну Мас-адресу, оскільки до одного користувальницького порту звичайно підключається один комп'ютер. Деякі комутатори підтримують могутніший засіб - обмеження автоматичного вивчення Мас-адрес з наступним занесенням їх у статистичну базу. Дана функціональна можливість дозволяє запобігати й/або контролювати несанкціоноване підключення пристроїв (наприклад, домашнього ноутбука замість робітника ПК) до мережі.

Більшість пристроїв мають два способи керування: через зовнішній порт (Сом-порт, консольний] або через внутрішню загальну мережну інфраструктуру - тобто за допомогою IP [telnet, ssh, snmp, http],- але деякі можуть мати тільки один з них. Ми не будемо розглядати некеровані пристрої, оскільки їхнє застосування (можливе в домашніх умовах) неприйнятно в корпоративному секторі з погляду як безпеки, так і надійності. З позицій безпеки переважно зовнішнє керування - саме тому, що воно відділено від загальної мережі. У деяких ситуаціях (таких як заміна ПО, помилка або збій мережної інфраструктури) є можливе лише зовнішнє керування.

Якщо все мережне устаткування перебуває в одному приміщенні в безпосередній близькості від мережного адміністратора, досить мати набір кабелів і включати їх у міру необхідності в комп'ютер адміністратора мережі. Якщо ж центри комутації розташовані на різних поверхах й/або в різних будинках, у центрах комутації необхідно встановити консольні сервери, включивши в них всі консолі встановлених у даному центрі пристроїв. У якості консольного можна використати як спеціалізований сервер, так і сервер на базі звичайного ПК із мультипортовими платами.

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

При всіх перевагах і великому значенні зовнішнього керування внутрішнє керування надає комплексного керування мережею за допомогою snmp, зручного й простого візуального керування через web-інтерфейс. Для побудови безпечного внутрішнього керування необхідно максимально обмежити доступ до нього ззовні; воно повинно функціонувати у виділених VLAN й в окремому від загальної мережі IP просторі. Якщо в керуючому сегменті потрібно використовувати маршрутизатори разом із загальною мережею, то на них варто настроїти фільтрацію трафіка для блокування влучення пакетів із загальної мережі в керуючу (і навпаки), а також настроїти окремий від загального протокол маршрутизації. Якщо керовані пристрої підтримують кілька способів керування, потрібно вибрати найбільш досконалі з них, а інші заблокувати (наприклад, використовувати ssh і заборонити використання telnet; використовувати shttp і заборонити http). Сервери й робочі станції, які обслуговують керуючий сегмент, повинні працювати винятково всередині нього, тобто керуючий сегмент повинен бути повністю ізольований. Для обміну даними з виходом за межі керуючої мережі можна виділити окремий порт, включаючи його тільки при необхідності (якщо дозволяють засоби, даний порт рекомендується включати через FireWall). Але в кожному разі обмін даними повинен бути обмежений. Не варто використовувати робочу станцію з мережі керування для читання пошти або перегляду Інтернету.

Поділ мережі на підмережі дозволяє підвищити як безпеку, так і продуктивність. Як вже було вказано, чим менше можливостей по обміну інформацією між робочими станціями в мережі, тим вища її безпека. Підвищення продуктивності досягається тим, що робочі станції одержують менше широкомовного трафіка: це, з одного боку, зменшує кількість службового (широкомовного) трафіка в порті, а з іншого боку - розвантажує CPU робочих станцій, оскільки їм тепер доводиться аналізувати менше трафіка. Поділ на підмережі виконується розбивкою локальної мережі на віртуальні. Майже всі сучасні комутатори підтримують тегировані VLAN стандарту 802.1q, що дозволяє вільно використовувати в одній мережі устаткування різних виробників.

Якщо в мережі користувачі часто "переїжджають" з місця на місце, можна встановити динамічні VLAN: у цьому випадку до VLAN прив'язують не певні порти комутатора, а Мас-адреси пристроїв, що підключають. Таблиця відповідності MAC - LAN зберігається на виділеному сервері, на якому легко можна модифікувати дану базу. Динамічні VLAN - зручний інструмент, однак з погляду безпеки вони залишають бажати кращого: поміняти Мас-адресу на мережній карті - завдання не занадто складне (досить знати Мас-адресу із потрібної VLAN і мати доступ до будь-якої мережної розетки в мережі, щоб одержати доступ у цю VLAN).

Після розбивки мережі на окремі VLAN (наприклад, кожен відділ - у своєї VLAN), постає питання про безпеку усередині кожної з них. Технологія Private VLAN (PVLAN), що дозволяє обмежувати трафік між портами усередині однієї VLAN, підтримує три типи портів:

Promiscuous - працює з усіма портами усередині PVLAN-групи;

Isolated - може обмінюватися інформацією тільки з Promiscuous портами;

Community - може обмінюватися даними з Community й Promiscuous портами.

Завдяки застосуванню PVLAN вдається в значній мірі захистити робочі станції, але при цьому не завжди можливо відключити весь трафік у напрямку певного порту. На додаток до PVLAN або окремо варто використати списки доступу. Сучасні, відносно недорогі комутатори 2-го рівня моделі OSI дозволяють фільтрувати трафік по VLAN-мітках, MAC- і IP-адресам, TCP/UDP портам, DSCP полям, причому використання цих фільтрів ніяк не позначається на продуктивності комутаторів. Настроїти такі списки доступу нескладно, оскільки 99% робочих станцій використовує стандартний набір мережних програм: досить проробити стандартний список доступу й установити його на всі користувальницькі порти. Таким чином, робочі станції будуть захищені від можливого злому через невикористовувані порти, а у випадку зараження вірусом одного комп'ютера далі нього він не зможе поширитися.

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

Взаємодія між VLAN (обмін трафіком між відділами компанії) здійснюється через комутатори 3-го рівня, основне завдання яких (з погляду безпеки) - максимально обмежувати взаємодію між відділами, дозволяючи переходити з однієї VLAN в іншу тільки дійсно легітимному трафіку, що досягається прописуванням добре продуманого набору списків доступу для кожної VLAN.

Поряд з викладеним для забезпечення безпеки серверного сегмента доцільно забезпечити фільтрацію трафіка аж до 7-го рівня, тобто контролювати кількість установлюваних сесій, аналізувати й фільтрувати/модифікувати запити SQL, SNMP, HTTP. Бажано також документувати всі спроби сканування й злому серверів, включаючи ті, які не увінчалися успіхом. Для рішення цього завдання використовуються апаратні рішення Firewall і систем запобігання вторгнення, оскільки програмні комплекси навряд чи впораються зі стомегабітними або гігабітними швидкостями, властивим локальним мережам.

Описаними рішеннями не вичерпується набір способів захисту мережі. Кожна мережа вимагає індивідуального підходу в забезпеченні безпеки.

Класифікація комп’ютерних атак

Форми організації атак досить різноманітні, але в цілому всі вони належать до однієї з наступних категорій:

віддалене проникнення в комп‘ютер: програми, які отримують неавторизований доступ до іншого комп’ютера через Інтернет (або локальну мережу);

локальне проникнення в комп’ютер: програми, які отримують неавторизований доступ до комп’ютера, на якому працюють;

віддалена блокування комп’ютера: програми, які через Інтернет (чи мережу) блокують роботу всього віддаленого комп’ютера чи окремої програми на ньому;

локальне блокування комп’ютера: програми, які блокують роботу комп’ютера, на якому працюють;

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

сканери вразливих місць програм: програми, що перевіряють великі групи комп'ютерів в Інтернеті у пошуках комп’ютерів, що є вразливими до того чи іншого виду атак;

вскривачі паролів: програми, які легко знаходять паролі, що вгадуються, у зашифрованих файлах паролів;

аналізатори мережі (sniffers): програми, які слухають трафік мережі. Часто в них знаходяться можливості автоматичного виділення імен користувачів, паролів та номерів кредитних карт з трафіка;

модифікація даних, що передаються чи підміна інформації;

підміна довіреного об’єкта розподіленої ОС (робота від його імені) чи хибний об’єкт розподіленої ОС (РОС).

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

Атаки, що використовують помилки реалізації служб мережі

Крім перерахованих атак існують і різноманітні атаки направлені проти конкретних платформ. Наприклад:

Атака Land – формується IP-пакет, в якому адреса відправника співпадає з адресою користувача. Цій вразливості піддаються всі версії ОС сімейства Windows до Windows NT 4.0 Service Pack 4 включно. При поступленні таких запитів доступ до системи стає неможливим.

Атаки teardrop і bonk – засновані на помилках розроблювачів ОС в модулі, що відповідає за збір фрагментованих IP-пакетів. При цьому відбувається копіювання блока негативної довжини, бо після збору фрагментів в пакеті залишаються “дирки” – порожні, не заповнені даними місця, що також можуть призвести до збою ядра ОС. Обидві ці вразливості були присутні в ОС Windows95/NT до Service Pack 4 включно і в ранніх версіях ОС Linux (2.0.0).

WinNuke – атака Windows-систем передаванням пакетів TCP/IP з прапорцем Out Of Band (OOB) на відкритий (зазвичай 139-й) TCP-порт. На сьогоднішній день ця атака застаріла. Ранні версії Windows95/NT зависали.

Існують і різні інші атаки, що характерні лише для певних ОС.

Атака через WWW

За останні декілька років з бурхливим розвитком World Wide Web сильно збільшилось і число атак черех Web. Загалом всі типи атак через Web можна розділити на дві великі групи:

атака на клієнта;

атака на сервер.

У своєму розвитку браузери відійшли дуже далеко від початкових версій, що були призначені лише для перегляду гіпертекста. Функціональність браузерів постійно збільшувалась, зараз це вже повноцінний компонент ОС. Паралельно з цим виникають і численні проблеми з безпекою використовуваних технологій, таких як модулі, що підключаютьсяб (plug-ins), елементи ActiveX, додатки Java, засоби підготовки сценаріїв JavaScript, VBScript, PerlScript, Dynamic HTML.

Завдяки підтримки цих технологій не тільки браузерами, але й поштовими клієнтами і наявності помилок в них за останні чотири роки з’явилась більша кількість поштових вірусів, а також вірусів, що заражають html-файли (реалізовані на VBScript з використанням ActiveX-объектов). Сильно розповсюдженими є троянці. Подією 2000 року став випуск хакерською групою Cult of the Dead Cow програми BackOrifice 2000, яка на відміну від попередньої версії пряцює під WindowsNT та ще є розповсюдженою в вихідних текстах, що дає можливість всім бажаючим створити клон цієї програми під свої конкретні потреби, до того ж не вловлюваний антивірусними програмами.

Безпека серверного ПО в основному визначається відсутністю наступних типів помилок:

помилки в серверах: помилки, що призводять до втрати конфіденційності;

помилки, що призводять до атак типу “відмова в обслуговуванні” і помилки, що призводять до виконання на сервері неавторизованого коду;

помилки у допоміжних програмах;

помилки адміністрування.

Проблеми стосовно мережі Internet

Коротко розглянемо можливі проблеми:

проблеми з системами шифрування і цифрового підпису – можлива некоректна обробка дати створення оброблюваних повідомлень;

помилки в роботі систем електронної комерції, систем електронних торгів і резервування замовлень – неправильна обробка дати;

проблеми з модулями автоматизованого контролю безпеки системи і протоколювання подій – неправильне ведення журналу і його аналіз;

проблеми з модулями реалізації авторизованого доступу до ресурсів системи – неможливість доступу до системи по певним датам;

проблеми з запуском в певний час модулів автоматичного аналізу безпеки системи і пошуку вірусів;

проблеми з системами захисту від нелегального копіювання, що основані на тимчасових ліцензіях;

проблеми з роботою операційних систем;

неправильна обробка дати апаратними засобами захисту.

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

Методи захисту від віддалених атак в мережі Internet

Найбільш простими і дешевими є адміністративні методи захисту:

використання в мережі стійкої криптографії;

статичні ARP-таблиці;

hosts файли замість виділених DNS-серверів;

використання чи невикористання певних операційних систем та ін.

Наступна група методів захисту від віддалених атак – програмно-апаратні. До них

відносяться:

програмно-апаратні шифратори мережного трафіка;

методика Firewall;

захищені мережні крипто протоколи;

програмні засоби виявлення атак (IDS – Intrusion Detection Systems или ICE – Intrusion Countermeasures Electronics);

програмні засоби аналізу захищеності (SATAN – Security Analysis Network Tool for Administrator, SAINT, SAFEsuite, RealSecure та ін.);

захищені мережні ОС.

Методика Firewall реалузує наступні основні функції:

багаторівнева фільтрація мережного трафіка;

Proxy-схема з додатковою ідентифікацією і путентифікацією користувачів на Firewall-хості. Мета proxy-схеми полягає у створенні з’єднання з кінцевим адресатом через проміжковий proxy-сервер на хості Firewall;

створення приватних мереж з “віртуальними” IP-адресами. Використовується для приховування істинної топології внутрішньої IP-мережі.

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

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

Для виконання операції з WM-гаманцем необхідно відправити https-запит в сертифікований центр WebMoney Transfer.

Всі https-запити схожі один на одного і відрізняються лише URL-ем запита, параметрами до нього і результатом, що вертається. Наведемо приклад одного з запитів – виписки рахунка:


# підключення необхідних бібліотек
use FileHandle;
use IPC::Open2;
use Net::SSLeay;

# ініціалізація змінних
my $OrderID = "1"; # № рахунка
my $PurseOfStores = "Z123456789012"; # Гаманець ресурса, куди будуть перераховані гроші
my $LoginOfStores = "123456789012"; # WM id ресурса
my $LoginOfCust = "234567890123"; # WM id покупця
my $InvAddress = ""; # Адреса доставки
my $Amount = "1.34"; # Сума
my $Desc = "Бульдозер"; # Опис покупки
my $Period = "0"; # Термін протекції
my $Experation = "2"; # Час дії рахунка

# Формування монотонно зростаючого номера запита
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = gmtime(time);
my $RequestN = sprintf("%04d%02d%02d%02d%02d%02d", $year+1900, $mon+1, $mday, $hour, $min, $sec);

# Формування підписа
my $PlanStr = "$OrderID$LoginOfCust$PurseOfStores$Amount".
"$Desc$InvAddress$Period$Experation$RequestN";

my $pid = open2(*Reader, *Writer, "./WMSigner");
Writer->autoflush();
print Writer "$PlanStr04rn";

my $SignStr = <Reader>;

# Формування URL і https-виклик
my $W3sUrl="/asp/Invoice.asp?SL=$LoginOfStores&SP=$PurseOfStores &CL=$LoginOfCust&IN=$OrderID&D=$Desc&AD=$InvAddress&A=$Amount &E=$Experation&P=$Period&RN=$RequestN&SS=$SignStr";

my ($page, $result, %headers) =
&Net::SSLeay::get_https("w3s.webmoney.ru", 443, $W3sUrl);

# виведення результата
print "Content-type: text/htmlnn";
print "Result: n";
print $page;

Розберемо кожний блок більш докладно.

1. Підключення необхідних бібліотек

Скрипт використовує модуль FileHandle и IPC::Open2 для виконання WMSigner-а, передачі йому рядка для підписа і отримання підпису. Модуль Net::SSLeay використовується для формування https-запита до сертифікаційного сервера.

2. Ініціалізація змінних

Включає в себе установку необхідних параметрів запита.

3. Формування монотонно зростаючого номера запита

Крім того кожен виклик будь-якого https-інтерфейса потребує наявності параметра RN=RequestN. Цей параметр повинен бути унікальним, не повторюватися від виклика до виклика зростаючим цілим числом. Параметр необхідний для того, щоб уникнути повторного виконання одного і того ж самого виклика інтерфейса. Даний параметр рекомендується формувати з поточної дати і часу комп’ютера, з якого виконується виклик інтерфейса. В цьому прикладі число формується з точністю до секунди. Такої точності достатньо для безлічі чисел систем. На даний час нема можливості скинути Дане значення, тому потрібно старатися не робити запити з необгрунтовано завищеними значеннями RequestN.

4. Формування підпису

Формується рядок для підпису, далі викликається модуль WMSigner. В результаті WMSigner видає значення підпису.

Модуль IPC працює таким чином, що до його використання не можна викликати в скрипті функції, що посилають дані в вихідний потік (такі як print), бо інакше вихідний потік дублюється. Спочатку повинен формуватися підпис, а лише потім – який-небудь вихід у коді скрипта.

5. Формування URL і https-виклик

Збирається URL запита, і робиться https-запит засобами модуля Net::SSLeay. У результаті він заповнює змінну $page, в якій знаходиться текст відповіді сервера.

6. Виведення результату

На даному прикладі просто виводиться значення відповіді сервера. В реальному додатку повинен бути розбір відповіді. Код аналізу відповіді можна знайти в представленому прикладі.

Допомога. Безпечне з’єднання

Безпечне з’єднання по протоколу https забезпечує передачу даних між браузером і сервером у зашифрованому вигляді. Для шифрування використовується відкритий ключ до 128 Bit.

Вдало встановлене з’єднання підтверджує символ закритого замка на панелі браузера.

Під час роботи в захищеному режимі браузер може періодично видавати попередження про те, що деякі із сторінок містять незашифровані дані. Браузер буде пропонувати вирішити чи заборонити передачу цих даних. Ви можете як прийняти їх, так і відмовитись; на роботі системи це ніяк не відобразиться. Попередження стосується тільки тих даних, що отримані з інших серверів. Наприклад, дане попередження буде виникати на сторінках з настройки лічильників RAX, так як зображення лічильників передаються з сервера RAX.RU. Вам не потрібно хвилюватись по цьому приводу.

Після закінчення робіт по настройці комірки потрібно повернутися в звичайний режим передачі даних. Для цього достатньо клікнути мишкою на посилання (вихід) в правій частині заголовка сторінки. Ознакою виходу з безпечного

назад |  1  | вперед


Назад
 


Новые поступления

Украинский Зеленый Портал Рефератик создан с целью поуляризации украинской культуры и облегчения поиска учебных материалов для украинских школьников, а также студентов и аспирантов украинских ВУЗов. Все материалы, опубликованные на сайте взяты из открытых источников. Однако, следует помнить, что тексты, опубликованных работ в первую очередь принадлежат их авторам. Используя материалы, размещенные на сайте, пожалуйста, давайте ссылку на название публикации и ее автора.

© il.lusion,2007г.
Карта сайта
  
  
 
МЕТА - Украина. Рейтинг сайтов Союз образовательных сайтов