Система захисту від несанкціонованого доступу з використанням методу динамічного завантаження виконуваного коду в робочий процес

Система захисту від несанкціонованого доступу з використанням методу динамічного завантаження виконуваного коду в робочий процес
Система захисту від несанкціонованого доступу з використанням методу динамічного завантаження виконуваного коду в робочий процес 25.04.2019

Система захисту від несанкціонованого доступу з використанням методу динамічного завантаження виконуваного коду в робочий процес

Програмний додаток DllLoadManager отримуватиме вхідні дані безпосередньо від користувача-власника. Завантажуваний виконуваний файл або його частина зберігатимуться на простому сервері користувача-власника, наприклад, FTPS сервері. FTPS сервер є зручним та простим рішенням, що задовольняє всі вимоги щодо зберігання виконуваних файлів та їх захисту. Авторизація на сервері є обов’язкова. Крім власника програмного продукту, ніхто не має відкритий доступ до виконуваного файлу. Доступ до програмного додатку DllLOadManager мають всі користувачі, адже програма не зберігає даних, що можуть бути використані для отримання інформації про виконуваний код та виконуваного коду власника. Використання сервера реєстрації для додаткового захисту від несанкціонованого використання є важливим.

Програмний додаток DllLoadManager являє собою програму на стороні клієнта, що управляє процесом авторизації, завантаження виконуваного коду або його частини з сервера, що знаходиться на стороні власника виконуваного коду та власне зберігає цей код, а також запуском клієнтського процесу та завантаженням виконуваного коду безпосередньо в даний процес.

Для виконання вище вказаних функцій DllLoadManager має такі модулі: DllLoadManager.dll, SharedMemoryManager, UnpackModule, ServerCommunicator, ProcessController, ConfigModule. Більш детальний опис кожного з модулів наведений нижче.

Динамічно завантажувана бібліотека DllLoadManager.dll завантажується безпосередньо в клієнтську програму та відповідає за отримання та структуроване завантаження необхідного виконуваного коду, що був отриманий з сервера.

SharedMemoryManager – модуль для створення і управління спільною (поширеною) пам’яттю.

UnpackModule – модуль для розгортання та структурованого завантаження виконуваного коду в пам’ять.

Модуль комунікації з сервером авторизації та сервером зберігання коду ServerCommunicator відповідає за отримання підтвердження сесії від сервера авторизації, а також за завантаження з сервера виконуваного коду.

Модуль ProcessController відповідає за запуск клієнтського процесу та за завантаження в пам’ять процесу DllLoadManager.dll та виконання необхідних налаштувань.

ConfigModule – модуль для створення та взаємодії з файлом конфігурації користувацьких налаштувань програми, в якому зберігаються налаштування між сесіями роботи програми та який забезпечує зручне використання програмного додатку DllLoadManager.

У повній сесії роботи додатку запускаються два різні процеси, перший – для взаємодії з сервером, конфігураційним файлом та запуском іншого процесу, інший процес – для завантаження і розпакування виконуваного коду та передачі йому керування. Таким чином, міжпроцесна взаємодія реалізована за допомогою поширеної пам’яті. Модель взаємодії процесів та модулів всередині кожного з них подана на рисунку.

Запропонований метод динамічного завантаження програмного продукту передбачає виконання користувачем-власником програмного забезпечення набору послідовних дій:

1.     Розміщення файлу виконуваного коду свого додатку на файловому сервері (FTPS), заборонивши вільний доступ до нього та реалізувавши надання доступу за паролем.

2.     Запуск серверу реєстрації, що буде отримувати GET запити на отримання пароля для доступу до FTPS сервера, перевіряючи дані користувача, що прийшли в запиті.

3.     Формування конфігураційного файлу, в якому потрібно прописати адреси серверів.

4.     Доставка користувачу-замовнику програмного забезпечення конфігураційного файлу та додатку DllLoadManager, а також порожнього виконуваного файлу, в який пізніше буде здійснено завантаження файлу.

5.     Реєстрація користувача-замовника ПЗ на сервері реєстрації.



Назва конкурсу:  Конкурс «Кращий диплом з кібербезпеки»
ПІБ конкурсанта:  Андреєв Андрій Олександрович
Країна:  Україна
Область:  Вінницька область
Назва НЗ:  Вінницький національний технічний університет
Учасник фіналу:  Так

Повернення до списку