Разработчик сетевых средств защиты ThreatMetrix Labs опубликовал аналитический отчёт (pdf), посвящённый свежим вариантам P2P-трояна Zeus. По мнению экспертов, эта вредоносная программа сейчас получила очень широкое распространение.
Последние варианты Zeus используют распределённую систему управления, в которой вообще не существует C&C-серверов, а все команды поступают в сеть P2P напрямую от злоумышленников через один из ботов, после чего распространяются по сети. Целостность системы соблюдается за счёт криптографической защиты конфигурационных файлов. Эксперты компании ThreatMetrix Labs с горечью признают, что изменение криптографической защиты делает невозможным автоматическое определение нового варианта зловреда существующими антивирусными системами, в том числе бессильна перед трояном и система ThreatMetrix.
«Постоянное изменение шифрования в Zeus P2P вызывает сильное беспокойство, — сообщается в отчёте. — За последнее время мы выявили как минимум шесть разных вариантов».
Другими словами, владельцы ботнета под прикрытием криптографии постоянно внедряют новые векторы атак, в то время как исследователи практически ничего не могут сделать.
В отчёте ThreatMetrix приводятся примеры некоторых новых типов атак, которые удалось обнаружить у ботов Zeus благодаря расшифровке одного из конфигурационных файлов. Анализу подвергся образец Zeus с MD5-хэшем 7ebe4e6f8e5ea5981f4b32cd9465e6a3 (внутреннее название NR30).
Статический анализ показал, что у этого образца 988 функций, из которых 561 присутствует в прошлогоднем коде, и 427 новых, добавленных после ноября. То есть появление различных разновидностей Zeus происходит очень быстро. Программа подверглась значительным изменениям: по сравнению с оригинальной версией, изъяты все операции по снятию паролей от ftp и покерных сайтов, в бэкдор добавлена новая команда fs_find_by_keyword.
Исследователи показывают, как авторы трояна внесли маленькое изменение в процедуру шифрования конфигурационного файла: теперь он шифруется четырёхбайтовым ключом XOR, который формируется из следующих элементов:
(item length << 0x10) | (0xFFFF & item id) | (BinStorage Count << 8)
По словам экспертов, это заняло у авторов программы пару часов, после чего новый вариант Zeus стал опять невидим для антивирусов.