Отчет по практикеИнформационная безопасностьГод: 2025ЧелГУ: Челябинский государственный университет
👁 13💼 0

Отчет по производственной практике: разработка системы выявления DDoS-атак

Загружена: 16.04.2026 16:03

Отчет по производственной практике в ПАО «Ростелеком» посвящен проектированию системы обнаружения DDoS-атак. В работе рассмотрены UML-диаграммы, база данных, архитектура модулей и Python-прототип с тестированием на SYN flood и UDP flood.

Содержание

Содержание

Введение	9
1. Общая характеристика места прохождения практики	11
1.1. Сведения о ПАО «Ростелеком»	11
1.2. Организационная структура подразделения, в котором проходила практика	12
1.3. Основные направления деятельности компании в области информационной безопасности	13
1.4. Используемые технологии и программные средства	14
2. Цель и задачи производственной (преддипломной) практики	15
2.1. Цель практики	15
2.2. Индивидуальные задания (по данным задания)	15
2.3. Связь темы практики с темой ВКР: обнаружение и предотвращение DDoS-атак	16
3. Аналитическая часть	16
3.1. Анализ исходных условий и постановка задачи	16
3.2. Анализ существующих подходов и систем обнаружения DDoS-атак	17
3.3. Выбор жизненного цикла разработки программного обеспечения	18
3.4. Требования к разрабатываемой системе	19
3.5. Процесс согласования требований с руководителями практики	20
4. Проектирование программного продукта	21
4.1. Диаграмма вариантов использования (Use Case) и описание акторов	21
4.2. Проектирование архитектуры системы	21
4.3. Проектирование базы данных	22
4.4. Проектирование диаграммы классов	23
4.5. Проектирование внутренних компонентов системы	23
5. Реализация программного продукта	24
5.1. Общее описание реализации	24
5.2. Программные модули	24
5.3. Инструменты разработки	25
5.4. Особенности реализации механизмов обнаружения DDoS-атак	26
5.5. Тестирование отдельных компонентов системы	27
6. Результаты работы и анализ эффективности	27
6.1. Оценка соответствия результата поставленным задачам	27
6.2. Оценка качества и корректности работы созданных компонентов	28
6.3. Возможности применения в реальных условиях ПАО «Ростелеком»	29
6.4. Выявленные проблемы и пути их решения	29
6.5. Перспективы дальнейшего развития программного продукта	29
Заключение	31
Список использованных источников	33
Приложения	35
Приложение А – Программный код	35

Введение

Производственная (преддипломная) практика является важным этапом подготовки будущего специалиста в области информационных технологий и позволяет применить теоретические знания в условиях реальной профессиональной деятельности. В период практики студент получает возможность ознакомиться с принципами организации работы предприятия, изучить используемые технологии, освоить современные методы разработки программных решений, а также приобрести навыки анализа, проектирования и реализации программных систем.
Практика проходила в ПАО «Ростелеком» — ведущем российском провайдере цифровых услуг и решений, обеспечивающем функционирование критически важной инфраструктуры связи. Одним из ключевых направлений деятельности компании является обеспечение информационной безопасности сетей и сервисов, включая защиту от кибератак различного типа. В условиях роста числа распределённых атак отказа в обслуживании (DDoS-атак) особую значимость приобретает применение современных методов мониторинга, анализа сетевого трафика и автоматизированного обнаружения аномалий.
Тема выпускной квалификационной работы — «Обнаружение DDoS-атак и защита от них», что напрямую связано с направленностью выполняемых в ходе практики задач. Основной целью прохождения практики являлось изучение технологий обеспечения безопасности сетевого трафика, анализ существующих систем противодействия DDoS-атакам, а также разработка архитектурных, модельных и программных решений, необходимых для построения программного компонента, способного обнаруживать признаки распределённых атак.
В рамках индивидуального задания студенту предстояло выполнить анализ требований, разработать диаграммы вариантов использования, спроектировать базу данных и архитектуру программного продукта, создать диаграмму классов, а также реализовать фрагменты программного кода, соответствующие функционалу будущей системы. Особое внимание уделялось построению системы, способной анализировать сетевые данные, определять аномальные паттерны поведения и обеспечивать предварительное оповещение о возможных атаках.
Практика позволила углубить понимание методов обеспечения сетевой безопасности, освоить современные подходы к проектированию программных систем, а также получить опыт разработки решений, которые могут быть применены в реальных условиях эксплуатации инфраструктуры ПАО «Ростелеком». Полученные результаты станут основой для дальнейшей работы над выпускной квалификационной работой.

