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

Лекція 2: Поширення об'єктно-орієнтованого підходу на інформаційну безпеку

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

 2. Основні поняття об'єктно-орієнтованого підходу

 3. Застосування об'єктно-орієнтованого підходу до розгляду систем захисту

 4. Недоліки традиційного підходу до інформаційної безпеки з об'єктної точки зору

 

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

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

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

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

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

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

По-перше, складні не тільки апаратно-програмні системи, які необхідно захищати, але і самі засоби безпеки.

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

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

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

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

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

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

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

Об'єкт - це елемент класу, то є абстракція певної сутності.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 3. Застосування об'єктно-орієнтованого підходу до розгляду захищаються систем

Спробуємо застосувати об'єктно-орієнтований підхід до питань інформаційної безпеки.

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

Фактично три грані(складові) вже були введені, це:

-  доступність,

- цілісність;

- конфіденційність.

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

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

• законодавчі заходи забезпечення інформаційної безпеки;

• адміністративні заходи (накази та інші дії керівництва організацій, пов'язаних з захищеними інформаційними системами);

• процедурні заходи (заходи безпеки, орієнтовані на людей);

• програмно-технічні заходи.

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

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

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

Адміністративні заходи - на всіх суб'єктів у межах організації,

Процедурні - на окремих людей (або невеликі категорії суб'єктів),

Програмно-технічні - на устаткування і програмне забезпечення.

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

 Очевидно, для всіх виділених, відносно незалежних граней діє принцип інкапсуляції (це і означає, що грані "відносно незалежні").

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

Ортогональних сукупностей не повинно бути багато; думається, двох сукупностей з числом елементів, відповідно, 3 і 4 вже достатньо, тому що вони дають 12 комбінацій.

Продемонструємо тепер, як можна розглядати ІС, що захищається, варіюючи поняттям «рівень деталізації».

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

При погляді з нульовим рівнем деталізації ми побачимо лише те, що в організації є інформаційна система (див. рис. 2.1).

 

  Рис. 2.1. ІС при розгляді з рівнем деталізації 0.

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

За якими критеріями проводити декомпозицію ІС - значною мірою справа смаку. Будемо вважати, що на першому рівні деталізації робляться видимими (такі що розрізняються) сервіси і користувачі, точніше, поділ на клієнтську і серверну частину (рис. 2.2).

 

Рис. 2.2. ІС при розгляді з рівнем деталізації 1.

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

На другому рівні деталізації ми побачимо наступне (див. рис. 2.3).

 

Рис. 2.3. ІС при розгляді з рівнем деталізації 2.

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

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

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

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

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: