Mastodon Mastodon Mastodon Mastodon

Обфускація

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

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

Як працює обфускація

Обфускація змінює не те, що робить програма, а те, як вона виглядає. Типові прийоми:

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

Чому це важливо для безпеки

Майже все сучасне шкідливе ПЗ обфусковане. Це допомагає обходити сигнатурні антивіруси, сповільнює реверс-інжиніринг і приховує індикатори на кшталт адрес командних серверів. Веб-скімери в інтернет-магазинах ховають код у сильно обфускованому JavaScript і навіть у зображеннях, а фішингові набори обфускують HTML, щоб обійти поштові фільтри. Відкритий інструмент Invoke-Obfuscation показав, як легко замаскувати команди PowerShell.

Обфускація має й легальне застосування: розробники захищають інтелектуальну власність і логіку ліцензування в мобільних застосунках і JavaScript за допомогою ProGuard та комерційних протекторів.

Як із нею працюють захисники

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