Специалист из компании FireEye Ричард Уортелл (Richard Wartell) занимается реверс-инжинирингом вредоносных программ, которые используются для целевых атак на клиентов компании. По его словам, качество кода этих программ иногда оставляет желать лучшего, а временами просто смехотворно.
В интервью The Register Уортелл приводит пример недавнего бэкдора, который попал в его руки. Злоумышленники реализовали следующий алгоритм: в конце файла записывался закодированный URL управляющего домена, а для установки связи с ним проводился поиск файла определённого размера на диске. Но авторы программы не учли, что при добавлении URL размер файла меняется. Поэтому связь с управляющим доменом установить никак не получалось, а вся атака теряла смысл.
Другой зловред для целевой атаки — образец чрезмерного программирования. Программа на C++ содержит внутри шелл, и не просто с несколькими командами, а полноценный набор, плюс бонусы вроде ipconfig и netcat, просто на всякий случай.
«В этот бэкдор поместили нелепое количество кода, — комментирует Уортелл. — Количество времени, которое потратили авторы программы, действительно впечатляет, но зачем это было делать? Достаточно было простого шелла на 100 строчек».
Есть проблемы с использованием криптографии, когда авторы вредоносных программ не самым лучшим образом определяют криптографическую схему.
Ричард Уортелл проехался и по зловредам для PoS-терминалов, которые устанавливаются на Windows-компьютеры и внедряют код в сторонние процессы, но при этом очень смешно прячутся в системе. «Во-первых, программа устанавливается как неподписанный драйвер ядра, что выдаёт её с потрохами. Во-вторых, название сервиса составлено из случайных символов — люди потратили сотни часов на создание этой программы, но любой посторонний может сразу её заметить в системе».