- •Методичні вказівки до виконання лабораторних робіт
- •2 Моніторінг зверень до системного реєстра
- •3 Моніторінг звернень до файлів та каталогів
- •4 Перегляд інформації про процеси, потоки і пам’ять
- •5 Програма-монітор обміну даними із системними пристроями (портами)
- •6 Програма перехоплення і протоколювання клавіатурного введення
- •Порядок виконання лабораторної роботи
3 Моніторінг звернень до файлів та каталогів
Важливою є інформація про завернення захищуваної програми до файлів, оскільки це дає необмежені можливості для контролю та управління програмою, що зламується. Наприклад, навіть під час свого виконання програма здійснює зчитування команд з власного бінарного файлу до оперативної пам’яті, вже не кажучи про інші приховані файли (файли налаштувань, файли ключів), або коли з певного файлу читається лише його необхідна частина.
Для вирішення таких задач дослідникам (зламникам) допомагає програма FileMon, інтерфейс якої зображено на рис. 3.1:
Рисунок 3.1 — Вигляд інтерфейсу FileMon
Filemon стежить за роботою і контролює активність всієї файлової системи Microsoft Windows, а також відображає всі процеси, що відбуваються в реальному часі. Серед технічних можливостей можна виділити наступні: пошук, збереження отриманих результатів у файл, встановлення фільтрів для дослідження операційної системи.
Якщо при останньому запуску Filemon були налагоджені які-небудь фільтри, при наступному запуску програма попросить підтвердити їх використання. Кожного разу, при виході з Filemon програма запам'ятовує налагоджені фільтри, положення вікна і ширину стовпців вихідних даних.
Фільтрація в діалоговому вікні «Filter», яке відкривається за допомогою кнопки на панелі інструментів або команди меню «Edit|filter/highlight», може вказати, які дані повинні відображуватися в списку.
За допомогою фільтру виділення можна вказати, які рядки в списку слід виділити кольором. Додаткові параметри фільтрації дозволяють вибрати або виключити операції читання, запису або відкриття.
Виконати пошук потрібних рядків у вікні виводу можна за допомогою команди меню «Find» або відповідної кнопки на панелі інструментів.
Программа Filemon може показувати або час виконання операцій, або їх тривалість.
Меню «Options» (Параметри) і кнопка із зображенням годинника на панелі інструментів дозволяють переходити з одного режиму в інший.
За допомогою утиліти можна легко побачити, які програми або динамічні бібліотеки працюють, виправити деякі критичні помилки в системних файлах, до того ж, Filemon, не лише показує журнал подій і змін, які відбуваються, але і повідомляє про їх видалення, відкриття, читання, запис файлу або каталогу. Таким чином, може виявити шпигунів і простежити за їх діяльністю.
4 Перегляд інформації про процеси, потоки і пам’ять
Останнім часом з'явилася безліч програм, що зламують навісні захисти методом зняття з пам'яті. Принцип тут дуже простий. Після того, як захист відпрацював і дав "добро" на виконання, в пам'яті знаходиться початкова програма в такому ж вигляді, неначе її запустили звичайним способом, без усіляких захистів. Якщо у цей момент вміст оперативного запам’ятовуючого пристрою (ОЗП) записати на диск, то з отриманого дампу можна витягнути первинну програму. У кращому випадку в результаті виходить працездатний EXE-файл, практично ідентичний первинній програмі.
Інформація про завантажені до оперативної пам’яті процеси, потоки, їх дампи пам’яті, завантажені модулі, дочірні та батьківські процеси та різна системна інформація також є важливою для того, щоб зрозуміти, яким чином здійснюється захист.
Прикладом такої програми є утиліта Process Monitor.
Головне вікно програми має такі функції:
Відкриття та збереження файлу;
Режим перехвату даних, автоматичне зміщення вниз та очистка вікна реєстру;
Фільтр, виділення, включення процесу у вікні;
Дерево процесів;
Пошук, перехід до об’єкту;
Функції, які показують активність в реєстрі, файловій системі, активність в мережі, процеси і потоки діяльності, профілювання подій.
Кожній дії, яка відбулась в реєстрі відповідає один рядок у вікні виводу даних. Подвійний натиск на рядок викликає вікно перегляду опцій процесу.(Event Properties)(рисунок 4.1).
Рисунок 4.1 — Вікно перегляду опцій (Event Properties)
Вікно має три вкладки:
Event – містить детальну інформацію про подію: час, клас події, виконувана операція, результат і деякі дані, що залежать від типу виконуваної операції.
Process дозволяє переглянути детальну інформацію щодо процесу - ім'я, версію, шлях виконуваного файлу, параметри командного рядка, PID самого процесу і PID його батька, список завантажених бібліотек.
Stack - інформація про виклики функцій модулів ядра (позначені літерою K) і модулів середовища користувача (позначені буквою U).
Process Monitor запам'ятовує останній використовуваний набір фільтрів і застосовує його при наступному запуску програми. Задати умови фільтрації можна відразу після старту утиліти або викликавши вікно налаштування фільтрів (Process Monitor Filters) (рис. 4.2) в будь-який момент часу з використанням меню програми або комбінації клавіш CTRL + L. Крім безпосереднього створення правил фільтрації вручну, можливе використання кнопок панелі інструментів і контекстного меню, що викликається правою кнопкою мишки.
Рисунок 4.2 — Вигляд вікна фільтру
Запис правил фільтрації складається з чотирьох стовпців:
Column - можна вибрати одне з можливих полів, відображуваних у вікні даних програми.
Relation - логічне вираження.
Value - значення. Залежить від властивостей вибраного поля в першій колонці (Columns)
Action - дія.
Головними перевагами програми над конкурентами є:
Відстеження запуску і завершення роботи процесів та потоків,
включаючи інформацію про код завершення.
Збір інформації про процеси, включаючи шлях до
образу процесу, командний рядок, а також ID користувача і сесії.
Відображення активності файлової системи, реєстру, а
також процесів та потоків.
Відстеження завантаження образів (бібліотек DLL і драйверів
пристроїв, що працюють в режимі ядра).
Зібрання даних про параметри операцій введення і виведення.
Запис в журнал всіх операцій під час завантаження системи.
Показ всіх змін, що відбуваються з файлами, повідомлення про
їх видалення або відкриття.
Найбільш вагомою перевагою програми є детальний пошук по реєстрові та процесах з можливістю фільтрації непотрібних результатів, а також повна підтримка Windows 8.