Проект InfoSecurity.ru - Системи забезпечення безпеки інформаційних технологій

  1. Вступ
  2. Аналіз існуючих методів захисту інформації
  3. Цілі і завдання забезпечення безпеки інформаційних технологій
  4. Шляхи проникнення руйнує інформації в систему
  5. Основні принципи руйнування систем
  6. Недоліки програмних реалізацій систем захисту
  7. Програмно-апаратурні засоби забезпечення безпеки інформаційних технологій
  8. Висновок

^ Повернутися до змісту ^

Вступ

Бурхливий розвиток в 90-х роках ХХ століття засобів телекомунікацій і засобів обчислювальної техніки привело до швидкого становленню абсолютно нової методології взаємодії процесів в розподіленої обчислювальної середовищі. Відзначимо, що основи цієї методології були розроблені ще в 70-х - 80-х роках для високошвидкісних локальних обчислювальних мереж (ЛВС) [1], однак багаторазове збільшення швидкості передачі по магістральних каналів зв'язку дозволило в другій половині 90-х років створити глобальні обчислювальні мережі (ГВС), які не поступаються за своїми характеристиками ЛВС 80-х. Більш того, постійне вдосконалення існуючих і поява нових протоколів передачі та обробки інформації дозволило до кінця ХХ століття розглядати ГВС як якусь систему, що володіє ознаками, як класичного мультипроцессора, так і класичної обчислювальної мережі [2]. Розвиток принципів об'єктно-орієнтованого програмування [3] дало можливість з упевненістю заявити, що основна ідея архітектури відкритих систем (моделі ISO / OSI) [4] - не можна відрізнити централізованої і розподіленої обробки інформації - до кінця ХХ століття виявилася практично повністю реалізованою. Цей факт, безумовно, позитивний, відкриває перед нами абсолютно нові, унікальні, недосяжні раніше можливості з розвитку інформаційних технологій. Разом з тим, це породжує і нові завдання, основний з яких дуже швидко, катастрофічно швидко стає проблема безпеки зберігання, обробки і передачі інформації в ГВП. Поява в останні роки фактично нової (і прибутковою) професії хакерів - комп'ютерних зломщиків - залишає нам не так багато часу для розробки адекватних і ефективних методів протидії їх діяльності, на жаль, більш ніж успішною. Аналізу існуючих методів захисту, а також прогнозування цілей і перспектив в галузі забезпечення безпеки інформаційних технологій присвячена ця стаття.

^ Повернутися до змісту ^

Аналіз існуючих методів захисту інформації

Аналіз існуючих методів захисту інформації дозволяє виявити чотири основних напрямки (групи методів):

  • використання засобів криптографічного захисту інформації;
  • використання захисних екранів (FireWalls);
  • використання захищених каналів;
  • використання пост-реактивних методів протидії.

