Документы eng
Главная страница / Часто задаваемые вопросы и поддержка

Часто задаваемые вопросы и поддержка

Если вы не нашли в FAQ то, что вас интересовало, вы можете задать вопрос на нашем форуме:

Специалисты «Лаборатории Касперского» готовы обеспечить поддержку клиентов компании в полном объёме. Наша команда архитекторов, разработчиков ПО и инженеров по тестированию и поддержке не только оказывает техническую помощь, но и активно участвует в разработке продуктов. Наша цель — помочь клиентам «Лаборатории Касперского» спроектировать, разработать и предложить пользователям лучшие решения на рынке.

Поддержка предоставляется на специальном онлайн-портале, через персональные запросы по горячей линии, на портале сообщества пользователей, через FAQ. При обращении в Службу поддержки просьба сообщать номер договора и вашу контактную информацию.

Общие вопросы

1. Что нового вы предлагаете в своей безопасной ОС?

В создании безопасных ОС нет ничего принципиально нового. Попытки создания безопасных ОС предпринимались и раньше. Многие проекты были успешны, однако их стоимость оказывалась сопоставима с ценой самолета — такие системы как раз и создавались для использования в самолетах. До сих пор никому не удавалось создать решение, которое могло бы широко применяться не только в специфических узких областях.

Большинство известных на сегодняшний день проектов по разработке безопасных ОС носили научный характер и ограничивались исследованиями, имеющими чисто академический интерес. Блестящие умы создавали микроядро, обосновывали заложенную в решение модель безопасности, публиковали результаты, отмечали свой успех шампанским и речами — и на этом всё заканчивалось. Ни один проект не был доведен до стадии полномасштабного развертывания или широкой коммерческой эксплуатации.

Для безопасной ОС недостаточно иметь одно микроядро, даже если оно обладает исключительными характеристиками. Требуются драйверы, сервисы, приложения, удобные инструменты разработки, сообщество разработчиков. В отсутствие полноценной инфраструктуры все наработки, какими бы передовыми они ни были, смогут привлечь лишь немногих энтузиастов.

Кроме того, безопасность не бывает абстрактной, это всегда безопасность чего-то. Безопасность сервера базы данных, индустриального контроллера и решения для интернета вещей — не одно и то же. Но все существующие безопасные ОС, за исключением KasperskyOS, строятся вокруг какой-либо единственной модели безопасности — например, object capability. Это не позволяет обеспечить требуемые характеристики во всех необходимых случаях.

Для KasperskyOS создано (как адаптировано из open source, так и разработано «с нуля») множество компонентов, готовых к использованию. Кроме того, средствами KasperskyOS обеспечивается возможность максимально детализированного определения и гибкой настройки именно тех свойств безопасности, которые требуются в каждом конкретном случае в зависимости от специфики решения.

Мы создали не один продукт, а три: операционную систему (KasperskyOS, или KOS), безопасный гипервизор (KSH) — решение для виртуализации, и специализированную систему Kaspersky Security System (KSS), которая вычисляет вердикты и разрешает или запрещает действия в зависимости от заданных политик безопасности. Эти компоненты могут использоваться по отдельности или в комплексе, что позволяет решать различные функциональные задачи без каких-либо компромиссов, связанных с безопасностью.

2. Можно ли взломать вашу ОС?

Взломать можно всё. Задача решений по кибербезопасности состоит в том, чтобы максимально усложнить жизнь киберпреступникам и сделать стоимость кибератак такой высокой, чтобы они стали невыгодны. С этой задачей наша ОС справляется лучше конкурирующих решений. Кроме того, даже если какой-то из компонентов решения будет взломан, он не сможет повлиять на работу других компонентов системы. В правильно построенной системе аномальное поведение такого компонента будет быстро обнаружено, и ее работоспособность будет восстановлена.

3. Является ли любое решение, построенное с использованием KasperskyOS, безопасным?

KasperskyOS предоставляет широкий набор инструментов, позволяющих сделать решение безопасным. Однако построение безопасного решения возможно лишь при условии правильного использования этих инструментов.

