
Генерирует псевдовредоносные файлы на основе правил YARA для активации детектирования AV/EDR, что позволяет проводить исследования вредоносного ПО, контроль качества правил и тестирование нагрузки сетевых сенсоров без использования реальных образцов вредоносного ПО.
Arya — это уникальный инструмент, который создаёт псевдовредоносные файлы, предназначенные для срабатывания правил YARA. Вы можете думать о нём как о «обратном YARA», потому что он делает прямо противоположное — создаёт файлы, соответствующие вашим правилам.
Вы можете узнать больше об Arya и о том, как он работает, в нашем блоге.

Правила YARA — это важный инструмент для исследователей безопасности, помогающий выявлять и классифицировать образцы вредоносного ПО. Они описывают шаблоны и строки в коде вредоносного ПО, которые могут помочь аналитику идентифицировать известные или новые угрозы. Правила YARA также часто интегрируются в коммерческие средства обнаружения или используются внутри организации для выявления неправильно работающих бинарных файлов в корпоративной сети.
Но что, если у нас нет вредоносного файла, для которого мы пишем правила? Что, если мы хотим создать «вредоносный» файл на основе YARA в качестве входных данных? Именно поэтому мы разработали Arya. Arya можно использовать для создания изготовленных на заказ псевдовредоносных файлов, вызывающих срабатывание антивирусов (AV) и систем обнаружения и реагирования на конечных точках (EDR), подобно старому доброму тестовому файлу EICAR. У нашего инструмента есть множество сценариев использования, включая исследование вредоносного ПО, тестирование качества правил YARA и нагрузочное тестирование сети с помощью образцов кода, построенных на основе правил YARA.

Arya — это первый в своём роде инструмент; он создаёт псевдовредоносные файлы, предназначенные для срабатывания правил YARA. Инструмент читает заданные файлы YARA (с расширением .yar), анализирует их синтаксис с помощью пакета yaramod от Avast — движка синтаксического анализа YARA, используемого в этом исследовании, — и строит псевдо«вредоносный» файл, тщательно размещая нужные байты из правил YARA для срабатывания входных правил.
Цель инструмента — создать изготовленный на заказ псевдовредоносный файл, который датчики обнаружения, такие как AV или EDR, идентифицируют как вредоносный файл, который должно обнаруживать входное правило YARA. Для достижения этой цели мы не только добавляем необходимые сигнатуры, строки и байты из входных правил YARA, но и добавляем некоторые «штрихи», такие как реальные PE-заголовки, повышение энтропии выходного файла, добавление x86-байткода и ассемблерного кода пролога/эпилога функций. Всё это помогает процессу срабатывания AV/EDR и обходит некоторые эвристические проверки, которые они могут выполнять.

Файлы YARA (с расширением .yar) — это текстовые файлы, содержащие одно или несколько правил YARA. В этом проекте мы использовали yaramod для преобразования правил YARA в список правил, представленных объектами Python, которые затем можно использовать для доступа к внутреннему содержимому правила, такому как строки, типы, условия и т. д. Yaramod анализирует правила YARA в AST — абстрактное синтаксическое дерево.
Обход абстрактного синтаксического дерева выполняется с использованием комбинации паттернов проектирования Observer и Visitor. Для каждого узла, через который проходит код, он определяет, какие байты и строки необходимо разместить и где, чтобы выполнить условие в обходимом поддереве. В результате это дерево создает отображение строк и возможных смещений для их размещения; оно также может зарезервировать некоторые из них в файле, которые будут переданы механизму размещения для дальнейшей обработки.
Исследователи могут использовать Arya для создания псевдовредоносных файлов, используя правила YARA в качестве строительных блоков. Эти файлы можно использовать для создания файлов, которые будут идентифицированы как конкретное вредоносное ПО. Например, если у вас нет образца вредоноса Zeus, но вы хотите проверить, как на него реагирует ваш антивирус? Нет проблем: загрузите правила YARA для Zeus в Arya и сгенерируйте собственный псевдовредонос «Zeus», который инструменты AV/EDR идентифицируют как Zeus.
Arya также может использоваться в рамках обучения реагированию на инциденты, подобно фиолетовому командообразованию (purple-teaming), где псевдовредоносные файлы могут быть отправлены по сети для нагрузочного тестирования сенсоров и детекторов в сети.
Поддерживается
Запланировано к следующим обновлениям
sudo apt update
sudo apt install yara cmake
git clone https://github.com/claroty/arya
cd arya
pip3 install -r requirements.txt
Запустите Arya со следующими аргументами:
-i [INPUT_DIRECTORY] OR [INPUT_FILE]-o [OUTPUT_FILE_NAME]--header - Добавляет первые 2048 байт conficker в начало файла.-r - Запускает рекурсивно для всех файлов внутри [INPUT_DIRECTORY]-m [MALWARE_FILE] - Использует файл [INPUT_DIRECTORY] в качестве основы для выходного файла.python3 src/arya.py -i example_rules/ -o MalwareAryaDefault.exe