Лаба 6
.docxМИНИСТЕРСВТО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное образовательное бюджетное учреждение
Высшего профессионального образования
«Санкт-Петербургский государственный университет телекоммуникаций
им. проф. М. А. Бонч-Бруевича
Факультет Инфокоммуникационных сетей и систем
Кафедра Защищенных систем связи
ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №6
Установка и настройка средств контроля целостности данных
(тема отчета)
Направление/специальность подготовки:
10.03.01 Информационная безопасность
(код и наименование направления/специальности)
Студенты:
(Ф.И.О., № группы) (подпись)
Руководитель:
к.т.н. Шемякин С.Н.
( Ф.И.О.) (подпись)
Цель работы:
Ознакомление с установкой и настройкой средства тестирования целостности данных
Задание:
Cклонируйте проект Filesystemintegrity.sh и перейдите в директорию с проектом
Используемое программное обеспечение:
Unix подобная система или WSL на Windows
Проект с GitHub
Выполнение:
В качестве субъектов нашего тестирования будут выступать:
Рис. 1 Содержимое папки для тестирования
Baseline.sh — собственно наш скрипт
Его синтаксис таков: bash baseline.sh -d <директория, файлы которой мы должны обработать> [файл1] [файл2 (с которым мы сравниваем)]
Changedcontent.txt — файл, содержание которого будет подвержено изменению
Changedname.txt — файл, название которого мы поменяем, в результате чего программа посчитает, что оригинальный файл с названием "changedname.txt" был перемещён
Deletedfile.txt — файл, который мы удалим
Keptcalm.txt — файл, который мы не будем трогать
Шаг 0: Настройка прав доступа
Настроим права доступа, для запуска скрпита в ходе выполнения ЛР.
В bash консоли прописывыем слудующую команду: chmod +x baseline.sh
Шаг 1: Сбор информации
Первым делом нужно собрать информацию о нынешнем положении файлов в директории /home/hamman/Desktop/test, сохраним эту информацию в файл gathered1.txt
В bash консоли прописывыем слудующую команду:
bash baseline.sh –d /путь_до_папки_test/test gathered1.txt
Откроем появившийся файл gathered1.txt
Рис. 2. Ожидаемый листинг файла gathered1.txt
Как видим, в gathered1.txt записались данные типа:
Hash -> имя файла Стоит отметить, что gathered1.txt тоже будет учитываться, ибо мы сначала его создаём, а потом уже проходимся по всем файлам.
Шаг 2: Модификация файла
Произведем изменения следующие изменения:
Изменим имя файла с changedname.txt на changedname1.txt
А файл deletedfile.txt удалим.
Рис. 3. Содержимое директории test до преобразований
Рис. 4. Содержимое директории test после преобразований
Шаг 3: Проверка изменений
Снова вызовем наш скрипт:
bash baseline.sh –d /путь_до_папки_test/test gathered1.txt gathered2.txt
Что же он делает:
У нас имеется файл gathered1.txt, содержащий информацию по состоянию файлов ДО их изменения. Согласно логике нашего скрипта, мы его должны сравнить с файлом, который содержит информацию по состоянию файлов ПОСЛЕ их изменения, а у нас нет этого файла… Но мы предусмотрели этот ход событий, поэтому если указать второй файл, в случае если его отсутствия, он создастся и запишет в себя информацию по нынешнему состоянию файлов.
Сперва создастся файл gathered2.txt, а потом уже будет произведено сравнение. Давайте попробуем проследить за изменениями, которые произошли на основании файлов gathered1.txt и gathered2.txt
Откроем оба файла:
Рис. 5. Листинги gathered1.txt и gathered2.txt
Если заглянуть в вывод нашего скрипта, увидим ровно эту же информацию
Рис. 6. Output скрипта
gathered1.txt на самом деле не был изменён. Просто хеш файла gathered1.txt был вычислен тогда, когда он был ещё пустой. А при создании gathered2.txt был вычислен хеш уже заполненного данными gathered1.txt
Вывод: ознакомились с установкой и настройкой средства тестирования целостности данных.
Санкт-Петербург 2022