Заключение

Производственная (преддипломная) практика, проходившая на базе ПАО «Ростелеком», позволила студенту закрепить теоретические знания, полученные в ходе обучения, и применить их в условиях реальной профессиональной деятельности, связанной с обеспечением информационной безопасности и защитой сетевой инфраструктуры. В ходе работы были изучены основные принципы организации деятельности оператора связи, особенности функционирования его сетевой инфраструктуры и методы противодействия современным киберугрозам.
Одной из ключевых целей практики являлось освоение подходов к обнаружению и предотвращению DDoS-атак, что напрямую связано с темой выпускной квалификационной работы. Аналитический этап позволил изучить существующие модели выявления аномалий в сетевом трафике, особенности сигнатурных, статистических и поведенческих методов, а также определить их применимость для решения поставленной задачи. На основе анализа были сформированы требования к разрабатываемой системе и определены её функциональные и нефункциональные характеристики.
В процессе проектирования был разработан комплекс архитектурных решений, включающий диаграмму вариантов использования, архитектурную модель системы, ER-диаграмму базы данных, диаграмму классов и структуру внутренних компонентов. Эти материалы сформировали основу для дальнейшей реализации программного продукта.
На этапе разработки была создана модульная система, включающая компоненты для обработки данных, анализа сетевой активности и выявления аномалий. Реализованы программные классы User и Record, модули AuthManager и Database, а также алгоритмы статистической обработки трафика. Проведённые тестирования подтвердили корректность функционирования системы, её способность выявлять характерные признаки DDoS-атак и формировать уведомления о потенциальных угрозах.
Полученные результаты свидетельствуют о том, что поставленные задачи были успешно выполнены: разработанный программный продукт соответствует требованиям, сформулированным в ходе практики, и может быть использован как в образовательных целях, так и в качестве дополнительного аналитического инструмента в рамках процессов информационной безопасности ПАО «Ростелеком». При этом выявленные ограничения и проблемы могут быть устранены в дальнейшем путём расширения функциональности системы, оптимизации алгоритмов анализа и внедрения методов машинного обучения.
Практика позволила сформировать профессиональные навыки анализа, проектирования и разработки программных систем, связанных с обеспечением безопасности сетевого трафика, а также дала ценный опыт взаимодействия с реальной корпоративной инфраструктурой. Полученные знания и результаты работы будут использованы при подготовке и написании выпускной квалификационной работы по теме обнаружения и предотвращения DDoS-атак.

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

