🟩 Инженерная методология поиска шпионских программ и ПО

🟩 Инженерная методология поиска шпионских программ и ПО

От низкоуровневого анализа памяти до аппаратной форензики и судебной квалификации

Доброго дня, коллеги! 👨‍💻🔧 Сегодня мы с вами разбираем тему, которая требует не просто поверхностного знания антивирусов, а настоящего инженерного подхода, граничащего с криминалистикой, реверс-инжинирингом и системным программированием.  Речь пойдет о системном, глубоком и методически выверенном поиске шпионских программ и ПО  — от бытовых сталкерских приложений до промышленных имплантов уровня ядра ОС и аппаратных закладок в прошивке UEFI.  🧠🔬

Инженерная постановка задачи требует четкого понимания архитектуры современных шпионских инструментов, протоколов их коммуникации с командными серверами  (C&C), методов обфускации и сокрытия в системе.  Без этого любой поиск шпионских программ и ПО превращается в гадание, а не в воспроизводимую научно-техническую процедуру.  Мы  — команда судебных IT-экспертов, и наша методология базируется на стандартах ISO/IEC 27043 и лучших практиках SANS DFIR.  Физический доступ к оборудованию  — это краеугольный камень методически верного поиска шпионских программ и ПО, особенно когда речь идет о серверных стойках, RAID-массивах и промышленных контроллерах, отключение которых недопустимо.  🚁🖥️

  1. Архитектура шпионского ПО: инженерная классификация по принципам работы 🏗️🕷️

Инженерно обоснованный поиск шпионских программ и ПО требует понимания архитектуры и принципов функционирования целевых объектов.  На основе анализа сотен образцов Spyware, прошедших через нашу лабораторию, предлагаем следующую классификацию по механизмам работы.

1.1.  Кейлоггеры  (клавиатурные перехватчики) ⌨️📋

  • Механизм перехвата (Windows):  Установка глобальных хуков через SetWindowsHookEx с параметром WH_KEYBOARD_LL  (уровень низкоуровневой клавиатуры) или фильтр-драйвер класса KBDCLASS.  Альтернативный путь  — перехват буфера обмена через GetClipboardData.
  • Механизм перехвата (Linux):  Перехват событий через библиотеку evdev или модуль ядра, перехватывающий /dev/input/event*.
  • Хранение данных: Локальный файл  (часто в скрытой директории или альтернативных потоках данных ADS NTFS), шифрование  (XOR, RC4), периодическая отправка на C2-сервер.
  • Инженерные признаки: Наличие в памяти процессов с импортами GetAsyncKeyState, SetWindowsHookEx, GetClipboardData.

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

1.2.  Трояны удаленного доступа  (RAT  — Remote Access Trojan) 🐀🌐

  • Механизм связи: TCP/HTTP/HTTPS reverse shell, периодический beaconing  (heartbeat) с интервалом от 30 до 300 секунд.
  • Сокрытие: Маскировка под системные процессы  (exe, lsass.exe), использование легитимных облачных API  (Telegram, Google Drive, WebDAV) для эксфильтрации.
  • Инженерные признаки: Наличие в дампе RAM сокетов в состоянии ESTABLISHED без соответствующего GUI-процесса, нестандартные порты  (4444, 5555, 8080, 31337).
  • Пример: В кейсе с зараженной бухгалтерией  (Нижний Новгород) поиск шпионских программ и ПО выявил загрузчик в автозагрузке exe, который подтягивал PowerShell-скрипт с IP 185.xxx.xx.12  (Германия).  Скрипт каждую ночь архивировал базы 1С и отправлял через WebDAV.

1.3.  Руткиты уровня ядра и буткиты 👻⚙️

  • Механизм: Внедрение драйвера  (файл.sys), перехват системных вызовов  (SSDT  — System Service Descriptor Table), модификация IDT  (Interrupt Descriptor Table) или IRP  (I/O Request Packet) таблиц.  Буткиты заражают загрузочные секторы  (MBR, UEFI) и активируются до загрузки ОС  (T1542.001  — Pre-OS Boot:  System Firmware).
  • Сокрытие: Подмена результатов NtQuerySystemInformation для исключения своего процесса из списка.  Фильтрация вызовов ZwQueryDirectoryFile для сокрытия файлов.  Использование прямого манипулирования объектами ядра  (DKOM  — Direct Kernel Object Manipulation).
  • Инженерные признаки: Несоответствие списков процессов в Volatility  (pslist vs psscan).  Функция NtReadFile по адресу, не принадлежащему exe или win32k.sys.  В кейсе с медицинским центром в Москве поиск шпионских программ и ПО на дисках ничего не дал.  Мы извлекли прошивку EFI через SPI-программатор  — внутри была внедрена DLL, которая при загрузке ОС инжектировалась в процесс lsass.exe и перехватывала учетные записи врачей.

