Компьютерлік жүйенің қауіпсіздігіне жауапты жабдық, бағдарламалық жасақтама элементтері. TCB негізгі қауіпсіздік қасиеттерін қорғайды, өлшемдерін азайту маңызды.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Компьютер жүйесінің сенімді есептеу базасы (ТКБ) – оның қауіпсіздігі үшін маңызды барлық аппараттық, микробағдарламалық және/немесе бағдарламалық компоненттердің жиынтығы. ТКБ ішінде туындаған қателер немесе осалдықтар бүкіл жүйенің қауіпсіздік қасиеттерін қауіпке тікелей ұшыратуы мүмкін. Керісінше, компьютер жүйесінің ТКБ-дан тыс бөліктері жүйенің қауіпсіздік саясатына сәйкес берілген құқықтардан артық құқықтарды бұзуға қабілетсіз болуы керек. Жүйенің сенімді есептеу базасын мұқият жобалау және іске асыру оның жалпы қауіпсіздігі үшін маңызды. Қазіргі заманғы операциялық жүйелер ТКБ көлемін азайтуға ұмтылады, соның арқасында оның код базасын толыққанды тексеру (қолмен немесе компьютерлік көмекпен бағдарламалық аудиті немесе бағдарламаны растау арқылы) мүмкін болады.
Set of all computer components critical to its security
The trusted computing base (TCB) of a computer system is the set of all hardware, firmware, and/or software components that are critical to its security, in the sense that bugs or vulnerabilities occurring inside the TCB might jeopardize the security properties of the entire system. By contrast, parts of a computer system that lie outside the TCB must not be able to misbehave in a way that would leak any more privileges than are granted to them in accordance to the system's security policy. The careful design and implementation of a system's trusted computing base is paramount to its overall security. Modern operating systems strive to reduce the size of the TCB so that an exhaustive examination of its code base (by means of manual or computer assisted software audit or program verification) becomes feasible.
Қауіпсіздік саясатына байланысты
Жоғарыда келтірілген "Оранж Бук" анықтамасының нәтижесінде, ТКБ-ның шекарасы қауіпсіздік саясатының толыққанды әзірленуіне тікелей байланысты. Мысалы, жоғарыдағы желілік сервер мысалында, көп пайдаланушылы қолданбаны қамтамасыз ететін веб-сервер операциялық жүйенің ТКБ-ның бір бөлігі болмаса да, пайдаланушылар бір-бірінің жеке басын және құқықтарын қолданбау үшін кіруді бақылау жауапкершілігін өз мойнына алады. Осы тұрғыдан алғанда, ол UNIX серверін, пайдаланушының браузерлерін және веб-қолданбаны қамтитын үлкен компьютерлік жүйенің ТКБ-ның бөлігі болып табылады; яғни, веб-серверге, мысалы, буферге артық жүктеме беру арқылы ену операциялық жүйенің өзіне қатысты бұзушылық деп есептелмесе де, бұл веб-қолданбаға зиян келтіретін шабуыл болып табылады. ТКБ шекарасының осы түбірлікті салыстырмалылығын "Ортақ критерийлер" қауіпсіздік процесіндегі "бағалау нысаны" ("БН") түсінігі көрсетеді: "Ортақ критерийлер" қауіпсіздік бағалауының барысында қабылдауға тиіс алғашқы шешімдердің бірі – тексеруге жататын жүйе компоненттерінің тізіміне сәйкес аудит шекарасын анықтау болып табылады.
As a consequence of the above Orange Book definition, the boundaries of the TCB depend closely upon the specifics of how the security policy is fleshed out. In the network server example above, even though, say, a Web server that serves a multi user application is not part of the operating system's TCB, it has the responsibility of performing access control so that the users cannot usurp the identity and privileges of each other. In this sense, it definitely is part of the TCB of the larger computer system that comprises the UNIX server, the user's browsers and the Web application; in other words, breaching into the Web server through e. g. a buffer overflow may not be regarded as a compromise of the operating system proper, but it certainly constitutes a damaging exploit on the Web application. This fundamental relativity of the boundary of the TCB is exemplified by the concept of the 'target of evaluation' ('TOE') in the Common Criteria security process: in the course of a Common Criteria security evaluation, one of the first decisions that must be made is the boundary of the audit in terms of the list of system components that will come under scrutiny.
Қауіпсіздіктің алғышарты
Өз жобалауының құрамында сенімді есептеу базасы жоқ жүйелер өздігінен қауіпсіздік қамтамасыз етпейді: олар тек сыртқы шаралармен қамтамасыз етілген жағдайда ғана қауіпсіз болады (мысалы, желілік қосылымы жоқ құлыпталған бөлмеде орналасқан компьютер, оның іске қосылатын бағдарламалық жасақтамасына қарамастан, саясатқа байланысты қауіпсіз деп есептелуі мүмкін). Бұл себебі, Дэвид Дж. Фарбер және авторлар тобы айтқандай, компьютерлік жүйеде төменгі деңгейлердің тұтастығы жоғары деңгейлер үшін аксиома ретінде қарастырылады. Компьютерлік қауіпсіздік тұрғысынан, компьютерлік жүйенің қауіпсіздік қасиеттерін бағалау үшін, оның не істей алатыны және, одан да маңыздысы, не істей алмайтыны туралы дұрыс болжамдар жасау қажет; алайда, керісінше сенуге ешқандай себеп болмаса, компьютер жалпы фон Нейман машинасының барлық мүмкіндіктерін орындай алады. Бұл, әрине, ең қарапайым қауіпсіздік саясатына қайшы келетін операцияларды қамтиды, мысалы, құпиялы болуы тиіс электрондық хат немесе парольді ашу; алайда, жүйенің архитектурасындағы ерекше шаралар болмаса, компьютердің осы жағымсыз тапсырмаларды орындау үшін бағдарламалануы мүмкін екенін жоққа шығаруға болмайды. Осы ерекше шаралар, белгілі бір әрекеттердің орындалуына кедергі келтіруге бағытталған, олар сенімді есептеу базасын құрайды. Осы себепті, "Қызыл кітап" (2007 жылға дейін қауіпсіз операциялық жүйелерді жобалау бойынша маңызды нұсқаулық) қауіпсіздік деңгейлерін анықтауда негізінен ТЭБ құрылымы мен қауіпсіздік ерекшеліктеріне баса назар аударады.
Systems that don't have a trusted computing base as part of their design do not provide security of their own: they are only secure insofar as security is provided to them by external means (e. g. a computer sitting in a locked room without a network connection may be considered secure depending on the policy, regardless of the software it runs). This is because, as David J. Farber et al. put it, [i]n a computer system, the integrity of lower layers is typically treated as axiomatic by higher layers. As far as computer security is concerned, reasoning about the security properties of a computer system requires being able to make sound assumptions about what it can, and more importantly, cannot do; however, barring any reason to believe otherwise, a computer is able to do everything that a general Von Neumann machine can. This obviously includes operations that would be deemed contrary to all but the simplest security policies, such as divulging an email or password that should be kept secret; however, barring special provisions in the architecture of the system, there is no denying that the computer could be programmed to perform these undesirable tasks. These special provisions that aim at preventing certain kinds of actions from being executed, in essence, constitute the trusted computing base. For this reason, the Orange Book (still a reference on the design of secure operating systems as of 2007) characterizes the various security assurance levels that it defines mainly in terms of the structure and security features of the TCB.
ТКБ бағдарламалық жасақтамалары өздерін қорғау қажет
Жоғарыда аталған "Қызыл кітапта" көрсетілгендей, сенімді есептеу базасының бағдарламалық бөліктері кез келген нәтиже беру үшін өздерін бұрмалаудан қорғауы керек. Бұл, дерлік барлық заманауи компьютерлерде қолданылатын фон Нейман архитектурасының салдарынан туындайды: машиналық код қарапайым деректердің бір түрі ретінде өңделе алатындықтан, оны кез келген бағдарлама оқи және қайта жаза алады. Бұл арнайы жад басқару шараларымен болдырмауға болады, олар кейіннен ТЭБ-нің бір бөлігі ретінде қарастырылады. Атап айтқанда, сенімді есептеу базасы өз бағдарламалық жасақтамасының жазылуына жол бермеуі керек. Көптеген заманауи процессорларда (CPU) ТЭБ-ге арналған жадты қорғау операциялық жүйемен бағдарламаланатын жад басқару бірлігі (MMU) деп аталатын арнайы аппараттық құралды қосу арқылы жүзеге асырылады, ол жүріп жатқан бағдарламаның жүйе жадының белгілі бір бөліміне қол жеткізуіне рұқсат береді немесе тыйым салады. Әрине, операциялық жүйе басқа бағдарламаларға да осындай бағдарламалауға рұқсат бермеуі мүмкін. Бұл техника қадағалаушы режимі деп аталады; одан шикі тәсілдермен (мысалы, ТЭБ-ді ROM-да сақтау немесе Гарвард архитектурасын пайдалану) салыстырғанда, қауіпсіздікке маңызды бағдарламалық жасақтаманы өрісте жаңартуға мүмкіндік беретін артықшылығы бар, бірақ сенімді есептеу базасын қауіпсіз жаңарту өзінен-өзі жүктеу мәселелерін тудырады.
As outlined by the aforementioned Orange Book, software portions of the trusted computing base need to protect themselves against tampering to be of any effect. This is due to the von Neumann architecture implemented by virtually all modern computers: since machine code can be processed as just another kind of data, it can be read and overwritten by any program. This can be prevented by special memory management provisions that subsequently have to be treated as part of the TCB. Specifically, the trusted computing base must at least prevent its own software from being written to. In many modern CPUs, the protection of the memory that hosts the TCB is achieved by adding in a specialized piece of hardware called the memory management unit (MMU), which is programmable by the operating system to allow and deny a running program's access to specific ranges of the system memory. Of course, the operating system is also able to disallow such programming to the other programs. This technique is called supervisor mode; compared to more crude approaches (such as storing the TCB in ROM, or equivalently, using the Harvard architecture), it has the advantage of allowing security critical software to be upgraded in the field, although allowing secure upgrades of the trusted computing base poses bootstrap problems of its own.
Сенім артылғандар мен сенімділер
Жоғарыда айтылғандай, компьютерлік жүйенің қауіпсіздігін анықтауда кез келген прогресс үшін сенімді есептеу базасына сену қажет. Басқаша айтқанда, сенімді есептеу базасы ең алдымен, оған сенуге тура келетін болғандықтан "сенімді" деп есептеледі, бірақ ол міндетті түрде сенімді болуы керек емес. Нақты әлемдегі операциялық жүйелерде қауіпсіздік үшін маңызды қателер үнемі табылады, бұл мұндай сенімнің іс жүзіндегі шектерін көрсетеді. Соған альтернатива – формалды бағдарламалық тексеру, ол математикалық дәлелдеу әдістерін қолданып, қателердің жоқтығын көрсетеді. NICTA және оның еншілес компаниясы Open Kernel Labs зерттеушілері L4 микроядро отбасының мүшесі сеL4-тің формалды тексеруін жүргізіп, ядроның C тіліндегі іске асылуының функционалдық дұрыстығын дәлелдеді. Математикалық дәлелдеуде қате жоқ деп есептегенде, бұл сеL4-ті сенім мен сенімділік арасындағы алшақтықты жойған алғашқы операциялық жүйе ядросы етеді.
As stated above, trust in the trusted computing base is required to make any progress in ascertaining the security of the computer system. In other words, the trusted computing base is “trusted” first and foremost in the sense that it has to be trusted, and not necessarily that it is trustworthy. Real world operating systems routinely have security critical bugs discovered in them, which attests to the practical limits of such trust. The alternative is formal software verification, which uses mathematical proof techniques to show the absence of bugs. Researchers at NICTA and its spinout Open Kernel Labs have recently performed such a formal verification of seL4, a member of the L4 microkernel family, proving functional correctness of the C implementation of the kernel. This makes seL4 the first operating system kernel which closes the gap between trust and trustworthiness, assuming the mathematical proof is free from error.
ТКБ көлемі
Жоғарыда айтылғандай, ресми тексеру немесе қолмен қарау сияқты қымбат әдістерді қолдану қажеттілігіне байланысты, ТКБ-ның мөлшері ТКБ сенімділігін қамтамасыз ету процесінің экономикасына және нәтижедегі өнімнің қауіпсіздігіне (тексеру немесе қарау кезінде табылмайтын қателер санының математикалық күтілуі тұрғысынан) тікелей әсер етеді. Сондықтан, шығындарды және қауіпсіздік тәуекелдерін азайту үшін ТКБ-ны мүмкіндігінше кіші ұстау керек. Бұл монолитті ядроларға қарағанда микроядроларды басып озу туралы пікірталасқа негізгі аргумент болып табылады.
Due to the aforementioned need to apply costly techniques such as formal verification or manual review, the size of the TCB has immediate consequences on the economics of the TCB assurance process, and the trustworthiness of the resulting product (in terms of the mathematical expectation of the number of bugs not found during the verification or review). In order to reduce costs and security risks, the TCB should therefore be kept as small as possible. This is a key argument in the debate preferring microkernels to monolithic kernels.
Мысалдар
AIX орнату кезіндегі пакеттерді басқару жүйесінде сенімді есептеу базасын қосымша компонент ретінде жүзеге асырады.
AIX materializes the trusted computing base as an optional component in its install time package management system.