A1RunGuard - Создание правил обнаружения

A1RunGuard использует Google YARA язык сигнатур для создания базы данных сигнатур антивирусов.

Спасибо Neo23x0 за его хороший Raccine проект!

К сожалению, проект Raccine на данный момент неактивен.

Некоторые идеи мы позаимствовали у Raccine:

  • Использование механизма сканирования Google YARA.
  • Блокировка родительских процессов для предотвращения атак программ-вымогателей. Использование YARA позволило нам легко создавать новые сигнатуры защиты от вредоносных программ и использовать их в A1RunGuard.

  • Улучшения A1RunGuard по сравнению с Raccine:

    1. YARA интегрируется в исполняемый файл A1RunScanner.exe путем компиляции из исходных кодов.
      Raccine использует внешний исполняемый файл "yara.exe".
    2. Добавлен пользовательский интерфейс для управления процессами защиты от вредоносного ПО: пауза, ведение журнала, уведомления и специальные действия.
    3. Автоматическое согласованное обновление баз данных сигнатур для защиты от вредоносных программ с помощью службы A1RunGuard.
    4. Возможность отображения диалогового окна подтверждения при срабатывании тревоги.
    5. Расширен список источников, используемых в правилах YARA: имя файла процесса, командная строка, родительский процесс, двоичное содержимое файла и память процесса.
    6. База данных сигнатур A1RunGuard позволяет комбинировать несколько файлов правил YARA в логических выражениях.
    7. Увеличено количество контролируемых процессов.

    Как создать правила YARA для A1RunGuard?

    Пример правил YARA для vssadmin:

    правило vssadmin
    {
          строки:
            $p_delete = "delete" fullword nocase
            $p_sh1= Полное слово "shadowstorage" nocase
            $p_sh2= "shadows" fullword nocase
          condition:
        ( FileName == "vssadmin.exe" and $p_delete and 1 of ($p_sh*) )
    }

    Список поддерживаемых переменных:

    1. FileName — имя файла процесса.
    2. FilePath — полный путь к файлу процесса.
    3. CommandLine — командная строка процесса.
    4. ParentFile — полный путь к файлу родительского процесса.

    Формат файла базы данных защиты от вредоносных программ: a1runguardbase.dbi

    [Контрольный список]
        powershell.exe=1

    [powershell.exe]
        ИмяФайла=powershell.exe
        FilePath=
        Псевдоним=POWERSHELL
        CheckLevel=2
        Ссылка="powershell.yarc"(2) | "powershell2.yarc"(2)

    Параметры CheckLevel:

  • 0 — заблокировать процесс
  • 1 — проверить содержимое файла процесса
  • 2 — проверить командную строку CheckLevel устанавливает уровень проверки по умолчанию для всех подписей, используемых в параметре "Link".

    CheckLevel можно комбинировать:
    3 = проверить файл и командную строку

    Параметр "Ссылка" определяет файл подписи или выражение

    Формат:

    "имя файла"(CheckLevel) Условие "имя файла"(CheckLevel) Состояние:

    1. Логическое OR (ИЛИ): |
    2. Логическое AND (И): & Использование "CheckLevel" не является обязательным.
      Это требуется только в том случае, если CheckLevel файла подписи отличается от CheckLevel процесса по умолчанию.
  • Как A1Runguard защищает от программ-вымогателей Revil

    }