В литературных произведениях преступники — злые гении, бросающие интеллектуальный вызов правосудию и лучшим умам полиции. Однако в жизни чаще встречаются противоположные личности, способные оставить свой паспорт на месте преступления. Если в виртуальном мире и существуют аналоги таких ляпов, то свидетелем одного из них мы как раз стали на этой неделе. Новая модификация трояна класса биткойн-майнеров, обнаруженная специалистами ООО «Доктор Веб», содержит имя и фамилию одного из своих создателей и псевдоним другого. По этим данным легко узнать всю остальную информацию о соавторах, просто выполнив поиск по социальным сетям.
Среди множества вредоносных программ ещё в прошлом веке стал выделяться класс троянских коней. Их код мог содержать разные функции, позволяющие применять его для удалённого управления или кражи ценной информации. Каждый автор старался сделать свой троян максимально скрытым от пользователя и неуловимым для антивирусных программ.
Довольно быстро из области состязания в изящности кода написание троянов перешло в сферу криминальных доходов. Новые разновидности троянов накручивали посещаемость, имитируя клики по баннерам, выполняли звонки на платные номера, использовались для создания ботнет-сетей и применялись множеством других способов.
Из-за низкой квалификации основной массы пользователей и пренебрежения ими элементарных норм безопасности требования к качеству кода троянов стали резко падать. Их структура становилась всё более примитивной, пока не достигла апофеоза — использования скриптов автоматизации, оставляющих в теле трояна информацию о своих создателях.
Так произошло и в данном случае с попыткой незадачливого автора скрыто установить трояна на компьютеры тысяч пользователей через программу монетизации файлового трафика Installmonster.ru.
Для сборки трояна из готовых модулей он использовал язык автоматизации выполнения задач AutoIt, не требующий практически никаких знаний в области программирования. В коде остались строки, свидетельствующие о разработке основных компонентов трояна другим человеком:
«c:UsersКошевой ДмитрийDocumentsVisual Studio 2012…»
Сам заказчик не удалил свой псевдоним, оставив при сборке дроппера характерную строку:
«C:UsersAntonioDesktop»
В файле конфигурации содержится также его логин «tonycraft». По этим данным через сеть «ВКонтакте» легко находится пользователь Tonycoin, зазывающий всех на протрояненный сайт bitchat.org.
Главная цель, преследуемая авторами современных троянов, — заставить кого-то другого зарабатывать им деньги. Очень желательно, чтобы процесс происходил незаметно и длительно. С появлением в 2009 году криптовалюты BitCoin интерес к ней возник и в криминальной сфере.
Новые трояны, ориентированные на этот источник дохода, построены по общей модульной схеме. Они содержат оригинальную программу — биткойн-майнер — или её модифицированный вариант, а также средства их скрытого автозапуска. Маскировка у большинства из них предельно примитивная: авторы ограничиваются простым переименованием имён файлов и использованием утилит вроде Hidden Start (hstart.exe) для сокрытия окна консоли.
Все компоненты, кроме командных файлов на создание скрытого автозапуска, вполне легальные. Антивирусным программам сложно определить такой троян на уровне эвристики, поэтому обычно они детектируются по прямому сигнатурному совпадению с записями в вирусных базах.
Средства самостоятельного размножения у большинства троянов отсутствуют (что отличает их от класса собственно компьютерных вирусов), а для их распространения авторы прибегают к методам социальной инженерии. Активно эксплуатируется жажда халявы, сексуальное влечение и другие вечные стимулы, заставляющие людей делать глупости.
Трояны класса биткойн-майнеров маскируются под бесплатные программы, ускорители работы компьютера и сетевого подключения. Они заражают систему при кликах на порно-баннерах и скачиваются «в нагрузку» к известным легитимным программам, включая такие популярные компоненты, как флеш-плеер или Java RE.
В описываемом случае Trojan.BtcMine.218 распространялся под видом утилиты Small Weather, демонстрирующей метеопрогноз в тулбаре.
Версии семейства Trojan.BtcMine попадались мне в диком виде с осени 2010 года. В согласии с известной пословицей «Беда не приходит одна», за ресурсы одной системы нередко соперничают разные трояны. Несколько активных троянских биткойн-майнеров превращает последнюю модель компьютера с Core-i7 в едва шевелящегося динозавра. Загрузка процессора постоянно держится на уровне ста процентов, свободной оперативной памяти ноль, а кулер воет громче пылесоса. Системные блоки и ноутбуки с такими характерными признаками заражения приносят практически постоянно. Как же они обеспечивают прибыль своим авторам?
Заработать в системе BitCoin можно двумя основными путями — выполняя ограниченную эмиссию новых биткойнов или получая вознаграждение за быструю обработку чужих транзакций — подтверждение переводов виртуальной валюты между аккаунтами.
Первый путь называется майнингом. Он более предсказуем по результатам, так как не зависит от совершения сделок с использованием биткойнов другими участниками. Однако действительно актуальным он оставался лишь в самом начале, когда «штамповать» новые биткойны было относительно просто.
Первоначальная лёгкость генерирования биткойнов компенсировалась их низкой платёжной способностью. Пока криптовалюта делала первые шаги, в обмен на товары или услуги её принимали единичные энтузиасты. Курс биткойна тогда был настолько низким, что на его разнице в то время и сейчас уже можно было бы сделать состояние.
Согласно заложенному алгоритму, выпуск новых единиц криптовалюты требует всё больше вычислительных ресурсов по мере увеличения её общей денежной массы. Сегодня они настолько высоки, что генерировать биткойны силами центрального процессора уже нет практического смысла, если вы сами оплачиваете электроэнергию.
Его скалярная архитектура общего назначения слабо оптимизирована для алгоритма майнинга. В общем случае потребуются месяцы непрерывных вычислений, чтобы создать даже не один единственный биткойн, а его десятую или сотую часть. Расходы на затраченную электроэнергию при этом превысят потенциальную прибыль.
Гораздо лучше обстоят дела с использованием в майнинге видеокарт в качестве векторных ускорителей. Особенно моделей на старших версиях AMD Radeon серии 5xxx. Графическое ядро Cypress Pro содержит 1 440 универсальных потоковых процессоров. Оно выполняет плавающие вычисления с двойной точностью на рекордной скорости 418 гигафлопс.
Самым эффективным считается использование специализированных вентильных матриц, программируемых пользователем под конкретную задачу. На базе FPGA создаются целые «фермы» для майнинга биткойнов, лайткойнов и выполнения других похожих алгоритмов.
Однако такие FPGA в целом встречаются редко, а графические ядра с универсальными потоковыми процессорами есть даже в самых бюджетных моделях ноутбуков. Нужны они в основном для работы интерфейса Aero, ускорения декодирования видео и работы с лёгкой 3D-графикой, но биткойн-майнеры умеют использовать их для выполнения своих «неграфических» вычислений.
Низкая эффективность майнинга криптовалюты на отдельных слабых конфигурациях с лихвой компенсируется для автора трояна их бесплатностью и количеством. Во избежание присоединения вашего компьютера к числу таких «зомби» установите любой антивирус, своевременно обновляйте его базы и не загружайте программы из сомнительных источников. Особенно если вас обещают осчастливить бесплатно.