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

Материал из Wiki - Факультет компьютерных наук
Перейти к навигации Перейти к поиску
Новая страница: «== Что это за проект == === Введение === Системы контроля целостности необходимы для обнаруж…»
 
мНет описания правки
 
(не показаны 3 промежуточные версии 2 участников)
Строка 2: Строка 2:


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


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




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


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


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


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


== Начальные требования ==
== Начальные требования ==
Строка 27: Строка 24:
== Критерии оценивания ==
== Критерии оценивания ==


=== Требования на зачет в конце 1-го модуля ===
=== Первая контрольная точка (24 октября 2015 г.) ===
 
Необходимо иметь репозиторий с проектом, в который приглашен ментор. В
репозитории должно быть:
 
* Файл README.md, который содержит описание проекта, написанный в расчета на "конечного пользователя". Это описание должно быть написано самостоятельно, а не скопировано из Wiki, и отражать Ваше понимание того, что нужно сделать.
* Реализованы как минимум следующие функции: подсчет контрольной суммы файла по заданному пути, сохранение результата, проверка контрольной суммы
* Проектный файл CMakeLists.txt
 
=== Вторая контрольная точка (21 ноября 2015 г.) ===
Утилита формирует базу контрольных сумм файлов и отвечает при передачи ей пути
Утилита формирует базу контрольных сумм файлов и отвечает при передачи ей пути
файла: есть или нет этот файл в базе и соответствует ли контрольная сумма.
файла: есть или нет этот файл в базе, и соответствует ли контрольная сумма.


=== Итоговая оценка ===
=== Итоговая оценка ===
* '''4 балла'''. Требования на зачет в первом модуле и дополнительно реализованы
* '''4 балла'''. Требования на зачет в первом модуле и дополнительно реализованы возможности: добавления в базу новых файлов, обновлений контрольных сумм старых и проверка по всей базе.
возможности: добавления в базу новых файлов, обновлений контрольных сумм старый
* '''6 баллов'''. Программа реализована в виде демона, который осуществляет проверку по заданному расписанию с записью результатов в лог.
и проверка по все базе.
* '''8 баллов'''. Реализован модуль ядра, который перехватывает открытие файла на запись с последующей проверкой по его закрытию контрольной суммы.
* '''6 баллов'''. Программа реализована в виде демона, который осуществляет
* '''+1 балл'''. Уведомление по сети (email, jabber и т.п.).
проверку по заданному расписанию с записью результатов в лог.
* '''+1 балл'''. Поддержка регулярного выражения в путях.
* '''8 баллов'''. Реализован модуль ядра, который перехватывает открытие файла
на запись с последующей проверкой по его закрытию контрольной суммы.
* '''+1 балл'''. Уведомление по сети (email, jabber и тп).
* '''+1 балл'''. Поддержать регулярный выражения в путях.
* '''+2 балла'''. Перехватывание манипуляций с файлом.
* '''+2 балла'''. Перехватывание манипуляций с файлом.
* '''+2 балла'''. Контроль за атрибутами файла.
* '''+2 балла'''. Контроль за атрибутами файла.
* '''+2 балла'''. Многопоточный демон.
* '''+2 балла'''. Многопоточный демон.

Текущая версия от 12:39, 13 ноября 2015

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

Введение

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

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

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


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

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

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

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

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

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

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

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

Первая контрольная точка (24 октября 2015 г.)

Необходимо иметь репозиторий с проектом, в который приглашен ментор. В репозитории должно быть:

  • Файл README.md, который содержит описание проекта, написанный в расчета на "конечного пользователя". Это описание должно быть написано самостоятельно, а не скопировано из Wiki, и отражать Ваше понимание того, что нужно сделать.
  • Реализованы как минимум следующие функции: подсчет контрольной суммы файла по заданному пути, сохранение результата, проверка контрольной суммы
  • Проектный файл CMakeLists.txt

Вторая контрольная точка (21 ноября 2015 г.)

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

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

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