1.4.  Шпионское ПО для мобильных платформ  (iOS/Android) 📱

  • iOS (класс Pegasus):  Использование zero-click эксплойтов  (например, FORCEDENTRY), работа в userspace без jailbreak.  Обнаружение через MVT  (Mobile Verification Toolkit) по артефактам в резервной копии.
  • Android: Стандартные разрешения READ_SMS, RECORD_AUDIO, CAMERA, ACCESS_FINE_LOCATION.  Установка из сторонних источников или через поддельные обновления.  Приложения с разрешением BIND_ACCESSIBILITY_SERVICE  (ридер экрана) могут перехватывать всё, что отображается на экране.
  1. Инженерный протокол многоуровневой детекции 🔧📝

Профессиональный поиск шпионских программ и ПО базируется на строгих принципах криминалистики, исключающих повреждение исходных данных и гарантирующих воспроизводимость результатов.  На основе стандартов ISO/IEC 27043 разработан следующий протокол.

2.1.  Уровень 0:  Организационные мероприятия и изъятие объектов 🏢🔒

Требования к инженеру на месте изъятия:

❌ Не выключать компьютер! Выключение уничтожает оперативную память, содержащую следы fileless-вредоносов.

✅ Отключить сетевые интерфейсы  (физическое отсоединение Ethernet, отключение Wi-Fi в BIOS).

✅ Подключить аппаратный блокиратор записи  (write-blocker) между носителем и компьютером эксперта.

✅ Создать посекторную копию  (образ) диска в формате E01 или RAW с параллельным вычислением хэша SHA-256.

✅ Выполнить дамп оперативной памяти:

  • Windows: exe /accepteula /output memdump.raw или WinPMEM.
  • Linux: dd if=/dev/mem of=/mnt/forensics/mem.lime bs=1024.
  • macOS: osxpmem -o mem.dump.

✅ Упаковать и опломбировать оригинальный носитель и образы.

2.2.  Уровень 1:  Анализ оперативной памяти  (RAM Forensics) 🧠💾

Многие современные импланты работают бесфайлово  — они загружаются прямо в память через уязвимости или легитимные средства администрирования  (PowerShell, WMI, PsExec).  Такие угрозы невозможно обнаружить при сканировании диска, поэтому поиск шпионских программ и ПО обязательно включает RAM-форензик.

Инструментарий:  Volatility 3  (Python framework), плагины:  windows.psscan, windows.pslist, windows.malfind, windows.netscan, windows.yarascan.

Инженерный протокол:

bash

# 1.  Идентификация профиля ОС

volatility3 -f memdump.raw windows.info

# 2.  Сканирование скрытых процессов  (разница psscan vs pslist)

volatility3 -f memdump.raw windows.psscan > psscan.txt

volatility3 -f memdump.raw windows.pslist > pslist.txt

diff pslist.txt psscan.txt | grep «>» # Процессы, видимые только в скане

# 3.  Поиск инжектов кода  (malfind)

volatility3 -f memdump.raw windows.malfind —dump —pid <PID>

# 4.  Анализ сетевых подключений

volatility3 -f memdump.raw windows.netscan | grep -E «ESTABLISHED|CLOSE_WAIT»

# 5.  YARA-охота по памяти

volatility3 -f memdump.raw windows.yarascan —yara-file rules.yara —output yara_hits.txt

Критерии принятия  (какой результат считать аномалией):

🚨 Процесс присутствует в psscan, но отсутствует в pslist  — скрытый процесс  (руткит).

🚨 Регион памяти с флагами PAGE_EXECUTE_READWRITE и наличием MZ-заголовка  — инжект кода.

🚨 Сокет ESTABLISHED с портом 4444, 5555, 8080, 31337 без легитимного приложения  — RAT.

