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
Read
Internet Authorized users SPbPU
Read
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. Высокоуровневая архитектура прокси-сервера
    • ГЛАВА 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. Построение алгоритма управления очередями
    • ГЛАВА 3. Анализ возможных способов проверки почты
      • 3.1. Использование GMime
        • 3.1.1. Анализ заголовков письма
        • 3.1.2. Анализ содержимого письма
      • 3.2. Использование внешних программ
        • 3.2.1. Использование скрипта и антивируса
        • 3.2.2. Использование сокетов для отправки писем на проверку
    • ГЛАВА 4. Подготовка программы для фаззинг-тестирования
      • 4.1. Фаззинг-тестирование
        • 4.1.1. Требования для фаззинга
        • 4.1.2. Подготовка исходного набора данных
        • 4.1.3. Инструментирование
        • 4.1.4. Сбор статистики покрытия кода
    • ГЛАВА 5. Развёртывание тестовой среды.
      • 5.1. Docker
        • 5.1.1. Создание контейнеров
    • Заключение
  • Список использованных источников
  • Приложение 1. Dockerfile почтового сервера
  • Приложение 2. Скрипт сборки статистики покрытия кода
  • Приложение 3. Скрипт для подключения к серверу
  • Приложение 4. Скрипт для вывода запросов POP3
...