Mastodon Mastodon Mastodon Mastodon

Обфускация

Обновлено: · CyberSecureFox Editorial Team

Обфускация — намеренное запутывание кода или данных, которое затрудняет их чтение и анализ, но не меняет поведение программы.

Как работает обфускация

Обфускация меняет не то, что делает программа, а то, как она выглядит. Типичные приёмы:

  • замена имён переменных и функций бессмысленными строками;
  • шифрование или кодирование строк — адресов, команд — с расшифровкой только во время выполнения;
  • «сплющивание» потока управления и мусорный код, скрывающие настоящую логику;
  • разбиение и склейка команд — любимый трюк в PowerShell и JavaScript;
  • упаковка всего файла упаковщиком, который распаковывает его в памяти.

Почему это важно для безопасности

Практически всё современное вредоносное ПО обфусцировано. Это помогает обходить сигнатурные антивирусы, замедляет реверс-инжиниринг и прячет индикаторы вроде адресов командных серверов. Веб-скиммеры в интернет-магазинах скрывают код в сильно обфусцированном JavaScript и даже в изображениях, фишинговые наборы обфусцируют HTML, чтобы обойти почтовые фильтры. Открытый инструмент Invoke-Obfuscation показал, как легко замаскировать команды PowerShell.

У обфускации есть и легальное применение: разработчики защищают интеллектуальную собственность и логику лицензирования в мобильных приложениях и JavaScript с помощью ProGuard и коммерческих протекторов.

Как с ней работают защитники

  • Отслеживают поведение, а не строки: EDR видит, что делает скрипт после декодирования.
  • Используют Windows AMSI и журналирование блоков скриптов PowerShell, которые фиксируют уже деобфусцированный код.
  • Анализируют образцы динамически в песочнице и применяют инструменты деобфускации — CyberChef, de4dot.
  • Считают сильную обфускацию в скриптах и документах тревожным признаком сама по себе.
Синонимы:
запутывание кода, обфускация кода