Анализ файлов можно разделить на два вида: статический, при котором файл исследуется без его исполнения, и динамический, когда инициируется запуск файла в безопасной среде (тестовая железка или виртуальная машина, как частный случай, Sandbox). Здесь я расскажу о настройке рабочего окружения для безопасного статического анализа вредоносных файлов в среде Windows.

Сразу обозначу, соблюдения перечисленных правил полностью не обезопасят вас от заражения компьютера или потери данных, связанных с неосторожной работой с вредоносными файлами. Но значительно повысят надёжность вашего рабочего окружения.

Итак, что нас подстерегает при анализе вредоносного ПО:

  1. Случайный запуск исполняемого файла.

  2. Эксплуатация уязвимости в анализируемом ПО.

  3. Блокировка антивирусом работы утилиты или удаление самого анализируемого файла.

Пойдём по пунктам:

  1. Казалось бы, при статическом анализе файла, мы не должны его запускать, но это наиболее частая ошибка, вызванная человеческим фактором. Чтобы этого избежать, предлагается следовать трём основным правилам:

    • Работайте в одном каталоге. Храните все анализируемые файлы и сопутствующие артефакты в одном каталоге и его подкаталогах. Например, это может быть вот так. Основной каталог - 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". Если его не удаётся запустить, ОС сама об этом сообщит:

        Предупреждение ОС о запрете запуска файла
        Предупреждение ОС о запрете запуска файла
  2. Эксплуатация уязвимости в анализирующем ПО. За всю работу мне не пришлось с этим столкнуться на своём рабочем компьютере или я об этом так и не узнал, но существует небольшая вероятность нарваться на пасхалочку от злоумышленника. Приложения, используемые для анализа вредоносного ПО, могут содержать в себе уязвимости, вызывающие запуск вредоносного кода. Некоторые приложения даже выдают соответствующие предупреждения:

    Предупреждение от Office Malware Scanner
    Предупреждение от Office Malware Scanner

    Особенно это касается бесплатного софта, в котором могут быть и скрытые от пользователя возможности. Здесь стоит следовать правилу: следите за актуальным обновлением своих утилит. А если не уверены в надёжности используемого софта, запускайте его в безопасном окружении, как при динамическом анализе файлов.

  3. Желательно держать антивирусное ПО на рабочем компьютере с ОС Windows. Иногда антивирус причиняет боль, но чаще всего он всё же выполняет свою работу, и мы просто в неведении о том, что потенциально опасного происходит. При работе с вредоносами следует в настройках антивируса указать исключения для проверок рабочего каталога и его подкаталогов. Обычно этого достаточно, чтобы исследуемые файлы не попали в карантин (откуда несложно их вернуть на место). Иногда необходимо также добавить и используемые утилиты в доверенные. Делайте это по мере необходимости, не для всех приложений сразу.

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

Комментарии (10)


  1. dcc0
    09.01.2023 21:14
    -5

    Вы никогда не задумывались о том, что может быть никакого вредоносного ПО не существует?!
    Что это фикция?! Что-то вроде ветряной мельницы, с которой вы боретесь?!


    1. primath Автор
      09.01.2023 21:19
      +2

      Это как если нас не существует, а мы лишь вымышленные персонажи двухтомника, над которыми настоящие существующие смеются и нетерпением ждут очередного анекдота в наших сценариях


      1. dcc0
        10.01.2023 09:10
        -3

        Вот. "Рассказы о компьютерных вирусах - это все равно что сказки о крокодилах в метро Нью-Йорка".


  1. miae
    10.01.2023 08:41

    "Здесь я расскажу о настройке рабочего окружения для безопасного статического анализа вредоносных файлов в среде Windows." IMHO, статический анализ предполагает работу с исходниками без необходимости запуска результатов компиляции.

    Про варианты обхода такой защиты через пайп писать не буду )


    1. primath Автор
      10.01.2023 08:46
      +2

      Чаще всего исходников нет, и работать нужно с бинарём. Обычно вредоносные файлы распространяются без сопровождающего кода и документации. Но с кодом, конечно, тоже приходится работать. Кстати, я бы прочёл, что значит в данном случае через пайп.


  1. vldmrmlkv
    10.01.2023 08:48

    SRP несколько раз спасало от распространения вирусов в локальной сети, но также можно и антивирусы отключать


    1. primath Автор
      10.01.2023 08:51
      +1

      Но это же не спасёт от заражения конкретного компьютера, где проводится анализ. Возьмём, к примеру, Trojan-Ransom (вымогатель), который просто зашифрует все файлы типа документы.


      1. vldmrmlkv
        10.01.2023 13:37
        +1

        А зачем для подобного использовать свой рабочий комп, а не виртуальную машину? Почему windows, а не linux?

        В моём случае это был исполняемый файл в запароленном архиве, пароль в письме, юзер открыл и ничего не произошло т.к. сработал SRP, который был настроен заранее, пользователь не от админа работал, был запрещён запуск PS и cmd не от админа, настроен антивирус.


        1. primath Автор
          10.01.2023 14:05

          В моём случае ...

          У вредоноса не было шансов

          А зачем ...

          В идеале, да, нужно смотреть в безопасном окружении. Но большую часть статического анализа с файлом можно выполнить на рабочем компьютере. Windows до сих пор наиболее распространённая ОС среди конечных пользователей не только в РФ, но и по миру. В linux, конечно, сразу решается большая часть вопросов по безопасному анализу, но не все готовы туда перескочить. Здесь же говорится про то, что есть тушка вредоноса на диске, и эту тушку уже исследуют (это может быть eml с вложением, PE файл, документ с макросом или эксплоитом, и т.д.).


        1. mordoorg
          10.01.2023 14:07

          Можно просто использовать всё вместе. Ещё и через антискан прогонять. Лишним явно не будет.