До теперішнього часу найбільш повно розроблені методи криптографічного захисту інформації, засновані на теорії чисел [5]. Це цілком природно, бо історія криптографії налічує вже, як мінімум, кілька століть. Здавалося б, що криптографія здатна забезпечити максимально повний захист інформації, проте цього не відбувається. Сумний досвід виробників програмного забезпечення щодо захисту своїх ліцензійних дисків від піратського копіювання свідчить про те, що зломщики просто обходять всю криптозащиту за допомогою елементарного дизассемблирования відповідного програмного забезпечення, розкриваючи при цьому або сам алгоритм захисту, або ключ, або і те й інше. Аналогічна ситуація складається і при атаці віддалених серверів ГВС, коли зломщики віддають перевагу прямому дешифрування паролів системних адміністраторів використання методів обману систем, використовуючи при цьому як помилки програмного забезпечення, так і приховані (недокументовані) можливості операційних систем (ОС), що залишаються розробниками програмного забезпечення (ПО ) для подальшого розширення можливостей ОС. При такому підході звичайна клієнтська програма (або сеанс зв'язку) отримує права системного адміністратора без знання його дійсного пароля, і, відповідно, отримує доступ до всієї інформації, що зберігається на сервері. Таким чином, криптографічні методи в чистому вигляді не дають повної гарантії захисту інформації навіть при дуже високій стійкості алгоритму шифрування.

Наступну групу методів становлять алгоритми, засновані на використанні захисних екранів (FireWalls). На перший погляд, подібні методи здатні досить ефективно захистити мережеві сервери і робочі станції від хакерських атак. Справді, принцип "Я бачив усього - мене ніхто не бачить", покладений в основу захисних екранів, як ніби здатний захистити інформацію від несанкціонованого доступу. Але тільки на перший погляд. Спрогнозувавши ситуацію на найближчі кілька років, ми прийдемо до висновку, що повсюдне і необмежене застосування FireWall-ів фактично призведе до розпаду єдиної ГВС на безліч дрібних корпоративних мереж користувачів. Таким чином, ми прийдемо до того, від чого так прагнули піти при створенні ГВС і що вже мали в 80-х роках, а саме - до безлічі ЛВС, ніяк не пов'язаних один з одним. Те, що подібні мережі будуть називатися по-іншому (VPN - Virtual Private Networks, віртуальні приватні мережі), не має ніякого значення. Як наслідок, відбудеться повна втрата всіх переваг ГВС - відкритості та доступності і вся робота по їх створенню виявиться, по суті, марною. Що залишилися в нечисленному кількості "глобально-загальнодоступні" сервери як і раніше будуть піддаватися атакам хакерів, бо установка захисних екранів на подібні сервери є нонсенсом за визначенням. Як наслідок, зробимо висновок про те, що і FireWall-и в перспективі не рятують становища.

Розглянемо тепер використання захищених каналів зв'язку для забезпечення захисту інформації. Як видно вже з назви цієї групи методів, їх призначення полягає в захисті інформації при її передачі. Сучасний підхід полягає у використанні віртуальних захищених каналів, на відміну застарілого і більш дорогого способу передачі інформації по захищеним фізичних каналах [6]. При цьому передбачається, що між передавачем і приймачем інформації на час передачі або постійно створюється віртуальний канал, що захищає інформацію від перехоплення і декодування в процесі передачі. Захист може бути реалізована на різних рівнях моделі ISO / OSI - канальному, мережевому, сеансовому за допомогою відповідних протоколів. Подібні віртуальні канали звуться криптозахищені тунелів або тунелів VPN. Захист інформації в процесі передачі грунтується на виконанні наступних функцій:

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

Відзначається, що висока ефективність такого захисту забезпечується за рахунок спільного використання симетричних і асиметричних криптографічних систем [6]. Тут важко щось заперечити, крім того, про що вже говорилося вище: жоден кваліфікований комп'ютерний зломщик безпосередньо не боротися з криптозащитой і перехоплювати інформацію в процесі передачі, а просто візьме її в тому місці, де вона зберігається у відкритому вигляді. Крім того, сам метод використання захищених віртуальних каналів, по суті, є окремим випадком використання захисних екранів і точно так же призводить до дроблення єдиної мережі на безліч VPN. Про небажані наслідки такого підходу ми також говорили вище.

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

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

^ Повернутися до змісту ^

Цілі і завдання забезпечення безпеки інформаційних технологій

Перш за все, визначимо поняття безпечної системи. Для цього визначимо систему S як пару

Для цього визначимо систему S як пару

де O - безліч об'єктів, L - безліч зв'язків.

визначимо об'єкт визначимо об'єкт   як трійку як трійку

визначимо об'єкт   як трійку

де Di - безліч значень об'єкта, Ci - безліч операцій над об'єктом, Vi - область видимості об'єкта. Фактично Vi є безліч множин, в якому кожен елемент Vk Vi є відображенням безлічі Ci і визначає набір допустимих операцій для деякого об'єкта Ok над об'єктом Oi (тобто набір обмежень безлічі Ci для об'єкта Oi). Тоді все безліч зв'язків

Тоді все безліч зв'язків

