Системне програмування
RootKit-віруси і методи їх виявлення
Принцип виклику API функції
Модифікація машинного коду прикладної програми для перехоплення виклику функції
Модифікація таблиці імпорту
Перехоплення функцій LoadLibrary і GetProcAddress
Модифіковані методи перехоплення АРІ функцій
Модифікація програмного коду API функції
Основні задачі, які необхідно розв’язати при реалізації модуля виявлення вірусів-rootkit:
Схема роботи програмного модуля виявлення вірусів rootkit
Завантаження програми
Завантаження програми
Основні вікна роботи програми
Результат перевірки системних каталогів
Схема алгоритму порівняння змісту каталогів
Дякую за увагу!!! Зустрінемось на лекції через тиждень
353.00K
Category: programmingprogramming

Системне програмування. RootKit-віруси і методи їх виявлення

1. Системне програмування

Лекція № 8
Лектор Артамонов Є.Б.

2. RootKit-віруси і методи їх виявлення

3. Принцип виклику API функції

Програма
DLL
1
Код, що
викликає АРІ
4
Kernel32.dll
LoadLibrary
GetProcAdress
2
Таблиця
імпорту
Таблиця
імпорту
3
5
Код
функцій

4. Модифікація машинного коду прикладної програми для перехоплення виклику функції

Програма
DLL
1
Код, що
викликає АРІ
2
Таблиця
імпорту
Таблиця
імпорту
3
Код
функцій
5
4
Kernel32.dll
LoadLibrary
GetProcAdress
RootKit

5. Модифікація таблиці імпорту

Програма
DLL
1
Код, що
викликає АРІ
2
Таблиця
імпорту
Таблиця
імпорту
3
Код
функцій
5
4
Kernel32.dll
LoadLibrary
GetProcAdress
Функція
перехоплювач
RootKit

6. Перехоплення функцій LoadLibrary і GetProcAddress

Програма
DLL
1
Код, що
викликає АРІ
2
Таблиця
імпорту
Таблиця
імпорту
3
Код
функцій
5
4
Kernel32.dll
LoadLibrary
GetProcAdress
Функція
перехоплювач
RootKit

7. Модифіковані методи перехоплення АРІ функцій

Програма
DLL
1
Код, що
викликає АРІ
2
Таблиця
імпорту
Таблиця
імпорту
3
Код
функцій
5
4
Kernel32.dll
LoadLibrary
GetProcAdress
Функція
перехоплювач
RootKit

8. Модифікація програмного коду API функції

Програма
DLL
1
Код, що
викликає АРІ
2
Таблиця
імпорту
Таблиця
імпорту
3
Код
функцій
5
4
Kernel32.dll
LoadLibrary
GetProcAdress
Функція
перехоплювач
RootKit

9. Основні задачі, які необхідно розв’язати при реалізації модуля виявлення вірусів-rootkit:

реалізувати метод примусового
завантаження програми в nativeінтерфейсі;
реалізувати процедури відкриття
каталогу і файлів в native-інтерфейсі
(набір процедур обмежено бібліотекою
ntdll.dll);
реалізувати приховування отриманого
списку файлів від можливого втручання
root-kit вірусом;

10. Схема роботи програмного модуля виявлення вірусів rootkit

Початок
Run_Pr
Завантаження програми і збереження
списку файлів з обраного каталогу в
файлі F_list_0
Reg_Ch
Коригування реєстру операційної
системи для примусового запуску
програми в native-інтерфейсі
ReBoot
Перезавантаження операційної системи
Run_Nat
Завантаження програми в nativeсередовищі
Copy_Fld
Збереження списку файлів з обраного
каталогу в файлі F_list_1
End_Prg
Завершення роботи програми і
продовження завантаження операційної
системи
File_cmp
(F_list_0,
F_list_1)
Формування списку розбіжностей між
двома файлами
Кінець

11. Завантаження програми

Зміна параметрів реєстру

12. Завантаження програми

Рядок завантаження програми через
реєстр

13. Основні вікна роботи програми

Кодування командного файлу
Виконання перевірки файлів
Результат порівняння звітів про зміст каталогів

14. Результат перевірки системних каталогів

15. Схема алгоритму порівняння змісту каталогів

Початок
Так
J<M
Ні
A1[N]
A2[M]
Err(I)
I=0
I++
J=0
Так
I<N
A1[I]==
A2[J]
Ні
Ні
Так
Err_Out()
J++
Кінець

16. Дякую за увагу!!! Зустрінемось на лекції через тиждень

Знайти лектора можна в аудиторії 5-214
або
за e-mail-ом: [email protected]
або
вКонтакте: http://vk.com/id6416748
English     Русский Rules