Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 10.doc
Скачиваний:
13
Добавлен:
30.05.2020
Размер:
141.31 Кб
Скачать

2 Розповсюдження об’єктно-орієнтованого підходу на інформаційну безпеку.

2.1 Про необхідність об’єктно-орієнтованого підходу до інформаційної безпеки

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

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

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

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

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

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

2.2 Основні поняття об’єктно-орієнтованого підходу

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

Що ж розуміється під об’єктом і які інші основоположні поняття даного підходу?

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

Об’єкт – це елемент класу, тобто абстракція певного єства.

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

До активності об’єктів ми ще повернемося.

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

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

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

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

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

Ми ще повернемося до механізму спадкоємства при розгляді ролевого управління доступом. Поповнимо розглянутий вище класичний набір понять об’єктно-орієнтованого підходу ще двома поняттями: грані об’єкту і рівня деталізації.

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

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

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

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

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

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

Компонентні об’єктні середовища володіють всіма достоїнствами, властивими об’єктно-орієнтованому підходу:

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

  • спадкоємство дозволяє розвивати створені раніше компоненти, не порушуючи цілісність об’єктної оболонки;

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

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

На цьому ми завершуємо опис основних понять об’єктно-орієнтованого підходу.

Соседние файлы в предмете Защита информации