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