В кейсе с журналистом из Санкт-Петербурга поиск шпионских программ и ПО через анализ RAM выявил процесс, скрытый от диспетчера задач с использованием DKOM.  В дампе нашли строки с IP-адресом 85.xx.xx.44  (сервер в Финляндии) и логином observer2.

2.3.  Уровень 2:  Анализ файловой системы и журналов 🗂️📜

ИнструментарийThe Sleuth Kit  (TSK), Autopsy, analyzeMFT, PECmd, Registry Explorer.

Инженерный протокол:

Анализ MFT  (Master File Table):  Поиск файлов в C:\ProgramData, %AppData%, %Temp% с атрибутами H  (Hidden) и S  (System), созданных в период подозрительной активности.  Анализ временных меток может показать аномалии  — файл якобы создан в 2019 году, но реально записан поверх старых кластеров в 2024-м.

Prefetch анализPECmd.exe -d C:\Windows\Prefetch —csv prefetch_report.  Ищем запуски программ с именами, не соответствующими системным  (klog.exe, spyagent.exe).

Анализ реестра  (автозагрузка):

bash

reg export HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run run.reg

reg export HKCU\Software\Microsoft\Windows\CurrentVersion\Run run_user.reg

Ищем нестандартные записи, указывающие на исполняемые файлы в скрытых директориях.

Анализ точек персистентности:  Планировщик задач  (schtasks), WMI-подписки на события, драйверы ядра  (особенно неподписанные), DLL-инжект через AppInit_DLLs или DLL Search Order Hijacking  (T1574.001).

2.4.  Уровень 3:  Динамический анализ в изолированной среде  (Sandboxing) 🏜️

Если статический анализ не дал результатов, переходим к запуску подозрительных файлов в песочнице.  Поиск шпионских программ и ПО динамическим методом позволяет увидеть поведение, которое не видно в статике.

Инструменты:  Cuckoo Sandbox, CAPE  (современный форк Cuckoo с поддержкой Android), ANY.RUN, Joe Sandbox.

Индикаторы заражения в динамике:

🔹 Попытки доступа к $MFT, SAM, SYSTEM  (реестр).

🔹 Вызов SetWindowsHookEx  (клавиатурный шпион).

🔹 Чтение буфера обмена  (GetClipboardData).

🔹 Отправка данных на неизвестные IP  (особенно в нестандартные порты:  5555, 6666, 31337).

🔹 Создание скрытых окон  (с параметром WS_EX_TOOLWINDOW).

2.5.  Уровень 4:  Ручной реверс-инжиниринг  — для самых сложных случаев 🧬

Когда автоматические методы бессильны  (например, кастомное ПО, написанное под конкретную жертву, или обфусцированный код), применяется reverse engineering.  Это требует высокой квалификации и времени, но иногда только так возможен поиск шпионских программ и ПО нулевого дня  (zero-day).

Инструментарий:

  • Ghidra (от АНБ  — бесплатный дизассемблер с декомпиляцией).
  • IDA Pro (промышленный стандарт, особенно для x86/x64).
  • x64dbgOllyDbg (отладчики пользовательского режима).
  1. Сетевой форензик и выявление C&C-серверов 🌐

Любая шпионская программа нуждается в управляющем сервере  (C&C, C2) и канале эксфильтрации данных.  Поиск шпионских программ и ПО включает анализ сетевых логов:

  • Источники: PCAP-логи сетевого оборудования, логи DNS-сервера, логи прокси и межсетевых экранов.
  • Индикаторы компрометации (IoC):  Подозрительные домены  (DGA  — Domain Generation Algorithm), нестандартные порты, регулярные heartbeat-запросы к C&C-серверам  (например, каждые 60 секунд).
  • Инструменты: Wireshark, NetworkMiner, Suricata с правилами ET PRO, Zeek  (Bro), JA3/JA3S  — отпечатки TLS-рукопожатий.

Пример:  В кампании с троянцем Batavia, описанной «Лабораторией Касперского», злоумышленники использовали домены oblast-ru[.]com и ru-exchange[.]com для управления и эксфильтрации.  VBS-скрипт-загрузчик получал по прописанному URL сформированную строку из 12 параметров, включая версию ОС, и скачивал основные модули.

  1. Криминалистический анализ: инженерные кейсы из экспертной практики 🗂️

