Details
| Title | Автоматизация настройки и верификация требований безопасности для операционных систем и программного обеспечения: выпускная квалификационная работа магистра: направление 09.04.04 «Программная инженерия» ; образовательная программа 09.04.04_04 «ИТ - инфраструктура предприятия» = Automation of configuration and verification of security requirements for operating systems and software |
|---|---|
| Creators | Соколов Иван Александрович |
| Scientific adviser | Никифоров Игорь Валерьевич |
| Organization | Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности |
| Imprint | Санкт-Петербург, 2026 |
| Collection | Выпускные квалификационные работы ; Общая коллекция |
| Document type | Master graduation qualification work |
| Language | Russian |
| Level of education | Master |
| Speciality code (FGOS) | 09.04.04 |
| Speciality group (FGOS) | 090000 - Информатика и вычислительная техника |
| Rights | Текст не доступен в соответствии с распоряжением СПбПУ от 13.06.2017 г. № 91 |
| Additionally | New arrival |
| Record key | ru\spstu\vkr\45538 |
| Record create date | 9/10/2026 |
Целью выпускной работы является разработка метода сквозной автоматизации настройки и верификации требований безопасности операционных систем и программного обеспечения, а также его реализация в виде программного комплекса. Подход основан на динамическом формировании исполняемых Ansible-сценариев непосредственно из структурированного табличного реестра требований безопасности без предварительного написания сценариев вручную. В работе представлены архитектура и описание реализации программного комплекса, включающего модули парсинга реестра требований, классификации требований по типу, извлечения команд аудита и исправлений, генерации Ansible-playbook, а также REST API и веб-интерфейс управления процессом аудита. Комплекс обеспечивает поддержку произвольно структурированных табличных реестров требований и реализует полный цикл от загрузки реестра до получения структурированного отчёта о соответствии с опциональным автоматическим применением исправлений на целевых системах под управлением Linux-дистрибутивов. Эффективность предложенного метода оценивалась в ходе экспериментального исследования на изолированном стенде с целевыми виртуальными машинами под управлением отечественных операционных систем с реестрами требований объёмом свыше 120 пунктов. Результаты демонстрируют сокращение временных затрат на проведение полного цикла аудита более чем в 44 раза по сравнению с ручным подходом - с 3,5 часов до менее 8 минут - при одновременном повышении полноты охвата требований с 94,1% до 100%. Предложенный метод устраняет влияние человеческого фактора на результаты проверки, обеспечивает воспроизводимость и масштабируемость процесса аудита и применим к разнородным целевым платформам в рамках единого программного комплекса.
The goal of this thesis is to develop a method for end-to-end automation of the configuration and verification of operating system and software security requirements, as well as its implementation as a software suite. The approach is based on the dynamic generation of executable Ansible scripts directly from a structured tabular registry of security requirements, eliminating the need for manual script writing. This paper presents the architecture and implementation description of the software suite, which includes modules for parsing the registry, classifying requirements by type, extracting audit commands and fixes, generating Ansible playbooks, as well as a REST API and web interface for managing the audit process. The system supports arbitrary structured tabular requirements registries and implements the full cycle from registry loading to obtaining a structured compliance report, with optional automatic patching on target systems running Linux distributions. The effectiveness of the proposed method was evaluated in an experimental study on an isolated rig with target virtual machines running domestic operating systems with requirements registries containing over 120 items. The results demonstrate a more than 44-fold reduction in the time required to complete a full audit cycle compared to a manual approach-from 3.5 hours to less than 8 minutes-while simultaneously increasing the completeness of requirements coverage from 94.1% to 100%. The proposed method eliminates the influence of human error on audit results, ensures reproducibility and scalability of the audit process, and is applicable to heterogeneous target platforms within a single software system.