Майнеры и антивирус
С темой майнеров лично я столкнулся после заявления Германа Клименко о том, что огромное количество серверов Москвы поражены майнерами. До этого майнеры были лично для меня лишь одним из видов вредоносных программ. Времени с тех пор прошлом не так уж и много, но количество желающих заработать на чужих компьютерах растет и думаю настала пора поговорить об этом явлении.
Кому интересно сколько майнеров создается в день, как они распространяются и (самое главное) как относятся к ним антивирусы — прошу под кат!
Начнем с последней заявленной темы — об отношении антивирусов и майнеров. Для ответа на этот вопрос нужно понимать, что есть вредоносная программа с точки зрения антивируса.
Вредоносная программа — это программа, устанавливаемая на компьютер без ведома пользователя или выполняющая на компьютере пользователя несанкционированные действия. Определение не идеальное, но очень близкое к истине.
Две цитаты из статьи:
Проблема для жертвы заключается в том, что ее компьютер, зараженный криптомайнером, работает значительно медленнее обычного…
… продвинутые зловреды прекращают работу во время запуска на ПК «тяжелых» приложений вроде игр…
Однозначно вредоносное поведение, делающие майнеров законной добычей антивирусов (и иных систем защиты, ибо не антивирусами едиными).
Но может ли антивирус поймать майнер?
Майнеров довольно много, а сложность их детектирования заключается в том, что сам по себе майнинг — стандартный процесс. Это не попытки стирать или модифицировать файлы, изменять содержимое загрузочного сектора жесткого диска и т.п. Нет, майнинг в обычном случае не будет определяться антивирусом. Поэтому разработчикам антивирусов приходится искать новые способы определения наличия таких программ на компьютерах жертв
Не совсем так. В приведенной выше цитате речь идет о поведенческом анализаторе (или его разновидности — облачном антивирусе). Эти компоненты антивируса действительно отслеживают поведение. И если бы вредоносная программа занималась чисто майнингом, то действительно решить, что это вредоносная программа или нет — было бы невозможно. Поэтому предлагаю посмотреть какие бывают майнеры.
Грубо говоря разновидностей две. Первая реализует майнинг самонаписанным компонентом. И тут все понятно — сигнатуры антивирусных баз не дадут даже запуститься майнеру, как бы он не проник на машину. Упомянутая статья утверждает, что «cервера в сети злоумышленники заражают, эксплуатируя уязвимость вроде EternalBlue». Точно также распространялся Wanna Cry. Но при этом запуститься он мог не всегда. Так один из антивирусов отлавливал его эвристиков, другой при наличии включенного облака — его компонентами.
Пример подобного майнера:
Майнер Trojan.BtcMine.1259 скачивается на компьютер троянцем-загрузчиком Trojan.DownLoader24.64313, который, в свою очередь, распространяется с помощью бэкдора DoublePulsar. Сразу после старта Trojan.BtcMine.1259 проверяет, не запущена ли на инфицированном компьютере его копия. Затем он определяет количество ядер процессора, и, если оно больше или равно указанному в конфигурации троянца числу потоков, расшифровывает и загружает в память хранящуюся в его теле библиотеку. Эта библиотека представляет собой модифицированную версию системы удаленного администрирования с открытым исходным кодом, известной под наименованием Gh0st RAT (детектируется Антивирусом Dr.Web под именем BackDoor.Farfli.96). Затем Trojan.BtcMine.1259 сохраняет на диск свою копию и запускает ее в качестве системной службы. После успешного запуска троянец пытается скачать с управляющего сервера, адрес которого указан в конфигурационном файле, свое обновление.
Второй вариант — использование обычного майнера.
Пример
Trojan.BtcMine.1, использует две легитимные программы для майнинга, с помощью которых задействует вычислительные ресурсы компьютера жертвы с целью «добычи» виртуальных монет. Будучи запущенным в системе ничего не подозревающим пользователем, Trojan.BtcMine.1 сохраняет себя во временную папку под именем udpconmain.exe. Затем он прописывает путь к исполняемому файлу в отвечающем за автозагрузку приложений ключе реестра. Потом вредоносная программа скачивает из Интернета и размещает во временной папке под именем miner.exe второй «майнер» с целью максимально загрузить компьютер расчетами. После этого троянские программы подключаются к одному из пулов платежной системы и начинают вести расчеты, зарабатывая для злоумышленников соответствующее вознаграждение. На иллюстрации можно увидеть нагрузку на процессор, которую создает программа-майнер, запущенная троянцем Trojan.BtcMine.1.
В данном случае для запуска легитимного майнера его надо сначала доставить на машину, запустить и желательно скрыть присутствие процесса в системе/значка в трее. А значит есть вредоносные компоненты, которые опять же могут быть обнаружены или по сигнатурам или по поведению
В общем — будет сигнатура — майнер не пройдет. Не будет сигнатуры, майнер обнаружат по выросшей загрузке машин и сигнатура появится.
Сколько же создается майнеров? Берем случайную дату на updates.drweb.com
Trojan.BtcMine.1065(2) Trojan.BtcMine.1084 Trojan.BtcMine.1177 Trojan.BtcMine.1247 Trojan.BtcMine.1336 Trojan.BtcMine.1421(3) Trojan.BtcMine.1440 Trojan.BtcMine.1447(2) Trojan.BtcMine.1448(10) Trojan.BtcMine.1449 Trojan.BtcMine.1500 Trojan.BtcMine.1501 Trojan.BtcMine.1502(2) Trojan.BtcMine.1503 Trojan.BtcMine.1506 Trojan.BtcMine.1507 Trojan.BtcMine.1508
Tool.BtcMine.1000 Tool.BtcMine.1001 Tool.BtcMine.1002 Tool.BtcMine.1003(2) Tool.BtcMine.1004 Tool.BtcMine.1005 Tool.BtcMine.1006 Tool.BtcMine.1007 Tool.BtcMine.1008(2) Tool.BtcMine.1009(2) Tool.BtcMine.1010(2) Tool.BtcMine.1011(4) Tool.BtcMine.1012 Tool.BtcMine.1013 Tool.BtcMine.1014 Tool.BtcMine.1015 Tool.BtcMine.1016(2) Tool.BtcMine.1021(2) Tool.BtcMine.1022 Tool.BtcMine.1023(2) Tool.BtcMine.1024 Tool.BtcMine.1025 Tool.BtcMine.1026 Tool.BtcMine.1027(3) Tool.BtcMine.1028(2) Tool.BtcMine.1029(2) Tool.BtcMine.1030(2) Tool.BtcMine.230 Tool.BtcMine.278 Tool.BtcMine.288(7) Tool.BtcMine.390(2) Tool.BtcMine.433 Tool.BtcMine.483(2) Tool.BtcMine.573(3) Tool.BtcMine.800 Tool.BtcMine.810(11) Tool.BtcMine.916(2) Tool.BtcMine.917 Tool.BtcMine.943 Tool.BtcMine.944(7) Tool.BtcMine.948(2) Tool.BtcMine.958(3) Tool.BtcMine.968 Tool.BtcMine.970(4) Tool.BtcMine.973(4) Tool.BtcMine.974 Tool.BtcMine.975 Tool.BtcMine.976 Tool.BtcMine.977(4) Tool.BtcMine.978(6) Tool.BtcMine.979 Tool.BtcMine.980 Tool.BtcMine.981(3) Tool.BtcMine.982 Tool.BtcMine.983 Tool.BtcMine.984 Tool.BtcMine.985 Tool.BtcMine.986 Tool.BtcMine.987(2) Tool.BtcMine.988 Tool.BtcMine.989 Tool.BtcMine.990 Tool.BtcMine.991(4) Tool.BtcMine.992 Tool.BtcMine.993 Tool.BtcMine.994 Tool.BtcMine.995 Tool.BtcMine.996(2) Tool.BtcMine.997 Tool.BtcMine.998 Tool.BtcMine.999 Tool.Linux.BtcMine.163 Tool.Linux.BtcMine.164 Tool.Linux.BtcMine.165 Tool.Linux.BtcMine.166 Tool.Linux.BtcMine.167 Tool.Linux.BtcMine.168 Tool.Linux.BtcMine.169 Tool.Linux.BtcMine.170 Tool.Linux.BtcMine.171 Tool.Linux.BtcMine.172 Tool.Linux.BtcMine.173 Tool.Linux.BtcMine.174 Tool.Linux.BtcMine.175 Tool.Linux.BtcMine.176 Tool.Linux.BtcMine.178 Tool.Linux.BtcMine.179 Tool.Linux.BtcMine.180 Tool.Linux.BtcMine.181 Tool.Linux.BtcMine.182 Tool.Linux.BtcMine.183 Tool.Linux.BtcMine.184 Tool.Linux.BtcMine.186 Tool.Linux.BtcMine.187 Tool.Linux.BtcMine.188 Tool.Linux.BtcMine.189 Tool.Linux.BtcMine.190 Tool.Linux.BtcMine.191 Tool.Linux.BtcMine.193 Tool.Linux.BtcMine.194 Tool.Linux.BtcMine.195 Tool.Linux.BtcMine.196 Tool.Linux.BtcMine.197 Tool.Linux.BtcMine.198 Tool.Linux.BtcMine.199 Tool.Linux.BtcMine.201 Tool.Linux.BtcMine.202 Tool.Linux.BtcMine.203 Tool.Linux.BtcMine.204 Tool.Linux.BtcMine.205 Tool.Linux.BtcMine.206 Tool.Linux.BtcMine.207 Tool.Linux.BtcMine.208 Tool.Linux.BtcMine.209 Tool.Linux.BtcMine.210 Tool.Linux.BtcMine.211 Tool.Linux.BtcMine.212 Tool.Linux.BtcMine.213 Tool.Linux.BtcMine.214 Tool.Linux.BtcMine.215 Tool.Linux.BtcMine.216 Tool.Linux.BtcMine.219 Tool.Linux.BtcMine.220 Tool.Linux.BtcMine.221 Tool.Linux.BtcMine.222 Tool.Linux.BtcMine.223 Tool.Linux.BtcMine.224 Tool.Linux.BtcMine.225 Tool.Linux.BtcMine.226 Tool.Linux.BtcMine.227 Tool.Linux.BtcMine.228 Tool.Linux.BtcMine.229 Tool.Mac.BtcMine.35 Tool.Mac.BtcMine.36 Tool.Mac.BtcMine.37 Tool.Mac.BtcMine.38 Tool.Mac.BtcMine.39 Tool.Mac.BtcMine.40 Tool.Mac.BtcMine.41 Tool.Mac.BtcMine.42 Tool.Mac.BtcMine.43 Tool.Mac.BtcMine.44 Tool.Mac.BtcMine.45 Tool.Mac.BtcMine.46 Tool.Mac.BtcMine.47 Tool.Mac.BtcMine.48 Tool.Mac.BtcMine.50 Tool.Mac.BtcMine.51 Tool.Mac.BtcMine.52 Tool.Mac.BtcMine.53 Tool.Mac.BtcMine.54 Tool.Mac.BtcMine.55 Tool.Mac.BtcMine.56 Tool.Mac.BtcMine.57
На выбранную дату обойденным вниманием вирусописателей оказался Android, возьмем пример из новостей
Android-майнеры Android.CoinMine.1.origin и Android.CoinMine.2.origin, предназначенные для добычи виртуальных валют Litecoin, Dogecoin и Casinocoin распространялись злоумышленниками в модифицированных ими популярных приложениях и активизировались в те промежутки времени, когда мобильное устройство не использовалось его владельцем. Т. к. данные вредоносные программы активно задействовали аппаратные ресурсы зараженных смартфонов и планшетов, это могло стать причиной их перегрева, ускоренного разряда аккумулятора и даже обернуться финансовыми потерями для пользователей вследствие чрезмерного потребления троянцами интернет-трафика. А уже в апреле 2014 года появились новые версии данных троянцев, которые были обнаружены в каталоге Google Play и предназначались для добычи криптовалюты Bitcoin. Эти вредоносные приложения скрывались в безобидных «живых обоях» и также начинали свою противоправную деятельность, если зараженное мобильное устройство не использовалось определенное время.
Пример майнера для Линукс можно посмотреть здесь.
Как распространяются майнеры?
Всеми путями распространения вредоносных программ. Пара примеров
Через взломанный сайт
Злоумышленники разместили на сервере ВЦИОМ веб-страницы, с которых посетителям предлагалось скачать вредоносную программу под видом различных «полезных» файлов.
Взлому подверглась как русскоязычная (wciom.ru), так и англоязычная (wciom.com) версии официального веб-сайта ВЦИОМ. Киберпреступники создали на скомпрометированном сервере специальный раздел, в котором размещались веб-страницы с заголовками, пользующимися высокой популярностью согласно статистике поисковых систем: например, «новые-команды-кхл-2015–2016», «скачать-книгу-метро-2035-в-формате-fb2», «каталоги-эйвон-12–2015-просмотр-онлайн-бесплатно-россия-листать», «пробки-на-трассе-м4-дон-сегодня-онлайн», «скачать-adblock» и т. д. При попытке открыть такую ссылку в окне браузера пользователю демонстрировалась поддельная веб-страница популярной службы хранения файлов «Яндекс.Диск» или же веб-страница с заголовком WCIOM.RU, на которой потенциальной жертве предлагалось скачать архив якобы с неким «полезным» содержимым, — например, популярной книгой «Метро 2035» или свежим каталогом Avon.
Сканированием сети:
Trojan.BtcMine.737 перечисляет доступные в сетевом окружении компьютеры и пытается подключиться к ним, перебирая логины и пароли с использованием имеющегося в его распоряжении специального списка. Помимо этого, вредоносная программа пытается подобрать пароль к локальной учетной записи пользователя Windows. Если это удается, Trojan.BtcMine.737 при наличии соответствующего оборудования запускает на инфицированном компьютере открытую точку доступа WiFi. Если вредоносной программе удалось получить доступ к одному из компьютеров в локальной сети, предпринимается попытка сохранить и запустить на нем копию троянца либо с использованием инструментария Windows Management Instrumentation (WMI), либо при помощи планировщика заданий
Насколько широко распространены майнеры?
Суммарно майнеры составят порядка 0.3 от всех пойманных за месяц. Не каждый месяц, но периодически майнеры попадают в топ самых распространенных вредоносных программ.
Итого:
- Майнеры — законная цель антивирусов и при наличии сигнатур и правил они могут удаляться и удаляются
- Любые вредоносные программы находятся и удаляются антивирусом только при наличии правил/сигнатур. Поскольку майнеры любят создавать ботнеты, то в руки аналитиков они попадают гарантированно
- Антивирус — не панацея и не золотая пуля. Поэтому не стоит пренебрегать иными методами защиты, тем же ограничением прав
Надеюсь было интересно, если есть вопросы — постараюсь ответить.