📄Работа №209464

Тема: Автоматическая версионность пользовательских документов для борьбы с вирусами-шифровальщиками

📝
Тип работы Дипломные работы, ВКР
📚
Предмет программирование
📄
Объем: 78 листов
📅
Год: 2021
👁️
Просмотров: 18
Не подходит эта работа?
Закажите новую по вашим требованиям
Узнать цену на написание
ℹ️ Настоящий учебно-методический информационный материал размещён в ознакомительных и исследовательских целях и представляет собой пример учебного исследования. Не является готовым научным трудом и требует самостоятельной переработки.

📋 Содержание

АННОТАЦИЯ 2
ВВЕДЕНИЕ 7
1 ВИРУСЫ-ШИФРОВАЛЬЩИКИ: ОСНОВНЫЕ ПОНЯТИЯ И МЕТОДЫ
БОРЬБЫ 9
1.1 Основные понятия 9
1.2 Статистика атак вирусов-вымогателей 12
1.3 Методы борьбы с вирусами-шифровальщиками 15
1.4 Классификация методов защиты от шифровальщиков 16
1.5 Требования к программному обеспечению 23
1.6 Выбор программных средств 25
1.7 Выводы по разделу 26
2 ОПТИМИЗАЦИЯ ХРАНЕНИЯ ВЕРСИЙ ПОЛЬЗОВАТЕЛЬСКИХ
ФАЙЛОВ 28
2.1 Задача сравнения файлов 28
2.2 Алгоритмы сравнения 28
2.2.1 Хеш-сумма 28
2.2.2 Алгоритмы сравнения основанные на LCS 30
2.2.2.1 Задача LCS 30
2.2.2.2 Алгоритм Хиршберга 32
2.2.2.3 Алгоритм Ханта - Шиманского 33
2.2.2.4 Разностный алгоритм Майерса 35
2.2.2.5 Дельта-кодирование 40
2.3 Методы сравнения бинарных файлов 42
2.3.1 Программы BSDIFF и VCDIFF 42
2.3.2 Программа RSync 42
2.3.3 Программа XDelta 44
2.4 Анализ методов сравнения файлов 44
2.5 Выбор места хранения 46
2.6 Выводы по разделу 48
3 ПРОЕКТИРОВАНИЕ И РЕАЛИЗАЦИЯ ПО ДЛЯ БОРЬБЫ С ВИРУСАМИ-
ШИФРОВАЛЬЩИКАМИ 49
3.1 Архитектура системы 49
3.2 Проектирование 51
3.3 Алгоритмы работы программы 55
3.4 Описание модулей и переменных 58
3.5 Инструкция пользователя 59
3.5 Тестирование ПО на наличие уязвимостей 66
3.6 Тестирование ПО на шифровальщиках 71
3.7 Выводы по разделу 75
ЗАКЛЮЧЕНИЕ 76
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 78
ПРИЛОЖЕНИЯ Ошибка! Закладка не определена.
ПРИЛОЖЕНИЕ 1 - Модуль «MainWindow.xaml.cs» Ошибка! Закладка не определена.
ПРИЛОЖЕНИЕ 2 - Модуль «SYF_User.cs» Ошибка! Закладка не
определена.
ПРИЛОЖЕНИЕ 3 - Модуль «FirstStartWindow.xaml.cs» Ошибка! Закладка не определена.
ПРИЛОЖЕНИЕ 4 - Модуль «FilesWindow.xaml.cs» . Ошибка! Закладка не определена.
ПРИЛОЖЕНИЕ 5 - Модуль «LogWindow.xaml.cs» .. Ошибка! Закладка не определена.
ПРИЛОЖЕНИЕ 6 - Модуль «NotificationWindow.xaml.cs» Ошибка!
Закладка не определена.
ПРИЛОЖЕНИЕ 7 - Модуль «TrayMenu.xaml.cs» Ошибка! Закладка не
определена.
ПРИЛОЖЕНИЕ 8 - Модуль «SettingsWindow.xaml.cs» ..Ошибка! Закладка не определена.
ПРИЛОЖЕНИЕ 9 - Модуль «FilesDB.cs» Ошибка! Закладка не
определена.
ПРИЛОЖЕНИЕ 10 - Модуль «SYF_File.cs» Ошибка! Закладка не
определена.
ПРИЛОЖЕНИЕ 11 - Модуль «SYF_ListChanges.cs» Ошибка! Закладка не определена.
ПРИЛОЖЕНИЕ 12 - Модуль «Config.cs» Ошибка! Закладка не
определена.

