Google Research работает над собственной операционной системой на основе Rust под названием KataOS, предназначенной для защиты встраиваемых систем, на которых работают приложения машинного обучения (ML).
В последнее время было много разговоров о языке программирования Rust, поскольку он предлагает примерно тот же уровень производительности, что и программирование на C, но помогает программистам писать более безопасный код, например, благодаря встроенной защите от переполнения буфера. За прошедшие годы он приобрел большую популярность, и Linux 6.1 станет первым выпуском ядра, включающим код Rust .
Исследователи Google заметили, что системная безопасность часто рассматривается как функция, которую можно добавить к существующим системам либо с помощью программного обеспечения, либо с помощью дополнительного чипа безопасности. Но в мире, где все больше и больше наших личных данных раскрывается миру через Интернет, этого недостаточно, поэтому компания разработала безопасную операционную систему KataOS с открытым исходным кодом, оптимизированную для встраиваемых устройств, на которых работают приложения машинного обучения, и решила использовать Rust для большей части кода.
KataOS основана на микроядре seL4, поскольку математически доказана его безопасность с гарантированной конфиденциальностью, целостностью и доступностью. Antmicro также помог, активировав приложения Rust для микроядра seL4 с помощью симулятора Renode. Google предоставляет более подробную информацию об аспекте безопасности операционной системы:
Благодаря платформе seL4 CAmkES мы также можем предоставить статически определенные и анализируемые системные компоненты. KataOS предоставляет проверенно безопасную платформу, которая защищает конфиденциальность пользователя, потому что приложениям логически невозможно нарушить аппаратную защиту ядра, а системные компоненты надежно защищены. KataOS также почти полностью реализована на Rust, что обеспечивает надежную отправную точку для безопасности программного обеспечения, поскольку устраняет целые классы ошибок, таких как ошибки «один за другим» и переполнение буфера.
Sparrow — эталонная реализация для KataOS, предназначенная для приложений Ambient ML. Project Sparrow размещен на GitHub и состоит из следующих репозиториев:
- camkes-tool — репозиторий camkes-tool от seL4 с дополнениями для поддержки сервисов KataOS.
- capdl — репозиторий capdl от seL4 с дополнением для сервисов KataOS и корневого сервера KataOS (замена capdl-loader-app, написанного на Rust и поддерживающего передачу системных ресурсов сервису KataOS MemoryManager)
- ядро - ядро seL4 с драйверами для платформы Sparrow RISC-V и поддержкой восстановления памяти, используемой корневым сервером KataOS.
- kata frameworks для разработки на Rust и (в конечном итоге) системные сервисы KataOS
- скрипты — поддержка скриптов, включая build-sparrow.sh
Далее компания объясняет, что Sparrow включает в себя логически безопасный корень доверия, созданный с помощью OpenTitan на архитектуре RISC-V, но они используют 64-битную платформу Arm в QEMU для первоначального выпуска. KataOS и Sparrow находятся в стадии разработки, и цель состоит в том, чтобы полностью открыть аппаратное и программное обеспечение для проекта.
Дополнительную информацию также можно найти в объявлении Google.
Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.