BitGuard: система принудительного поиска
В последний год пользователи сталкиваются с крайне агрессивной многокомпонентной системой, которую сложно вычистить своими силами, несмотря на наличие формальных деинсталляторов. Речь идет о BitGuard, которая используется для подмены домашней страницы и поисковых результатов.
Система BitGuard является вредоносной, т.к. модифицирует настройки обозревателей без ведома пользователя, обладает функционалом троянцев семейств Inject (внедрение своего кода в сторонние процессы) и StartPage (подмена стартовых страниц браузеров и страницы поиска), а часть функционала соответствует поведению Trojan-Downloader (скачивание вредоносных файлов из Сети).
В данной статье для удобства мы будем использовать для обозначения целого семейства программ и модулей, которые обладают схожим поведением, обобщенное название BitGuard — по имени одного из исполняемых модулей.
Распространяется BitGuard вместе с поисковыми тулбарами (MixiDJ, Delta Search, Iminent, Rubar и т.д.), владельцы которых зарабатывают на переходах пользователей по ссылкам на странице нерелевантной поисковой выдачи. Мы предполагаем, что BitGuard используется сразу в нескольких партнерских сетях.
Поисковые тулбары Одним из методов нелегитимной раскрутки веб-сайтов является предоставление пользователям страницы поисковой выдачи с поднятыми в топ адресами раскручиваемых веб-сайтов. Для этого используются собственные поисковые системы и специальные дополнения к браузерам — поисковые тулбары, которые и перенаправляют пользователя на страницу с нерелевантными результатами. Эта схема используется несколькими партнерскими программами.
Реализуется следующая схема:
Разрабатывается поисковая система и дополнение к браузеру (поисковый тулбар), который содержит текстовое поле для запроса. Установщик поискового тулбара размещается на хостинге и становится доступным для скачивания партнерскими инсталляторами. Пользователь ищет и пытается скачать музыку, софт или видеоролик, которые его интересуют, но скачивает партнерский инсталлятор-посредник. При запуске происходит установка поискового тулбара (в некоторых случаях, с согласия пользователя). Пользователи вводят информацию в текстовое поле тулбара, после чего перенаправляются на страницу поисковой выдачи системы, связанной с тулбаром. На страницах результатов поиска ссылка на раскручиваемый сайт поднимается в топ. Пользователи кликают по проплаченным ссылкам и попадают на сайт рекламодателя. Рекламодатель получает аудиторию. Владельцы поискового тулбара получают доход. Кроме того, на странице поисковой выдачи может сдаваться место под рекламу, что дает дополнительный доход разработчикам поисковой системы.
В зависимости от партнерской сети, тулбары распространяются разными способами.
Чаще всего поисковые тулбары распространяются на сайтах с бесплатными программами — они могут идти в комплекте как с инсталлятором-пустышкой, так и с легальными freeware-программами.
Например, некая организация разрабатывает сайт-платформу, на котором разработчики freeware или shareware программ могут размещать свои приложения. Как правило, инсталлятор является общим для всех приложений с этого сайта. Он содержит поисковое дополнение для браузера, которое может попасть на компьютер пользователя при загрузке приложений с сайта. При этом владельцы платформы получат отчисления от владельцев партнерской сети.
При таком способе распространения пользователь скачивает инсталлятор интересующего его приложения и запускает процесс установки. В некоторых случаях инсталлятор может загружать легальное ПО, а в некоторых — просто имитировать процесс установки полезной программы. В ходе инсталляции пользователю предлагается установить тулбар.
Поисковый тулбар можно загрузить и установить целенаправленно, а не в качестве приложения к стороннему инсталлятору. Любой веб-мастер может скачать конструктор тулбаров и настроить дополнительный функционал. Готовый поисковый тулбар размещается на сайте для загрузки пользователями, за что веб-мастер получает плату от владельцев партнерки.
Поскольку в данном случае пользователь сам должен скачать поисковый тулбар, его владельцы стремятся заинтересовать потенциального «клиента» как красивым дизайном веб-страницы, с которой загружается тулбар, так и смелыми обещаниями по его функционалу (удобство использования, надежность, «оптимальный онлайн-поиск», «лучшее из того, что имеется на рынке»).
Установка тулбаров Рассмотрим установку тулбаров на примере Delta Search Toolbar и Mixi.DJ. Они принадлежат одной партнерской программе и часто используют общее хранилище (набор серверов) для своих компонентов. Распространяются эти тулбары на разных сайтах — в частности, mixi.dj, deltasearchtoolbar.loyaltytoolbar.com.
Загрузка инсталлятора
После запуска инсталлятора открывается окно установки тулбара.
Окно инсталлятора Delta Search Toolbar
Чтобы у пользователя не было соблазна отказаться от установки дополнительного ПО, кнопка «Skip» оформлена так, что ее почти не видно:
Окно инсталлятора Delta Search Toolbar
Интерфейс инсталлятора Mixi.DJ (пропорции кнопок, шрифты, порядок следования пунктов установки) выглядит аналогично установщику Delta Search, что наталкивает на мысль о том, что у этих инсталляторов и тулбаров один владелец.
Окно установщика Mixi DJ
Как мы видим, владельцы тулбаров прибегают к различным ухищрениям, чтобы добиться установки своего ПО на компьютеры пользователей.
Однако любое ПО, которое перенаправляет на сайты, не представляющие полезной нагрузки, будет восприниматься как нежелательное, и пользователь его удалит. Поэтому вместе с тулбаром используются модули, которые не позволяют менять настройки браузера после того, как поисковый тулбар был установлен. Таким образом владельцы тулбаров вынуждают жертву неизбежно попадать на целевые страницы с продвигаемыми ссылками даже после удаления самого тулбара.
Одним из таких модулей является BitGuard. Его задача — постоянно менять настраиваемые адреса интернет-обозревателя (включая стартовую страницу и страницу поиска) на адреса страниц нерелевантной поисковой выдачи со ссылками на продвигаемые тулбаром сайты.
Установка BitGuard BitGuard может быть загружен с любым тулбаром, который связан с партнерской программой. Установка производится единым инсталлятором, вначале устанавливается тулбар, а затем (в рамках того же процесса) — BitGuard.
Пользователя не предупреждают о данном действии, установка и запуск BitGuard производятся без его подтверждения. Адрес и имя папки, в которую устанавливаются компоненты, в каждом случае могут быть разными (например, «BitGuard», «Browser Defender», «BitGuard», «BProtect» и т.д.).
Название устанавливаемого исполняемого файла зависит от инсталлятора и версии тулбара. Например, Delta Search Toolbar запускает приложение под названием «browserprotect.exe».
Ниже перечислены примеры адресов директорий, в которых устанавливался набор компонентов BitGuard:
…\appdata\local\temp\nsv96a4.tmp\…local settings\temp\nsi19.tmp\
Пакет компонентов обычно состоит из:
основного исполняемого модуля (может иметь одно из следующих названий: browserprotect.exe, bprotect.exe, bitguard.exe, browserdefender.exe и т.д.); библиотеки, которая используется для внедрения в другие процессы (browserprotect.dll, browserdefender.dll, bprotect.dll, bitguard.dll и т.д.); файла настроек, содержащего ссылки на целевые страницы поиска и на файлы обновлений в зашифрованном виде (BitGuard получает настройки от инсталлятора, и обычно они совпадают с настройками устанавливаемого этим же инсталлятором тулбара); скриптов расширений для Firefox или Chrome (зависит от версий). Библиотека и исполняемый модуль обладают подписью «Performer Soft LLC», выданной ForwardTech Inc. В настоящий момент подпись отозвана и не воспринимается нашим антивирусом как доверенная.
После первого запуска исполняемый модуль устанавливает себя и связанные компоненты в Application Data. При этом EXE-файл может переименовывать себя в browserprotect.exe, browserdefender.exe или другое название, в зависимости от своей версии. То же он делает и с другими компонентами:
\browserprotect\2.6.1249.132\{c16c1ccb-7046–4e5c-a2f3–533ad2fec8e8}\browserprotect.exe\browserprotect\2.6.1249.132\{c16c1ccb-7046–4e5c-a2f3–533ad2fec8e8}\browserprotect.dll\browserprotect\2.6.1339.144\{c16c1ccb-7046–4e5c-a2f3–533ad2fec8e8}\browserprotect.settings
Стоит отметить, что оригинальные тулбары удаляются с помощью стандартных средств, но BitGuard крайне сложно устранить без дополнительного инструментария (например, антивируса или утилит, устраняющих нежелательные дополнения к обозревателю). Его работа не завит от наличия в системе самого тулбара. Все, что связывает его с оригинальным поисковым дополнением, — это настройки. В папке с модулями «BitGuard» имеется фальшивый деинсталлятор (uninstall.exe), который, на самом деле, представляет собой точную копию browserprotect.exe. Весь процесс удаления с помощью этого деинсталлятора в действительности состоит в исключении BitGuard из списка установленных программ и не включает физическое удаление объектов из системы.
Регистрация в системе и подготовка к работе После копирования файлов некоторые версии browserprotect.exe могут регистрировать себя как сервис Windows, что позволяет им загружаться раньше, чем winlogon.
Далее browserprotect.exe создает задачу на запуск самого себя, используя стандартные возможности «Планировщика Задач Windows».
\system32\schtasks.exe», «system32\schtasks.exe» /delete /f /tn «BrowserProtect»\system32\schtasks.exe» /delete /f /tn «BrowserProtect»
\system32\schtasks.exe» /create /tn «BrowserProtect» /ru «SYSTEM» /sc minute /mo 1 /tr«system32\sc.exe start BrowserProtect» /st 00:00:00\system32\schtasks.exe»,»$system32\schtasks.exe» /create /tn «BrowserProtect» /ru «SYSTEM» / sc minute /mo 1 /tr «system32\sc.exe start BrowserProtect» /st 00:00:00
Система BitGuard хранит целевые URL, на которые будет производиться подмена адресов стартовой страницы и страницы поиска, в зашифрованном виде в файле browserprotect.settings, а также в собственных ключах реестра.
«hkcu\software\5e2d9dce63abf47\2.6.1339.144» → «iexplore homepages» → home.mywebsearch.com/index.jhtml? n=77DE8857&p2=^Z7^xdm354^YY^in&ptb=F2FA09DD-6451–49C9-AF7B-B9E9D2D44840&si=124514_race_gcIND
«hkcu\software\5e2d9dce63abf47\2.6.1339.144» → «firefox homepages» → «home.mywebsearch.com/index.jhtml? ptb=F2FA09DD-6451–49C9-AF7B-B9E9D2D44840&n=77fcbc67&p2=^Z7^xdm354^YY^in&si=124514_race_gcIND», «home.mywebsearch.com/index.jhtml? ptb=F2FA09DD-6451–49C9-AF7B-B9E9D2D44840&n=77fd0772&p2=^Z7^xdm354^YY^in&si=124514_race_gcIND»
«hkcu\software\5e2d9dce63abf47\2.6.1339.144» → «firefox keywords» → «search.mywebsearch.com/mywebsearch/GGmain.jhtml? st=kwd&ptb=F2FA09DD-6451–49C9-AF7B-B9E9D2D44840&n=77fcbc67&ind=2013052007&p2=^Z7^xdm354^YY^in&si=124514_race_gcIND&searchfor=»
«hkcu\software\5e2d9dce63abf47\2.6.1339.144» → «firefox search engines» → «My Web Search»
Слежение за операциями Исполняемый модуль (browserprotect.exe) прописывает путь к библиотеке browserprotect.dll в ключе реестра AppInit_DLLs, позволяя тем самым внедрять ее во все процессы, которые запускаются на машине пользователя. В момент загрузки библиотека определяет, какой процесс является родительским, и осуществляет перехват некоторых функций, в частности чтения/записи в файл. BitGuard отслеживает все файловые операции всех процессов, но интерес проявляет только к файлам настроек обозревателей.
В моменты чтения/записи библиотека обычно проверяет, не изменилось ли что в настройках установленных обозревателей. Например, Chrome в момент выхода сохраняет текущую конфигурацию в файл, BitGuard отслеживает данную операцию, тут же открывает файл конфигурации и вписывает адреса целевых поисковых страниц. То же самое произойдет, если пользователь попытается изменить конфигурацию в текстовом редакторе самостоятельно.
Библиотека умеет работать с множеством популярных браузеров (Internet Explorer, Chrome, Mozilla, Opera и т.д.) и использует индивидуальный подход к каждому из них. Например, Chrome в момент закрытия запоминает последние открытые вкладки. BitGuard умеет прописывать целевую страницу поиска не только в качестве стартовой страницы, но и в качестве последней открытой вкладки.
Обновление настроек Периодически функция перехвата проверяет наличие обновлений компонентов и настроек (то же самое время от времени производит и основной исполняемый модуль). Весь контент скачивается с хостинга «Amazon Web Services» и/или Cloudfront. Настройки сохраняются в виде зашифрованных файлов dwl.bin, bl.bin. Ссылки, по которым производится скачивание, не хранятся в явном виде, а формируются из зашифрованных фрагментов в процессе работы.
Примеры ссылок:
http://protectorlb-1556088852.us-east-1.elb.amazonaws.com/service/dwl.phphttp://protectorlb-1556088852.us-east-1.elb.amazonaws.com/service/kbl.php
Расширение функционала, загрузка дополнительных компонентов Чтобы застраховать себя от возможного удаления/повреждения и расширить арсенал методов для работы с различными браузерами, система может скачивать дополнительные модули.
Например, в качестве дополнительного ПО могут подгружаться модули для Firefox. Рассмотрим, как именно это происходит.
Периодически BitGuard обращается к серверу и пытается загрузить текстовый файл со ссылками на архивы с дополнительными модулями. Ссылка на текстовый файл генерируется на основе элементов строк, которые находятся в ресурсах самой библиотеки:
d1js21szq85hyn.cloudfront.net/ib/138/fflist.txt. При этом для каждой версии BitGuard вместо ib и 138 в строке URL будут свои значения. Соответственно, при успешной загрузке текстового файла, каждая версия BitGuard получает свой набор ссылок на обновления. Содержимое текстового файла выглядит следующим образом:
3; http://d1js21szq85hyn.cloudfront.net/ib/154/3.7z5; http://d1js21szq85hyn.cloudfront.net/ib/154/5.7z6; http://d1js21szq85hyn.cloudfront.net/ib/154/6.7z7; http://d1js21szq85hyn.cloudfront.net/ib/154/7.7z8; http://d1js21szq85hyn.cloudfront.net/ib/154/8.7z9; http://d1js21szq85hyn.cloudfront.net/ib/154/9.7z10; http://d1js21szq85hyn.cloudfront.net/ib/154/10.7z11; http://d1js21szq85hyn.cloudfront.net/ib/154/11.7z12; http://d1js21szq85hyn.cloudfront.net/ib/154/12.7z13; http://d1js21szq85hyn.cloudfront.net/ib/154/13.7z14; http://d1js21szq85hyn.cloudfront.net/ib/154/14.7z15; http://d1js21szq85hyn.cloudfront.net/ib/154/15.7z16; http://d1js21szq85hyn.cloudfront.net/ib/154/16.7z18; http://d1js21szq85hyn.cloudfront.net/ib/154/18.7z
Каждый из архивов пронумерован в соответствии с номером ссылки в списке и содержит версию библиотеки, соответствующую определенной версии браузера Firefox. Например, 16-й архив будет содержать библиотеку «bprotector-16.0.dll» .
BitGuard выбирает соответствующую ссылку на дополнительный модуль, скачивает и регистрирует его. Так система BitGuard получает дополнительные инструменты для работы с Firefox.
Также иногда подгружаются дополнительные компоненты (если они доступны), которые позволяют загружать обновления с других доменов, в обход AmazonAws или Cloudfront.
Как приложение попадает и ведет себя на машине пользователя
Пример дополнительного модуля Троянец Trojan-Downloader.Win32.MultiDL.c, обнаруженный 9 июля 2013 года, производит обновление библиотеки browserprotect.dll с альтернативных серверов. Это ПО распространялось достаточно активно — только в июле того же года мы заблокировали около 500 000 попыток заражения компьютеров пользователей. Со временем его популярность снизилась: число заблокированных попыток в январе 2014 не превысило 26 000. Всего же, с июля 2013 по январь 2014 года, были предотвращены попытки заражения у 982 950 пользователей.
Файл попадает на машину пользователя вместе с инсталлятором NSIS (Nullsoft Scriptable Install System). Он загружается BitGuard с хостинга AmazonAws (например, protectorlb-1556088852.us-east-1.elb.amazonaws.com) и сохраняется во временной директории с именем setup_fsu_cid.exe.
Далее BitGuard запускает процесс установки в бесшумном режиме (пользователь не увидит никаких диалоговых окон):
»…\setup_fsu_cid.exe» /S
Установщик содержит две программы. Как правило, одна не имеет никакого отношения к описанной схеме обновления DLL. В случае с модификацией MultiDL.c это File Scout. Данное приложение не встречается отдельно от инсталлятора, предположительно написано злоумышленниками для создания иллюзии полезной нагрузки. Программа выдает детали по форматам неизвестных файлов, но не несет с собой офлайновую базу данных по форматам файлов и осуществляет перенаправление на сторонний сайт (данное перенаправление, предположительно, также может кто-то оплачивать).
Рабочее окно приложения File Scout
Второе приложение — это подделка под Adobe Flash Player, которая и предназначена для скачивания библиотеки, относящейся к системе BitGuard. Троянец маскируется под Adobe Flash Player Update Service версии 11.6 r602. Сначала инсталлятор setup_fsu_cid.exe распаковывает исполняемый файл (.exe) фальшивого плеера во временную директорию, задавая короткое имя, например, usvc.exe (C:\users\testwo~1\appdata\local\temp\nsy5f4f.tmp\usvc.exe).
Затем производится запуск данного исполняемого модуля, который перемещает себя в папку с адресом C:\Windows\Syswow64\macromed\flash\flashplayer\flashplayerupdateservice.exe и регистрирует задачу запуска самого себя, используя стандартный сервис Windows «Назначенные задания» (т.е. используется тот же самый подход, что и в BitGuard).
…\system32\schtasks.exe» /create /tn «AdobeFlashPlayerUpdate» /ru «SYSTEM» /sc hourly /mo 1 /tr »…\system32\flashplayerupdateservice.exe /w» /st 00:00:0
После этого троянец начинает скачивать обновления DLL. Каждая модификация MultiDL производит загрузку с нескольких доменов. Ссылки на обновления отличаются от тех, что мы видим в BitGuard (AmazonAws и Cloudfront не используются). Список сайтов меняется в зависимости от модификации. Ссылки хранятся тем же способом, что и в библиотеке browserprotect.dll — в виде зашифрованных фрагментов. Конечная ссылка формируется в ходе работы программы. Приведем несколько примеров доменов, с которых производится скачивание библиотеки:
autoavupd.netautodbupd.netsrvupd.comsrvupd.netupdsvc.comupdsvc.net
Большинство доменов зарегистрировано в Российской Федерации, но есть и домены, зарегистрированные на Украине и в Великобритании.
Контент, расположенный на серверах, может быть периодически недоступен. На время публикации данной статьи (март 2014) с сайтов ничего не скачивается.
Подобные дополнительные модули являются страховкой на случай удаления или повреждения библиотеки (browserprotect.dll / browserdefender.dll / bprotect.dll и т.д), которая является основным инструментом системы BitGuard для контроля за браузерами. Если пользователь каким-то образом найдет способ удалить библиотеку, страховочные модули загрузят ее заново, и процесс смены настроек браузера не прекратится.
Заключение Система BitGuard модифицирует настройки обозревателей без ведома пользователя, внедряет свой код в сторонние процессы, подменяет стартовые страницы и страницы поиска браузеров, скачивает вредоносные файлы из Сети. Весь этот набор вредоносных функций используется для наживы — владельцы BitGuard являются участниками партнерской сети, продвигающей веб-сайты нелегитимными методами (ссылки на веб-страницы поднимаются в топы поисковой выдачи).
Мы считаем, что владельцы BitGuard и владельцы поисковых систем и тулбаров — это разные лица/организации. Некто за определенную плату поставляет SDK или движок, который поддерживает настройки обозревателей на машине пользователя в состоянии, выгодном владельцам поисковых систем.
Во-первых, на это намекает параметризация логики BitGuard. Дело в том, что сам пакет не знает, какой конкретно поиск устанавливать в браузере — адреса страниц прописаны в файле настроек BitGuard, который поставляется вместе с тулбаром. Во-вторых, наблюдаются серьезные различия между некоторыми тулбарами, но компоненты BitGuard концептуально не отличаются между собой.
Обобщенная схема получения дохода от установки BitGuard
BitGuard может быть загружен с любым поисковым тулбаром, который связан с партнерской программой, тулбары же имеют множество источников распространения. Этим объясняется большое количество зараженных компьютеров в мире:
Географическое распределение попыток заражения компьютеров компонентами BitGuard
Начиная с 25 августа 2013 года, файлы BitGuard были заблокированы на компьютерах 3,8 миллионов пользователей. Учитывая, что владелец рекламируемого сайта платит в среднем от 2 до 10 центов за переход на целевой сайт, можно примерно оценить доход участников партнерской сети.
Мы детектируем: Компоненты BitGuard как: Trojan.Win32.Bromngr и Trojan-Downloader.Win32.MultiDL
Поисковые тулбары как: not-a-virus: PDM: WebToolbar.Win32.Cossdernot-a-virus: WebToolbar.Win32.Dsearch
Полный текст статьи читайте на Лаборатория Касперского