Skip to content
Эта страница создана и переведена с помощью ИИ. Если вы заметили неточности, помогите нам улучшить её. Редактировать на GitHub

Эвристический анализ

Эвристический анализ — третий уровень конвейера обнаружения PRX-SD. В то время как сопоставление хешей и правила YARA полагаются на известные сигнатуры и паттерны, эвристика анализирует структурные и поведенческие свойства файла для обнаружения угроз, ранее не виденных — включая zero-day вредоносные программы, пользовательские импланты и сильно обфусцированные образцы.

Принцип работы

PRX-SD сначала определяет тип файла с помощью определения по сигнатуре, затем применяет набор целевых эвристических проверок, специфичных для этого формата файла. Каждая сработавшая проверка добавляет баллы к накопительной оценке. Итоговая оценка определяет вердикт.

Механизм оценки

Диапазон оценокВердиктЗначение
0 - 29CleanНет значимых подозрительных индикаторов
30 - 59SuspiciousОбнаружены некоторые аномалии; рекомендуется ручная проверка
60 - 100MaliciousУгроза с высокой достоверностью; несколько сильных индикаторов

Оценки аддитивны. Файл с одной незначительной аномалией (например, немного высокой энтропией) может получить 15 баллов, тогда как файл, объединяющий высокую энтропию, подозрительные API-импорты и подписи упаковщиков, получит 75+ баллов.

Анализ PE (исполняемый файл Windows)

Эвристика PE направлена на исполняемые файлы Windows (.exe, .dll, .scr, .sys):

ПроверкаБаллыОписание
Высокая энтропия секции10-25Секции с энтропией > 7,0 указывают на упаковку или шифрование
Подозрительные API-импорты5-20API как VirtualAllocEx, WriteProcessMemory, CreateRemoteThread
Известные сигнатуры упаковщиков15-25Обнаружены заголовки UPX, Themida, VMProtect, ASPack, PECompact
Аномалия временной метки5-10Временная метка компиляции в будущем или до 2000 года
Аномалия имени секции5-10Нестандартные имена секций (заменённые .rsrc, случайные строки)
Аномалия ресурсов5-15Встроенные PE-файлы в ресурсах, зашифрованные секции ресурсов
Аномалия таблицы импорта10-15Очень мало импортов (упакован) или подозрительные комбинации импортов
Цифровая подпись-10Действительная подпись Authenticode снижает оценку
TLS-коллбэки10Записи TLS-коллбэков для защиты от отладки
Данные оверлея5-10Значительные данные, добавленные после PE-структуры

Пример результатов PE

Heuristic Analysis: updater.exe
Score: 72/100 [MALICIOUS]

Findings:
  [+25] Section '.text' entropy: 7.91 (likely packed or encrypted)
  [+15] Packer detected: UPX 3.96
  [+12] Suspicious API imports: VirtualAllocEx, WriteProcessMemory,
        CreateRemoteThread, NtUnmapViewOfSection
  [+10] Section name anomaly: '.UPX0', '.UPX1' (non-standard)
  [+10] Compilation timestamp: 2089-01-01 (future date)

Анализ ELF (исполняемый файл Linux)

Эвристика ELF направлена на бинарные файлы Linux и общие объекты:

ПроверкаБаллыОписание
Высокая энтропия секции10-25Секции с энтропией > 7,0
Ссылки на LD_PRELOAD15-20Строки, ссылающиеся на LD_PRELOAD или /etc/ld.so.preload
Persistence через cron10-15Ссылки на /etc/crontab, /var/spool/cron, каталоги cron
Persistence через systemd10-15Ссылки на пути юнитов systemd, systemctl enable
Индикаторы SSH-бэкдора15-20Изменённые пути authorized_keys, строки конфигурации sshd
Защита от отладки10-15ptrace(PTRACE_TRACEME), проверки /proc/self/status
Сетевые операции5-10Создание raw-сокетов, подозрительные привязки к портам
Самоудаление10unlink собственного пути бинарного файла после выполнения
Stripped + высокая энтропия10Stripped-бинарный файл с высокой энтропией указывает на упакованное вредоносное ПО
Перенаправление в /dev/null5Перенаправление вывода в /dev/null (поведение демона)

Пример результатов ELF

Heuristic Analysis: .cache/systemd-helper
Score: 65/100 [MALICIOUS]

Findings:
  [+20] LD_PRELOAD reference: /etc/ld.so.preload manipulation
  [+15] Cron persistence: writes to /var/spool/cron/root
  [+15] SSH backdoor: modifies /root/.ssh/authorized_keys
  [+10] Self-deletion: unlinks /tmp/.cache/systemd-helper
  [+5]  Network: creates raw socket

Анализ Mach-O (исполняемый файл macOS)

