Анализ вредоносного ПО - Malware analysis

Анализ вредоносного ПО представляет собой исследование или процесс определения функциональности, происхождения и потенциального воздействия конкретного образца вредоносного ПО, такого как вирус, червь, троянский конь, руткит, или же задняя дверь.[1] Вредоносное ПО или вредоносное программное обеспечение - это любое компьютерное программное обеспечение, предназначенное для нанесения вреда операционной системе хоста или украсть конфиденциальные данные от пользователей, организаций или компаний. Вредоносное ПО может включать программное обеспечение, которое собирает информацию о пользователях без разрешения.[2]

Сценарии использования

Существует три типичных варианта использования, которые вызывают необходимость в анализе вредоносных программ:

  • Управление инцидентами компьютерной безопасности: Если организация обнаруживает или подозревает, что какое-то вредоносное ПО могло проникнуть в ее системы, группа реагирования может пожелать выполнить анализ вредоносных программ на любых потенциальных образцах, обнаруженных в процессе расследования, чтобы определить, являются ли они вредоносными программами, и если да, то какое влияние это вредоносное ПО может присутствовать в системах в среде целевой организации.
  • Исследование вредоносного ПО: Академические или отраслевые исследователи вредоносных программ могут выполнять анализ вредоносных программ, просто чтобы понять, как ведет себя вредоносная программа и какие новейшие методы используются при ее создании.
  • Индикатор компрометации извлечение: поставщики программных продуктов и решений могут выполнять массовый анализ вредоносных программ для определения новых потенциальных индикаторов компрометации; эта информация может затем использоваться в продукте или решении безопасности, чтобы помочь организациям лучше защищаться от атак вредоносных программ.

Типы

Метод, с помощью которого выполняется анализ вредоносных программ, обычно подпадает под один из двух типов:

  • Статический анализ вредоносных программ: Статический или Анализ кода обычно выполняется путем анализа различных ресурсов двоичного файла не выполняя это и изучение каждого компонента. Бинарный файл также можно разобрать (или реконструированный ) с помощью дизассемблера, такого как IDA или Ghidra. Машинный код иногда можно преобразовать в код сборки, который может быть прочитан и понят людьми: аналитик вредоносных программ может затем прочитать сборку, поскольку она соотносится с конкретными функциями и действиями внутри программы, затем понять инструкции сборки и получить лучшая визуализация того, что делает программа и как она была изначально разработана. Просмотр сборки позволяет аналитику вредоносных программ / обратному инженеру лучше понять, что должно произойти, по сравнению с тем, что происходит на самом деле, и начать выявлять скрытые действия или непредвиденные функции. Некоторые современные вредоносные программы создаются с использованием уклончивых методов, позволяющих обойти этот тип анализа, например, путем встраивания ошибок синтаксического кода, которые сбивают с толку дизассемблеры, но продолжают работать во время реального выполнения.[3]
  • Динамический анализ вредоносных программ: Динамический или поведенческий анализ выполняется путем наблюдения за поведением вредоносной программы, когда она фактически работает в хост-системе. Эта форма анализа часто выполняется в среда песочницы для предотвращения заражения вредоносными программами производственных систем; многие такие «песочницы» представляют собой виртуальные системы, которые можно легко вернуть в чистое состояние после завершения анализа. Вредоносное ПО также может быть отлажено во время работы с отладчик Такие как GDB или же WinDbg чтобы шаг за шагом наблюдать за поведением и воздействием вредоносного ПО на хост-систему, пока обрабатываются его инструкции. Современные вредоносные программы могут демонстрировать широкий спектр методов обхода, предназначенных для отказа от динамического анализа, включая тестирование виртуальных сред или активных отладчиков, задержку выполнения вредоносных полезных нагрузок или требование некоторой формы интерактивного ввода данных пользователем.[4]

Этапы

