27 сентября, 2021
Шлюз раскрыт! Всё в пространтве кибер-индустриализации. Чувствовать разницу надо, а не что-то ещё.
На последней индустриально-кибериммунной конференции в Сочи ребята из компании Апротех отожгли по полной! — Они разыграли мини-спектакль и буквально на поролоновых параллелепипедах пальцах объяснили зрителям, в чём же, собственно, заключается отличие кибериммунного шлюза для промышленных данных на KasperskyOS от среднестатистического решения на базе операционной системы общего назначения. Получилось познавательно и весьма задорно!
Если кому-то долго смотреть, то в одном из предыдущих сентябрьских постов я уже кратко упоминал про три основных различия. Теперь надо, наверное, уже окончательно поставить все точки над Ё и раскрыть-таки чуть больше деталей по каждому из 3-х пунктов. Поехали!
1. Итак, первая фишка – это микроядро.
В течение нескольких лет наши команды трудились, чтобы сделать ядро операционной системы на кибериммунном шлюзе максимально компактным. Чтобы оно было минимальным и исключало любые избыточные фрагменты.
«А что же происходит на уровне ‘обычного’ ядра?» — спросите вы. Здесь всё ещё царит традиционный подход, при котором в самом ядре необходимо использовать максимальное количество драйверов. Поэтому ядро в данном случае растёт и достигает порой гигантских размеров.
Для наглядности — ядро операционной системы для шлюза Kaspersky IoT Secure Gateway (KISG100) содержит 17 тыс. строк кода до компиляции. Ядро для шлюза на базе операционной системы общего назначения (например, это могут быть разные клоны Linux) будет иметь 9млн. строк кода. Как говорится: «Почувствуйте разницу!».
Цифра хорошая, но многие из вас всё равно скажут: «Ну и что?».
Если обратиться к статистике, которая у нас есть благодаря нашим замечательным коллегам из ICS CERT, то окажется, что 9 (!) из 10 самых серьёзных уязвимостей в мире интернета вещей приходят к нам… со стороны операционной системы Linux. А это как бы уже довольно серьёзная проблема, согласитесь?
Идём дальше!
2. Разделяемые домены безопасности.
А теперь давайте посмотрим, как реализованы принципы функционирования компонентов устройства, которое отвечает за передачу промышленных данных в облако промышленного интернета.
В случае с кибериммунным шлюзом все компоненты работы устройства функционируют в отдельном изолированном контейнере (согласно концепции MILS — независимые домены безопасности).
У обычного же шлюза такой изоляции нет. Для повышения производительности функциональность помещена внутрь самого ядра. И поэтому драйверы, отвечающие за работу отдельных компонентов, в том числе сетевых адаптеров и SD-карт, находятся внутри ядра. И несмотря на то, что отдельные приложения находятся вне ядра, они ‘жертвуют’ строгой изоляцией в угоду возможности иметь бОльшую скорость.
В случае же кибериммунного шлюза мы имеем всё, включая 2 драйвера, которые взаимодействуют один с внутренним миром: оборудованием или контроллерами, — и второй – с внешним миром. Они (драйверы) полностью изолированы друг от друга и «общаются» только с другими компонентами через IPC, который реализован в микроядре. Фактически, можно сказать, что драйверы напрямую общаются только с микроядром.
Разработка такого шлюза потребовала очень хорошо продуманной архитектуры. И это привело к тому, что в итоге в одной маленькой коробочке сосредоточено более 20 изолированных доменов. Включая то, что мы относим к уровню драйверов… Такая защита очень эффективна, чтобы, например, противостоять атакам класса DDoS.
И третье различие – это специализированная подсистема для реализации гибкой политики безопасности.
Kaspersky Security System (KSS) отвечает за то, что любые взаимодействия между компонентом и ядром проверяются на уровне политики безопасности. У обычного шлюза такой опции в принципе нет!
У операционных систем общего назначения разграничения доступа и работы с политиками реализованы на уровне файлов. Например, может стоять ограничение на 4 набора операций, а всё, что вы захотите сделать дальше – это забота безопасников и программистов. Это делается либо на шлюзе, либо в приложении, но в итоге… как обстоит дело с политикой безопасности на отдельно взятом устройстве остаётся вопросом.
В случае с кибериммунным шлюзом любой запрос, какой бы он ни был, проверяется на уровне специализированной подсистемы. В этом движке есть специальный механизм PSL (Policy Specification Language) – язык политик, который описывает, может ли данная транзакция сделать что-то ещё.
Наличие такой функции критически необходимо на второй фазе развития кибератаки, которая влечёт за собой повышение привилегий. В ситуации с кибериммунным шлюзом любая попытка хакеров увеличить себе привилегии и получить доступ к какому-то из компонентов системы просто не увенчается успехом.
Подводя итоги, не могу не повторить, что сегодня инфраструктура промышленных предприятий и критическая инфраструктура не могут полноценно работать без подключения к Интернетам. Но, не обеспечив изначально полную безопасность индустриальной сети, сложно эффективно выстраивать бизнес-процессы. Поэтому здесь нам на помощь приходит (а точнее он уже здесь) новый рынок кибериммунных устройств, без которых безопасный переход в новый цифровой индустриальный век просто невозможен. Про это мы как раз расскажем на нашем следующем KasperskyOS Day 2021, который пройдёт 25-26 октября в гибридном формате. Не забудьте зарегистрироваться!
А чуть раньше (14-15 октября) наши эксперты примут участие в OS DAY 2021, научно-практической конференции по созданию безопасных и защищённых устройств. Одним из важнейших вопросов дискуссии будет сотрудничество российских разработчиков ОС и создателей платформ. Регистрация ещё открыта – можно прийти лично или послушать онлайн.
На сегодня всё. Берегите себя и всем хорошего кибериммунитета!
P.S.: фотка для поднятия настроения :)