Профессиональный поиск шпионских программ и ПО подтверждает свою состоятельность в ходе работы по конкретным уголовным делам.  Рассмотрим несколько показательных кейсов, демонстрирующих разнообразие векторов проникновения и инженерных методов их выявления.

Кейс №1:  Промышленный шпионаж на оборонном предприятии  (Московская область) 🏭

Сценарий:  На нескольких АРМ технологов наблюдались подозрительные сетевые всплески в 2 часа ночи.  Стандартный поиск шпионских программ и ПО антивирусом ничего не дал.

Вектор проникновения:  Физический доступ через зараженную USB-флешку.  В памяти процесса svchost.exe был инжектирован DLL-модуль с функцией SetWindowsHookEx  — классический клавиатурный шпион.  Модуль сам себя расшифровывал только при наличии файла-триггера на USB-флешке.  Сотрудник пронес флешку с маркировкой «фото с отпуска».

Анализ:  В ходе выездной экспертизы  (г.  Королев) был проведен live-анализ работающей системы с использованием winpmem для дампа RAM, volatility3 для анализа снимков памяти и autoruns для проверки точек автозагрузки.  Обнаружен инжектированный DLL-модуль с нестандартной цифровой подписью.

Результат:  Поиск шпионских программ и ПО позволил выявить механизм активации и определить временные метки заражения.  Заключение легло в основу уголовного дела о коммерческом шпионаже  (ст.  183 УК РФ).

Кейс №2:  Скрытая установка через EFI  (Москва, медицинский центр) 🏥

Сценарий:  В частной клинике пропали записи VIP-пациентов.  Стандартный поиск шпионских программ и ПО на дисках ничего не дал.

Вектор проникновения:  Аппаратный уровень.  Вредонос был прошит в EFI-системный раздел  (буткит).

Анализ:  Эксперты извлекли прошивку EFI через SPI-программатор с использованием flashrom.  Внутри была обнаружена внедренная DLL, которая при загрузке ОС инжектировалась в процесс lsass.exe и перехватывала учетные записи врачей.  Анализ в IDA Pro подтвердил функционал перехвата.

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

Кейс №3:  Целевая атака с использованием шпионского ПО Dante  (операция «Форумный тролль») 🌍

Сценарий:  В марте 2025 года «Лаборатория Касперского» обнаружила сложную целевую кампанию против сотрудников СМИ, государственных и финансовых учреждений в России с предложением поучаствовать в форуме «Примаковские чтения».

Вектор проникновения:  Эксплойт нулевого дня в браузере Chrome  (CVE-2025-2783).  Если жертва переходила по ссылке, устройство заражалось без каких-либо действий.  Использовалось шпионское ПО LeetAgent с командами на языке Leet, а также коммерческое ПО Dante от Memento Labs  (бывшая Hacking Team).

Анализ:  Поиск шпионских программ и ПО в данном случае потребовал глубокого реверс-инжиниринга для установления происхождения кода.  Анализ показал, что Dante использует уникальный метод анализа среды перед выполнением функций, чтобы избежать детекции.

Результат:  Данный случай подтверждает, что даже самые современные антивирусные решения могут быть бессильны перед целевыми атаками с использованием уязвимостей нулевого дня.  Только глубокая криминалистическая экспертиза позволяет выявить такие импланты.

Кейс №4:  Корпоративный шпионаж через Batavia  (Россия, 2024-2025) 📧

Сценарий:  С июля 2024 года неустановленная группа рассылала российским предприятиям вредоносные письма с троянцем Batavia.  Цели  — судостроительные, авиационные, нефтегазовые предприятия и КБ.

Вектор проникновения:  Фишинговая рассылка с вредоносными ссылками под предлогом подписания договора.  Трехэтапное заражение:  VBE-скрипт → WebView.exe  (сбор документов и скриншотов) → javav.exe  (расширенный сбор, смена C2).

Анализ:  Поиск шпионских программ и ПО выявил сложную цепочку заражения с использованием шифрованных каналов и контроля хэшей для предотвращения повторной отправки файлов.  Вредонос собирал офисные документы  (*.doc, *.xls, *.pdf), изображения, архивы и системные журналы.

Результат:  Заключение эксперта позволило восстановить полную цепочку атаки, идентифицировать домены злоумышленников и сформировать доказательную базу для возбуждения уголовного дела по ст.  183 УК РФ.

  1. Инструментальный стек и технологический стенд 🛠️