Изучение вредоносного ПО включает несколько этапов, включая, помимо прочего, следующие:

  • Ручное изменение кода: только профессиональные аналитики могут вникнуть в этот этап анализа вредоносных программ. Дизассемблеры и отладчики - это те, кто занимается анализом вредоносных программ, а также ручным обращением кода, чтобы аналитики могли лучше понять идентичность вредоносных программ.
  • Интерактивный анализ поведения: инструменты интерактивного поведения участвуют в процедуре анализа вредоносных программ, когда аналитики использовали автоматизированные инструменты и изучили статические свойства, чтобы лучше понять образец. когда аналитик решает взаимодействовать с вредоносными программами вместо того, чтобы пассивно наблюдать за ними.
  • Анализ статических свойств: инструменты статических свойств предоставляют метрики статических свойств для аналитиков, которые помогают им более точно анализировать подозрительные файлы. Нет необходимости запускать вредоносные программы для получения статических данных, поэтому получить эти данные несложно. Детали заголовка, хэши, встроенные ресурсы, подписи упаковщика, метаданные являются экземплярами статических свойств.
  • Полностью автоматизированный анализ: Полностью автоматизированный анализ - это то, что необходимо внедрить, чтобы сэкономить время людей и бюджет организации. Организации не могут извлечь выгоду из лучшего понимания вредоносных программ при использовании таких инструментов. Однако они дают исследователям больше времени, чтобы сосредоточиться на серьезных проблемах. Таким образом, полностью автоматизированные инструменты позволяют исследователям сосредоточиться на делах, которые невозможно решить без внимания людей.

Программного обеспечения

Инструменты бинарного анализа

Дизассемблеры

Отладчики

Песочницы

  • Гибридный анализ: бесплатный сервис анализа вредоносных программ на базе Payload Security. Используя этот сервис, вы можете отправлять файлы для углубленного статического и динамического анализа.
  • ANY.RUN: интерактивный сервис для поиска вредоносных программ с взаимодействием в реальном времени и мониторингом процессов. Доступно для бесплатного использования с 2018 года.[6]
  • CWSandbox: раннее решение для песочницы вредоносных программ c. 2006-2011[7] от Sunbelt Software, стал GFISandbox.
  • GFISandbox: решение для песочницы c. 2011-2013[8] от GFI Software, стал ThreatAnalyzer.
  • Cuckoo Sandbox: решение для песочницы c. 2012 ?, открытый исходный код на GitHub, предназначенный для автоматического обнаружения и профилирования вредоносных программ.
  • Joe Sandbox: решение для песочницы c. 2010 от Джо Секьюрити. Первое решение, представляющее гибридный анализ. Позволяет проводить анализ на любом устройстве, включая ноутбуки, компьютеры и телефоны без операционной системы. Поддерживает анализ в Windows, Android, MAC OS X и iOS.
  • ThreatAnalyzer: песочница c. 2013 – настоящее время[9] из Безопасность ThreatTrack, предназначенный для автоматического обнаружения вредоносных программ и подробного профилирования.
  • VMRay: песочница c. 2015 из VMRay. Создано оригинальным автором CWSandbox. Вместо подключения целевая машина остается неизменной, а мониторинг и управление осуществляется на уровне гипервизора.[10]

Примечание. В некоторых размещенных песочницах, таких как Malwr, под капотом используется один из перечисленных выше продуктов (Malwr использует Cuckoo).

Дополнительные ресурсы

  • MalwareAnalysis.co: Хаб для различных ресурсов.

Рекомендации

  1. ^ «Международный журнал перспективных исследований в области анализа вредоносных программ» (PDF). ijarcsse. Архивировано из оригинал (pdf) на 2016-04-18. Получено 2016-05-30.
  2. ^ «Определение вредоносного ПО». Получено 2016-05-30.
  3. ^ Хониг, Эндрю; Сикорский, Майкл (февраль 2012 г.). Практический анализ вредоносного ПО. Пресс без крахмала. ISBN  9781593272906. Получено 5 июля 2016.
  4. ^ Керагала, Дилшан (январь 2016 г.). «Обнаружение вредоносных программ и методы обхода песочницы». Институт SANS.
  5. ^ http://www.winitor.com
  6. ^ «Any.Run - интерактивный инструмент анализа вредоносных программ - теперь открыт для общественности». КровотечениеКомпьютер. Получено 7 марта, 2018.
  7. ^ Уттер, Дэвид (25 октября 2006 г.). «CWSandbox автоматизирует анализ вредоносного ПО». БезопасностьProNews. Получено 5 июля 2016.
  8. ^ «Программное обеспечение GFI® упрощает динамический анализ вредоносного ПО для бизнеса». BusinessWire. 3 августа 2011 г.. Получено 5 июля 2016.
  9. ^ «ThreatTrack Security представляет ThreatAnalyzer 5.0». Темное чтение. 2013-11-19. Получено 5 июля 2016.
  10. ^ «Мониторинг системы на основе гипервизора с аппаратной поддержкой, С. Виллемс, Р. Хунд, Т. Хольц - Рурский университет в Бохуме» (PDF).