Безопасность — это сложная комплексная проблема. «Лаборатория Касперского» разработала методологию, описывающую практические шаги, которые необходимо предпринять для построения исходно безопасных решений на базе KasperskyOS, включая:

  • моделирование угроз и выработку защитных механизмов;
  • создание безопасной архитектуры решения (декомпозиция решения на домены безопасности, определение интерфейсов для межпроцессного взаимодействия, спецификация формальных политик безопасности);
  • валидацию решения.

Только исходно безопасные (secure-by-design) решения могут считаться действительно безопасными.

4. Собирает ли KasperskyOS какие-либо данные?

Микроядро KasperskyOS не собирает и не передает данные. Это легко проверить, просмотрев его исходный код. Все прочие компоненты — драйверы, системные сервисы, приложения и т.д. вынесены за пределы ядра и изолированы, а их поведение жёстко ограничено политиками безопасности. Даже если один из компонентов системы попытается сохранить какие-либо данные и куда-то их отправить, он не сможет этого сделать, если такая возможность не прописана явно в политике безопасности, определенной для данного конкретного решения. Все политики безопасности задаются на языке высокого уровня в специально предназначенном для этого компоненте, независимо от функциональной логики решения. Это позволяет легко провести их аудит. Если в политиках безопасности отсутствуют возможности для отправки данных, ни один компонент не сможет этого сделать.

5. Из чего складывается стоимость KasperskyOS?

KasperskyOS — специализированная встраиваемая операционная система, которую, как и любую другую встраиваемую систему, необходимо точно настраивать для решения определённых прикладных задач. Стоимость лицензии на редистрибуцию решения на базе KasperskyOS может сильно варьироваться в зависимости от требуемой функциональности и уровня вовлеченности экспертов «Лаборатории Касперского» в его разработку, а также от бизнес-модели клиента, предполагаемых объёмов поставок готовых устройств и их стоимости. Мы разработали наборы методических рекомендаций и специальные SDK для телекоммуникационной и автомобильной индустрии, а также для промышленной инфраструктуры, которые позволяют существенно ускорить разработку проектов и сократить затраты клиентов. Помимо лицензии на редистрибуцию, пакет коммерческих документов для KasperskyOS включает в себя лицензию разработчика (стоимость которой зависит от количества рабочих мест) и договор на техническую поддержку (его стоимость зависит от условий, срока договора и количества продаваемых устройств).

6. Есть ли у вас планы по созданию операционной системы общего назначения на базе KasperskyOS?

KasperskyOS — специализированная операционная система. Интеграция с существующими готовыми решениями требует их существенной доработки, чтобы обеспечить соответствие нашим принципам безопасности. На данный момент реализация строгой и эффективной модели безопасности, предлагаемой KasperskyOS, возможна только для решений, предоставляющих хоть и широкий, но конечный функционал, с учётом всех его тонкостей (программная архитектура, аппаратные возможности и т.д.).

7. Обеспечиваете ли вы техническую поддержку своего продукта?

Мы предоставляем заказчикам широкий спектр услуг технической поддержки в соответствии с условиями коммерческого договора. Поддержка ознакомительной версии KasperskyOS Starter Kit доступна только на уровне форума и технической документации.

8. KasperskyOS основана на Linux?

Нет. KasperskyOS является полностью оригинальной, разработанной «с нуля» операционной системой.

Технические вопросы

9. Какие аппаратные платформы поддерживает KasperskyOS?

В настоящее время KasperskyOS поддерживает архитектуры x86, x86_64, ARMv5, ARMv7, ARMv8 и MIPS32. Архитектура KasperskyOS позволяет легко портировать решение на новые аппаратные платформы. Необходимым условием является наличие Memory Management Unit (MMU), и крайне желательным — наличие средств разграничения доступа при использовании DMA (IOMMU, SDMA и т.д.). «Лаборатория Касперского» обеспечивает поддержку наиболее распространенных аппаратных платформ для различных отраслей, таких как телекоммуникации или промышленное производство. Дополнительно в рамках конкретных проектов накоплен большой опыт по поддержке различного аппаратного обеспечения в соответствии с требованиями заказчика.

10. На каком языке программирования написана ваша операционная система? Насколько она совместима с другими системами?

