КС:2015:Проект:Sandbox — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Новая страница: «== Что это за проект == === Введение === Во многих случаях возникает необходимость безопасно…»)
 
 
Строка 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 балла. Разрешенные действия должны задаваться с помощью конфигурационного файла.