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

Материал из Wiki - Факультет компьютерных наук
Версия от 11:46, 25 сентября 2015; Salagaev (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

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

Введение

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

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

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


Чему вы научитесь (помимо разработки очередного велосипеда)

1. Работе с файлами

2. Основам параллельного программирования

3. Основам программирования под UNIX (GNU/Linux)

4. Напишите модуль ядра Linux

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

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

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

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

Утилита формирует базу контрольных сумм файлов и отвечает при передачи ей пути файла: есть или нет этот файл в базе и соответствует ли контрольная сумма.

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

  • 4 балла. Требования на зачет в первом модуле и дополнительно реализованы

возможности: добавления в базу новых файлов, обновлений контрольных сумм старый и проверка по все базе.

  • 6 баллов. Программа реализована в виде демона, который осуществляет

проверку по заданному расписанию с записью результатов в лог.

  • 8 баллов. Реализован модуль ядра, который перехватывает открытие файла

на запись с последующей проверкой по его закрытию контрольной суммы.

  • +1 балл. Уведомление по сети (email, jabber и тп).
  • +1 балл. Поддержать регулярный выражения в путях.
  • +2 балла. Перехватывание манипуляций с файлом.
  • +2 балла. Контроль за атрибутами файла.
  • +2 балла. Многопоточный демон.