Google KataOS жобасының бастапқы кодын шығарды

Kata ОЖ

KataOS, ендірілген аппараттық қауіпсіздікке бағытталған операциялық жүйе.

Бұл туралы жаңалық жарияланды Google бастапқы кодын шығаратынын жариялады жобаға қатысты әзірлемелер Kata ОЖ, оның мақсаты құру ендірілген жабдыққа арналған қауіпсіз операциялық жүйе.

Жүйе RISC-V және ARM64 архитектурасына негізделген платформаларға қолдау көрсетеді. Әзірлеу кезінде аппараттық құралда seL4 және KataOS ортасының жұмысын модельдеу үшін Renode құрылымы пайдаланылады.

Анықтамалық іске асыру ретінде KataOS жүйесін OpenTitan платформасына негізделген қауіпсіз чиптермен біріктіретін Sparrow бағдарламалық-аппараттық кешені ұсынылады. Ұсынылған шешім hЯдроны біріктіруге болады Құрылған Root of Trust (RoT) аппараттық құрамдастары бар логикалық тексерілген операциялық жүйе OpenTitan платформасын және RISC-V архитектурасын пайдалану.

Болашақта KataOS кодынан басқа Sparrow барлық басқа компоненттерін, соның ішінде аппараттық компонентті ашу жоспарлануда.

Осы жаңа операциялық жүйенің негізі ретінде біз микроядро ретінде seL4 таңдадық, себебі ол қауіпсіздікті алдыңғы және орталық қояды; құпиялылығы, тұтастығы және қолжетімділігі кепілдендірілген қауіпсіз екендігі математикалық түрде дәлелденген. seL4 CAmkES құрылымы арқылы біз сондай-ақ статикалық анықталған және талдауға болатын жүйе құрамдастарын қамтамасыз ете аламыз. KataOS пайдаланушының құпиялылығын қорғайтын тексерілетін қауіпсіз платформаны қамтамасыз етеді, себебі қолданбалардың ядролық аппараттық қауіпсіздік қорғанысын және тексерілетін қауіпсіз жүйе құрамдастарын бұзуы қисынды түрде мүмкін емес.

Платформа чиптерді ескере отырып әзірленуде әсіресе құпиялылық және машиналық оқыту қолданбаларын іске қосу үшін жасалған белгілі бір қорғаныс деңгейін талап ететін және ақаулардың болмауына кепілдік беретін. Мұндай қолданбалардың мысалы ретінде адамдардың кескіндерін және дауыстық жазбаларды өңдейтін жүйелер келтірілген. KataOS жүйесінде сенімділікті тексеруді қолдану жүйенің бір бөлігінде ақау болған жағдайда, бұл ақаулық жүйенің қалған бөлігіне, атап айтқанда ядроға және маңызды бөліктерге таралмауын қамтамасыз етеді.

Сәулет seL4 ядро ​​ресурстарын басқару үшін жылжымалы бөліктерде жақсы жұмыс істейді пайдаланушы кеңістігінде және сол ресурстар үшін пайдаланушы ресурстары үшін бірдей қатынас басқару элементтерін қолданыңыз.

Микро ядро жоғары деңгейлі абстракцияларды қамтамасыз етпейді файлдарды, процестерді, желілік қосылымдарды және т.б. басқаруға арналған, бірақ физикалық мекенжай кеңістігіне, үзілістерге және процессор ресурстарына кіруді басқарудың ең аз механизмдерін ғана қамтамасыз етеді. Жоғары деңгейлі абстракциялар және аппараттық құралдармен әрекеттесу үшін драйверлер пайдаланушы деңгейіндегі тапсырмалар түрінде микроядроның жоғарғы жағында бөлек жүзеге асырылады. Мұндай тапсырмалардың микроядроға қолжетімді ресурстарға қол жеткізуі ережелерді анықтау арқылы ұйымдастырылады.

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

seL4 ортасындағы қолданбаларды жүктеуші, жүйелік қызметтер, қолданбаларды әзірлеу жүйесі, жүйелік қоңырауларға қол жеткізу үшін API, процесс менеджері, динамикалық жадты бөлу механизмі және т.б. олар Rust тілінде жазылған. Тексерілген құрастыру үшін seL4 жобасы әзірлеген CAmkES құралдар жинағы пайдаланылады. CAmkES үшін құрамдастарды Rust ішінде де жасауға болады.

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

Ақырында, қызығушылық танытқандар үшін KataOS жүйесінің құрамдас бөліктері Rust тілінде жазылғанын және seL4 микроядросында жұмыс істейтінін білуіңіз керек, ол үшін кодтың техникалық сипаттамаларға толық сәйкес келетінін көрсететін RISC-V жүйелеріндегі сенімділіктің математикалық дәлелі берілген. ресми тілде көрсетілген.

Жоба коды Apache 2.0 лицензиясы бойынша ашық, ол туралы толығырақ ақпаратты мына жерден көре аласыз келесі сілтеме.


Мақаланың мазмұны біздің ұстанымдарымызды ұстанады редакторлық этика. Қате туралы хабарлау үшін нұқыңыз Мұнда.

Бірінші болып пікір айтыңыз

Пікіріңізді қалдырыңыз

Сіздің электрондық пошта мекен-жайы емес жарияланады. Міндетті өрістер таңбаланған *

*

*

  1. Деректерге жауапты: Мигель Анхель Гатан
  2. Деректердің мақсаты: СПАМ-ны басқару, түсініктемелерді басқару.
  3. Заңдылық: Сіздің келісіміңіз
  4. Деректер туралы ақпарат: заңды міндеттемелерді қоспағанда, деректер үшінші тұлғаларға жіберілмейді.
  5. Деректерді сақтау: Occentus Networks (ЕО) орналастырған мәліметтер базасы
  6. Құқықтар: Сіз кез-келген уақытта ақпаратты шектей, қалпына келтіре және жоя аласыз.