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

XXVIII Международный конкурс научно-исследовательских и творческих работ учащихся
Старт в науке

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

Андреев А.Н. 1
1Многопрофильный колледж федерального государственного бюджетного образовательного учреждения высшего образования «Тамбовский государственный технический университет»
Мосягина Н.Г. 1
1Многопрофильный колледж федерального государственного бюджетного образовательного учреждения высшего образования «Тамбовский государственный технический университет»
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

ВВЕДЕНИЕ

В современных условиях информатизации общества вопросы обеспечения информационной безопасности и контроля доступа к вычислительным ресурсам приобретают особую значимость. Операционная система Windows, являясь наиболее распространённой платформой для персональных компьютеров, предоставляет пользователям широкие возможности по запуску произвольных приложений. Однако эта свобода создаёт серьёзные риски: от несанкционированной установки вредоносного программного обеспечения до нарушения корпоративных политик безопасности и снижения производительности системы.

Существующие штатные средства контроля приложений в Windows (такие как AppLocker и Software Restriction Policies) имеют существенные ограничения: они доступны только в старших редакциях операционной системы (Enterprise, Education), требуют сложной настройки через групповые политики и глубоких знаний в области администрирования. Это делает их малопригодными для малых организаций, образовательных учреждений и домашних пользователей.

В связи с этим возникает потребность в простом, эффективном и доступном инструменте контроля процессов, который мог бы работать на любых версиях Windows без необходимости сложной настройки и дополнительных лицензи

1.Основная часть

1.1 Обоснование актуальности разработки программы

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

- несанкционированная установка вредоносного ПО;

- нарушение корпоративных политик безопасности;

- снижение производительности из-за фоновых приложений;

- утечка конфиденциальной информации;

- нарушение лицензионных соглашений;

Стандартные средства Windows (AppLocker, Software Restriction Policies) требуют:

- версий Windows Enterprise/Education;

- сложной настройки через групповые политики;

- административных прав для изменения.

Основной задачей разработки программы Process Guardian является простое, эффективное и доступное решение для управления процессами операционной системы для всех версий Windows.

1.2.Назначение и область применения программы

Разработанная программа Process Guardian (защитник процессов) это специализированное программное обеспечение для автоматического контроля и управления запущенными процессами в операционной системе Windows. Программа реализует механизм принудительного завершения нежелательных процессов на основе предварительно настроенного белого списка разрешённых приложений.

Область применения:

  • корпоративная безопасность: ограничение запуска несанкционированного ПО на рабочих местах;

  • образовательные учреждения: контроль доступных приложений в компьютерных классах;

  • киоски и терминалы: обеспечение работы только разрешённых программ;

  • родительский контроль: ограничение доступа детей к нежелательным приложениям;

  • производственные системы: предотвращение запуска постороннего ПО на критических рабочих станциях.

1.3 Функциональные возможности программы

Основные функциональные возможности разработанной программы представлены в таблице 1.

Таблица 1- Основные функции программы Process Guardian

Функция

Описание

Мониторинг процессов

Непрерывное отслеживание всех запущенных процессов с интервалом 5 секунд

Фильтрация по белому списку

Автоматическая проверка каждого процесса относительно списка разрешённых

Принудительное завершение

Мгновенная остановка нежелательных процессов через API Windows

Логирование действий

Запись всех событий в файл с временными метками

Защита критических процессов

Исключение системных процессов для предотвращения сбоев О

Безопасная остановка

Корректное завершение работы программы по команде пользователя

Дополнительные возможности программы Process Guardian:

- Расширенный белый список: Более 80 предустановленных системных процессов

- Поддержка Unicode: Корректная обработка имён процессов на любых языках

- Привилегии отладки: Автоматическое получение прав для управления процессами

- Минимальное потребление ресурсов: <1% CPU, ~5 МБ памяти

1.4. Техническая реализация программы

1.4.1 Архитектура программы

Основные функции разработанной программы представлены на рисунке 1. Это просмотр и сканирование процессов операционной системы, проверка разрешеных программ, включенных в «белый список», завершение нежелательных приложений, запись в журнал информации о произведенных действиях.

Рисунок 1 - Архитектура программы

1.4.2 Используемые технологии

Для разработки программы были использованы приложения и технологии [1,2] представленные в таблице 2.

Таблица 2 - Технологии создания программы Process Guardian

Компонент

Технология

Язык программирования

C++

Платформа

Windows API (Win32)

Работа с процессами

Toolhelp32 API

Управление привелегиями

Windows Security API

Логирование

Fstream (C++ библиотека)

Интерфейс

Консольное приложение

Основным элементом разработки программы были функции Windows API .

Windows API включает набор функций, структур данных и констант, предоставляемых перационной системой Windows для разработки приложений. Позволяет программам напрямую взаимодействовать с ОС: создавать окна, управлять ресурсами, работать с файлами, обрабатывать события [3-8].