Таким чином, задаючи різні специфікації області видимості Vi для кожного об'єкта, ми будемо отримувати системи з різним ступенем захищеності. Зрозуміло, що ми при розробці систем захисту не можемо змінювати специфікації множин Di і Ci, які визначені розробником базових систем (тобто систем, що підлягають подальшій захисту) відповідно до природи об'єкта. Ми будемо мати справу тільки з множинами Vi, специфікація (визначення) яких проводиться замовником системи захисту виходячи з конкретних технічних вимог.

Тепер ми можемо дати визначення безпечної системи. Будемо називати систему (1) безпечної, якщо для кожного об'єкта Oi (2) елементи безлічі Vi відповідають специфікації захисту. Тоді метою нашої роботи буде знаходження деякого безлічі функцій для кожного об'єкта Oi

Тоді метою нашої роботи буде знаходження деякого безлічі функцій для кожного об'єкта Oi

здійснюють відображення Сi на Vi, а завданням - реалізація даних функцій у відповідному операційному оточенні

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

^ Повернутися до змісту ^

Шляхи проникнення руйнує інформації в систему

Для початку розіб'ємо всі безліч об'єктів в системі на два базових безлічі: безліч процесів OP і безліч ресурсів OR. Таким чином, O = OP OR, або, іншими словами, об'єктів, відмінних від процесів або ресурсів, в системі просто не існує. Визначимо процес P як об'єкт, що має право приєднання (захоплення) інших об'єктів (ресурсів) на час виконання певної роботи. Відповідно, визначимо ресурс R як об'єкт, що надає таке право іншим об'єктам (процесам). Належність об'єкта до процесів і ресурсів не визначена раз і назавжди, а є деякою динамічною характеристикою, що залежить від алгоритму функціонування системи. Наприклад, об'єкти динамічних бібліотек (DLL) є процесами по відношенню до пам'яті та процесорного часу і одночасно є ресурсами по відношенню до процесів користувачів.

Далі розіб'ємо безліч зв'язків L системи S на дві множини: безліч закритих зв'язків Lc і безліч відкритих зв'язків Lo так, щоб L = Lc Lo. При цьому характеристики закритих (внутрішньосистемних) зв'язків визначаються алгоритмами функціонування системи; існування відкритих зв'язків необхідно для взаємодії з іншими системами. Для зручності будемо вважати всі зв'язки двоточковими, тобто такими, в яких кожна зв'язок об'єднує два об'єкти Oi і Oj, причому в кожен момент часу один з двох об'єктів є процесом, а інший - ресурсом. Багатоточкові зв'язку будемо розглядати як комбінацію двоточкових. З урахуванням (3) будемо розуміти кожну зв'язок як деякий допустимий набір операцій Oi над Oj і навпаки. Закриті зв'язку є цілком визначеними, бо в них завжди строго визначені і реально присутні обидва об'єкти. Відкриті зв'язку визначені частково, бо в них визначено і реально присутній об'єкт тільки в одній точці; визначення характеристик і присутність іншого об'єкта носить лише потенційно-рекомендаційний характер. Таким чином, існує небезпека некоректної поведінки об'єктів, що підключаються до системи через відкриті зв'язку. Виникає дилема: існування відкритих зв'язків необхідно для запобігання інформаційного колапсу системи (тобто втрати можливості отримання нової інформації), але наявність таких зв'язків може привести систему до руйнування при взаємодії з об'єктами іншої системи. Отже, питання вивчення природи відкритих зв'язків і повинні складати основу теорії безпечних інформаційних систем.

^ Повернутися до змісту ^

Основні принципи руйнування систем

Визначимо абсолютний процес Pabs як об'єкт, який ніколи не буде захоплений іншими процесами системи, і абсолютний ресурс Rabs як об'єкт, який ніколи не захопить інші процеси. Визначимо умовно-абсолютний процес Pcond як об'єкт, який може бути захоплений (в якості ресурсу) тільки строго обмеженим колом інших процесів, і умовно-абсолютний ресурс Rcond як об'єкт, здатний захопити (як процесу) тільки строго обмежене коло інших ресурсів. Як абсолютного процесу будемо розглядати оператора системи (користувача). Прикладом абсолютного ресурсу є пам'ять системи, відповідно прикладом умовно-абсолютного ресурсу може служити будь-який не виконує, той файл. Класифікація виконуваних (EXE, DLL і т.д.) файлів неможлива до їх фактичного запуску і спостереження за їх виконанням. Такі файли можуть (приховано) належати до будь-якої групі, як процесів, так і ресурсів. Нас надалі будуть цікавити саме такі об'єкти як джерело потенційної небезпеки для системи. При цьому основний акцент буде робитися на дослідження поведінки таких об'єктів як процесів (тобто активних динамічних об'єктів). Визначимо безліч таких об'єктів

