Блокираторы и другие программы-вымогатели
Эволюция блокировщиков
Как злоумышленники делают деньги
Способы распространения Trojan.Winlock
В техническом отношении блокировщики Windows представляют собой весьма простые, зачастую откровенно безграмотно написанные программы, реализованные в одной из распространенных сред программирования на языке высокого уровня (чаще всего Delphi, иногда MS Visual С). Трояны проникают в ОС Windows, прописываются в один из ключей автозагрузки в реестре и блокируют работу системы. Первые представители Trojan.WinLock противодействовали попыткам своего удаления довольно простым способом: все сводилось к постоянной перерисовке блокирующего окна и переустановке на него фокуса ввода. Этого было достаточно, чтобы затруднить остановку троянской программы средствами операционной системы. Однако даже реализация столь простых возможностей вызывала у горе-разработчиков серьезные трудности, и блокировщики зачастую оказывались попросту неработоспособны. При этом не использовалось никаких (кроме разве что самых примитивных) средств противодействия анализу программного кода.
Как правило, код блокировщика был закрыт каким-либо криптором (утилита для упаковки, шифрования и «запутывания» кода готового исполняемого файла с целью предотвратить его анализ и реконструкцию исходного кода) – разумеется, приобретенным на стороне.
Крипторы – достаточно сложные программы, требующие совершенно другого уровня технической подготовки, нежели у изготовителей Trojan.Winlock.
Такие блокировщики легко сносились даже вручную, без применения антивирусного ПО. Инструкции по их удалению появились на множестве тематических форумов. Анализ сводился к извлечению зашитого в теле программы кода разблокировки и занимал в среднем 10-15 минут.
Полученные коды вместе с идентификационными данными троянов (текст, изображение и т.д.) были размещены в соответствующих разделах сайтов ведущих производителей антивирусного ПО. В ответ авторы Trojan.WinLock принялись усложнять свое творение.
Новые блокировщики «научились» корректно работать с оконной подсистемой Windows. Так, вирусописатели решили проблему с бесконечными циклами, в которых перерисовывалось окно.
Некоторые трояны стали препятствовать запуску Windows Task Manager и прочих распространенных программ (например, Far Manager), позволяющих просматривать и корректировать список запущенных процессов. Другие держали в памяти несколько копий своего процесса, восстанавливавших друг друга по мере удаления. Усложнилось использование оконного API, посредством которого осуществлялось взаимодействие с пользователем.
Изменились и способы внедрения в систему. Ранние разработки оставляли возможность удаления при загрузке в режиме защиты от сбоев. Следующее поколение троянов использовало для запуска после перезагрузки новые ключи реестра и прочие приемы, обеспечивавшие запуск вне зависимости от режима загрузки ОС.
В дальнейшем блокировщики начали перехватывать все сообщения с устройств ввода (мыши и клавиатуры), увеличивать свое окно. Некоторые вовсе отказывались от использования оконного API, напрямую манипулируя оконными сообщениями Windows и данными в памяти, что делало действительно невозможным удаление процесса трояна вручную. Идея была доведена до абсурда: Trojan.MBRLock.1 блокировал компьютер жертвы непосредственно из загрузочной записи до запуска операционной системы. Впрочем, оставалась возможность загрузки с Boot CD с антивирусом и последующего удаления трояна.
Отдельно стоит упомянуть о способах проверки кода разблокировки.
Первые трояны семейства Trojan.Winlock использовали для этого системные функции сравнения строк, что сводило извлечение кода к тривиальному перехвату подобных функций. Новые стали сравнивать строки собственными процедурами, иногда по довольно запутанному алгоритму. Некоторые, впрочем, и вовсе не предусматривали функций разблокировки.
Еще одним новшеством стало использование генераторов пар «реквизиты платежа – код разблокировки». Данные, необходимые для проведения платежа вымогателям, генерировались динамически и отправлялись пользователю, одновременно генерировался код разблокировки.
Эквивалентный алгоритм работал на сервере злоумышленников. При получении уведомления о проведенном платеже жертве сообщался код разблокировки, соответствующий реквизитам платежа. При этом работа вирусных аналитиков по извлечению кодов сводилась к анализу (иногда довольно трудоемкому) и реконструкции генераторов таких пар, которые затем размещались на сайтах антивирусных компаний вместе с уже известными кодами разблокировки. Пик распространения таких троянов пришелся на весну-лето 2010 года.
Следующая страница Социальная политика