КС:2015:Проект:FileIntegrity: различия между версиями
Перейти к навигации
Перейти к поиску
Salagaev (обсуждение | вклад) Новая страница: «== Что это за проект == === Введение === Системы контроля целостности необходимы для обнаруж…» |
Romaha (обсуждение | вклад) 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 балла'''. Многопоточный демон. | ||
Версия от 15: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 балла. Многопоточный демон.