📖 Введение

В последние годы вирусы-шифровальщики стали огромной проблемой, как и для обычных пользователей ПК, так и для компаний и государственных учреждений. Главной их целью является обогащение за счет своих жертв. При этом, у преступников нет целей для возвращения пользовательских файлов в исходное и работоспособное состояние.
С каждым годом количество вирусов-вымогателей растет, то есть данный вид преступной деятельности приносит свои плоды и является актуальным. Шифровальщик может попасть на компьютер любой машины разными путями, однако результат будет один - файлы будут зашифрованы, а с пользователя будут требовать деньги за расшифровку. Помимо этого, шифровальщик может обладать дополнительными функциями, такими как размножение по локальной сети, шифрование загрузочных модулей операционной системы и т. д. Также большинство операций, связанных с вирусами- вымогателями, проводятся в криптовалюте, что упрощает работу хакерам.
Объектом исследования данной выпускной квалификационной работы являются вирусы-вымогатели, а точнее их подсемейство - шифровальщики. Предмет исследования - защита от шифровальщиков путем резервирования разных версий файлов.
Для того, чтобы защитится от таких вирусов, которые приводят файлы в негодное состояние, необходимо разработать ПО, которое будет заниматься автоматическим резервированием данных. Также, следует учитывать, что автоматическое резервирование данных может перезаписать текущую версию файла, поэтому также необходима версионность файлов, чтобы в случае какой-либо проблемы можно было откатиться на одну из предыдущих версий файла.
Таким образом, целью выпускной квалификационной работы является разработка ПО для автоматической версионности файлов (пользовательских документов) для борьбы с вирусами-шифровальщиками.
Задачи выпускной квалификационной работы.
1. Обзор методов борьбы с вирусами-шифровальщиками.
2. Сравнение алгоритмов генерации патчей бинарных файлов.
3. Разработка программы для защиты от вирусов-шифровальщиков.
4. Тестирование разработанной программы на наличие известных уязвимостей и моделирование работы приложения на существующих вирусах- шифровальщиках.

Возникли сложности?

Нужна качественная помощь преподавателя?

👨‍🎓 Помощь в написании

✅ Заключение

В ходе работы выпускной квалификационной работы было разработано программное обеспечение, обеспечивающее автоматическую версионность пользовательских документов в режимах оффлайн и онлайн.
Выполнен обзор вирусов-шифровальщиков. Статистика прироста подобных вирусов и получаемый доход от жертв показывают, что с каждым днем эта проблема становится куда более актуальнее, в сравнении с предыдущими годами.
Проведено сравнение разных методов борьбы с шифровальщиками. Рассмотрев коммерческие варианты решения данной проблемы, можно заметить, что не все из них могут выполнить главную задачу - спасение документов от шифровальщиков, и также они имеют немалую цену, минимум от 1000 рублей за год. В итоге самым лучшим вариантом оказался некоммерческий вариант ПО для автоматического резервирования документов, т. к. выполняется главная задача, а пользователь не платит за ее выполнение. Однако, другие методы, в том числе и коммерческие, могут быть полезны вместе с данным методом.
Для оптимизации хранения пользовательских документов была проведена оценка методов сравнения файлов по пунктам «Генерация патча» и «Применение патча» с критериями сравнения «Размер файла», «Размер патча» и «Затраченное время». Лучшим из выбранных показал себя xdelta - патчи весят мало, а затраченное время - довольно малое, примерно от 70 МС.
Разработаны архитектура системы, а также алгоритмы программы. Из архитектуры видно, что даже если шифровальщик попадет на компьютер - доступа к защищенной папки у него не будет. В случае шифрования загрузочной записи - пользователь сможет восстановить данные из облачного хранилища.
Реализовано программное обеспечение на основе архитектуры системы, алгоритмов работы ПО и спроектированного интерфейса пользователя. Задействованы дополнительные решения для реализации - библиотеки для работы с облачными хранилищами Google Drive и Dropbox. Для режима оффлайн предусмотрена защищенная папка, с которой происходит взаимодействие программы. Для режима онлайн предусмотрено резервирование базы файлов.
Проведено тестирование ПО на наличие уязвимостей. В итоге уязвимости не были найдены. Также выполнена проверка ПО на моделях шифровальщиков Bad Rabbit, WannaCry и Petya. В основном, такие шифровальщики обладают функцией замены загрузочной записи и шифрованием MFT- таблицы, что не дает пользователю попасть в операционную систему. Поэтому, единственный вариант в таком случае - переустановка ОС и ПО, а затем восстановление данных из архива с базой данных файлов с облачных хранилищ Google Drive и Dropbox.
Таким образом, все поставленные задачи были выполнены, а цель - разработать программное обеспечение для автоматической версионности пользовательских документов - достигнута. Разработанное программное обеспечение подходит для домашних ПК пользователей, для компаний требуется более продвинутое решение, с возможностями работы с сервером, аутентификацией сотрудников, и прочими функциями.
Была разработана ответная атака. Следующим этапом в эволюции шифровальщиков должна быть возможность взаимодействия с данными в облачных хранилищах. Для этого, они должны иметь API-ключ пользователя, однако получить данный ключ не так просто - программа сохраняет его в защищенную папку и так делает его недоступным другим пользователям, а пользователи, которые не пользуются данной программой - не нуждаются в генерации такого ключа, ведь вся их работа происходит через ПО облачных хранилищ.

