README.md

education


Задания для знакомства с KasperskyOS Community Edition SDK

Ознакомиться с KasperskyOS Community Edition SDK

Подготовить рабочее окружение

  • Скачать, настроить, запустить пример “hello” из поставки KasperskyOS Community Edition SDK https://os.kaspersky.ru/development/ (требуется Linux дистрибутив для запуска инструментов разработчика).
  • Настроить работу Git.
  • Создать приватный репозиторий на gitflic.ru
  • Выбрать задания
    • (сложно) Портировать проект
    • Модульные unit тесты (тестировать изолированные, простые функции без сложных зависимостей)
    • PAL тесты (тестировать уже написанные правила или собственные)

Выполнение заданий

  • Выбранные задания выполнены и выложены в собственный репозиторий
  • Написан отчёт о проделанной работе:
    • формат Markdown имя файла REPORT.md;
    • указаны выполненные задания;
    • коротко описаны проделанные изменения;
    • описан способ запуска тестов;
    • присутствует журнал запуска (вывод) выполненных заданий;
  • Собственный репозиторий не содержит лишнего (особенно бинарных файлов сборок, компонентов SDK и прочее), только исходные коды решения
  • История репозитория содержит промежуточные этапы работы
  • Предоставить доступ к репозиторию проверяющему

Портировать проект

Задание подразумевает: - взять проект с открытым исходным кодом на C/C++ и портировать (перенести) его на KasperskyOS Community Edition при помощи KasperskyOS Community Edition SDK; - проект может быть: приложением, компонентом, библиотекой; - написать модульные unit тесты к этому проекту или иным образом продемонстрировать работу портированного кода.

Модульные unit тесты

Задания представляют собой написание unit тестов для примеров из поставки KasperskyOS Community SDK. Модульное Unit тесты это программы проверяющие часть проекта, модуль. Это может быть компонент, часть компонента или функция. Для модульного тестирования используется библиотека GoogleTest. Документация: https://google.github.io/googletest/ Примеры модульных тестов можно найти: - в KasperskyOS Community Edition SDK в папке examples (пример secure_login) или - в проекте модуля безопасности от СПбГУ https://gitflic.ru/project/learning-cyberimmunity/cyberimmune-systems-autonomous-delivery-drone-with-kos (папка kos/unit_tests).

PAL тесты

Задания представляют собой написание PAL тестов. Policy Assertion Language (PAL) – декларативный язык для создания тестов политики безопасности решения.

Примеры PAL тестов можно найти: - в KasperskyOS Community Edition SDK в папке examples (пример ping) - в проекте модуля безопасности от СПбГУ https://gitflic.ru/project/learning-cyberimmunity/cyberimmune-systems-autonomous-delivery-drone-with-kos (папка kos/einit/drone_controller/src/).

Список заданий

Задания для версии KasperskyOS Community Edition SDK 1.2.0.89 .

Задание №0 подразумевает портирование открытого проекта на KasperskyOS Community Edition.

В таблице указаны примеры из папки examples поставки SDK для которых можно писать тесты.

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

имя примера Unit тесты PAL тесты Комментарии
1 barcode_scanner - - Требует Raspberry Pi 4b
2 defer_to_kernel
3 device_access
4 echo
5 embedded_vfs
6 gpio_echo - - Требует Raspberry Pi 4b
7 gpio_input - - Требует Raspberry Pi 4b
8 gpio_interrupt - - Требует Raspberry Pi 4b
9 gpio_output - - Требует Raspberry Pi 4b
10 hello - - Слишком маленький проект
11 i2c_ds1307_rtc - - Требует Raspberry Pi 4b
12 iperf_separate_vfs
13 koslogger
14 messagebus
15 mqtt_publisher
16 mqtt_subscriber
17 multi_vfs_dhcpcd
18 multi_vfs_dns_client
19 multi_vfs_ntp
20 dnet2_with_separate_vfs
21 net_with_separate_vfs
22 pcre
23 perfcnt
24 ping уже есть
25 secure_logger
26 secure_login уже есть
27 separate_storage
28 shared_libs
29 spi_check_regs - - Требует Raspberry Pi 4b
30 uart - - Требует Raspberry Pi 4b
31 vfs_extfs
32 watchdog_system_reset - - Требует Raspberry Pi 4b

Обратная связь

Пожалуйста присылайте вопросы и пожелания через раздел Проблемы данного репозитория.

Описание

Образовательные материалы

Конвейеры
0 успешных
0 с ошибкой