Рекламні оголошення

Аналіз стиснутої пам'яті у Windows 10

Аналіз пам'яті у Windows 10 сильно відрізняється від попередніх версій Windows: нова функція, звана стиском пам'яті, робить необхідним інструмент судової експертизи, здатний зчитувати стислі сторінки пам'яті.

Стиснення пам'яті у Windows 10

Останні випуски Windows 10 включають функцію стиснення пам'яті, яка здатна зменшити використання пам'яті шляхом стиснення деяких сторінок пам'яті з використанням алгоритму Xpress та збереження їх у так званому сховищі стиснення (ці сторінки розпаковуються назад у вихідну форму, коли вони потрібні)

Стиснення пам'яті у Windows 10 є суттєвим розвитком у дизайні менеджера пам'яті: воно підвищує продуктивність системи за рахунок ефективнішого використання фізичної пам'яті, але є більш складним, ніж попередні системи Windows, і нині публічно не документовано.

Аналіз дампів пам'яті Windows 10

Стандартна версія Volatility не може перевіряти пам'ять, що зберігається на стислих сторінках, залишаючи безліч криміналістичних артефактів непоміченими.

На щастя, команда FireEye FLARE створилакористувальницьку версію волатильності з конкретними змінами для читання стиснутої пам'яті Windows 10:

Щоб забезпечити більш повний аналіз пам'яті у Windows 10, команда FLARE у FireEye проаналізувала диспетчер пам'яті операційної системи, а також алгоритми та структури, використовувані для отримання стиснутої пам'яті. Пам'ять, яку ми шукаємо, зберігається у віртуальному сховищі, створеним компонентом ядра Store Manager. Менеджер магазину відповідає за керування даними, що беруть участь у системах оптимізації продуктивності, включаючи SuperFetch, ReadyBoost та ReadyDrive. В цьому випадку віртуальне сховище – це об'єкт із підтримкою оперативної пам'яті, використовує простір пам'ятіMemCompression.exe для стислих даних процесів. Результати цього дослідження були перенесені як до Volatility, так і в Rekall, щоб принести користь спільноті безпеки.

Для того, щоб мати справу з відсутніми даними з – за стислі сторінки, FLARE команда FireEye створила кілька додатків доВолатильність іВідкликати для підтримки стиснення пам'яті для Windows 10. Насамперед ми додали необхідні оверлеї


Оверлей визначає внутрішні структури даних, використовувані алгоритмом стиснення пам'яті Windows 10, і робить їх доступними в Python. Наприклад, накладання визначають макет структуриSMKM_STORE ідерева B +, використовувані для пошуку стислих сторінок.

Недокументовані структури Windows, визначені у накладеннях, засновані на інформації, отриманої нами під час аналізу різних версій Windows 10. Будучи недокументованими, ці структури схильні до змін у всіх збірках Windows і навіть у ревізіях. В даний час ми підтримуємо версії 1607, 1703, 1709, 1803 і 1809 як для 32-розрядних, так і для 64-розрядних архітектур. Для підтримки додаткових версій необхідно проаналізувати структуру структур та відповідним чином оновити накладання.

https://www.fireeye.com/blog/threat-research/2019/07/finding-evil-in-windows-ten-compressed-memory-part-one.html

Завантажити Volatility можна тут: https://github.com/fireeye/win10_volatility

За мотивами