ТЕХНІЧНИЙ ОПИС

Зловмисники можуть впорскувати код у процеси, щоб ухилитися від захисту, орієнтованого на процеси, а також, можливо, підвищити привілеї. Ін’єкція в процес — це метод виконання довільного коду в адресному просторі окремого живого процесу. Запуск коду в контексті іншого процесу може надати доступ до пам’яті цього процесу, системних/мережевих ресурсів і, можливо, підвищених привілеїв. Виконання через ін’єкцію в процес також може допомогти уникнути виявлення продуктами безпеки, оскільки виконання маскується під легітимний процес.

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

Більш складні зразки можуть виконувати кілька ін’єкцій у процеси для сегментації модулів та подальшого ухилення від виявлення, використовуючи іменовані канали (named pipes) або інші механізми міжпроцесної взаємодії (IPC) як канали зв’язку.

Як працює «вселення» в процес?

  • DLL Injection (T1055.001): Зловмисник змушує чужий процес завантажити шкідливу бібліотеку з диска. Це класичний метод, де використовується функція Windows API CreateRemoteThread.
  • Process Hollowing (T1055.012): Хакер створює новий процес (наприклад, svchost.exe) у стані паузи, «вичищає» з його пам’яті справжній код і записує туди свій вірус. Коли процес «прокидається», він виглядає як системний, але працює як бекдор.
  • Thread Execution Hijacking (T1053.003): Зловмисник знаходить працюючий потік у легітимній програмі, призупиняє його, змінює точку виконання на свій шкідливий код і запускає знову.
  • Reflective DLL Injection: На відміну від звичайної ін’єкції, DLL завантажується безпосередньо з пам’яті без запису на диск. Це робить атаку «безфайловою» (fileless), що є вкрай складним завданням для традиційних антивірусів.

Чому це вкрай небезпечно?

  • Обхід фаєрволів: Якщо вірус «живе» всередині browser.exe, фаєрвол дозволить йому будь-який вихідний трафік, вважаючи, що це користувач переглядає сайти.
  • Доступ до секретів: Знаходячись всередині процесу, наприклад, lsass.exe (служба автентифікації), зловмисник може читати хеші паролів безпосередньо з пам’яті.
  • Складність аналізу: Коли ви відкриваєте диспетчер завдань, ви бачите лише звичайні програми. Виявити ін’єкцію можна лише за допомогою спеціальних інструментів для аналізу пам’яті.

Як захиститися?

  • EDR/XDR системи: Сучасні рішення відстежують підозрілі виклики API (OpenProcess, VirtualAllocEx, WriteProcessMemory), які зазвичай використовуються для ін’єкцій.
  • ASLR (Address Space Layout Randomization): Технологія, яка рандомізує адреси пам’яті, що ускладнює зловмиснику пошук правильного місця для впорскування коду.
  • Обмеження привілеїв: Більшість методів ін’єкції вимагають високих прав доступу до процесу-жертви. Робота під звичайним користувачем значно звужує коло потенційних цілей для хакера.
  • Моніторинг межпроцесної взаємодії: Відстежуйте створення незвичних іменованих каналів (Named Pipes) між процесами.