ЧТО ЭТО ТАКОЕ

Консультант по информационной безопасности из хорватской фирмы Infigo Лука Милкович (Luka Milkovi ć) разработал программу Dementia, которая должна стать обязательным инструментом в арсенале каждого хакера. Программа под Windows постоянно следит за появлением сканера, который через соответствующий драйвер снимает дамп памяти. Как только сканер обнаружен, программа перехватывает снятие дампа и удаляет специфические артефакты из памяти. Таким образом, она вмешивается в процесс снятия дампа памяти, изменяя его содержимое.

Dementia успешно справляется с сокрытием улик от популярных инструментов для криминалистической экспертизы, таких как Moonsols Win32dd (только в режиме kernel-mode), Mandiant’s Memoryze, ManTech MDD, FTK Imager и Winpmem.

 

ЗАЧЕМ ЭТО НУЖНО

Программы для криминалистической экспертизы умеют извлекать много ценной информации из оперативной памяти, в том числе фрагменты открытых ранее файлов, фрагменты вредоносного кода, ценные объекты, как активные, так и завершенные: процессы, нити, соединения, пароли PGP, информацию о различной активности на компьютере. Правоохранительные органы в процессе расследования полагаются на эти сведения как на реальные улики. В последнее время анализ RAM считается почти таким же эффективным и надежным инструментом криминалистической экспертизы, как анализ содержимого HDD.

Поскольку эксперты-криминалисты начали использовать специализированный софт, то появилось и контроружие для защиты памяти от экспертизы. Первыми таким программами были Haruyama и ShadowWalker, но они умеют только блокировать память от сканирования, прерывать процесс сканирования или блокировать анализ. Dementia продолжает их традиции, но впервые программа способна изменить содержимое памяти, не останавливая процесс сканирования.

Схема снятия и анализа дампа памяти программами для криминалистической экспертизы
Схема снятия и анализа дампа памяти программами для криминалистической экспертизы
 

КАК ЭТО РАБОТАЕТ

Dementia может скрывать конкретные объекты в дампах памяти под операционной системой Windows. Схема снятия и анализа дампа программами для криминалистической экспертизы показана на рисунке.

Dementia перехватывает вызов NtWriteFile() и проверяет, что этот вызов действительно поступил от программы снятия дампа памяти. У них есть характерные признаки, в том числе специфические аргументы NtWriteFile(), определенный контекст и специфические значения FILE_OBJECT. Программа строит список всех физических адресов в памяти, каким-либо образом связанных с процессом, который нужно скрыть. Перед записью дампа памяти в файл она убирает этот процесс из списков процессов ActiveProcessLinks и SessionProcessLinks и стирает из дампа данные, которые имеют отношение к процессу: нити, ссылки, выделенные области памяти (дескрипторы VAD).

В принципе, Dementia не скрывает свою активность в системе, так что программа для криминалистической экспертизы может определить ее наличие и считать улики скомпрометированными. Криминалистам придется использовать другие способы делать дампы памяти без искажений с работающей машины, предполагает автор программы Милкович.

Dementia протестирована под 32-битными операционными системами Windows XP, Windows Vista и Windows 7. Сейчас автор работает над 64-битной версией. Презентация Dementia на хакерской конференции CCC (28 декабря 2012 г.): bit.ly/TJHdFz. Код Dementia должен быть скоро опубликован здесь, автор обещал опубликовать его еще в январе.

Теги:

Оставить мнение

Check Also

FPGA. Разбираемся, как устроены программируемые логические схемы и чем они хороши

Представь, что процессор вместо того, чтобы выполнять набор инструкций, будет перестраиват…