Кіріспе

Компьютер жүйесінің сенімді есептеу базасы (ТКБ) – оның қауіпсіздігі үшін маңызды барлық аппараттық, микробағдарламалық және/немесе бағдарламалық компоненттердің жиынтығы. ТКБ ішінде туындаған қателер немесе осалдықтар бүкіл жүйенің қауіпсіздік қасиеттерін қауіпке тікелей ұшыратуы мүмкін. Керісінше, компьютер жүйесінің ТКБ-дан тыс бөліктері жүйенің қауіпсіздік саясатына сәйкес берілген құқықтардан артық құқықтарды бұзуға қабілетсіз болуы керек. Жүйенің сенімді есептеу базасын мұқият жобалау және іске асыру оның жалпы қауіпсіздігі үшін маңызды. Қазіргі заманғы операциялық жүйелер ТКБ көлемін азайтуға ұмтылады, соның арқасында оның код базасын толыққанды тексеру (қолмен немесе компьютерлік көмекпен бағдарламалық аудиті немесе бағдарламаны растау арқылы) мүмкін болады.

Қауіпсіздік саясатына байланысты

Жоғарыда келтірілген "Оранж Бук" анықтамасының нәтижесінде, ТКБ-ның шекарасы қауіпсіздік саясатының толыққанды әзірленуіне тікелей байланысты. Мысалы, жоғарыдағы желілік сервер мысалында, көп пайдаланушылы қолданбаны қамтамасыз ететін веб-сервер операциялық жүйенің ТКБ-ның бір бөлігі болмаса да, пайдаланушылар бір-бірінің жеке басын және құқықтарын қолданбау үшін кіруді бақылау жауапкершілігін өз мойнына алады. Осы тұрғыдан алғанда, ол UNIX серверін, пайдаланушының браузерлерін және веб-қолданбаны қамтитын үлкен компьютерлік жүйенің ТКБ-ның бөлігі болып табылады; яғни, веб-серверге, мысалы, буферге артық жүктеме беру арқылы ену операциялық жүйенің өзіне қатысты бұзушылық деп есептелмесе де, бұл веб-қолданбаға зиян келтіретін шабуыл болып табылады. ТКБ шекарасының осы түбірлікті салыстырмалылығын "Ортақ критерийлер" қауіпсіздік процесіндегі "бағалау нысаны" ("БН") түсінігі көрсетеді: "Ортақ критерийлер" қауіпсіздік бағалауының барысында қабылдауға тиіс алғашқы шешімдердің бірі – тексеруге жататын жүйе компоненттерінің тізіміне сәйкес аудит шекарасын анықтау болып табылады.

Қауіпсіздіктің алғышарты

Өз жобалауының құрамында сенімді есептеу базасы жоқ жүйелер өздігінен қауіпсіздік қамтамасыз етпейді: олар тек сыртқы шаралармен қамтамасыз етілген жағдайда ғана қауіпсіз болады (мысалы, желілік қосылымы жоқ құлыпталған бөлмеде орналасқан компьютер, оның іске қосылатын бағдарламалық жасақтамасына қарамастан, саясатқа байланысты қауіпсіз деп есептелуі мүмкін). Бұл себебі, Дэвид Дж. Фарбер және авторлар тобы айтқандай, компьютерлік жүйеде төменгі деңгейлердің тұтастығы жоғары деңгейлер үшін аксиома ретінде қарастырылады. Компьютерлік қауіпсіздік тұрғысынан, компьютерлік жүйенің қауіпсіздік қасиеттерін бағалау үшін, оның не істей алатыны және, одан да маңыздысы, не істей алмайтыны туралы дұрыс болжамдар жасау қажет; алайда, керісінше сенуге ешқандай себеп болмаса, компьютер жалпы фон Нейман машинасының барлық мүмкіндіктерін орындай алады. Бұл, әрине, ең қарапайым қауіпсіздік саясатына қайшы келетін операцияларды қамтиды, мысалы, құпиялы болуы тиіс электрондық хат немесе парольді ашу; алайда, жүйенің архитектурасындағы ерекше шаралар болмаса, компьютердің осы жағымсыз тапсырмаларды орындау үшін бағдарламалануы мүмкін екенін жоққа шығаруға болмайды. Осы ерекше шаралар, белгілі бір әрекеттердің орындалуына кедергі келтіруге бағытталған, олар сенімді есептеу базасын құрайды. Осы себепті, "Қызыл кітап" (2007 жылға дейін қауіпсіз операциялық жүйелерді жобалау бойынша маңызды нұсқаулық) қауіпсіздік деңгейлерін анықтауда негізінен ТЭБ құрылымы мен қауіпсіздік ерекшеліктеріне баса назар аударады.

