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

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Новая страница: «== Что это за проект == === Введение === Системы контроля целостности необходимы для обнаруж…»)
 
(spelling)
Строка 2: Строка 2:
  
 
=== Введение ===
 
=== Введение ===
Системы контроля целостности необходимы для обнаружения не авторизованных
+
Системы контроля целостности необходимы для обнаружения неавторизованных изменений.
изменений.
+
В  данном случае предлагает разработать систему контроля целостности файлов, находящихся в файловой системе.
В  данном случае предлагает разработать систему контроля целостности файлов
+
находящихся в файловой системе.
+
  
 
=== Что требуется ===
 
=== Что требуется ===
Написать программу , которая будет формировать базу с контрольными суммами
+
Написать программу , которая будет формировать базу с контрольными суммами файлов, находящихся по заданным путям, и проверять, что контрольные суммы
файлов находящихся по заданным путям и проверять, что контрольные суммы
+
 
файлов не изменились.
 
файлов не изменились.
  
  
 
== Чему вы научитесь (помимо разработки очередного велосипеда) ==
 
== Чему вы научитесь (помимо разработки очередного велосипеда) ==
1. Работе с файлами
+
1. Работе с файлами.
  
2. Основам параллельного программирования
+
2. Основам параллельного программирования.
  
3. Основам программирования под UNIX (GNU/Linux)
+
3. Основам программирования под UNIX (GNU/Linux).
  
4. Напишите модуль ядра Linux
+
4. Напишите модуль ядра Linux.
  
 
== Начальные требования ==
 
== Начальные требования ==
Строка 29: Строка 26:
 
=== Требования на зачет в конце 1-го модуля ===
 
=== Требования на зачет в конце 1-го модуля ===
 
Утилита формирует базу контрольных сумм файлов и отвечает при передачи ей пути
 
Утилита формирует базу контрольных сумм файлов и отвечает при передачи ей пути
файла: есть или нет этот файл в базе и соответствует ли контрольная сумма.
+
файла: есть или нет этот файл в базе, и соответствует ли контрольная сумма.
  
 
=== Итоговая оценка ===
 
=== Итоговая оценка ===
* '''4 балла'''. Требования на зачет в первом модуле и дополнительно реализованы
+
* '''4 балла'''. Требования на зачет в первом модуле и дополнительно реализованы возможности: добавления в базу новых файлов, обновлений контрольных сумм старых и проверка по всей базе.
возможности: добавления в базу новых файлов, обновлений контрольных сумм старый
+
* '''6 баллов'''. Программа реализована в виде демона, который осуществляет проверку по заданному расписанию с записью результатов в лог.
и проверка по все базе.
+
* '''8 баллов'''. Реализован модуль ядра, который перехватывает открытие файла на запись с последующей проверкой по его закрытию контрольной суммы.
* '''6 баллов'''. Программа реализована в виде демона, который осуществляет
+
* '''+1 балл'''. Уведомление по сети (email, jabber и т.п.).
проверку по заданному расписанию с записью результатов в лог.
+
* '''+1 балл'''. Поддержка регулярного выражения в путях.
* '''8 баллов'''. Реализован модуль ядра, который перехватывает открытие файла
+
на запись с последующей проверкой по его закрытию контрольной суммы.
+
* '''+1 балл'''. Уведомление по сети (email, jabber и тп).
+
* '''+1 балл'''. Поддержать регулярный выражения в путях.
+
 
* '''+2 балла'''. Перехватывание манипуляций с файлом.
 
* '''+2 балла'''. Перехватывание манипуляций с файлом.
 
* '''+2 балла'''. Контроль за атрибутами файла.
 
* '''+2 балла'''. Контроль за атрибутами файла.
 
* '''+2 балла'''. Многопоточный демон.
 
* '''+2 балла'''. Многопоточный демон.

Версия 18:18, 25 сентября 2015

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

Введение

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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