Разработка серверной и агентной частей распределенной системы для перебора хешей

Раздел
Программирование
Просмотров
26
Покупок
0
Антиплагиат
Не указан
Размещена
2 Апр в 14:27
ВУЗ
2025
Курс
Не указан
Стоимость
2 500 ₽
Файлы работы   
1
Каждая работа проверяется на плагиат, на момент публикации уникальность составляет не менее 40% по системе проверки eTXT.
pdf
вкр
1016.6 Кбайт
Описание

Работа посвящена созданию распределённого комплекса, который ускоряет перебор хешей за счёт координации нескольких графических процессоров и предоставляет удобный пользовательский интерфейс через Telegram-бота.

Задачи, которые решались в ходе исследования

1.Изучены существующие методы перебора хешей и open-source-системы, выявлены требования к производительности и надёжности.

2.Проектирование архитектуры.

3.Разработаны серверная и агентная части системы. Все модули упакованы в Docker-контейнеры и управляются Docker-compose.

4.Испытания и оценка масштабируемости.

5.Формулирование рекомендаций.

В итоге создан отказоустойчивый серверный контур, автоматически распределяющий задачи и сохраняющий результаты. Реализован безопасный поток «приём расшифровка обработка уведомление» через Telegram-бота. Показана простота масштабирования. Система демонстрирует устойчивую работу на реальном оборудовании и готова к применению в задачах кибербезопасности и восстановления данных.

В ходе выполнения работы использовались следующие информационные технологии и ресурсы: язык программирования Python 3.12; брокер сообщений RabbitMQ 3; СУБД PostgreSQL 16; инструмент перебора паролей Hashcat 6.2 в связке с платформой NVIDIA CUDA 12; библиотека aiogram 3 для Telegram-бота; средства контейнеризации Docker и Docker-compose; веб-визор Flower для мониторинга; система контроля версий Git с репозиторием на GitHub; а также облачные сервисы GitHub Actions (CI/CD) и Docker Hub.

Оглавление

СПИСОК ИЛЛЮСТРАЦИЙ ...................................................................................... 7

ПЕРЕЧЕНЬ ТАБЛИЦ .................................................................................................. 8

СПИСОК СОКРАЩЕНИЙ И ОПРЕДЕЛЕНИЙ ....................................................... 9

ВВЕДЕНИЕ ................................................................................................................ 10

1.ОБЗОР ПРЕДМЕТНОЙ ОБЛАСТИ ..................................................................... 14

1.1.Общие сведения о криптографических хеш-функциях ................................. 14

1.1.1. Принципы работы хеш-функций ................................................................... 14

1.1.2. Виды и применение хеш-функций ................................................................ 15

1.2.Методы перебора хешей .................................................................................... 17

1.2.1. Прямой перебор (brute-force) ......................................................................... 17

1.2.2. Словарный перебор (dictionary attack) .......................................................... 18

1.2.3. Комбинированные и масочные атаки ........................................................... 18

1.3.Обзор существующих решений ........................................................................ 19

1.3.1.Распределенные системы перебора хешей (Kraken) ................................... 19

1.3.2.Анализ преимуществ и недостатков существующих систем ..................... 20

1.4.Технологии для реализации распределённых систем .................................... 21

1.4.1. Асинхронная обработка данных (Celery, RabbitMQ) .................................. 21

1.4.2. Использование GPU для вычислительных задач (Hashcat, CUDA) ........... 21

1.4.3. Средства контейнеризации (Docker) ............................................................. 22

1.4.4. Telegram-бот как интерфейс взаимодействия .............................................. 23

1.5.Выводы ................................................................................................................ 23

2.АРХИТЕКТУРА ПРЕДЛАГАЕМОГО РЕШЕНИЯ ............................................ 24

2.1.Общая архитектура предлагаемой системы .................................................... 24

2.1.1.Компоненты системы (сервер, агент, клиенты) ........................................... 24

2.1.2.

Протокол взаимодействия компонентов....................................................... 25

2.2.Архитектура серверной части ........................................................................... 26

2.2.1.Сервер управления задачами ......................................................................... 26

2.2.2.Хранение данных (PostgreSQL) ..................................................................... 27

2.2.3.Мониторинг и логирование ............................................................................ 28

2.3.Архитектура агентной части ............................................................................. 28

2.3.1.Telegram-бот (aiogram) .................................................................................... 28

2.3.2.Обработка файлов и взаимодействие с сервером ........................................ 30

2.4.Выбор и обоснование используемого стека технологий ............................... 31

2.5.Выводы ................................................................................................................ 32

3.РЕАЛИЗАЦИЯ РЕШЕНИЯ .................................................................................. 33

3.1.Реализация серверной части ............................................................................. 33

3.1.1.Асинхронное управление задачами (Celery и RabbitMQ) ........................... 33

3.1.2.Реализация распределения вычислительных задач на GPU ....................... 34

3.1.3.Реализация системы хранения и управления результатами перебора ...... 35

3.1.4.Реализация мониторинга клиентов ............................................................... 36

3.2.Реализация агентной части ................................................................................ 37

3.2.1.Интерфейс взаимодействия с пользователями через Telegram .................. 37

3.2.2.Загрузка и расшифровка GPG-файлов .......................................................... 37

3.2.3.Передача задач и получение результатов от сервера .................................. 38

3.3.Среда развертывания ......................................................................................... 38

3.4.Примеры исходного кода .................................................................................. 39

3.4.1.Ключевые алгоритмы и методы .................................................................... 40

3.4.2.Настройка конфигурационных файлов ......................................................... 41

3.5.Выводы ................................................................................................................ 43

4.РЕЗУЛЬТАТЫ РАБОТЫ ...................................................................................... 44

4.1.Демонстрация работы разработанной системы ............................................... 44

4.1.1.Демонстрация работы ..................................................................................... 44

4.1.2.Сценарий использования системы пользователем ...................................... 46

4.1.3.Примеры выполненных задач и полученных результатов ......................... 46

4.2.Оценка производительности системы.............................................................. 47

4.2.1.Методика тестирования .................................................................................. 47

4.2.2.Результаты нагрузочного тестирования и анализа масштабируемости .... 48

4.3.Возможности расширения и дальнейшего развития системы....................... 50

4.4.Выводы ................................................................................................................ 51

ЗАКЛЮЧЕНИЕ.......................................................................................................... 52

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ .................................................. 54

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

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

1.Menezes A. J., Vanstone S. A., Oorschot P. C. Handbook of Applied Cryptography. CRC Press, 1996. 784 pp.

2.Hinchey M. Software Technology: 10 Years of Innovation in IEEE Computer. 2018. Schneier B. Applied Cryptography: Protocols, Algorithms, and Source Code in C. 2nd Edition. Wiley, 1996. 784 pp.

3.Kessler G. C. The Art of Computer Virus Research and Defense. 2nd Edition. Addison-Wesley Professional, 2004. 400 pp.4.Dumitru M. Mastering Python for Networking and Security: A Practical Guide to Defend Your Networks with Effective Python Scripts. Packt Publishing, 2021. 350 pp.

5.Cormen T. H., Leiserson C. E., Rivest R. L., Stein C. Introduction to Algorithms. 3rd Edition. MIT Press, 2009. 1312 pp.

всего 10 источников

Вам подходит эта работа?
Похожие работы
Другие работы автора
Прямой эфир