#ParsedReport #ChatGPT #Translated
Autotext: (TI Report Analyser + ChatGPT + Auto Translate)
------
Обфускация строк в Vidar эволюционировала от использования XOR и ChaCha20 до потоковых шифров, управляемых виртуальной машиной и специфичных для каждой сборки. Виртуальная машина генерирует ключи и nonce или открытый текст, а кастомизированные модифицированные шифры ChaCha или ARX расшифровывают строки. Изменение операционных кодов, констант, сдвигов и логики шифрования между сборками усложняет обнаружение и реверс-инжиниринг.
-----
Vidar — семейство ВПО, предназначенное для кражи информации, механизм обфускации строк которого эволюционировал от простого однобайтового шифрования XOR до более сложных механизмов, специфичных для каждой сборки. В ранних версиях использовалось шифрование XOR, тогда как во внутренней версии 1.5 было введено шифрование на основе ChaCha20. Начиная с версии 1.8, Vidar модифицировал ChaCha20, чтобы усложнить обнаружение и расшифровку. Начиная с внутренней версии 2.0, ВПО объединяет легковесную виртуальную машину (VM) с собственными потоковыми шифрами; данная архитектура сохраняется в версиях 2.x и 3.x.
Виртуальная машина использует байткодовый интерпретатор с циклом «получение — декодирование — выполнение». Каждое значение байткода индексирует разреженную таблицу диспетчеризации из 256 записей, которая инициализируется 14 обработчиками операций; неопределённые записи приводят к завершению выполнения. Интерпретатор не использует стек и в основном опирается на однобайтовый аккумулятор. Обработчики операций выполняют базовые действия, включая XOR, сложение, вычитание, побитовые циклические сдвиги, побитовое отрицание, умножение и подстановку по таблице. Виртуальная машина может напрямую генерировать расшифрованные строки или выводить криптографический материал, используемый отдельным потоковым шифром.
Для версий 2.0 и 2.1 первые девять байтов, сгенерированных виртуальной машиной, образуют ключ потокового шифра, тогда как в версиях 2.2 и более поздних используются первые восемь байтов. Во всех версиях последние четыре байта служат в качестве nonce. Полученные ключ и nonce используются для расшифровки отдельного массива байтов, содержащего зашифрованную строку.
Vidar использует два широких класса собственных потоковых шифров. Версии 2.0 и 2.1 реализуют модифицированный шифр на основе ChaCha с собственным начальным состоянием размером 128 бит, ключом длиной восемь байт, nonce длиной четыре байта и специфичными для образца (sample) поворотами в четвертных раундах. Версия 2.2 и более поздние используют шифр ARX (add-rotate-XOR). Каждая сборка изменяет операции ARX и константы, используемые для инициализации состояния и генерации ключевого потока. Полученные байты ключевого потока складываются по модулю два (XOR) с шифротекстом для восстановления строк.
Эти техники обеспечивают стабильный интерфейс расшифровки, варьируя при этом поведение операционных кодов, криптографические операции, константы и преобразования между сборками, что затрудняет создание статических сигнатур, автоматизированный анализ и реверс-инжиниринг.
Post #32626
26
CTT Report Hub #ParsedReport #CompletenessLow 21-09-2026 Vidar Adds Virtual Machine and Custom Stream Ciphers For String Obfuscation https://www.zscaler.com/blogs/security-research/vidar-adds-virtual-machine-and-custom-stream-ciphers-string-obfuscation Report completeness:…