Тема: Автоматическая версионность пользовательских документов для борьбы с вирусами-шифровальщиками
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
ВВЕДЕНИЕ 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-ключ пользователя, однако получить данный ключ не так просто - программа сохраняет его в защищенную папку и так делает его недоступным другим пользователям, а пользователи, которые не пользуются данной программой - не нуждаются в генерации такого ключа, ведь вся их работа происходит через ПО облачных хранилищ.