Ключевые API функции, использованныепри создании программы:

  • CreateToolhelp32Snapshot() - создание снимка процессов;

  • Process32First() - начало перебора;

  • Process32Next() - продолжение перебора;

  • OpenProcess() - открытие процесса;

  • TerminateProcess() - завершение процесса;

  • AdjustTokenPrivileges() - изменение привилегий;

  • WideCharToMultiByte() - конвертация Unicode.

1.4.3 Описание работы программы

Разработанная программа обеспечивает безопасность и стабильность работы операционной системы. Описание возможностей защиты операционной системы Windows приведены в таблице 3.

Таблица 3 - Возможности защиты ОС Windows

Возможность

Описание

Белый список системных процессов

80+ критических процессов Windows защищены от завершения

Защита от самозавершения

Игнорирование собственного процесса

Проверка привелегий

Автоматическая проверка прав администратора

Обработка ошибок

Graceful degradation при отсутствии прав доступа

Логирование

Полная аудируемость всех действий

Описание мер по предотвращению сбоев:

  • защита от моргания интерфейса: исключение процессов explorer.exe, sihost.exe, dwm.exe;

  • стабильность ядра: Защита csrss.exe, wininit.exe, services.exe;

  • сохранность данных: корректное завершение с освобождением ресурсов.

Примеры использования программы.

Сценарий 1: Образовательный компьютерный класс.

Задача: разрешить только учебное программное обеспечение

Решение: в белый список добавлены браузер, текстовый редактор, среда разработки. Все игры и развлекательные приложения автоматически закрываются.

Сценарий 2: Корпоративный киоск.

Задача: обеспечить работу только одного приложения.

Решение: В белый список включено только целевое приложение и системные процессы. Пользователь не может выйти за пределы заданного интерфейса.

Сценарий 3: Родительский контроль.

Задача: Ограничить доступ к играм .

Решение: Игровые процессы автоматически завершаются, разрешены только образовательные приложения. На рирунке 2 представлен фрагмент программного кода функции ScanAndKillProcesses.

Рисунок 2 - Функция ScanAndKillProcesses (фрагмент исходного кода)

Основной алгоритм работы функции ScanAndKillProcesses:

1. Создание снимка всех запущенных процессов через CreateToolhelp32Snapshot().

2. Последовательный перебор процессов с помощью Process32First() и Process32Next().

3. Проверка каждого процесса на наличие в белом списке.

4. Завершение нежелательных процессов через TerminateProcess().

5. Освобождение ресурсов и логирование результатов.

Функция вызывается циклически каждые 5 секунд до остановки программы пользователем.

Интерфейс программы Process Guardian

В консоли отображается текущий статус мониторинга, интервал проверки (5 секунд) и информация о запущенных процессах. Программа работает в фоновом режиме и фиксирует все действия в лог-файл process_log.txt. Для остановки пользователем предусмотрена команда нажатия клавиши Q.

ЗАКЛЮЧЕНИЕ

Process Guardian представляет собой эффективное, простое в использовании и надёжное решение для контроля процессов в операционной системе Windows.

Программа успешно сочетает в себе:

  • функциональность – полный контроль над процессами ОС;

  • безопасность – защита критических системных компонентов ;

  • производительность – минимальное потребление ресурсов;

  • удобство – простая настройка и управление.

Программа может быть использована как в образовательных целях (изучение системного программирования), так и в реальных сценариях обеспечения информационной безопасности.

Список использованных источников и литературы

  1. Петцольд Ч. «Программирование для Windows». 5-е изд. — М.: Вильямс, 2018. — 896 с.

  2. Зыков, С. В.  Программирование : учебник и практикум для вузов / С. В. Зыков. — 2-е изд., перераб. и доп. — Москва : Издательство Юрайт, 2026. — 285 с. — (Высшее образование). — ISBN 978-5-534-16031-4. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/583644 (дата обращения: 28.04.2026).

2. Microsoft Docs. Process Security and Access Rights. — Режим доступа: https://docs.microsoft.com/en-us/windows/win32/procthread/process-security-and-access-rights

3. Microsoft Docs. Tool Help Library. — Режим доступа: https://docs.microsoft.com/en-us/windows/win32/toolhelp/tool-help-library

4. Microsoft Docs. CreateToolhelp32Snapshot Function. — Режим доступа: https://docs.microsoft.com/en-us/windows/win32/api/tlhelp32/nf-tlhelp32-createtoolhelp32snapshot

5. Microsoft Docs. TerminateProcess Function. — Режим доступа: https://docs.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-terminateprocess

6. Microsoft Docs. AdjustTokenPrivileges Function. — Режим доступа: https://docs.microsoft.com/en-us/windo

7. CodeProject. Process Management in Windows. — Режим доступа: https://www.codeproject.com/Articles/Process-Management-in-Windows

8. Stack Overflow. Terminating processes programmatically. — Режим доступа: https://stackoverflow.com/questions/tagged/process-termination

Просмотров работы: 6