ГОСТ Р 56939–2016. Информационная технология. Методы и средства обеспечения безопасности. Защита от атак типа «отказ в обслуживании» (DoS). — М.: Стандартинформ, 2016.
ГОСТ Р 51275–2006. Защита информации. Основные термины и определения. — М.: Стандартинформ, 2006.
Федеральный закон № 187-ФЗ от 26.07.2017 «О безопасности критической информационной инфраструктуры Российской Федерации».
Федеральный закон № 149-ФЗ «Об информации, информационных технологиях и о защите информации» от 27.07.2006.
Министерство цифрового развития РФ. Методические рекомендации по обеспечению безопасности государственных информационных систем. — М., 2021.
Mirkovic J., Reiher P. A taxonomy of DDoS attacks and DDoS defense mechanisms // ACM SIGCOMM Computer Communication Review. — 2004. — Vol. 34(2). — P. 39–53.
Douligeris C., Mitrokotsa A. DDoS Attacks and Defense Mechanisms: Classification and State-of-the-Art // Computer Networks. — 2004. — Vol. 44. — P. 643–666.
Zargar S. T., Joshi J., Tipper D. A survey of defense mechanisms against distributed denial of service (DDoS) flooding attacks // IEEE Communications Surveys & Tutorials. — 2013. — Vol. 15(4). — P. 2046–2069.
Beitollahi H., Deconinck G. Analyzing well-known countermeasures against distributed denial of service attacks // Computer Communications. — 2012. — Vol. 35. — P. 1312–1332.
Куликов Г. В. Методы обнаружения аномалий в сетевом трафике. — М.: Лаборатория знаний, 2020. — 312 с.
Студеникин М. И. Информационная безопасность: учебник. — М.: Юрайт, 2021.
Протасов А. В., Чечулин А. А., Купреев Г. А. Методы анализа трафика и предотвращения DDoS-атак. — М.: Бином, 2019.
Документация ПАО «Ростелеком»: Материалы по эксплуатации систем мониторинга и обеспечению кибербезопасности. — Внутренние документы предприятия, 2024.
Cisco Systems. Understanding DDoS Attacks. — Cisco Whitepaper, 2023.
Cloudflare. DDoS Attack Trends Report. — Cloudflare Research, 2023.
OWASP Foundation. OWASP Top 10 — 2021.
Wireshark Foundation. Wireshark User Guide. — 2024.
Python Software Foundation. Python 3 Documentation. — 2024.
PostgreSQL Global Development Group. PostgreSQL Documentation. — 2024.
Solar Security. Руководство пользователя SIEM-системы Solar JSOC. — М., 2023.
Приложения
Приложение А – Программный код
import hashlib
from datetime import datetime
class User:
"""
Класс User реализует сущность пользователя системы мониторинга.
Хранит имя пользователя, хэш пароля и его роль.
"""
def __init__(self, username: str, password: str, role: str = "analyst"):
self.username = username
self.password_hash = self._hash_password(password)
self.role = role
self.created_at = datetime.now()
def _hash_password(self, raw_password: str) -> str:
return hashlib.sha256(raw_password.encode("utf-8")).hexdigest()
def check_password(self, password: str) -> bool:
"""Проверка корректности введённого пароля."""
return self.password_hash == self._hash_password(password)
def __repr__(self):
return f"<User {self.username} ({self.role})>"
from dataclasses import dataclass
from datetime import datetime
@dataclass
class Record:
"""
Record — запись данных о сетевом трафике за определённый интервал времени.
Используется анализатором для обнаружения аномалий.
"""
timestamp: datetime
source_ip: str
packets: int
bytes_count: int
@property
def load_speed(self) -> float:
"""Возвращает примерную скорость передачи трафика."""
return self.bytes_count / 1024  # KB/s
import sqlite3
from typing import List
from record import Record
class Database:
"""
Модуль Database обеспечивает сохранение и выборку данных.
Для примера используется SQLite.
"""
def __init__(self, db_path="traffic.db"):
self.connection = sqlite3.connect(db_path)
self._create_tables()
def _create_tables(self):
cursor = self.connection.cursor()
cursor.execute("""
CREATE TABLE IF NOT EXISTS traffic (
id INTEGER PRIMARY KEY AUTOINCREMENT,
timestamp TEXT,
source_ip TEXT,
packets INTEGER,
bytes_count INTEGER
)
""")
self.connection.commit()
def insert_record(self, record: Record):
cursor = self.connection.cursor()
cursor.execute("""
INSERT INTO traffic (timestamp, source_ip, packets, bytes_count)
VALUES (?, ?, ?, ?)
""", (record.timestamp.isoformat(), record.source_ip, record.packets, record.bytes_count))
self.connection.commit()
def get_last_records(self, limit: int = 100) -> List[Record]:
cursor = self.connection.cursor()
cursor.execute("""
SELECT timestamp, source_ip, packets, bytes_count
FROM traffic ORDER BY id DESC LIMIT ?
""", (limit,))
rows = cursor.fetchall()
return [
Record(datetime.fromisoformat(r[0]), r[1], r[2], r[3])
for r in rows
]
from typing import List
from record import Record
class Analyzer:
"""
Analyzer выполняет простейший статистический анализ трафика
и определяет признаки возможной DDoS-атаки.
"""
def __init__(self, packets_threshold: int = 50000, ip_threshold: int = 200):
self.packets_threshold = packets_threshold
self.ip_threshold = ip_threshold
def detect_packet_spike(self, records: List[Record]) -> bool:
"""Обнаружение резкого повышения числа пакетов."""
total_packets = sum(r.packets for r in records)
return total_packets > self.packets_threshold
def detect_ip_distribution(self, records: List[Record]) -> bool:
"""Обнаружение массовой атаки от множества IP-адресов."""
unique_ips = {r.source_ip for r in records}
return len(unique_ips) > self.ip_threshold
def analyze(self, records: List[Record]) -> dict:
"""Возвращает словарь со статусом обнаруженных аномалий."""
return {
"packet_spike": self.detect_packet_spike(records),
"wide_distribution": self.detect_ip_distribution(records)
}
from datetime import datetime
class AlertManager:
"""
AlertManager формирует уведомления о выявленных аномалиях и событиях безопасности.
"""
def __init__(self):
self.alerts = []
def create_alert(self, alert_type: str, severity: str, description: str):
alert = {
"timestamp": datetime.now(),
"type": alert_type,
"severity": severity,
"description": description
}
self.alerts.append(alert)
print(f"[ALERT] {severity.upper()}: {description}")
def get_alerts(self):
return self.alerts
from datetime import datetime
from record import Record
from database import Database
from analyzer import Analyzer
from alert_manager import AlertManager
def main():
# Инициализация модулей
db = Database()
analyzer = Analyzer()
alerts = AlertManager()
# Пример записи трафика
sample_records = [
Record(datetime.now(), "185.64.10.23", 35000, 2_000_000),
Record(datetime.now(), "79.140.18.45", 42000, 1_800_000),
Record(datetime.now(), "91.200.14.7", 50000, 1_200_000)
]
# Сохранение в БД
for r in sample_records:
db.insert_record(r)
# Анализ последних данных
recent_data = db.get_last_records(limit=50)
results = analyzer.analyze(recent_data)
# Реакция на обнаруженные аномалии
if results["packet_spike"]:
alerts.create_alert(
"packet_spike",
severity="high",
description="Резкое увеличение числа пакетов в единицу времени"
)
if results["wide_distribution"]:
alerts.create_alert(
"wide_distribution",
severity="critical",
description="Обнаружено аномально большое количество уникальных IP-адресов"
)
if __name__ == "__main__":
main()

