Анализ файлов можно разделить на два вида: статический, при котором файл исследуется без его исполнения, и динамический, когда инициируется запуск файла в безопасной среде (тестовая железка или виртуальная машина, как частный случай, Sandbox). Здесь я расскажу о настройке рабочего окружения для безопасного статического анализа вредоносных файлов в среде Windows.
Сразу обозначу, соблюдения перечисленных правил полностью не обезопасят вас от заражения компьютера или потери данных, связанных с неосторожной работой с вредоносными файлами. Но значительно повысят надёжность вашего рабочего окружения.
Итак, что нас подстерегает при анализе вредоносного ПО:
Случайный запуск исполняемого файла.
Эксплуатация уязвимости в анализируемом ПО.
Блокировка антивирусом работы утилиты или удаление самого анализируемого файла.
Пойдём по пунктам:
Казалось бы, при статическом анализе файла, мы не должны его запускать, но это наиболее частая ошибка, вызванная человеческим фактором. Чтобы этого избежать, предлагается следовать трём основным правилам:
Работайте в одном каталоге. Храните все анализируемые файлы и сопутствующие артефакты в одном каталоге и его подкаталогах. Например, это может быть вот так. Основной каталог - Work, у него подкаталоги: Collection, Tasks, Bugs, а у них свои. Независимо от того, как вы организуете свою работу - анализируете файлы в одном каталоге, а результаты складываете в каталог, относящийся к рабочему кейсу (например, Work\Tasks\Task_{ID}), или работаете и храните сразу всё в одном каталоге кейса, вы и ОС (об этом далее) должны знать, что в этом каталоге потенциально опасное содержимое.
Задавайте расширение файлу, непонятное ОС. Можно просто добавить знак подчёркивания к концу расширения или заменить один из его символов. В ОС Windows каждое расширение, с которым она готова работать, зарегистрировано в реестре. Иначе, она предложит пользователю самому выбрать, как открыть тот или иной файл.
Запретите запуск файлов в рабочем каталоге. Это можно настроить в локальных групповых политиках. Я укажу названия пунктов для английской локализации ОС, но, уверен, вы спокойно найдёте названия, соответствующие локализации вашей ОС.
Откройте консоль локальных групповых политик: Win+R -> gpedit.msc -> Enter
Перейдите в узел Computer Configuration -> Windows Settings -> Security Settings -> Software Restriction Policies. Найдите в панели результата Designated FileTypes и откройте его двойным щелчком мыши:
В появившемся диалоговом окне можно увидеть список расширений, для которых будет применено правило, ограничивающее запуск. Его можно дополнить сейчас и/или актуализировать в будущем:
формирование списка запретных расширений Далее идём создавать само правило. Переходим в дочерний узел Additional Rules, вызываем для него контекстное меню правой кнопкой мыши и выбираем пункт New Rule Path:
Создание правила, ограничивающего запуск файлов В открывшемся диалоговом окне указываем путь до рабочей директории. Убедимся, что в Security level выставлено Disallowed и нажмём OK. Правило создано и отображается в панели результатов для узла Additional Rules:
Настройка правила, ограничивающего исполнение файлов Проверить, применилось ли правило, можно создав в рабочем каталоге простой командный файл с содержимым, например, "echo 123". Если его не удаётся запустить, ОС сама об этом сообщит:
Предупреждение ОС о запрете запуска файла
Эксплуатация уязвимости в анализирующем ПО. За всю работу мне не пришлось с этим столкнуться на своём рабочем компьютере или я об этом так и не узнал, но существует небольшая вероятность нарваться на пасхалочку от злоумышленника. Приложения, используемые для анализа вредоносного ПО, могут содержать в себе уязвимости, вызывающие запуск вредоносного кода. Некоторые приложения даже выдают соответствующие предупреждения:
Предупреждение от Office Malware Scanner Особенно это касается бесплатного софта, в котором могут быть и скрытые от пользователя возможности. Здесь стоит следовать правилу: следите за актуальным обновлением своих утилит. А если не уверены в надёжности используемого софта, запускайте его в безопасном окружении, как при динамическом анализе файлов.
Желательно держать антивирусное ПО на рабочем компьютере с ОС Windows. Иногда антивирус причиняет боль, но чаще всего он всё же выполняет свою работу, и мы просто в неведении о том, что потенциально опасного происходит. При работе с вредоносами следует в настройках антивируса указать исключения для проверок рабочего каталога и его подкаталогов. Обычно этого достаточно, чтобы исследуемые файлы не попали в карантин (откуда несложно их вернуть на место). Иногда необходимо также добавить и используемые утилиты в доверенные. Делайте это по мере необходимости, не для всех приложений сразу.
Перечислил базовые правила работы с вредоносными файлами, тем не менее существуют другие неприятности и опасности: необратимо удалили артефакты работы с файлом, посторонний забрёл в рабочий каталог и что-то не туда нажал, и т.д.. Но, на мой взгляд, это уже условные факторы вне основного сценария работы.