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

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск

Что это за проект Презентация

Введение

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

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

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

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

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

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

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

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

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

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

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

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

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