ТКБ бағдарламалық жасақтамалары өздерін қорғау қажет

Жоғарыда аталған "Қызыл кітапта" көрсетілгендей, сенімді есептеу базасының бағдарламалық бөліктері кез келген нәтиже беру үшін өздерін бұрмалаудан қорғауы керек. Бұл, дерлік барлық заманауи компьютерлерде қолданылатын фон Нейман архитектурасының салдарынан туындайды: машиналық код қарапайым деректердің бір түрі ретінде өңделе алатындықтан, оны кез келген бағдарлама оқи және қайта жаза алады. Бұл арнайы жад басқару шараларымен болдырмауға болады, олар кейіннен ТЭБ-нің бір бөлігі ретінде қарастырылады. Атап айтқанда, сенімді есептеу базасы өз бағдарламалық жасақтамасының жазылуына жол бермеуі керек. Көптеген заманауи процессорларда (CPU) ТЭБ-ге арналған жадты қорғау операциялық жүйемен бағдарламаланатын жад басқару бірлігі (MMU) деп аталатын арнайы аппараттық құралды қосу арқылы жүзеге асырылады, ол жүріп жатқан бағдарламаның жүйе жадының белгілі бір бөліміне қол жеткізуіне рұқсат береді немесе тыйым салады. Әрине, операциялық жүйе басқа бағдарламаларға да осындай бағдарламалауға рұқсат бермеуі мүмкін. Бұл техника қадағалаушы режимі деп аталады; одан шикі тәсілдермен (мысалы, ТЭБ-ді ROM-да сақтау немесе Гарвард архитектурасын пайдалану) салыстырғанда, қауіпсіздікке маңызды бағдарламалық жасақтаманы өрісте жаңартуға мүмкіндік беретін артықшылығы бар, бірақ сенімді есептеу базасын қауіпсіз жаңарту өзінен-өзі жүктеу мәселелерін тудырады.

Сенім артылғандар мен сенімділер

Жоғарыда айтылғандай, компьютерлік жүйенің қауіпсіздігін анықтауда кез келген прогресс үшін сенімді есептеу базасына сену қажет. Басқаша айтқанда, сенімді есептеу базасы ең алдымен, оған сенуге тура келетін болғандықтан "сенімді" деп есептеледі, бірақ ол міндетті түрде сенімді болуы керек емес. Нақты әлемдегі операциялық жүйелерде қауіпсіздік үшін маңызды қателер үнемі табылады, бұл мұндай сенімнің іс жүзіндегі шектерін көрсетеді. Соған альтернатива – формалды бағдарламалық тексеру, ол математикалық дәлелдеу әдістерін қолданып, қателердің жоқтығын көрсетеді. NICTA және оның еншілес компаниясы Open Kernel Labs зерттеушілері L4 микроядро отбасының мүшесі сеL4-тің формалды тексеруін жүргізіп, ядроның C тіліндегі іске асылуының функционалдық дұрыстығын дәлелдеді. Математикалық дәлелдеуде қате жоқ деп есептегенде, бұл сеL4-ті сенім мен сенімділік арасындағы алшақтықты жойған алғашқы операциялық жүйе ядросы етеді.

ТКБ көлемі

Жоғарыда айтылғандай, ресми тексеру немесе қолмен қарау сияқты қымбат әдістерді қолдану қажеттілігіне байланысты, ТКБ-ның мөлшері ТКБ сенімділігін қамтамасыз ету процесінің экономикасына және нәтижедегі өнімнің қауіпсіздігіне (тексеру немесе қарау кезінде табылмайтын қателер санының математикалық күтілуі тұрғысынан) тікелей әсер етеді. Сондықтан, шығындарды және қауіпсіздік тәуекелдерін азайту үшін ТКБ-ны мүмкіндігінше кіші ұстау керек. Бұл монолитті ядроларға қарағанда микроядроларды басып озу туралы пікірталасқа негізгі аргумент болып табылады.

Мысалдар

AIX орнату кезіндегі пакеттерді басқару жүйесінде сенімді есептеу базасын қосымша компонент ретінде жүзеге асырады.