Функции расширения
Расширение автоматически обнаруживает в открытом рабочем пространстве проект KasperskyOS и запускается. Параметр обнаружения – наличие в рабочем пространстве файла .vscode/kos_project.json или директории einit. Если расширение автоматически не активировалось в директории, но вы уверены, что это проект KasperskyOS, то выполните команду KOS: Activate extension in this directory. Команда активирует расширение и создает в директории проекта пустой файл .vscode/kos_project.json. Чтобы отменить ручную активацию, удалите этот файл.
После запуска расширение добавляет на нижнюю панель редактора кода Visual Studio Code кнопки, перечисленные в статье "Кнопки в нижней панели".
Функции, которые предоставляют кнопки, также можно вызвать из командной строки редактора кода, открываемой по нажатию на клавишу F1. Все команды имеют префикс KOS:.
Работа с базовым образом KasperskyOS
Расширение позволяет не выполнять полную сборку решения на базе KasperskyOS после внесения изменений в код прикладной программы, а вместо этого использовать следующий сценарий:
- Запуск в эмуляторе QEMU базового образа решения на базе KasperskyOS, входящего в состав SDK. В базовом образе содержатся все системные программы, необходимые для запуска и отладки программ, упакованных в KPA-пакеты.
- Сборка прикладной программы и ее упаковка в KPA-пакет. Для того чтобы упаковать прикладную программу в KPA-пакет, необходимо использовать
CMake-команды библиотеки kpa. - Установка программы из KPA-пакета в запущенный на шаге 1 образ решения и ее запуск под управлением KasperskyOS.
- Внесение изменений в код прикладной программы.
- Повторение шагов 2-4.
- Расширение также позволяет отлаживать программу, запущенную в базовом образе KasperskyOS. Подробнее см. "Отладка программ в составе KPA-пакета".
Работа с описанием политики безопасности решения
Расширение позволяет:
- использовать подсветку синтаксиса языка PSL;
- диагностировать ошибки при написании политики безопасности решения;
- использовать автодополнение имен и навигацию по коду (
"Go to Definition") при создании PSL-файлов. - автоматически создавать простейшие описания политики безопасности решения для проекта (см. ниже).
Функциональность для работы с языком PSL не поддерживается если в PSL-файле используется шаблонизация Ginger.
Чтобы создать базовое описание политики безопасности:
- Убедитесь, что расширение KasperskyOS SDK Extension установлено и активно.
- Нажмите на клавишу F1.
- Выполните команду
KOS: Generate policy file for current project. - Выберите тип базового описания политики, который вы хотите создать:
Grant all permissions– создать простейшее описание политики безопасности решения, которая разрешает любые взаимодействия процессов любых классов между собой и с ядром KasperskyOS, а также разрешает любому процессу инициализировать запуск процессов.Grant necessary permissions– создать простейшее описание политики безопасности решения, которая разрешает любые взаимодействия процессов любых классов между собой и с ядром KasperskyOS, а также определяет необходимые разрешения для инициализации запуска процессов на основе файлаinit.yaml.inв составе проекта.
- Введите имя файла для сохранения созданного описания политики безопасности.
Чтобы созданная политика безопасности использовалась в решении на базе KasperskyOS, необходимо указать его в параметре
SECURITY_PSLпри вызовеCMake-командbuild_kos_hw_image()/build_kos_qemu_image()в файле CMakeLists.txt для сборки программы Einit.
Эти политики можно использовать только в качестве заглушек на ранних стадиях разработки решения на базе KasperskyOS, чтобы модуль безопасности Kaspersky Security Module не управлял взаимодействиями. В реальном решении на базе KasperskyOS применять такие политики недопустимо.
Запуск тестов
После активации расширения на боковой панели Visual Studio Code появляется вкладка Testing –
. При выборе вкладки Testing в окне редактора кода отобразится дерево тестов, созданных с помощью библиотеки Google Test и обнаруженных в файлах директории test/.
Для запуска тестов нажмите на кнопку
. По умолчанию запускаются все обнаруженные тесты, но вы можете выбирать определенные тесты на вкладках с исходным кодом тестов или определенные группы тестов, выбирая их из дерева всех тестов. Запускать можно только тесты, которые добавлены в файлы CMakeLists.txt для сборки программ с помощью CMake-команды generate_kos_test() из CMake-библиотеки test_generator, поставляемой в составе SDK.
Результаты работы тестов, а также файлы журналов находятся в директории <директория_сборки>/bin/tests/output.
Запуск тестов политик безопасности решения
Расширение позволяет запускать тесты политики безопасности решения для проекта, созданные на основе описания политики безопасности решения.
Чтобы собрать и выполнить тесты политики безопасности решения:
- Убедитесь, что описание политики безопасности решения содержит тесты политики безопасности решения.
- Убедитесь, что
CMake-команды сборки тестов политики безопасности решения добавлены в один из файловCMakeLists.txtпроекта. - Убедитесь, что расширение KasperskyOS SDK Extension установлено и активно.
- Выполните сборку всех целей, нажав на кнопку
на нижней панели. - Нажмите на кнопку
выбора цели сборки и выберите цель с именем kos-qemu-image-PalTest<N>-sim, где N – индекс PSL-файла в списке PSL-файлов, содержащих тесты политики безопасности решения. - Нажмите на кнопку запуска выбранной цели на нижней панели
.