Реферат
Зміст
- Вступ
- 1. Актуальність теми
- 2. Мета і задачі дослідження та заплановані результати
- 3. Аналіз способів перехоплення даних при клієнт-серверній взаємодії
- 4. Аналіз існуючих алгоритмів шифрування
- 4.1. Хешування
- 4.2. Симетричне шифрування
- 4.3. Асиметричне шифрування
- Висновки
- Перелік посилань
Вступ
У сучасному світі інформаційна безпека має дуже велике значення. А з ростом використання комп'ютерних мереж, зокрема Internet, питання забезпечення безпеки стало ще більш актуальним. Підприємствам необхідно забезпечувати безпечний доступ для співробітників до мережевих ресурсів в будь-який час, для чого сучасна стратегія забезпечення мережевої безпеки повинна враховувати ряд таких факторів, як:
- збільшення надійності мережі;
- ефективне управління безпекою;
- забезпечення захисту від загроз і нових методів атак, постійно еволюціонують.
Забезпечення безпеки названо першою з п'яти головних проблем Інтернету в програмі дій нової міжнародної ініціативи побудови Інтернету майбутнього. Сьогодні ж Інтернет являє собою ефективну, але разом з тим і непередбачувану середу, в якій міститься безліч різноманітних загроз і небезпек. Серед ризиків, на які наражається комп'ютерна мережа: несанкціонований доступ до мережевих ресурсів (наприклад, несанкціоноване читання файлів) і запобігання атак, метою яких є відключення тих чи інших послуг, мережею послуг. Запобігання цих ризиків є метою мережевої безпеки.
1. Актуальність теми
Cистема автоматизації приймальної комісії є цілий комплекс програмного забезпечення. Вона дозволяє полегшити і автоматизувати процедуру обробки персональних даних абітурієнтів на всіх етапах вступної комісії, починаючи з подачі заявки і закінчуючи процедурою зарахування, а так же оптимізувати документообіг. У період надходження свої документи подають тисячі і навіть десятки тисяч абітурієнтів. Система зберігає персональні дані всіх цих абітурієнтів. Серед них не тільки інформація про освіту, а й контактні і паспортні дані. Тому дуже важливо забезпечити цілісність персональних даних, а також захистити їх від несанкціонованого доступу.
Cистема автоматизації приймальної комісії побудована за принципом дворівневої архітектури "Клієнт-сервер". Основний принцип технології "клієнт-сервер" полягає в поділі функцій програми на три групи:
- введення і відображення даних для взаємодії з користувачем;
- прикладні функції, характерні для даної предметної області;
- функції управління ресурсами (файловою системою, базою даних і т.д.)
Найпростіші прикладні функції виконуються збереженими процедурами на сервері, а більш складні реалізуються на клієнті безпосередньо в прикладній програмі. Клієнт і сервер взаємодіють один з одним в мережі Інтернет або в будь-який інший комп'ютерної мережі за допомогою різних мережевих протоколів. У нашому випадку в якості протоколу передачі даних використовується протокол HTTP - протокол передачі гіпертексту.
Так як при роботі програмного забезпечення приймальної комісії йде постійний обмін даними між сервером і клієнтом, дуже важливо забезпечити безпеку цього обміну і захистити персональні дані абітурієнтів від несанкціонованого доступу до них.
2. Мета і задачі дослідження та заплановані результати
Основна мета роботи - забезпечення безпеки обміну даних і роботи системи автоматизації приймальної комісії.
Для досягнення даної мети необхідно виконання наступних завдань:
- Аналіз можливих атак на серверну частину.
- Аналіз способів перехоплення даних при клієнт-серверній взаємодії.
- Аналіз існуючих алгоритмів шифрування.
- Розробка власного способу захисту даних при клієнт-серверному взаємодії.
Дослідження спрямовано на вивчення способо забезпечення безпеки даних в мережі
Результатом роботи буде власний алгоритм для безпечної передачі даних між клієнтом і сервером в комплексі програмного забезпечення системи автоматизації приймальної комісії.
3. Аналіз способів перехоплення даних при клієнт-серверній взаємодії
Для перехоплення даних при клієнт-ерверній взаємодії використовується такий вид атаки, як Атака посередника (Man in the middle, MITM). Атака посередника, або атака «людина посередині» - вид атаки в криптографії, коли зловмисник таємно ретранслює і при необхідності змінює зв'язок між двома сторонами, які вважають, що вони безпосередньо спілкуються один з одним. Дана атака спрямована на обхід взаємної аутентифікації або відсутність такої і може увінчатися успіхом тільки тоді, коли зловмисник має можливість видати себе за кожну кінцеву точку або залишатися непоміченим в якості проміжного вузла [3].
Для проведення атаки виду MITM використовуються наступні методи:
- Мережевий сніфінг
- Помилкові запити ARP
- Помилкова маршрутизація
- Перехоплення TCP з'єднання [1]
Найпростішим способом перехоплення даних є мережевий сніфінг. ДДля сніфінга мереж Ethernet зазвичай використовуються мережеві карти, перекладені в режим прослуховування. Для прослуховування мережі використовують спеціальні програми - мережеві аналізатори. Прикладом такої програми є Wireshark [2].
Основою атаки «Отруєння ARP кеша» є вразливість в протоколі ARP. На відміну від таких протоколів як DNS, які можна налаштувати на прийом тільки захищених динамічних оновлень, пристрої, що використовують ARP, будуть отримувати оновлення в будь-який час. Така властивість ARP-протоколу дозволяє будь-якому пристрою відправляти пакет ARP-відповіді на інший вузол, щоб зажадати від нього поновлення ARP-кешу. Відправлення ARP-відповіді без генерування будь-яких запитів називається відправкою самозверненних ARP. Якщо є злочинні наміри, результатом вдало спрямованих самозверненням ARP-пакетів, які використовуються таким чином, можуть стати вузли, які вважають, що вони взаємодіють з одним вузлом, але в реальності вони взаємодіють з вузлом, що перехоплює злочинник
Для здійснення атаки помилкової маршрутизації необхідно підготувати помилкове ICMP Redirect Host повідомлення, в якому вказати кінцевий IP-адреса маршруту (адреса хоста, маршрут до якого буде змінений) і IP-адресу помилкового маршрутизатора. Далі це повідомлення передається на атакується хост від імені маршрутизатора. Для цього в IP-заголовку в поле адреси відправника вказується IP-адреса маршрутизатора[5]. Можливі 2 випадки: в першому випадку атакуючий знаходиться в тому ж сегменті мережі, що і мета атаки. Тоді у якости IP-адреси нового маршрутизатора вказують або свій IP-адрес, або будь-який з адресів даної підмережі. У другому випадку атакуючий знаходиться в іншому сегменті щодо мети атаки. Тоді при відправці помилкового ICMP Redirect повідомлення, сам атакуючий вже не зможе отримати контроль над трафіком, тому що адреса нового маршрутизатора повинна знаходитися в межах підмережі хоста, що атакується. В цьому випадку отримати доступ до інформації, що передається по каналу зв'язку інформації не вийде. Але при цьому порушується працездатність хоста[6].
Найбільш гострою атакою перехоплення мережевого трафіку слід вважати захоплення TCP-з'єднання (TCP hijacking), коли хакер шляхом генерації і відсилання на атакованих хост TCP-пакетів перериває поточний сеанс зв'язку з хостом. Далі, користуючись можливостями протоколу TCP по відновленню перерваного TCP-з'єднання, хакер перехоплює перерваний сеанс зв'язку і продовжує його замість відключеного клієнта. Для ідентифікації TCP-пакета в TCP-заголовку існують два 32-розрядних ідентифікатора, які також грають роль лічильника пакетів — Sequence Number і Acknowledgment Number. У разі, якщо хост A хоче встановити TCP-з'єднання з хостом B, відбувається т.з. «Потрійне рукостискання», в процесі якого хости обмінюються наступними пакетами:
- хост A посилає хосту B пакет зі встановленим бітом SYN і 32-бітовим значенням ISSa в поле Sequence Number
- хост B відповідає хосту A пакетом з встановленими бітами SYN і ACK, 32-бітовим значенням ISSb в поле Sequence Number, і значенням (ISSa + 1) в поле ACK
- ост A відповідає хосту B пакетом з встановленим бітом ACK, значенням (ISSa + 1) в поле Sequence Number, і значенням (ISSb + 1) в поле ACK.
- хост A відповідає хосту B пакетом з встановленим бітом ACK, значенням (ISSa + 1) в поле Sequence Number, і значенням (ISSb + 1) в поле ACK. У цьому пакеті включена вся корисна інформація.
На цьому пакеті завершується установка з'єднання, тому в наступному пакеті хост A передає хосту B корисну інформацію
Розглянувши схему установки з'єднання, описану вище, можна помітити, що єдиними ідентифікаторами, за якими кінцевий хост може розрізняти TCP-абонентів і TCP-з'єднання, є поля Sequence Number і Acknowledge Number. Таким чином, якщо атакуючий визначить значення ISSa і ISSb для даного з'єднання, то він зможе сформувати помилковий TCP-пакет, який буде сприйнятий і оброблений кінцевим хостом[7].
4. Аналіз існуючих алгоритмів шифрування
Для зберігання важливої інформації в ненадійних джерелах і передачі її по незахищеним каналам зв'язку застосовується шифрування.
Шифрування - оборотне перетворення інформації з метою приховування від неавторизованих осіб, з наданням, в цей же час, авторизованим користувачам доступу до неї. Важливою особливістю будь-якого алгоритму шифрування є використання ключа, який стверджує вибір конкретного перетворення з сукупності можливих для даного алгоритму. Користувачі є авторизованими, якщо вони мають певний автентичним ключем. В цілому, шифрування складається з двох складових - зашифровування і розшифрування.
За допомогою шифрування забезпечуються три стани безпеки інформації:
- Конфіденційність.
- Цілісність.
- Ідентифікованість.
Шифрування використовується для приховування інформації від неавторизованих користувачів при передачі або при зберіганні.
Шифрування використовується для запобігання зміни інформації при передачі або зберіганні.
Шифрування використовується для аутентифікації джерела інформації та запобігання відмови відправника інформації від того факту, що дані були відправлені саме їм.
Для того, щоб прочитати зашифровану інформацію, приймаючій стороні необхідні ключ і дешифратор (пристрій, що реалізує алгоритм розшифрування). Ідея шифрування полягає в тому, що зловмисник, перехопивши зашифровані дані і не маючи до них ключа, не може ні прочитати, ні змінити передану інформацію. Однак, з розвитком криптоанализа, з'явилися методики, що дозволяють дешифрувати закритий текст без ключа. Вони засновані на математичному аналізі переданих даних.
Існують три основні методи шифрування, які використовуються в більшості систем сьогодні: хешування, симетричне і асиметричне шифрування.
1 Хешування
Методика хешування використовує алгоритм, відомий як хеш-функція для генерації спеціального рядка з наведених даних, відомих як хеш. У загальному випадку (згідно з принципом Діріхле) немає однозначної відповідності між хеш-кодом (вихідними даними) і вихідними (вхідними) даними. Значення що повертаються хеш-функцією (вихідні дані) менш різноманітні, ніж значення вхідного масиву (вхідні дані). Випадок, при якому хеш-функція перетворює кілька різних повідомлень в однакові зведення, називається «колізією». Імовірність виникнення колізій використовується для оцінки якості хеш-функцій.
«Хороша» хеш-функція повинна задовольняти двом властивостям:
- швидке обчислення;
- мінімальна кількість «колізій».
Ідеальною хеш-функцією називається така функція, яка відображає кожен ключ з набору S в безліч цілих чисел без колізій. В математиці таке перетворення називається ін'єкційних відображенням. Розглянемо популярні алгоритми хешування.
Алгоритми CRC16 / 32 (Циклічний надлишковий код) - контрольна сума (НЕ криптографічне перетворення). Алгоритм CRC базується на властивостях ділення із залишком довічних многочленів. Значення CRC є по суті залишком від ділення многочлена, відповідного вхідним даними, на якийсь фіксований породжує многочлен. Існує безліч стандартизованих утворюють многочленів, що володіють хорошими математичними і кореляційними властивостями (мінімальна кількість колізій, простота обчислення)[8].
Алгоритми MD2 / 4/5/6. Є творінням Рона Райвест, одного з авторів алгоритму RSA. На даний момент ця хеш-функція не рекомендується до використання, так як існують способи знаходження колізій з прийнятною обчислювальною складністю.
Алгоритми лінійки SHA Широко поширені зараз алгоритми. Йде активний перехід від SHA-1 до стандартів версії SHA-2. SHA-2 - збірна назва алгоритмів SHA224, SHA256, SHA384 і SHA512. SHA224 і SHA384 є по суті аналогами SHA256 і SHA512 відповідно, тільки після розрахунку згортки частина інформації в ній відкидається. Використовувати їх варто лише для забезпечення сумісності з обладнанням старих моделей[9].
Bcrypt - адаптивна криптографічний хеш функція формування ключа, що використовується для захищеного зберігання паролів. Для захисту від атак за допомогою райдужних таблиць bcrypt використовує сіль (salt); крім того, функція є адаптивної, час її роботи легко налаштовується і її можна уповільнити, щоб ускладнити атаку перебиранням.
2 Симетричне шифрування
Симетричні криптосистеми (також симетричне шифрування, симетричні шифри) (англ. Symmetric-key algorithm) - спосіб шифрування, в якому для шифрування і розшифрування застосовується один і той же криптографічний ключ. До винаходу схеми асиметричного шифрування єдиним існуючим способом було симетричне шифрування. Ключ алгоритму повинен зберігатися в таємниці обома сторонами. Алгоритм шифрування вибирається сторонами до початку обміну повідомленнями. Збереження ключа в секретності є важливим завданням для встановлення і підтримки захищеного каналу зв'язку. У зв'язку з цим, виникає проблема початкової передачі ключа (синхронізації ключів). Крім того існують методи кріптоатак, що дозволяють так чи інакше дешифрувати інформацію не маючи ключа або ж за допомогою його перехоплення на етапі узгодження. В цілому ці моменти є проблемою криптостойкости конкретного алгоритму шифрування і є аргументом при виборі конкретного алгоритму. Симетричні, а конкретніше, алфавітні алгоритми шифрування були одними з перших алгоритмів. Пізніше було винайдено асиметричне шифрування, в якому ключі у співрозмовників різні.
3 Асиметричне шифрування
У системах з відкритим ключем використовуються два ключі - відкритий і закритий, пов'язані певним математичним чином один з одним. Відкритий ключ передається по відкритому (тобто незахищені, доступному для спостереження) каналу і використовується для шифрування повідомлення і для перевірки ЕЦП. Для розшифровки повідомлення і для генерації ЕЦП використовується таємний ключ.
Дана схема вирішує проблему симетричних схем, пов'язану з початкової передачею ключа іншій стороні. Якщо в с иметричних схемах зловмисник перехопить ключ, то він зможе як «слухати», так і вносити правки в передану інформацію. В асиметричних системах іншій стороні передається відкритий ключ, який дозволяє шифрувати, але не розшифровувати інформацію. Таким чином вирішується проблема симетричних систем, пов'язана з синхронізацією ключів.
Переваги асиметричних шифрів перед симетричними:
- не потрібно попередньо передавати особистий ключ по надійному каналу;
- тільки одній стороні відомий ключ дешифрування, який потрібно тримати в секреті (у симетричній криптографії такий ключ відомий обом сторонам і повинен триматися в секреті обома);
- у великих мережах число ключів в асиметричної криптосистеме значно менше, ніж в симетричною.
Недоліки алгоритму несиметричного шифрування в порівнянні з симетричним:
- в алгоритм складніше внести зміни;
- довші ключі;
- шифрування-розшифрування з використанням пари ключів проходить на два-три порядки повільніше, ніж шифрування-розшифрування того ж тексту симетричним алгоритмом;
- потрібні істотно більші обчислювальні ресурси, тому на практиці асиметричні криптосистеми використовуються в поєднанні з іншими алгоритмами;
Криптографічні системи з відкритим ключем в даний час широко застосовуються в різних мережевих протоколах, зокрема, в протоколах TLS і його попереднику SSL (що лежать в основі HTTPS), в SSH.
Висновки
В результаті науково-дослідної роботи були зібрані і вивчені матеріали з питань, пов'язаних з темою магістерської роботи.
Була розглянута можливість атаки на клієнт-сервернок з'єднання за допомогою Атаки посередника, а так само можливі методи її проведення.
Були розглянуті способи шифрування даних, розглянуті 3 основні методи шифрування даних. Проаналізовано їх актуальність
Перелік посилань
- Перехват сетевых данных [Электронный ресурс]. — Режим доступа: http://alex-shtilev.narod.ru/diplom/glava16.html. — Заглавие с экрана. — (Дата обращения: 06.04.2019).
- Захват сетевых пакетов с помощью программы Wireshark [Электронный ресурс]. — Режим доступа: https://help.keenetic.com/hc/ru/articles/213965969-Захват-сетевых-пакетов-с-помощью-программы-Wireshark. — Заглавие с экрана. — (Дата обращения: 06.04.2019).
- Атака посредника [Электронный ресурс]. — Режим доступа: https://ru.wikipedia.org/wiki/Атака_посредника. — Заглавие с экрана. — (Дата обращения: 06.04.2019).
- Understanding Man-in-the-Middle Attacks - ARP Cache Poisoning (Part 1) [Электронный ресурс]. — Режим доступа: http://techgenix.com/Understanding-Man-in-the-Middle-Attacks-ARP-Part1/ . — Заглавие с экрана. — (Дата обращения: 06.04.2019).
- Навязывание хосту ложного маршрута с использованием протокола ICMP с целью создания в сети Internet ложного маршрутизатора [Электронный ресурс]. — Режим доступа: http://citforum.ru/internet/attack/c44.shtml . — Заглавие с экрана. — (Дата обращения: 06.04.2019).
- Understanding ICMP Redirect Messages [Электронный ресурс]. — Режим доступа: https://www.cisco.com/c/en/us/support/docs/ios-nx-os-software/nx-os-software/213841-understanding-icmp-redirect-messages.html . — Заглавие с экрана. — (Дата обращения: 06.04.2019).
- TCP hijacking [Электронный ресурс]. — Режим доступа: https://ru.wikipedia.org/wiki/TCP_hijacking . — Заглавие с экрана. — (Дата обращения: 06.04.2019).
- Брюс Шнайер, Прикладная криптография, 2-е изд. 2012. — 815 с.
- Алфёров А.П., Зубов А.Ю., Кузьмин А.С., Черемушкин А.В. Основы криптографии , 2-е изд., испр. и доп. — М.. Гелиос АРВ, 2002. — 480 с., ил
- Шифрование [Электронный ресурс]. — Режим доступа: https://ru.wikipedia.org/wiki/Шифрование . — Заглавие с экрана. — (Дата обращения: 06.04.2019).