Визначимо безліч таких об'єктів

де Pdet - безліч EXE-об'єктів з детермінованим (заздалегідь відомим і строго визначеним) поведінкою, Pundet - безліч EXE-об'єктів з недетермінованим (заздалегідь невідомим і невизначеним) поведінкою.

Визначимо основні функції захоплення ресурсу:

  • захоплення з метою отримання інформації від ресурсу (Fread);
  • захоплення з метою модифікації ресурсу (Fmod = {Fupdate, Fwrite, Fexecute});
  • захоплення з метою знищення ресурсу (Fdel).

Таким чином, можна визначити всі безліч основних функцій захоплення:

Таким чином, можна визначити всі безліч основних функцій захоплення:

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

  • операції заміщення існуючих об'єктів з метою спотворення їх поведінки;
  • операції заміщення існуючих зв'язків з метою перехоплення інформації і (або), що управляють.

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

^ Повернутися до змісту ^

Недоліки програмних реалізацій систем захисту

Розглянемо Деяк систему захисту, реалізовану у виде части операційної системи (ОС) або пакета програм (ПП). Назвемо таку реалізацію програмної системою захисту (ПСЗ). Сформулюємо питання так: чи можливо (і если так, то за якіх умів) створення Ідеальної (неруйнівного) системи захисту при чисто програмної реализации? Відповідь буде невтішним: ні, неможливо як мінімум з двох причин:

  • всі об'єкти ПСЗ спочатку (до завантаження і запуску) є ресурсами файлової системи і потенційно допускають виконання над собою будь-якої функції захоплення з безлічі Flock;
  • ПСЗ є стаціонарною системою, здатною функціонувати за відсутності її власника.

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

^ Повернутися до змісту ^

Програмно-апаратурні засоби забезпечення безпеки інформаційних технологій

В останні роки намітився істотний зсув в області безпеки інформаційних технологій. Йдеться про появу портативних електронних ключів-брелоків типу eToken компанії Aladdin [8] і аналогічних ключів інших компаній. Принципова відмінність даного підходу від традиційних полягає в тому, що вихідна система [1] ділиться на дві частини:

Принципова відмінність даного підходу від традиційних полягає в тому, що вихідна система [1] ділиться на дві частини:

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

Як приклад реалізації подібного підходу розглянемо систему захисту паролів входу в Інтернет eToken Internet Logon, розроблену компанією Инфотех (м Володимир).

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

Для роботи з eToken Internet Logon необхідно мати:

  1. PC з USB портом і ОС Windows 95/98 / ME / NT4 / 2000.
  2. Встановлений модем.
  3. Електронний ключ eToken R2.

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

Система eToken Internet Logon використовує такі поняття:

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

  2. Логін і пароль для доступу в мережу. Ці параметри зберігаються в ключі і клієнтові в принципі не потрібно їх запам'ятовувати або записувати. Досить вказати тільки PIN-код при встановленні з'єднання з мережею, і система автоматично підставить всі необхідні параметри, прочитавши їх з ключа. За допомогою спеціальної програми-редактора можна створити, прочитати і змінити ім'я з'єднання, логін і список телефонів провайдера. Пароль для входу в мережу можна тільки створювати і змінювати - читати його система не дозволяє.

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

^ Повернутися до змісту ^

Висновок

Наведений в даній статті матеріал дозволяє зробити наступні висновки.

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

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

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

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

Сформулюємо питання так: чи можливо (і если так, то за якіх умів) створення Ідеальної (неруйнівного) системи захисту при чисто програмної реализации?