Хеш импортируемых библиотек — imphash

Как перенести Microsoft Authenticator на другой телефон

Imphash расшифровывается как import hash — «хеш импортов», то есть всех импортируемых программой библиотек, прописанных в исполняемом файле Windows Portable Executable (PE). Чтобы вычислить imphash, все импортированные библиотеки и связанные с ними функции выгружаются в строковом формате, объединяются, а затем криптографически хешируются. Virus Total также высчитывает по этому алгоритму хеш для PE-файлов.

Virus Total также использует imphash
Virus Total также использует imphash

Естественно, злоумышленники знают о таком алгоритме и могут его обойти, сделав свой вирус более модульным. Например, можно загружать каждый модуль в память только при необходимости или динамически загружать библиотеки, сохраняя объем импорта настолько малым, насколько позволяет компилятор. При этом любой импорт переносится в память только во время выполнения, а не транслируется в таблице импорта в PE-файле. Вирусы пишут люди, а люди — существа ленивые, нужно немного потрудиться, чтобы перевести работу программы в такой формат.

Перейдем к практике и найдем взаимосвязи среди наших исследуемых групп объектов. Начнем с MassLogger. Появились ли новые связи? Да, мы получили три группы связанных объектов — их imphash идентичны!

Три новые группы связанных объектов с общими imphash
Три новые группы связанных объектов с общими imphash

Изобразим общие imphash файлов в виде графа. Тут со всеми объектами получается полносвязный граф, так что не суди строго, если какого-то ребра графа не будет!

Общие imphash файлов
Общие imphash файлов

Сравним с предыдущим графом из секции экспериментов с SSDeep.

Сравнение графов
Сравнение графов

Теперь объединим два получившихся графа в группы по их вершинам.

Объединим оба графа
Объединим оба графа

Получается, что среди 18 образцов MassLogger не нашли себе «друзей» всего три объекта: ML1, ML2 и ML4, а это всего 17% от общего количества. Таким образом, используя две техники, мы выявили и подтвердили взаимосвязи вредоносных семплов и их «группировки».

Далее разберем остальные семейства вредоносных файлов. Agent Tesla по imphash разделился на две большие группы.

Хеш импортируемых библиотек — imphash

Деление Agent Tesla по imphash
Деление Agent Tesla по imphash

Сравним с предыдущим графом из секции тестов с SSDeep.

Сравнение графа с предыдущим
Сравнение графа с предыдущим

Объединим два получившихся графа в группы по их вершинам.

Объединяем два графа в группы по их вершинам
Объединяем два графа в группы по их вершинам

Imphash дополнил связи, которые были выявлены на этапе тестирования с SSDeep, и продемонстрировал более целостную картину. Идентичный с левой группой imphash присутствует в образцах группы MassLogger — ML5, ML9, ML11 и ML14.

Далее рассмотрим группу малвари Emotet.

Хеш импортируемых библиотек — imphash

Группа Emotet
Группа Emotet

Сравни с предыдущим графом из секции тестов с SSDeep. Напомним, что семплы EMO3, EMO9, EMO11, EMO15 и EMO18 не нашли себе «друзей» в прошлом тесте. Объединим два получившихся графа в группы по их вершинам.

Сравним графы, объединив их по вершинам
Сравним графы, объединив их по вершинам

Опа! Недаром червь Emotet получил такое распространение. В наш тест попали довольно хитрые образцы, у которых, судя по всему, в явном виде не присутствует таблица импортов, а следовательно, отсутствует imphash. Скорее всего, в них используется одна из техник, которые мы перечисляли в разделе об этом типе хеширования.

Анализируя графы взаимосвязей, можно заметить, что благодаря комбинации imphash и SSDeep мы получили новые взаимосвязи между объектами, тем самым значительно расширив базу знаний об исследуемых образцах. И это знание позволяет с относительно малыми затратами эффективно дополнять сигнатурный анализ вредоносного ПО достаточно надежными отпечатками образцов по классу, семейству или типу малвари.

ВКонтакте
OK
Telegram
WhatsApp
Viber

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *