Кіріспе

Бағдарламалық инженерияда бағдарламалық жүйе қауіпсіздігі операциялық ортада бағдарламалық жүйелерді жобалау, әзірлеу, пайдалану және күтіп-жөндеу кезінде, сондай-ақ оларды қауіпсіздікке маңызды аппараттық жүйелермен интеграциялау арқылы жүйе қауіпсіздігін жақсартуға бағытталған.

Шолу

Бағдарламалық жүйенің қауіпсіздігі – жүйелік қауіпсіздік пен жүйелік инженерияның бір бөлігі және функционалдық қауіпсіздіктің бағдарламалық қамтамасыз ету аспектілерімен толық сәйкес келеді. Бағдарламалық қамтамасыз ету жалпы қауіпсіздік және бағдарламалық қамтамасыз етуді дамыту бағдарламасының ажырамас бөлігі ретінде, жалпы күш-жігерден тәуелсіз жұмыс істеуіне жол берілмейді. Қарапайым және күрделі интеграцияланған жүйелерде де қауіпсіздікке маңызды подсистемалар мен функцияларды бақылау және/немесе басқару үшін компьютерлер мен бағдарламалық қамтамасыз етуді қолдану қарқынды өсуде. Бағдарламалық қамтамасыз етудің сипаттамасындағы қате, жобалаудағы кемшілік немесе қауіпсіздікке қатысты жалпы талаптардың болмауы жүйелік сәтсіздікке немесе адамның қате шешіміне әкелуі мүмкін. Қажеттіліктерді анықтау және жүйелік жобалау процесінің басында, маңызды қолданбаларда қолданылатын бағдарламалық қамтамасыз ету үшін қауіпсіздіктің қанағаттанарлық деңгейін қамтамасыз ету үшін бағдарламалық жүйе қауіпсіздігі инженерлігіне басымдық берілуі тиіс. Қауіпсіздікке байланысты бағдарламалық қамтамасыз ету жүйе дамуының және пайдаланудың барлық кезеңінде тұрақты басқаруға және инженерлік талдауға мұқтаж. Қауіпсіздікке маңызды функционалдығы бар бағдарламалық қамтамасыз ету объективті талдау арқылы мұқият тексерілуі керек. Функционалдық қауіптерді талдау (ФҚТ) жүйелердің қауіпсіздік үшін маңызды функцияларын (ҚМФ) анықтау үшін жүйелік инженериямен бірге немесе оның құрамында ертерек жүргізіледі. Бағдарламалық жүйенің қауіпсіздігі бағдарламалық қамтамасыз ету мен жүйелік функционалдықтағы маңызды жобалау аспектілерімен және қауіпсіздік атрибуттарымен тікелей байланысты, ал бағдарламалық қамтамасыз ету сапасының атрибуттары өзгеше және стандартты тексеру мен даму талаптарын қажет етеді. Дамуды қамтамасыз ету деңгейлері (ДҚД) және оған сәйкес қатаңдық деңгейі (ҚД) – бағдарламалық қамтамасыз ету сапасы мен бағдарламалық қамтамасыз етуді жобалаудың сенімділігі үшін қолайлы бағдарламалық қамтамасыз ету процесін орындаудың алғышарты болып табылады. DO 178C сияқты ҚД тұжырымдамалары мен стандарттары бағдарламалық қамтамасыз ету қауіпсіздігін алмастырмайды. IEEE STD 1228 және MIL STD 882E бойынша бағдарламалық қамтамасыз ету қауіпсіздігі нақты қауіпсіздік талаптарының орындалуын қамтамасыз етуге және қауіпсіздік талаптарын талдау және сынау тұрғысынан функционалдық тәсілдерді қолдану арқылы тексеруге бағытталған. Бағдарламалық қамтамасыз ету қауіпсіздігіне қатысты қауіптерді талдау, бағдарламалық қамтамасыз ету маңызды функцияларды басқаратын күрделі жүйелерде, әдетте, келесі кезеңдерде жүргізіледі және жүйелік қауіпсіздік немесе қауіпсіздік инженериясы процесінің бөлігі ретінде кезең-кезеңмен орындалады: бағдарламалық қамтамасыз ету қауіпсіздігіне қойылатын талаптарды талдау; бағдарламалық қамтамасыз ету қауіпсіздігін жобалау талдаулары (жоғары деңгей, егжей-тегжейлі жобалау және код деңгейі); бағдарламалық қамтамасыз ету қауіпсіздігін сынау талдау және бағдарламалық қамтамасыз ету қауіпсіздігін өзгерту талдау. Осы "функционалдық" бағдарламалық қамтамасыз ету қауіпсіздігін талдау аяқталғаннан кейін бағдарламалық қамтамасыз ету инженерлері тобы қауіпсіздікке назар аударуды және бағдарламалық қамтамасыз ету қауіпсіздігі атрибуттарын жобалау кезінде дұрыс функционалдылықты қамтамасыз ету және ақауларды, сәтсіздіктерді, қателерді анықтау үшін қандай функционалдық тізбектерге, функционалдық жолдарға, домендерге және шекараларға назар аударуды білетін болады, сондай-ақ қауіптерді бақылау үшін көптеген жеңілдету стратегияларын іске асыру үшін. Бағдарламалық қамтамасыз ету қауіпсіздігі және әртүрлі бағдарламалық қамтамасыз етуді қорғау технологиялары әртүрлі қауіп-қатерлерді азайту үшін жобалауда бағдарламалық қамтамасыз ету қауіпсіздігі атрибуттарына ұқсас. Жүйелік деңгейде дұрыс және болжамды мінез-құлықты тексеру арқылы детерминистік бағдарламалық қамтамасыз етуді жобалауда іздеуге болады.