Микроядро KasperskyOS написано на языке C (стандарт С99).

Для приложений реализован уровень совместимости с POSIX. При этом обеспечивается полная совместимость с PSE51, PSE52 и POSIX 1003.13 профилями, стандарт POSIX 1003.1 поддерживается с ограничениями (например, не поддерживаются примитивы управления процессами, такие как fork, exec и др.). Отсутствие полной совместимости с POSIX обусловлено тем, что при использовании этих функций возникают риски безопасности.

Приложения можно писать не только на С, но и на других языках, например, С++. В настоящее время идут работы по адаптации Java Runtime Environment. Есть успешные примеры использования скриптовых языков, например, Lua.

Особенностью создаваемых приложений является то, что помимо функциональной логики, требуется спецификация интерфейса приложения и архитектуры решения в целом. Необходимо описать, как решение разбивается на компоненты и домены безопасности, а также создать описание соответствующих политик безопасности. Для этих целей используется набор специальных, разработанных в компании языков программирования.

11. Как загрузить на устройство образ KOS с приложениями?

Самым простым способом является использование готовых загрузчиков, таких как GRUB или U-Boot. Для этих целей можно собрать исполняемый образ в формате ELF (c поддержкой multiboot).

Также возможно применение специализированных загрузчиков для реализации безопасной загрузки (measured boot, verified boot).

В будущем мы планируем сделать основной загрузочной опцией UEFI. Поддержка текущих вариантов загрузки также сохранится.

12. Поддерживается ли работа на многоядерных системах?

KasperskyOS поддерживает SMP на архитектурах x86 (32/64) и ARM. Основным примитивом синхронизации в пространстве пользователя является фьютекс. С его помощью определены все остальные примитивы — мьютексы, семафоры, условные переменные, события и т.д. Для работы с примитивами синхронизации можно использовать как собственный API, предоставляемый KasperskyOS, так и POSIX API.

13. Совместима ли KasperskyOS с POSIX? Какую библиотеку libc (newlib, glibc) она поддерживает?

KasperskyOS предоставляет уровень совместимости с POSIX для всех компонентов (не считая микроядра), с некоторыми исключениями. Профили PSE51 и PSE52 POSIX 1003.13 полностью поддерживаются. POSIX 1003.1 также поддерживается, за исключением некоторых примитивов управления процессами, таких как fork() и exec(). Исключения обусловлены тем, что использование ряда функций POSIX (например, fork) может потенциально привести к нарушению изоляции между компонентами решения, и этот аспект невозможно проконтролировать.

В качестве стандартной библиотеки языка C KasperskyOS использует адаптированную версию имплементации libc из NetBSD.

14. Есть ли поддержка графики? Какие видеокарты вы поддерживаете?

На данный момент на системном уровне реализована поддержка VESA совместимых видеокарт в режиме кадрового буфера (framebuffer). Кроме того, разработаны собственные видеодрайверы для ряда популярных SoC. На прикладном уровне предоставляется адаптированная под KasperskyOS библиотека QT версии 5.10 с поддержкой Wayland.

15. Реализован ли kexec для загрузки ядра Linux из KasperskyOS?

Мы не реализовали kexec для загрузки ядра Linux, потому что это противоречит принципам, лежащим в основе KasperskyOS. В рамках нашего подхода вы можете запускать Linux (или любую другую стороннюю операционную систему) с помощью виртуализации. «Лаборатория Касперского» создала гипервизор (Kaspersky Secure Hypervisor, KSH), позволяющий запускать стороннюю операционную систему поверх KasperskyOS, сохраняя при этом возможность контролировать поведение этой операционной системы (доступ к аппаратному обеспечению, передачу данных и т.д.) средствами KasperskyOS. Например, можно загрузить Astra Linux с помощью гипервизора поверх KasperskyOS.

16. Поддерживает ли KasperskyOS языки C и C++? Какие компиляторы (укажите производителя и версию) используются? Какие стандарты языка поддерживаются? Есть ли ограничения / исключения из стандартов языка?

