![](https://habrastorage.org/webt/ld/hf/ck/ldhfckwcbrun9nleqah-dwnvr28.png)
Поскольку люди всё чаще оказываются в окружении интеллектуальных устройств, которые собирают и обрабатывают информацию, важно, чтобы была защита конфиденциальности этой самой информации. Если нельзя доказать, что окружающие устройства обеспечивают безопасность данных, то собираемые данные, позволяющие установить личность, например изображения людей и записи их голосов, могут быть украдены злоумышленниками.
Системная безопасность часто рассматривается как функция, которую можно добавить к существующим системам либо с помощью программного обеспечения, либо с помощью дополнительного чипа безопасности. Но в мире, где всё больше и больше личных данных утекают в Сеть, этого недостаточно, поэтому в Google разработали безопасную операционную систему KataOS с открытым исходным кодом, оптимизированную для встроенных устройств, на которых работают приложения машинного обучения.
ОС предназначена не для настольных компьютеров или смартфонов, а для Интернета вещей. Цель состоит в том, чтобы создать надёжно защищённые системы для встроенного оборудования или периферийных устройств, таких как подключённые к сети камеры, используемые для захвата изображений, которые обрабатываются на устройстве или в облаке для машинного обучения.
KataOS — не первый проект Google в области ОС. Fuchsia, предыдущая экспериментальная ОС, разработанная Google, в конечном итоге превратилась в часть реального продукта с интеллектуальным дисплеем Nest Hub, так что возможно и KataOS принесёт больше плодов и приведёт к большему внедрению, чем другие неудачные проекты, такие как Stadia.
KataOS была анонсирована вместе с Project Sparrow в блоге Google Open Source. KataOS — это дизайн операционной системы, а Sparrow — эталонная реализация. Планируется, что KataOS станет «доказуемо безопасной платформой, оптимизированной для встроенных устройств, на которых работают приложения машинного обучения». Google работает с Antmicro, которая создала крейт seL4-sys. В настоящее время ОС разрабатывается на наборе инструкций Arm64, но планируется запустить её на openTitan, использующем RISC-V.
![](https://habrastorage.org/webt/0u/nv/x3/0unvx3ejgyp3edwqsf9o8iqtyea.png)
Эталонные реализации KataOS и Project Sparrow предназначены для усиления встроенных приложений, где безопасность обычно рассматривается как функция программного обеспечения, которую можно добавить к существующим системам, а не как основа совершенно новой системы. Новая ОС должна предоставить простое решение для «создания надёжно защищённых систем для встроенного оборудования» с устройствами, математически доказанными, что они защищают данные, идентифицирующие личность, от несанкционированного и потенциально злонамеренного доступа.
В качестве основы для новой операционной системы выбрано микроядро seL4, поскольку оно ставит безопасность на первое место; оно математически доказано безопасным, с гарантированной конфиденциальностью, целостностью и доступностью. Благодаря платформе CAmkES seL4 также может предоставить статически определённые и анализируемые системные компоненты. KataOS почти полностью реализована на Rust, что обеспечивает надёжную отправную точку для безопасности программного обеспечения, поскольку устраняет целые классы ошибок, таких как ошибки переполнения буфера.
Security Enhanced L4, или сокращенно seL4, является членом большого семейства L4, которое было специально разработано Йохеном Лидтке в ответ на Mach с целью повышения производительности микроядра. seL4 представляет собой безопасное микроядро с открытым исходным кодом, доступное для различных платформ RISC-V и ARM. sel4 является идеальным выбором для разработки встроенных приложений, ориентированных на безопасность. Оно реализовано в основном на C и использует CAmkES — компонентную архитектуру для встраиваемых систем на основе микроядра, которая использует Haskell и Python — в качестве уровня абстракции для объединения слоев C и Rust.
Язык программирования Rust становится всё более и более популярным, поскольку он предлагает примерно тот же уровень производительности, что и программирование на C, но помогает программистам писать более безопасный код, например, благодаря встроенной защите от переполнения буфера. За прошедшие годы он приобрел большую популярность, и Linux 6.1 станет первым выпуском ядра, включающим код Rust.
Data61, цифровое подразделение австралийского исследовательского агентства CSIRO, объявило sel4 в 2020 году математически доказанным правильным ядром без ошибок.
![](https://habrastorage.org/webt/np/-m/n6/np-mn6zyavvcypnfkzimhaj1qiw.png)
Запуск приложения Rust в микроядре sel4 с использованием крейта seL4-sys
Хотя это проект на ранней стадии, репозиторий GitHub содержит надстройки sel4-sys Crate на основе Rust, которые предоставляют интерфейсы прикладного программирования системных вызовов seL4. У него также есть корневой сервер, написанный на Rust — для динамического общесистемного управления памятью — и настройки seL4 для восстановления памяти, используемой корневым сервером.
Цель состоит в том, чтобы поддерживать чипы с архитектурой RISC-V, к которым уже давно проявляют интерес НАСА, Intel и другие.
Внутри KataOS также можно динамически загружать и запускать сторонние приложения, созданные вне среды CAmkES. На данный момент код на Github не включает необходимые компоненты для запуска этих приложений, но в ближайшем будущем они будут опубликованы.
Хотя микроядра не оказали большого влияния на мейнстрим, они существуют в большом количестве. Minix 3, разработанный Эндрю Таненбаумом, представляет собой успешное микроядро FOSS, используемое в миллионах процессоров Intel. QNX, основа Blackberry 10, является самым продаваемым коммерческим микроядром. То, которое вы, скорее всего, видели или использовали, — это, несомненно, macOS от Apple (ранее Mac OS X, а до этого NeXTstep), которое основано на ядре XNU с открытым исходным кодом. Так как последнее основано на Mach Университета Карнеги-Меллона, одном из микроядер первого поколения, то XNU основанный на коде FreeBSD технически является гибридным ядром, а не «чистым» микроядром.
С одной стороны Sparrow и KataOS новые претенденты на кладбище Google, наряду с недавно упраздненной платформой потоковой передачи игр Stadia. Но, с другой стороны, базовый уровень успеха для очень нишевой системы, такой как эта, ниже, чем для ОС более общего назначения. Из предыдущих разработок Google OS наиболее известна Fuchsia, которую компания в конечном итоге выпустила.
![](https://habrastorage.org/webt/ms/an/qh/msanqhkbycyt9szqgie7fezmnpm.jpeg)