Подробное описание

📘 О чем эта работа

Материал посвящен производственной практике в ПАО «Ростелеком» и связан с темой выпускной квалификационной работы по обнаружению DDoS-атак и защите от них. В центре внимания — проектирование программного компонента для мониторинга сетевого трафика, выявления аномалий и формирования предупреждений о возможной атаке.

В работе показано, как из требований подразделения по кибербезопасности формируется структура будущей системы: от описания вариантов использования до реализации базовых классов и модулей на Python. Отдельно рассмотрены особенности защиты сетевой инфраструктуры оператора связи и подходы к предварительной диагностике вредоносной нагрузки.

📚 Что внутри

Содержание опирается на реальные этапы практики и включает проектирование, реализацию и проверку прототипа:

  • сведения о ПАО «Ростелеком», его роли как крупного оператора цифровых услуг и о подразделении, связанном с кибербезопасностью;
  • анализ подходов к обнаружению DDoS-атак: сигнатурного, статистического и поведенческого;
  • описание требований к системе: прием трафика, сравнение с нормой, выявление аномалий, журналирование и уведомления;
  • Use Case-диаграмма с акторами «аналитик ИБ», «администратор системы» и «внешний источник трафика»;
  • проектирование архитектуры из уровней сбора данных, анализа, хранения и визуализации;
  • ER-модель базы данных с сущностями User, TrafficRecord, Alert и Threshold;
  • диаграмма классов и внутренняя модульная структура: Analyzer, AlertManager, Database, AuthManager;
  • Python-код для записи записей трафика, простого статистического анализа и генерации уведомлений;
  • тестирование на примерах SYN flood и UDP flood, а также проверка работы хранения и авторизации;
  • выводы о возможностях развития: переход на PostgreSQL, внедрение ML-моделей и веб-интерфейса.

📊 Для кого подходит

Подойдет студентам 3–4 курса направлений «Программная инженерия», «Информационная безопасность» и смежных ИТ-специальностей, которым нужен отчет по производственной или преддипломной практике с акцентом на проектирование и разработку программного решения.

✨ Особенности

Сильная сторона материала — практическая ориентация. Здесь не только описана теория DDoS-атак, но и показано, как оформить полноценную схему решения: требования, UML-модели, структуру БД, набор классов и логику реагирования на аномалии. В тексте использованы конкретные инструменты разработки: Python, NumPy, Pandas, SQLite, PostgreSQL, logging, tcpdump, Wireshark и Git.

Прототип строится на понятных статистических правилах: скользящее среднее, пороговые значения, z-score и эвристики для фиксации всплесков пакетов и аномально большого числа IP-источников. Это делает работу удобной основой для доработки под веб-сервис, SIEM-интеграцию или учебный стенд по сетевой безопасности.

❓ Частые вопросы

Подойдет ли для моего ВУЗа?
Да, структура соответствует типичному отчету по производственной практике: есть введение, главы, заключение, список источников и приложения.

Можно адаптировать?
Да, материал легко подстраивается под требования кафедры, конкретную организацию практики и тему ВКР.