Details
| Title | Разработка прокси-сервера для анализа трафика протокола POP3: выпускная квалификационная работа магистра: направление 09.04.04 «Программная инженерия» ; образовательная программа 09.04.04_02 «Основы анализа и разработки приложений с большими объемами распределенных данных» = Development of a proxy server for analyzing POP3 protocol traffic |
|---|---|
| Creators | Котов Иван Валентинович |
| Scientific adviser | Воскобойников Сергей Петрович |
| Organization | Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности |
| Imprint | Санкт-Петербург, 2024 |
| Collection | Выпускные квалификационные работы ; Общая коллекция |
| Subjects | прокси-сервер ; анализ трафика ; проверка электронной почты ; proxy server ; traffic analysis ; email checking |
| Document type | Master graduation qualification work |
| Language | Russian |
| Level of education | Master |
| Speciality code (FGOS) | 09.04.04 |
| Speciality group (FGOS) | 090000 - Информатика и вычислительная техника |
| DOI | 10.18720/SPBPU/3/2024/vr/vr24-3977 |
| Rights | Доступ по паролю из сети Интернет (чтение) |
| Record key | ru\spstu\vkr\33441 |
| Record create date | 8/29/2024 |
Allowed Actions
–
Action 'Read' will be available if you login or access site from another network
| Group | Anonymous |
|---|---|
| Network | Internet |
Данная работа посвящена разработке прокси-сервера для анализа почты, передаваемой с помощью протокола POP3, соответствующего спецификации RFC 1939, RFC 2449. Задачи, которые решались в ходе исследования: 1. Выбор и построение архитектуры прокси-сервера. 2. Анализ спецификации протокола POP3 и проектирование системы разбора команд клиента и ответов сервера в соответствии с данной спецификацией. 3. Анализ возможных способов проверки обнаруженных в трафике электронных писем и возможностей их применения. 4. Построение версии программы для проведения фаззинг-тестирования. 5. Развёртывание тестовой среды с использованием докера. По результатам работы был создан прокси-сервер для анализа электронной почты передаваемой по протоколу POP3 при фаззинг-тестировании которого при более чем 50 циклах не было обнаружено ни одного падения или сохранённого таймаута при «стабильности» в 100%. Также было создано 3 docker-контейнера в одной подсети со статическими адресами на которых была выполнена проверка разработанной системы в целевых условиях.
This work is devoted to the development of a proxy server for analyzing mail transmitted using the POP3 protocol, which complies with RFC 1939 and RFC 2449 specification. The tasks that were solved during the study: 1. Choosing and building a proxy server architecture. 2. Analysis of the POP3 protocol specification and design of a system for parsing client commands and server responses in accordance with this specification. 3. Analysis of possible ways to check detected emails in the traffic and the possibilities of their use. 4. Building a version of the program for fuzzing testing. 5. Deploying a test environment using docker Based on the results of the work, a proxy server was created to analyze e-mail transmitted over the POP3 protocol, during fuzzing testing of which, for more than 50 cycles, not a single drop or saved timeout was detected with "stability" of 100%. Also, 3 docker containers were created in the same subnet with static addresses on which the developed system was checked under target conditions.
| Network | User group | Action |
|---|---|---|
| ILC SPbPU Local Network | All |
|
| Internet | Authorized users SPbPU |
|
| Internet | Anonymous |
|
- Введение
- ГЛАВА 1. Выбор и построение архитектуры прокси-сервера
- 1.1. Технологии проксирования
- 1.1.1. Проксирование на уровне Ethernet-пакетов
- 1.1.2. Проксирование на прикладном уровне
- 1.1.3. Другие технологии проксирования
- 1.2. Выбор компонентов и технологий прокси-сервера
- 1.2.1. Выбор языка программирования
- 1.2.2. Библиотека BOOST
- 1.2.3. Библиотека OpenSSL
- 1.2.4. Библиотека Ragel
- 1.2.5. Библиотека GMIME
- 1.3. Архитектура прокси-сервера
- 1.3.1. Высокоуровневая архитектура прокси-сервера
- 1.1. Технологии проксирования
- ГЛАВА 2. Построение анализатора протокола POP3
- 2.1. Изучение спецификации протокола POP3
- 2.1.1. Базовые принципы
- 2.1.2. Этап авторизации
- 2.1.3. Этап транзакции
- 2.2. Построение анализатора протокола POP3
- 2.2.1. Создание правила сборки исходников на ragel
- 2.2.2. Написание конечного автомата для POP3
- 2.2.3. Построение алгоритма управления очередями
- 2.1. Изучение спецификации протокола POP3
- ГЛАВА 3. Анализ возможных способов проверки почты
- 3.1. Использование GMime
- 3.1.1. Анализ заголовков письма
- 3.1.2. Анализ содержимого письма
- 3.2. Использование внешних программ
- 3.2.1. Использование скрипта и антивируса
- 3.2.2. Использование сокетов для отправки писем на проверку
- 3.1. Использование GMime
- ГЛАВА 4. Подготовка программы для фаззинг-тестирования
- 4.1. Фаззинг-тестирование
- 4.1.1. Требования для фаззинга
- 4.1.2. Подготовка исходного набора данных
- 4.1.3. Инструментирование
- 4.1.4. Сбор статистики покрытия кода
- 4.1. Фаззинг-тестирование
- ГЛАВА 5. Развёртывание тестовой среды.
- 5.1. Docker
- 5.1.1. Создание контейнеров
- 5.1. Docker
- Заключение
- ГЛАВА 1. Выбор и построение архитектуры прокси-сервера
- Список использованных источников
- Приложение 1. Dockerfile почтового сервера
- Приложение 2. Скрипт сборки статистики покрытия кода
- Приложение 3. Скрипт для подключения к серверу
- Приложение 4. Скрипт для вывода запросов POP3