Digital forensics Ковешников Михаил НГУ, 2012г
Что такое компьютерная криминалистика? Ответвление криминалистики, сочетающее в себе восстановление и расследование материалов, найденных на электронных носителях. Криминалистика – наука, исследующая закономерности приготовления, совершения и раскрытия преступлений
Разделы
Задачи на CTF Найди улику в образе диска Найди улику в дампе трафика Найди улику в дампе ОП Найди улику в бинарнике Найди улику в RAM …
Про анализ бинарников Бинарные файлы могут встречаться десятками в образе Каждый дизассемблировать смысла нет Проверить строки командой strings
Анализ оперативной памяти Volatility \\.\PhysicalMemory \\.\DebugMemory /dev/mem mdd Hex-editors (HxD, WinHex,..)
Загрузка ОС на примере Windows Включение питания Чтение команд из BIOS Анализ оборудования Поиск загрузочного носителя в порядке очереди Выполнение загрузочного кода из первого сектора диска Выполнение загрузочного кода раздела
Анализ файловых систем Данные файловой системы Данный содержимого Метаданные Данные имен файлов Прикладные данные
NTFS Наиболее распространенная файловая система для семейства ОС Windows Концепции –Безопасность –Надежность –Поддержка носителей больших объёмов
Основные понятия NTFS Все данные – файлы MFT (Master File Table ~ «Главная файловая таблица» ) Пространство выделяется кластерами – (группы смежных секторов)
MFT (Master File Table) Запись в таблице для каждого файла и директории Все записи нумеруются. [0,1,…] Нулевая запись – запись на себя Может быть фрагментирована по секторам Расширяется системой, но не сужается
Запись MFT Занимает 1024 байта Первые 42 байта – фиксированный формат Остальное пространство под атрибуты
Запись MFT Первая запись – базовая Если атрибуты не помещаются в запись, то создается ещё одна запись с ссылкой на базовую
Файлы метаданных Занимают зарезервированные первые 16 записей MFT Первые 12 записей выделены и содержат файлы метаданных 4 записи [12-15] выделены, но являются пустыми
Файлы метаданных НомерНазваниеОписание 0$MFTЗапись для MFT 1$MFTMirrРезервная копия MFT 2$LogFileЖурнал транзакций 3$VolumeИнформация о томе
Файлы метаданных НомерНазваниеОписание 4$AttrDefИнформация о атрибутах 5.Корневой каталог 6$BitMapМаска выделения кластеров 7$BootЗагрузочный сектор и загрузочный код
Файлы метаданных НомерНазваниеОписание 8$BadClusИнформация о поврежденных кластерах 9$SecureИнформация о безопасности 10$UpсaseСодержит uppercase Unicode символы 11$ExtendКаталог с файлами необязательных расширений
Атрибуты Все атрибуты имеют заголовок и содержимое Структура содержимого может быть разная у разных атрибутов Заголовок хранит тип, размер, имя атрибута Запись может иметь несколько однотипных атрибутов (у каждого уникальный id)
Атрибуты Резидентные и нерезидентные Разреженные атрибуты Сжатые атрибуты($DATA)
Сжатие
Шифрование атрибутов Шифруется только $DATA Можно опознать по атрибуту $LOGGED_UTILITY_STREAM или по флагу в $STANDART_INFORMATION для каталогов, флагу в заголовке атрибута для файла Используется алгоритм DESX
Типы атрибутов Все типы имеют идентификатор, имя По идентификатору происходит упорядочивание атрибутов в записи
Типы атрибутов idИмяОписание 16$STANDART_ INFORMATION Общая информация (флаги, даты, владелец) 48$FILE_NAMEИмя файла, даты 128$DATAСодержимое файла 144$INDEX_ROOTКорневой узел 160$INDEX_ALLOCATI ON Узлы, дочерние к $INDEX_ROOT
Alternate Data Stream Что произойдет, если у файла несколько атрибутов с типом $DATA?
Каталоги Обладает $INDEX_ROOT – информация о файлах и подкаталогах При большом размере - $INDEX_ALLOCATION, $BITMAP Также возможны атрибуты с типом $DATA (ADS). В основном $INDEX_ALLOCATION и $INDEX_ROOT имеют имена $I30
Пакет The Sleuth Kit (TSK) Файл образа (img_stat, img_cat) Файловая система (fsstat) Анализ томов (mmls, mmcat, mmstat) Файлы (fls, ffind) Метаданные (icat, ils, istat, ifind) Сектора (blkcat, blkls, blkcalc, blkstat) Дополнительно (jls, jcat, hfind, tsk_recover, tsk_gettimes, tsk_comparedir, tsk_loaddb)
Спасибо за внимание! Вопросы?
Голосование! 1) 2) 3)