Эвристика Mach-O направлена на бинарные файлы macOS, бандлы и универсальные бинарные файлы:

ПроверкаБаллыОписание
Высокая энтропия секции10-25Секции с энтропией > 7,0
Внедрение dylib15-20Ссылки на DYLD_INSERT_LIBRARIES, подозрительная загрузка dylib
Persistence через LaunchAgent/Daemon10-15Ссылки на ~/Library/LaunchAgents, /Library/LaunchDaemons
Доступ к Keychain10-15Вызовы API Keychain, использование команды security
Обход Gatekeeper10-15Строки xattr -d com.apple.quarantine
Обход Privacy TCC10-15Ссылки на базу данных TCC, злоупотребление API доступности
Защита от анализа10Проверки sysctl на наличие отладчиков, строки определения ВМ
Аномалия подписи кода5-10Ad-hoc подписанный или неподписанный бинарный файл

Пример результатов Mach-O

Heuristic Analysis: com.apple.helper
Score: 55/100 [SUSPICIOUS]

Findings:
  [+20] Dylib injection: DYLD_INSERT_LIBRARIES manipulation
  [+15] LaunchAgent persistence: writes to ~/Library/LaunchAgents/
  [+10] Keychain access: SecKeychainFindGenericPassword calls
  [+10] Unsigned binary: no code signature present

Анализ документов Office

Эвристика Office направлена на форматы Microsoft Office (.doc, .docx, .xls, .xlsx, .ppt):

ПроверкаБаллыОписание
Наличие макросов VBA10-15Макросы с автовыполнением (AutoOpen, Document_Open, Workbook_Open)
Макрос с выполнением шелла20-30Shell(), WScript.Shell, вызов PowerShell в макросах
Поля DDE15-20Поля Dynamic Data Exchange, выполняющие команды
Ссылка на внешний шаблон10-15Внедрение удалённого шаблона через attachedTemplate
Обфусцированный VBA10-20Сильно обфусцированный код макроса (злоупотребление Chr(), конкатенацией строк)
Встроенные OLE-объекты5-10Встроенные исполняемые файлы или скрипты как OLE-объекты
Подозрительные метаданные5Поля автора со строками base64 или необычными паттернами

Пример результатов Office

Heuristic Analysis: Q3_Report.xlsm
Score: 60/100 [MALICIOUS]

Findings:
  [+15] VBA macro with AutoOpen trigger
  [+25] Macro executes: Shell("powershell -enc JABjAGwA...")
  [+10] Obfuscated VBA: 47 Chr() calls, string concatenation abuse
  [+10] External template: https://evil.example.com/template.dotm

Анализ PDF

Эвристика PDF направлена на PDF-документы:

ПроверкаБаллыОписание
Встроенный JavaScript15-25JavaScript в действиях /JS или /JavaScript
Действие Launch20-25Действие /Launch, выполняющее системные команды
Действие URI5-10Подозрительные действия URI, указывающие на известные вредоносные паттерны
Обфусцированные потоки10-15Несколько уровней кодирования (FlateDecode + ASCII85 + hex)
Встроенные файлы5-10Исполняемые файлы, встроенные как вложения
Отправка формы5-10Формы, отправляющие данные на внешние URL
AcroForm с JavaScript15Интерактивные формы со встроенным JavaScript

Пример результатов PDF

Heuristic Analysis: shipping_label.pdf
Score: 45/100 [SUSPICIOUS]

Findings:
  [+20] Embedded JavaScript: 3 /JS actions found
  [+15] Obfuscated stream: triple-encoded FlateDecode chain
  [+10] Embedded file: invoice.exe (PE executable)

Справочник распространённых результатов

Следующая таблица перечисляет наиболее часто срабатывающие эвристические результаты по всем типам файлов:

РезультатСерьёзностьТипы файловЧастота ложных срабатываний
Секция с высокой энтропиейСредняяPE, ELF, Mach-OНизкая-средняя (игровые ресурсы, сжатые данные)
Обнаружение упаковщикаВысокаяPEОчень низкая
Макрос с автовыполнениемВысокаяOfficeНизкая (некоторые легитимные макросы)
Манипуляции с LD_PRELOADВысокаяELFОчень низкая
Встроенный JavaScriptСредняя-высокаяPDFНизкая
Подозрительные API-импортыСредняяPEСредняя (инструменты безопасности это вызывают)
СамоудалениеВысокаяELFОчень низкая

Уменьшение ложных срабатываний

Если легитимный файл вызывает эвристические оповещения, вы можете добавить его в список разрешённых по хешу SHA-256:

bash
sd allowlist add /path/to/legitimate/file

Файлы из списка разрешённых пропускают эвристический анализ, но по-прежнему проверяются по базам данных хешей и YARA.

Следующие шаги

Released under the Apache-2.0 License.