KulikovAYU / cyberimmune-systems-example-traffic-light-kos

Example: traffic light control (partial) implementation with KasperskyOS

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Traffic lights control with KasperskyOS

English version will be available later below

Описание для русскоязычной аудитории

О примере

Это учебный проект, код следует использовать только в целях изучения особенностей разработки кибериммунных систем с использованием KasperskyOS.

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

Цели и предположения безопасности обсуждаются на онлайн-курсе (ссылка будет добавлена позже).

Часть документации доступна в jupyter блокноте, находящемся в репозитории по ссылке https://github.com/cyberimmunity-edu/cyberimmune-systems-example-traffic-light-jupyter-notebook.

Всех, интересующихся кибериммунной разработкой и кибериммунной разработкой с использованием KasperskyOS приглашаем подписаться на наш телеграм-канал https://t.me/learning_cyberimmunity.
В этом канале мы анонсируем набор в учебные группы, появление новых материалов, события, связанные с кибериммунной разработкой.

Инструкция по настройке окружения для разработки

Системные требования

  • Windows 10 или новее с установленным инструментом виртуализации (например, Oracle Virtual Box, Windows Subsystem for Linux - WSL)

  • Linux система (Debian или подобная лучше всего)

  • работа примера с MacOS не проверялась, но с большой вероятностью запустить можно, используя Docker

  • 8 или 16 ГБ ОЗУ для комфортной разработки (лучше, конечно, 32 ГБ, чтобы при необходимости параллельно использовать браузеры)

  • 50, а лучше 100 ГБ свободного дискового пространства

С некоторыми ухищрениями учебный проект можно также запустить на бесплатных облачных ресурсах - в консоли Google Cloud, окружении Datalore Jetbrains.

Настройка системы

Пошаговая видео-инструкция по развёртыванию KasperskyOS в виртуальной машине под управлением Oracle VirtualBox доступна в составе этого курса: https://stepik.org/course/73418

Использование KasperskyOS в docker контейнере описано на этой странице: https://support.kaspersky.ru/help/KCE/1.1/ru-RU/using_docker.htm

Сборка и запуск примера

  • с использованием Makefile:
    • сборка docker образа с KasperskyOS. В этом проекте в качестве базового образа используется Ubuntu 20.04, при желании можно поменять на Ubuntu 22.04 или Debian 10.12.

      make d-build

      Примечание: установочный deb файл с KasperskyOS Community Edition SDK должен быть скопирован в папку с Dockerfile (корневую папку проекта) перед запуском этой команды

    • запуск контейнера

      make develop

      Примечание: в контейнере предполагается работать не от имени root, а от пользователя user.

      Если где-то это будет мешать, нужно в Makefile для цели develop убрать в команде запуска аргумент "--user user"

    • сборка проекта. Примечание: эта команда должна выполняться внутри контейнера

      make build

    • запуск в qemu. Примечание: эта команда должна выполняться внутри контейнера

      make sim

    • удаление временных файлов. Сейчас удаляет папку build со всем содержимым.

      make clean

      Собранный образ с SDK можно удалить командой

      docker rmi kos:1.1.1.40u20.04

English version

Example: traffic light control (partial) implementation with KasperskyOS

Transformation of the echo example into the new project.

About

Example: traffic light control (partial) implementation with KasperskyOS

License:MIT License


Languages

Language:C 63.4%Language:CMake 16.2%Language:Shell 15.8%Language:Dockerfile 2.7%Language:Makefile 1.9%