програмно-технічні заходи, тобто заходи, направлені на контроль комп’ютерних єств - устаткування, програм і/або даних, утворюють останній і найважливіший рубіж інформаційної безпеки. Нагадаємо, що збитку завдають в основному дії легальних користувачів, по відношенню до яких процедурні регулятори малоефективні. Головні вороги - некомпетентність і неакуратність при виконанні службових обов’язків, і лише програмно-технічні заходи здатні їм протистояти.
Комп’ютери допомогли автоматизувати багато областей людської діяльності. Цілком природним представляється бажання покласти на них і забезпечення власної безпеки. Навіть фізичний захист все частіше доручають не охоронцям, а інтегрованим комп’ютерним системам, що дозволяє одночасно відстежувати переміщення співробітників і по організації, і по інформаційному простору.
Це друга причина, пояснююча важливість програмно-технічних заходів.
Слідує, проте, враховувати, що швидкий розвиток інформаційних технологій не тільки надає тим, що обороняється нові можливості, але і об’єктивно утрудняє забезпечення надійного захисту, якщо спиратися винятково на заходи програмно-технічного рівня. Причин тому дещо:
підвищення швидкодії мікросхем, розвиток архітектури з високим ступенем паралелізму дозволяє методом грубої сили долати бар’єри (перш за все криптографічні), що раніше здавалися неприступними;
розвиток мереж і мережних технологій, збільшення числа зв’язків між інформаційними системами, зростання пропускної спроможності каналів розширюють круг зловмисників, що мають технічну нагоду організовувати атаки;
поява нових інформаційних сервісів веде і до утворення нових вразливих місць як "усередині" сервісів, так і на їх стиках;
конкуренція серед виробників програмного забезпечення примушує скорочувати терміни розробки, що приводить до зниження якості тестування і випуску продуктів з дефектами захисту;
нав’язувана споживачам парадигма постійного нарощування потужності апаратного і програмного забезпечення не дозволяє довго залишатися в рамках надійних, апробованих конфігурацій і, крім того, вступає в конфлікт з бюджетними обмеженнями, через що знижується частка асигнувань на безпеку.
Перераховані міркування зайвий раз підкреслюють важливість комплексного підходу до інформаційної безпеки, а також необхідність гнучкої позиції при виборі і супроводі програмно-технічних регуляторів.
Центральним для програмно-технічного рівня є поняття сервісу безпеки.
Слідуючи об’єктно-орієнтованому підходу, при розгляді інформаційної системи з одиничним рівнем деталізації ми побачимо сукупність інформаційних сервісів, що надаються нею. Назвемо їх основними. Щоб вони могли функціонувати і володіли необхідними властивостями, необхідні декілька рівнів додаткових (допоміжних) сервісів - від СУБД і моніторів транзакцій до ядра операційної системи і устаткування.
До допоміжних відносяться сервіси безпеки (ми вже стикалися з ними при розгляді стандартів і специфікацій в області ІБ); серед них нас в першу чергу цікавитимуть універсальні, високорівневі, допускаючі використовування різними основними і допоміжними сервісами. Далі ми розглянемо наступні сервіси:
ідентифікація і аутентифікація;
управління доступом;
протоколювання і аудит;
шифрування;
контроль цілісності;
екранування;
аналіз захищеності;
забезпечення відмовостійкості;
забезпечення безпечного відновлення;
туннелирование;
управління.
Будуть описані вимоги до сервісів безпеки, їх функціональність, можливі методи реалізації і місце в загальній архітектурі.
Якщо зіставити приведений перелік сервісів з класами функціональних вимог "Загальних критеріїв", то впадає в очі їх істотне неспівпадання. Ми не розглядатимемо питання, пов’язані з приватностью, з наступної причини. На наш погляд, сервіс безпеки, хоча б частково, повинен знаходитися у розпорядженні того, кого він захищає. У випадку ж з приватностью це не так: критично важливі компоненти зосереджені не на клієнтській, а на серверній стороні, так що приватность по суті виявляється властивістю пропонованої інформаційної послуги (в найпростішому випадку приватность досягається шляхом збереження конфіденційності серверної реєстраційної інформації і захистом від перехоплення даних, для чого достатньо перерахованих сервісів безпеки).
З другого боку, наш перелік ширше, ніж в "Загальних критеріях", оскільки в нього входять екранування, аналіз захищеності і туннелирование. Ці сервіси мають важливе значення самі по собі і, крім того, можуть комбінуватися з іншими сервісами для отримання таких необхідних захисних засобів, як, наприклад, віртуальні приватні мережі.
Сукупність перерахованих вище сервісів безпеки ми називатимемо повним набором. Вважається, що його, у принципі, достатньо для побудови надійного захисту на програмно-технічному рівні, правда, при дотриманні цілого ряду додаткових умов (відсутність вразливих місць, безпечне адміністрування і т.д.).
Для проведення класифікації сервісів безпеки і визначення їх місця в загальній архітектурі міри безпеки можна розділити на наступні види:
превентивні, перешкоджаючі порушенням ІБ;
заходи виявлення порушень;
локалізуючі, звужуючі зону дії порушень;
заходи по виявленню порушника;
заходи відновлення режиму безпеки.
Більшість сервісів безпеки потрапляє в число превентивних, і це, безумовно, правильно. Аудит і контроль цілісності здатні допомогти у виявленні порушень; активний аудит, крім того, дозволяє запрограмувати реакцію на порушення з метою локалізації и/или дослідження. Спрямованість сервісів відмовостійкості і безпечного відновлення очевидна. Нарешті, управління грає інфраструктурну роль, обслуговуючи всі аспекти ІС.
Інформаційна система типової сучасної організації є вельми складною освітою, побудованою в багаторівневій архітектурі клієнт/сервер, яке користується численними зовнішніми сервісами і, у свою чергу, надає власні сервіси зовні. Навіть порівняльно невеликі магазини, що забезпечують розрахунок з покупцями по пластикових картах (і, звичайно, мають зовнішній Web-сервер), залежать від своїх інформаційних систем і, зокрема, від захищеності всіх компонентів систем і комунікацій між ними.
З погляду безпеки найістотнішими представляються наступні аспекти сучасних ІС:
корпоративна мережа має частин (оскільки організація розташовується на декількох виробничих майданчиках), зв’язки між якими знаходяться у віданні зовнішнього постачальника мережних послуг, що дещо територіально рознесли, виходячи за межі зони, контрольованою організацією;
корпоративна мережа має одне або декілька підключень до Internet;
на кожному з виробничих майданчиків можуть знаходитися критично важливі сервери, в доступі до яких мають потребу співробітники, що працюють на інших майданчиках, мобільні користувачі і, можливо, співробітники інших організацій;
для доступу користувачів можуть застосовуватися не тільки комп’ютери, але і споживацькі пристрої, що використовують, зокрема, бездротовий зв’язок;
протягом одного сеансу роботи користувачу доводиться звертатися до декількох інформаційних сервісів, що спираються на різні апаратно-програмні платформи;
до доступності інформаційних сервісів пред’являються жорсткі вимоги, які звичайно виражаються в необхідності цілодобового функціонування з максимальним часом простою порядка декількох хвилин;
інформаційна система є мережею з активними агентами, тобто в процесі роботи програмні компоненти, такі як апплеты або сервлеты, передаються з однієї машини на іншу і виконуються в цільовому середовищі, підтримуючи зв’язок з видаленими компонентами;
не всі призначені для користувача системи контролюються мережними и/или системними адміністраторами організації;
програмне забезпечення, особливе одержане по мережі, не може вважатися надійним, в ньому можуть бути помилки, що створюють проблеми в захисті;
конфігурація інформаційної системи постійно змінюється на рівнях адміністративних даних, програм і апаратури (міняється склад користувачів, їх привілею і версії програм, з’являються нові сервіси, нова апаратура і т.п.).
Слід враховувати ще принаймні два моменти. По-перше, для кожного сервісу основні грані ІБ (доступність, цілісність, конфіденційність) потрактують по-своєму. Цілісність з погляду системи управління базами даних і з погляду поштового серверу - речі принципово різні. Безглуздо говорити про безпеку локальної або іншу мережу взагалі, якщо мережа включає різнорідні компоненти. Слід аналізувати захищеність сервісів, що функціонують в мережі. Для різних сервісів і захист будують по-різному. По-друге, основна загроза інформаційної безпеки організацій як і раніше виходить не від зовнішніх зловмисників, а від власних співробітників.
Через висловлені причини далі розглядатимуться розподілені, різнорідні, багатосервісні, еволюціонуючі системи. Відповідно, нас цікавитимуть рішення, орієнтовані на подібні конфігурації.
Сервіси безпеки, якими б могутніми вони не були, самі по собі не можуть гарантувати надійність програмно-технічного рівня захисту. Тільки перевірена архітектура здатна зробити ефективним об’єднання сервісів, забезпечити керованість інформаційної системи, її здатність розвиватися і протистояти новим загрозам при збереженні таких властивостей, як висока продуктивність, простота і зручність використовування.
Теоретичною основою рішення проблеми архітектурної безпеки є наступне фундаментальне твердження, яке ми вже приводили, розглядаючи інтерпретацію "Оранжевої книги" для мережних конфігурацій.
"хай кожний суб’єкт (тобто процес, діючий від імені якого-небудь користувача) укладений усередині одного компоненту і може здійснювати безпосередній доступ до об’єктів тільки в межах цього компоненту. Далі хай кожний компонент містить свій монітор обігу, що відстежує всі локальні спроби доступу, і всі монітори проводять в життя злагоджену політику безпеки. Хай, нарешті, комунікаційні канали, що зв’язують компоненти, зберігають конфіденційність і цілісність передаваної інформації. Тоді сукупність всіх моніторів утворює єдиний монітор обігу для всієї мережної конфігурації."
Звернемо увагу на три принципи, що містяться в приведеному твердженні:
необхідність вироблення і проведення в життя єдиної політики безпеки;
необхідність забезпечення конфіденційності і цілісності при мережних взаємодіях;
необхідність формування складових сервісів за змістовним принципом, щоб кожний одержаний таким чином компонент володів повним набором захисних засобів і із зовнішньої точки зору був єдиним цілим (не повинно бути інформаційних потоків, що йдуть до незахищених сервісів).
Якщо який-небудь (складовий) сервіс не володіє повним набором захисних засобів (склад повного набору описаний вище), необхідне залучення додаткових сервісів, які ми називатимемо екрануючими. Екрануючі сервіси встановлюються на шляхах доступу до недостатньо захищених елементів; у принципі, один такий сервіс може екранувати (захищати) скільки завгодно велике число елементів.
З практичної точки зору найважливішими є наступні принципи архітектурної безпеки:
безперервність захисту у просторі та часі, неможливість минути захисні засоби;
проходження визнаним стандартам, використовування апробованих рішень;
ієрархічна організація ІС з невеликим числом єств на кожному рівні;
посилення самої слабкої ланки;
неможливість переходу в небезпечний стан;
мінімізація привілеїв;
розділення обов’язків;
эшелонированность оборони;
різноманітність захисних засобів;
простота і керованість інформаційної системи.
Пояснимо значення перерахованих принципів.
Якщо у зловмисника або незадоволеного користувача з’явиться можливість минути захисні засоби, він, зрозуміло, так і зробить. Визначені вище екрануючі сервіси повинні виключити подібну можливість.
Проходження визнаним стандартам і використовування апробованих рішень підвищує надійність ІС і зменшує вірогідність попадання в тупикову ситуацію, коли забезпечення безпеки зажадає непомірно великі витрати і принципові модифікації.
Ієрархічна організація ІС з невеликим числом єств на кожному рівні необхідна по технологічних міркуваннях. При порушенні даного принципу система стане некерованою і, отже, забезпечити її безпеку буде неможливо.
Надійність будь-якої оборони визначається самою слабкою ланкою. Зловмисник не боротиметься проти сили, він віддасть перевагу легкій перемозі над слабкістю. (Часто самою слабкою ланкою виявляється не комп’ютер або програма, а людина, і тоді проблема забезпечення інформаційної безпеки набуває нетехнічного характеру.)
Принцип неможливості переходу в небезпечний стан означає, що за будь-яких обставин, у тому числі нештатних, захисний засіб або повністю виконує свої функції, або повністю блокує доступ. Образно кажучи, якщо у фортеці механізм підйомного моста ламається, міст залишають піднятим, перешкоджаючи проходу ворога.
Стосовно програмно-технічного рівня принцип мінімізації привілеїв наказує виділяти користувачам і адміністраторам тільки ті права доступу, які необхідні їм для виконання службових обов’язків. Цей принцип дозволяє зменшити збиток від випадкових або умисних некоректних дій користувачів і адміністраторів.
Принцип розділення обов’язків припускає такий розподіл ролей і відповідальності, щоб одна людина не могла порушити критично важливий для організації процес або створити пролом в захисті за замовленням зловмисників. Зокрема, дотримання даного принципу особливо важливе, щоб запобігти зловмисним або некваліфікованим діям системного адміністратора.
Принцип эшелонированности оборони наказує не покладатися на один захисний рубіж, яким би надійним він не здавався. За засобами фізичного захисту повинні слідувати програмно-технічні засоби, за ідентифікацією і аутентифікацією - управління доступом і, як останній рубіж, - протоколювання і аудит. Ешелонована оборона здатна, принаймні, затримати зловмисника, а завдяки наявності такого рубежу, як протоколювання і аудит, його дії не залишаться непоміченими. Принцип різноманітності захисних засобів припускає створення різних по своєму характеру оборонних рубежів, щоб від потенційного зловмисника було потрібне оволодіння різноманітними і, по можливості, несумісними між собою навиками.
Дуже важливий принцип простоти і керованості інформаційної системи в цілому і захисних засобів особливо. Тільки для простого захисного засобу можна формально або неформально довести його коректність. Тільки в простій і керованій системі можна перевірити узгодженість конфігурації різних компонентів і здійснювати централізоване адміністрування. В зв’язку з цим важливо відзначити інтегруючу роль Web-сервісу, що приховує різноманітність обслуговуваних об’єктів і надаючого єдиний, наочний інтерфейс. Відповідно, якщо об’єкти деякого вигляду (наприклад, таблиці бази даних) доступні через Web, необхідно заблокувати прямий доступ до них, оскільки інакше система буде складною і погано керованою.
Для забезпечення високої доступності (безперервності функціонування) необхідно дотримувати наступні принципи архітектурної безпеки:
внесення в конфігурацію тієї або іншої форми надмірності (резервне устаткування, запасні канали зв’язку і т.п.);
наявність засобів виявлення нештатних ситуацій;
наявність засобів реконфигурирования для відновлення, ізоляції и/или заміни компонентів, що відмовили або піддалися атаці на доступність;
розосередженість мережного управління, відсутність єдиної точки відмови;
виділення підмереж і ізоляція груп користувачів один від одного. Дана міра, що є узагальненням розділення процесів на рівні операційної системи, обмежує зону поразки при можливих порушеннях інформаційної безпеки.
Ще один важливий архітектурний принцип - мінімізація об’єму захисних засобів, що виносяться на клієнтські системи. Причин тому дещо:
для доступу в корпоративну мережу можуть використовуватися споживацькі пристрої з обмеженою функціональністю;
конфігурацію клієнтських систем важко або неможливо контролювати.
До необхідного мінімуму слід віднести реалізацію сервісів безпеки на мережному і транспортному рівнях і підтримку механізмів аутентифікації, стійких до мережних загроз.