Нужна своя уникальная работа?
Срочная разработка под ваши требования
Рассчитать стоимость
ИЛИ

📕 Список литературы

1 Программа-вымогатель - Википедия - URL: https://ru.wikipedia.org/ wiki/Программа-вымогатель (Дата обращения: 03.02.2021).
2 WannaCry - Википедия - URL: https://ru.wikipedia.org/wiki/WannaCry (Дата обращения: 03.02.2021).
3 Petya - Википедия - URL: https://ru.wikipedia.org/wiki/Petya (Дата обращения: 03.02.2021).
4 Bad Rabbit - Википедия - URL: https://ru.wikipedia.org/
wiki/Bad_Rabbit (Дата обращения: 03.02.2021).
5 CovidLock (вирус-вымогатель) - Википедия - URL: https://www. tadviser.ru/index.php/Статья:CovidLock_%28вирус-вымогатель%29 (Дата обращения: 03.02.2021).
6 Вирусы-вымогатели (шифровальщики) Ransomware - URL: https:// www.tadviser.ru/index.php/Статья:Вирусы-вымогатели_(шифровальщики)_ Ransomware (Дата обращения: 03.02.2021).
7 От вируса-вымогателя впервые погиб человек - URL: https://news. myseldon.com/ru/news/index/237655885 (Дата обращения: 03.02.2021).
8 Защита от шифровальщиков. Пошаговое руководство по защите от вирусов - Википедия - URL: https://club.esetnod32.ru/articles/analitika/ zashchita-ot-virusa-shifrovalshchika/ (Дата обращения: 03.02.2021).
9 Элсенпитер, Р. Администрирование сетей на платформе MS Windows Server : учебное пособие / Элсенпитер Р., Тоби Велт Дж. - Москва : Интуит НОУ, 2016. - 622 с. - ISBN 978-5-94774-858-1. - URL: https://book.ru/ book/917547 (Дата обращения: 17.05.2021). - Текст: электронный.
10 Algorithm and optimization of spatial search based on spatial search of
the tree - URL: https://perviydoc.ru/v18834/algorithm_and_optimization_of_
spatial_search_based_on_spatial_search_of_the_tree (Дата обращения:
03.02.2021).
11 Кузьмичев, А.Э. Программирование для Windows Phone для начинающих: курс лекций / Кузьмичев А.Э. - Москва: Интуит НОУ, 2016. - URL: https://book.ru/book/918113 (Дата обращения: 17.05.2021).
12 Обоснование выбора языка программирования - URL: https:// studbooks.net/2255060/informatika/obosnovanie_vybora_yazyka_programmirova niya (Дата обращения: 03.02.2021).
13 Как научиться программировать на C# - URL: http://1obuchenie.
com/kak-nauchitsya-programmirovat-na-c-sharp.html (Дата обращения:
03.02.2021).
14 Что такое хеш файла и как его узнать - URL: https://www. chaynikam.info/chto-takoe-hash-fayla-i-kak-ego-uznat.html (Дата обращения: 03.02.2021).
15 Наибольшая общая подпоследовательность - URL: https://wiki2.org/ ги/Наибольшая_общая_подпоследовательность (Дата обращения: 03.02.2021).
..30

🖼 Скриншоты

🛒 Оформить заказ

Работу высылаем в течении 5 минут после оплаты.

©2026 Cервис помощи студентам в выполнении работ