идом аналізу, але і найбільш трудомістким. З цієї причини методика поєднує в собі три перерахованих вище аналізу. Вироблені критерії дозволяють розумно поєднувати різні види аналізу, істотно скорочуючи час дослідження, не знижуючи його якості. br/>
МЕТОДИ ЗАБЕЗПЕЧЕННЯ НАДІЙНОСТІ ПРОГРАМ ДЛЯ КОНТРОЛЮ ЇХ ТЕХНОЛОГІЧНОЇ БЕЗПЕКИ
При дослідженні методів і засобів оцінки рівня технологічної безпеки програмних комплексів враховуються фактори, що мають, як правило, чисто випадковий характер. Отже, показники, пов'язані з оцінюванням безпеки ПЗ найкраще виражати ймовірнісної мірою, а для їх обчислення можна використовувати імовірнісні моделі надійності ПЗ, які при здійсненні заміни умови правильності функціонування програм на умова їх безпеки можна використовувати для цих цілей. br/>
Вихідні дані, визначення та умови
У даному розділі будемо вважати, що безпека програмного забезпечення - це ймовірність того, що навмисні програмні дефекти, що викликають критичну поведінку керованої КС, будуть виявлені при визначених умовами зовнішнього середовища і протягом заданого періоду спостереження при випробуваннях.
Під певними умовами зовнішнього середовища слід розуміти опис вхідних даних і стан обчислювального процесу в момент виконання програми при випробуваннях. Під заданим періодом функціонування розуміється час, необхідний для виконання поставленого завдання. Виділення певного інтервалу часу доцільно у випадку систем реального часу, в яких невизначеними є кількість прогонів будь-який з діючих програм, стан баз даних і моменти виконання тієї чи іншої програми. В умовах, коли стан програми достовірно відомо в якості періоду спостережень слід вибрати робочий цикл або прогін. У будь-якому випадку перед кожним повторним виконанням програми необхідно або відновлювати стан пам'яті, або здійснювати серію послідовних прогонів, при якому послідовним чином змінюється стан бази даних. p align="justify"> Інтуїтивне визначення безпеки ПЗ може бути уточнено у статистичному сенсі на основі наступних простих міркувань:
машинна програма p може бути визначена як опис деякої обчислюваної функції F на множині E всіх значень наборів вхідних даних, таких що кожен елемент Ei множини E являє собою набір значень даних, необхідний для виконання прогону програми: E = (Ei: i = 1,2, ..., N);
виконання програми p призводить до отримання для кожного Ei певного значення функції F (Ei);
безліч E визначає всі можливі обчислення в програмі p, тобто кожному набору вхідних даних Ei відповідає прогін програми p, і навпаки, кожному прогону відповідає деякий набір вхідних даних Ei;
наявність дефектів у програмі p призводить до того, що їй насправді відповідає функція F ', відмінна від заданої функції F;
для деякого Ei відхилення...