Микроядерная «бомба»: почему за операционными системами вроде Fuchsia и Harmony – будущее
Среди крупных технологических компаний давно зреет новый тренд — операционные системы на микроядрах. Последнее время они спускаются из промышленного и военного секторов в консьюмерский. Самыми яркими представителями на сегодня являются Harmony OS от Huawei, Fuchsia OS от Google и внезапно Kaspersky OS от «Лаборатории Касперского». Тренд на них подогревается приближением повсеместного IoT и вытекающим из этого растущим запросом на информационную безопасность. О том, как маленькие «оси» способны увеличить безопасность, при чём тут IoT и, в конце концов, что такое микроядро, предлагаю поговорить. С меня, надеюсь, доступное объяснение ситуации, с вас — доводы за и против.
IoT — новый поворот
В случае с IoT ОС на микроядрах полезны тем, что они очень гибкие и относительно лёгкие, что позволяет их запускать на очень многих гаджетах вне зависимости от их форм-фактора. Таким образом, в мире, где IoT повсеместен, микроядерные операционки выступают общим интерфейсом для взаимодействия как со смартфоном, так и с автомобилем, телевизором, роботом-пылесосом, счётчиком электричества, датчиком движения и так далее.
Взаимопроникновение всего и вся в мире с IoT хорошо иллюстрирует знакомая вам кольцевая схема »1+8+N», с помощью которой Huawei и Honor на презентациях часто объясняют суть своей экосистемы. В центре неё — смартфон, в первом внешнем круге — гаджеты, которые мы часто используем в связке со смартфоном, а дальше — бесконечное множество сценариев использования этих и других устройств, объединённых различными сервисами.
С безопасностью тоже всё довольно просто. В мире информационной безопасности (ИБ) есть понятная аксиома: чем шире сеть пользовательских устройств, тем больше ландшафт угрозы. Если объяснять очень утрированно, то в сети с гаджетами от мала до велика взлом даже самого простого устройства потенциально компрометирует все остальные компоненты. В ОС с монолитными ядрами вроде Android, iOS и Windows нет абсолютной изоляции между различными её компонентами, которую обеспечивает микроядро. Люди знающие, конечно, возразят про «песочницы» и гипервизоры. Но эти же знающие люди согласятся, что и то, и другое — это костыли для инвалида, а не структура, построенная в первую очередь с оглядкой на безопасность.
Ядерная программа
Ядро — это множество строк кода, которые являются основным компонентом операционной системы и управляют её ресурсами. Ядро — это светофор на перекрёстке между аппаратной частью устройства (ЦПУ, память и подключенные девайсы) и пользовательскими программами или приложениями. Ядро определяет, когда и какие приложения могут обратиться к тому или иному аппаратному компоненту.
Особенностью монолитного ядра является то, что метафизический перекрёсток соединяет с аппаратными компонентами практически все пользовательские и системные программы. Как обязательные для работы ОС, так и необязательные. С точки зрения информационной безопасности — это плохо. Потому что нарушение изоляции на одной дороге перекрёстка позволяет программе «ездить» по всем остальным и получать из них информацию.
Собственно, хакерский «взлом» зачастую и подразумевает поиск места, где может быть нарушена целостность одной дороги. Программа, которая автоматизирует использование этого места, называется эксплоитом. Да простят мне IT-шники эти примитивные аналогии.
А теперь представьте, что из-за множества системных и пользовательских программ ядро превращается в суперперекрёсток из миллионов дорог. Каждую из них безопасникам нужно регулярно прочёсывать, чтобы исправлять слабые места. При всём желании что-то починить раньше, чем это что-то будет обнаружено злоумышленником, не удаётся.
А теперь представьте, что запускается пресловутый IoT и дорог становится не миллионы, а миллиарды. Вместе с ними становится и больше уязвимостей.
Как раз в этот момент самым практичным решением оказывается микроядро. «Микро» оно потому, что объединяет десятки дорог, а не миллионы. Разработчики микроядер умышленно оставляют в этом метафизическом пространстве только минимум дорог, системные функции, необходимые для поддержания работоспособности ОС. Пользовательские программы и функции в это пространство не допускаются. Таким образом, нарушение целостности пользовательской программы никак не повлияет на процессы в ядре.
Вместе с тем в микроядре остаются десятки или сотни тысяч строк, а не десятки и сотни миллионов, как в монолитном. Например, на конец 2020 года в Linux было порядка 40 миллионов строк кода. Так радикально сокращается ландшафт угроз. А то, что остаётся, безопасниками регулярно мониторится чуть ли не вручную.
Кто во что горазд
Стоит отметить, что вопрос безопасности сейчас стоит остро не только в компаниях Google и Huawei, которые разрабатывают собственные микроядерные ОС. Да и потом, разработать ОС — полбеды. Нужно заменить ею Android и iOS. Возможно ли это?
Некоторые разработчики уверены в том, что рано или поздно микроядерные ОС выйдут на передний план. Но при этом они осторожно предполагают, что случится это не раньше, чем в следующем десятилетии.
Во многом потому, что Android, iOS и Windows — это огромные рынки, лишаться которых ни Google, ни Apple, ни Microsoft не хотят. При этом все эти корпорации осознают важность информационной безопасности и растущие риски. Поэтому они пытаются отсрочить закат своих актуальных продуктов различными костылями, которых сейчас в подавляющем большинстве случаев хватает.
Например, Microsoft влепила в Windows гипервизор Hyper-V, изолированный доверенный контур в ядре, в котором выполняются критически важные операции и куда не допускаются все остальные. Для пущей надёжности корпорация планирует дополнять продукцию партнёров чипом безопасности Pluton, который, как я понимаю, и будет обслуживать Hyper-V. Чип безопасности нужен для того, чтобы доверенный контур был изолирован не только программно, но и физически. То есть обработка всех критически важных процессов будет вынесена не просто в гипервизор, но ещё и на отдельный процессор.
Занятный факт: чип Pluton, кстати, изначально был реализован в предпоследней серии Xbox. Во многом именно благодаря ему серию консолей One до сих пор толком не взломали.
Apple тоже не отстаёт. Корпорация разработала чип безопасности T2, на котором работает специальная Bridge OS (вероятнее всего, тоже построена на микроядре). Оба компонента служат в первую очередь для хранения и обработки биометрии. Что, в общем-то, понятно. Ведь, в отличие от пароля, биометрию не сменишь. Потеряв её раз, будешь уязвим всю жизнь.
Аналогичная разработка есть и у Samsung. Доверенный контур Knox служит для тех же целей: хранения и обработки суперчувствительной информации вроде биометрии. С недавних пор (а именно с выпуска Galaxy S20) Knox работает в связке с чипом безопасности Secure Element S3K250AF.
Google помимо Fuchsia тоже делает чипы безопасности — Titan. Самый новый из них, Titan M2, как вы знаете, будет реализован в рамках фирменного гугловского SoC Tensor в Google Pixel 6.
Резюмируя, хочется отметить, что тема безопасности в последние годы быстро набирает обороты. Заметить это можно хотя бы потому, что скучные рассказы про растущую надёжность смартфонов давно стали обязательной частью презентации всех ключевых игроков на рынке. При этом микроядерные ОС едва ли станут революцией, которую мы проспим. Скорее — плановой эволюцией, к которой готовятся все IT-гиганты. Результаты этой подготовки мы, вероятнее всего, увидим скоро: как только 5G и IoT перестанут казаться чем-то далёким и неосязаемым, а станут чем-то осязаемым для каждого.
Полный текст статьи читайте на mobile-review