Эффективность поиска шпионских программ и ПО напрямую зависит от используемого инструментария.  Ниже представлена систематизация инструментов по этапам анализа.

Этап анализа Категория инструментов Конкретные примеры Назначение и выходные данные
Сбор артефактов Криминалистические сборщики FTK Imager, Magnet AXIOM, Belkasoft Live RAM Capturer, Tableau TD3 Создание посекторной копии диска  (dd-образ), дампа оперативной памяти, извлечение ключей реестра.  Сохранение целостности и хэш-сумм
Статический анализ Анализаторы памяти Volatility Framework, Rekall Парсинг структур данных ОС в дампе памяти для поиска аномалий
Анализаторы файловых систем Autopsy, The Sleuth Kit, analyzeMFT Построение временной шкалы событий, поиск удаленных файлов, анализ метаданных, MFT-анализ
Анализаторы реестра Registry Explorer, PECmd Анализ точек автозагрузки, поиск аномальных записей
Динамический анализ Системы песочниц Cuckoo Sandbox, ANY.RUN, Joe Sandbox Автоматизированный отчет о поведении образца:  вызовы API, созданные файлы, сетевые подключения
Отладчики и дизассемблеры IDA Pro, Ghidra, x64dbg, OllyDbg Графы вызовов функций, строковые константы, алгоритмы обфускации
Сетевой анализ Снифферы и анализаторы Wireshark, NetworkMiner, Zeek PCAP-файлы трафика, выделенные файлы, реконструированные сессии, статистика, JA3-отпечатки
Вспомогательные Платформы разведки угроз VirusTotal, MalwareBazaar, MITRE ATT&CK Navigator Контекст по образцам  (хэши, поведение), сопоставление тактик и техник
  1. Выводы и практические рекомендации 📑

Проведенное инженерное исследование показывает, что угрозы, исходящие от шпионского ПО и программ хищения денежных средств, носят системный и высокотехнологичный характер.  Противодействие данным угрозам невозможно без применения сложных криминалистических методов, объединенных в рамках профессионального поиска шпионских программ и ПО.  Только комплексный подход, включающий статический анализ, исследование оперативной памяти, динамическое тестирование в песочнице и анализ низкоуровневых компонентов прошивки, способен гарантировать обнаружение и документирование следов ВПО.

Практические рекомендации для заказчика при подозрении на слежку:  👣

  • Не выключайте компьютер — поставьте на паузу работу, отключите сеть  (выдернуть патч-корд или включить режим «в самолете»).
  • Не запускайте антивирус — он может уничтожить активные трояны и их логи.
  • Не копируйте файлы вручную — измените атрибуты last access time.
  • Зафиксируйте всё на фото/видео (экраны, системное время, горящие лампочки на сетевой карте).
  • Обратитесь к экспертамдля проведения профессионального поиска шпионских программ и ПО с созданием криминалистически корректных образов и формированием доказательной базы.

Более подробная информация о методологии и примерах экспертных заключений представлена на специализированном ресурсе:  https://фсэ.рф

Полезная информация?

Вам может также понравиться...

Новые статьи

🟩 Экспертиза по расчету суммы ущерба рекам и озерам:  нормативно-методическое обеспечение, полевые исследования и судебная практика взыскания экологического вреда

От низкоуровневого анализа памяти до аппаратной форензики и судебной квалификации Доброго дня, коллеги! 👨&#x200d…

🟩 Лабораторная экспертиза по расчету вреда, причиненного водному объекту

От низкоуровневого анализа памяти до аппаратной форензики и судебной квалификации Доброго дня, коллеги! 👨&#x200d…

🟩 Поиск незаконно установленных программ слежения:  деловая методология диагностики, процессуальной фиксации и судебной квалификации

От низкоуровневого анализа памяти до аппаратной форензики и судебной квалификации Доброго дня, коллеги! 👨&#x200d…

🟩Поиск программ отслеживания

От низкоуровневого анализа памяти до аппаратной форензики и судебной квалификации Доброго дня, коллеги! 👨&#x200d…

🟩Экспертиза по расчету и оценке вредного воздействия и расчету ущерба водным ресурсам

От низкоуровневого анализа памяти до аппаратной форензики и судебной квалификации Доброго дня, коллеги! 👨&#x200d…

Задать вопрос экспертам

5+9=