Поддерживает. Мы используем GCC 4.9.3 с binutils 2.26, и наша стандартная библиотека языка С соответствует стандарту C99 (хотя она пока не сертифицирована). У нас также есть слой совместимости с POSIX1-2008. Этот слой соответствует требованиям POSIX1-2008 в части системного интерфейса. Мы не предоставляем системные утилиты, описанные данным стандартом. И мы не реализуем или реализуем иначе некоторые из функций POSIX (например, семейство функций fork()). Кроме того, мы не запрещаем использование любых расширений GCC, предоставляемых используемым нами набором инструментальных средств.

17. Имеет ли KasperskyOS уровень VFS (уровень абстракции, определяющий API для доступа к различным файловым системам)? Какие файловые системы поддерживаются KasperskyOS с VFS?

Имеет. Наша стандартная библиотека С использует VFS в качестве серверного приложения для выполнения операций ввода/вывода сокетов/файлов. Базовая версия VFS поставляется с двумя типами файловых систем: FAT32 (vfat) и RAMFS (tmpfs). Также поддерживаются ext2/3/4, jffs2 и romfs (init ram disk).

Вы можете легко добавить к VFS свою собственную файловую систему (в нашем SDK есть пример того, как использовать файловые системы ext2/3/4 путем портирования сторонней библиотеки «Lightweight ext4 filesystem library»). Кроме того, наш драйвер VFS можно использовать несколькими разными способами:

  1. скомпоновать с вашим приложением (т.е. без IPC, с изолированным деревом файловой системы, скорость высокая);
  2. скомпоновать в отдельный процесс (с IPC, т.е. каждый вызов может контролироваться нашей системой безопасности; с общим деревом файловой системы, скорость ниже);
  3. реализовать ваш собственный драйвер VFS, что позволит каждому приложению в системе взаимодействовать с вашей VFS без перекомпиляции (пример такого сценария есть в нашем SDK);
  4. использовать сочетание всех перечисленных выше методов.
18. В каком виде поставляется KasperskyOS?

Продуктом для KasperskyOS является SDK. В его состав входит микроядро, toolchain, готовые компоненты (библиотеки, сервисы), примеры, документация и всё, что ещё может потребоваться.

Разработчик собирает из этих компонентов то, что ему надо, описывает политики безопасности и получает требуемое решение.

19. Какие сценарии, связанные с файловой системой, планируется реализовать (например, проигрывание медиа-файлов, и/или их запись, резервное копирование/восстановление файлов, загрузку торрентов и т.д.)?

Все зависит от ответа на предыдущий вопрос. Как правило, имеется поддержка любых сценариев.

  • Требует ли какой-то из сценариев доступ на запись?

    Возможны варианты, но в целом да, требует.

  • Если поддерживается одна файловая система с доступом только на чтение, то с чего лучше начать?

    Не имеет значения, поддержка какой файловой системы будет реализована в первую очередь. Но для простоты мы бы предложили начать с поддержки exFAT.

  • Что лучше — поддержка одной ФС с доступом на чтение и запись или нескольких ФС с доступом только на чтение?

    Лучше реализовать поддержку одной ФС с доступом на чтение и запись.

  • Как насчет поддержки нескольких ФС с доступом на чтение и запись?

    Как отмечено выше, реализация поддержки той или иной файловой системы зависит от требований наших клиентов.

20. Предоставляется ли тестовое окружение и/или примеры?

У нас есть специальный продукт KasperskyOS Starter Kit, предназначенный для ознакомления с принципами работы KasperskyOS, а также с возможностями работы с различными политиками безопасности Kaspersky Security System. В состав Starter Kit входят примеры приложений с различными реализованными политиками безопасности. Starter Kit работает как виртуальная машина для QEMU.

21. Какие средства отладки и профилирования включены в состав SDK? Как осуществляется отладка приложений?

В качестве отладчика мы предлагаем GNU GDB. Отладка осуществляется стандартным для встраиваемых систем образом:

  • Эмулятор (QEMU) + GDB (для отладки бизнес-логики и её тестирования)
  • Аппаратура + GDB, через UART (для отладки драйверов)

До конца года мы хотим перейти на GCC 6-й (возможно, 7-й) версии по умолчанию.