Аналіз стиснутої пам'яті у 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 создала несколько дополнений кВолатильность іRekall для поддержки сжатия памяти для 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

По мотивам