КС:2015:Проект:Sandbox

Материал из Wiki - Факультет компьютерных наук
Версия от 21:47, 25 сентября 2015; Cher (обсуждение | вклад) (Новая страница: «== Что это за проект == === Введение === Во многих случаях возникает необходимость безопасно…»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

Что это за проект

Введение

Во многих случаях возникает необходимость безопасного запуска процесса, код которого был получен из недоверенного источника. В языках Java и аналогичных режим "песочницы" достигается специальной настройкой виртуальной машины. Для запуска программ в бинарном коде потребуется специальная настройка параметров процесса и мониторинг поведения процесса.

Что требуется

Реализовать режим песочницы для запуска бинарных программ в Linux.

Чему вы научитесь

1. Освоите работу с selinux и cgroup в Linux

2. Освоите работу с файловой системой procfs.

Начальные требования

1. Умение разрабатывать программы на C или C++

Критерии оценивания

Требования на зачет в конце 1-го модуля

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

Итоговая оценка

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