КС:2015:Проект:Sandbox — различия между версиями
Материал из Wiki - Факультет компьютерных наук
Cher (обсуждение | вклад) (Новая страница: «== Что это за проект == === Введение === Во многих случаях возникает необходимость безопасно…») |
Cher (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
− | == Что это за проект == | + | == Что это за проект [https://github.com/hseos/hseos-course/blob/master/99-projects/sandbox/prj_sandbox.pdf Презентация] == |
=== Введение === | === Введение === |
Текущая версия на 19:47, 27 сентября 2015
Содержание
Что это за проект Презентация
Введение
Во многих случаях возникает необходимость безопасного запуска процесса, код которого был получен из недоверенного источника. В языках Java и аналогичных режим "песочницы" достигается специальной настройкой виртуальной машины. Для запуска программ в бинарном коде потребуется специальная настройка параметров процесса и мониторинг поведения процесса.
Что требуется
Реализовать режим песочницы для запуска бинарных программ в Linux.
Чему вы научитесь
1. Освоите работу с selinux и cgroup в Linux
2. Освоите работу с файловой системой procfs.
Начальные требования
1. Умение разрабатывать программы на C или C++
Критерии оценивания
Требования на зачет в конце 1-го модуля
Должна быть реализована программа, запускающая другую программу только с разрешенными операциями ввода из стандартного потока ввода и вывода в стандартный поток вывода.
Итоговая оценка
- 4 балла. Должна поддерживаться передача аргументов командной строки, фильтрация переменных окружения, ограничения на время работы и размер памяти процесса.
- +2 балла. Должна поддерживаться работа с файлами в текущем каталоге или в ограниченном наборе каталогов.
- +2 балла. Должно поддерживаться создание процессов и нитей (без запуска других программ).
- +2 балла. Разрешенные действия должны задаваться с помощью конфигурационного файла.