Оглавление
Несколько компаний в сфере безопасности недавно назвали сервис браузерного майнинга Coinhive одной из главных вредоносных программ в интернете. В статье Брайана Кребса, американского журналиста, занимающегося расследованиями в сфере киберпреступности, рассматривается, кто стоит за Coinhive, и как майнер взобрался на вершину списка виртуальных угроз менее чем через год после своего дебюта.
Coinhive — это сервис криптовалютного майнинга, основой которого выступает небольшой фрагмент компьютерного кода, предназначенного для установки на сайтах. Код использует часть или всю вычислительную мощность компьютера через любой браузер, в котором открыт сайт со встроенным кодом, заставляя компьютер майнить криптовалюту Monero. В отличие от биткоина, её транзакции практически нельзя отследить. Это качество делает Monero особенно привлекательной для киберпреступников.
Прошлым летом Coinhive выпустил свой код, представив его в качестве альтернативного метода заработка для владельцев сайтов, которые не хотели навязывать своим посетителям раздражающую рекламу. Но с тех пор код Coinhive стал одной из главных вредоносных программ, которую сегодня отслеживают несколько специализирующихся на информационной безопасности компаний. Это связано с тем, что в большинстве случаев код устанавливают на взломанных сайтах, то есть без ведома или разрешения владельцев.
Как и вредоносный бот или троян, код Coinhive часто блокирует браузер пользователя и отбирает мощность устройства, поскольку майнит Monero сколько времени, сколько посетитель проводит на сайте.
Согласно сервису publicwww.com, который индексирует исходный код веб-сайтов, в настоящее время работают около 32 000 сайтов с майнером Coinhive. Невозможно сказать, сколько из них умышленно установили код, но в последние месяцы хакерам удавалось тайно внедрять его на некоторые очень посещаемые ресурсы, такие как как Los Angeles Times, blackberry, Politifact и Showtime.
Майнер можно обнаружить и в некоторых неожиданных местах: в декабре код Coinhive был найден встроенным во все веб-страницы, которые обслуживались через Wi-Fi в аргентинском кафе Starbucks. Примерно через неделю (в январе этого года) Coinhive обнаружили в рекламных объявлениях на YouTube (через платформу Google DoubleClick) в ряде стран, включая Японию, Францию, Тайвань, Италию и Испанию. В феврале Coinhive был найден в Browsealoud, сервисе, который озвучивает веб-страницы для слабовидящих. Этот сервис широко используется на многих сайтах правительства Великобритании, а также на нескольких правительственных сайтах США и Канады.
Что от этого получает сам майнер? Coinhive берёт 30% комиссии независимо от того, давал ли сайт согласие на установку майнера. Код привязан к специальному криптографическому ключу, который идентифицирует того, кто должен получить остальные 70%.
Coinhive принимает жалобы на злоупотребление майнером, как правило, не отвечая на обращения не от владельцев взломанного веб-сайта (то есть в большинстве случаев сервис игнорирует жалобы, поданные третьими лицами). Если Coinhive реагирует на жалобу, он делает недействительным ключ, связанный со злоупотреблением.
Но, по словам Троя Мурша, эксперта по информационной безопасности, который потратил достаточно много времени на отслеживание Coinhive и других случаев криптоджекинга, недействительность ключа не останавливает код самого Coinhive, поэтому он продолжает майнить Monero на взломанном сайте. Как только ключ становится недействительным, Coinhive забирает уже все 100% намайненной криптовалюты.
Когда они «отменяют» ключ, он просто завершает работу пользователя на этой платформе, но не останавливает запуск вредоносного JavaScript. Это значит, что конкретный пользователь Coinhive больше не получит денег. Код продолжает работать, и всё получает Coinhive. Может быть, они ничего не могут с этим поделать, а может быть, не хотят. Пока код находится на взломанном сайте, он приносит им деньги.
Кребс попросил прокомментировать этот очевидный конфликт интересов, и в Coinhive ответили, что организация работает над исправлением ситуации (которая якобы вызвана техническими особенностями):
Мы разработали Coinhive с условием, что ключи сайта неизменяемы. Это видно по тому факту, что ключ сайта не может быть удалён пользователем. Данное условие значительно упростило наше первоначальное развитие. Мы можем кэшировать ключи сайта на наших серверах WebSocket, а не перезагружать их из базы данных для каждого нового клиента. Мы работаем над механизмом по распространению недействительности ключа на серверах WebSocket.
AuthedMine
В ответ на критику Coinhive выпустил версию своего кода под названием AuthedMine, которая запрашивает согласие от посетителя сайта перед запуском майнинга Monero. Coinhive утверждает, что примерно 35% активности поступает с сайтов, использующих AuthedMine.
Но, согласно отчёту, опубликованному в феврале компанией по информационной безопасности Maltesbytes, код AuthedMine «едва используется» по сравнению с оригинальным кодом Coinhive, который не запрашивает разрешения. Данные телеметрии Malwarebytes (взятые из предупреждений антивируса в случае перехода пользователя на сайт с кодом Coinhive) определили, что AuthedMine используется только в 1% всех случаев, связанных с Coinhive.
Представители Coinhive предположили, что относительно небольшое использование AuthedMine может быть связано с тем, что такие компании, как Malwarebytes, выставляют его в плохом свете:
Они идентифицируют AuthedMine как угрозу и блокируют его. Зачем использовать AuthedMine, если он блокируется так же, как и оригинальная реализация? Мы не могли запустить Coinhive и не попасть в чёрный список антивирусов. Если антивирусы говорят, что майнинг — это плохо, значит, майнинг — это плохо.
Аналогично, данные вышеупомянутого сайта publicwww.com показывают, что около 32 000 сайтов используют оригинальный скрипт Coinhive, в то время как только на 1200 работает AuthedMine.
Кто же стоит за Coinhive?
Замечание автора. Обычно я ставлю ссылки на сайты, упомянутые в статьях, например, на официальный сайт Coinhive. Однако, поскольку многие из этих ссылок ведут на сайты, на которых работает Coinhive, или содержат явно небезопасный контент, на этот раз я использую скриншоты и делаю ссылки неактивными. По этим причинам я настоятельно рекомендую не посещать веб-сайт pr0gramm[dot]com.
Согласно ранее удалённой информации с сайта Coinhive — coin-hive[dot]com — Coinhive появился из эксперимента на немецкоязычном имиджборде pr0gramm[dot]com.
Действительно, несколько тредов на pr0gramm[dot]com показывают, что код Coinhive впервые возник там во второй половине июля 2017 года. В то время эксперимент называли pr0miner, и эти треды указывают, что основной программист, ответственный за pr0miner, использовал на pr0gramm ник int13h. Coinhive подтвердил, что «большая часть работы была сделана int13h, который всё ещё находится в нашей команде».
Автор попросил Coinhive объяснить исчезновение вышеупомянутого заявления с сайта. В Coinhive ответили, что это был удобный, но уже не нужный вымысел.
Владельцы pr0gramm — наши хорошие друзья, и мы в прошлом помогали им с их инфраструктурой и различными проектами. Они разрешили нам использовать pr0gramm в качестве тестовой площадки для майнера и ссылаться на их название, чтобы получить больше доверия. Запустить новую платформу сложно, если у вас нет послужного списка. После того как мы получили некоторую огласку, необходимость в этом заявлении пропала.
На вопрос о «платформе», о которой говорится в заявлении («Мы самофинансируемые и управляем этой платформой последние 11 лет»), в Coinhive ответили так:
Извините, что не внесли ясность: под платформой действительно подразумевается pr0gramm.
Получив этот ответ, автор подумал, что узнать, кто управляет Coinhive, можно, если идентифицировать администраторов форума pr0gramm. Если это и не одни и те же люди, они почти наверняка знают тех, кто стоит за Coinhive.
Немного о Pr0gramm
Выяснить, кто работает в pr0gramm, было непросто, хотя вся нужная информация находилась в свободном доступе.
Автор имеет в виду, что все данные, которые он собрал (и представленные в подробной схеме связей ниже), либо были получены на общедоступном веб-сайте доменных имён WHOIS, либо эту информацию размещали сами администраторы pr0gramm в различных социальных сетях.
Кребс начал с самого домена pr0gramm, который, как и многие другие домены, связанные с этим исследованием, был первоначально зарегистрирован на имя доктора Маттиаса Мёнха (Dr. Matthias Moench). Мёнх связан с этим исследованием опосредованно, поэтому о нём пока стоит сказать лишь то, что он осуждённый спамер и убийца (последний подраздел этой истории объясняет, кто такой Мёнх и почему он может быть связан со многими из представленных доменов). У него увлекательная и страшная биография.
Через много недель после начала расследования выяснилось, что pr0gramm первоначально был привязан к сети сайтов для взрослых, связанных с двумя компаниями, которые были объединены более десяти лет назад в Лас-Вегасе, штат Невада: Eroxell Limited и Dustweb. Обе эти компании заявляли, что занимаются онлайн-рекламой в той или иной форме.
Как Eroxell, так и Dustweb, а также несколько связанных с pr0gramm сайтов (например, pr0mining[dot]com, pr0mart[dot]de, pr0shop[dot]com) выводят на немца Рейнхарда Фюрстбергером, регистрационные данные которого включали в себя адрес электронной почты admin@pr0gramm[dot]com. Eroxell и Dustweb также имеют связь с компанией, зарегистрированной в Испании под названием Suntainment, которой владеет Фюрстбергер.
Как указано на сайте pr0gramm, форум был запущен в 2007 году под управлением бота, который должен был индексировать и отображать изображения, размещённые в определённых каналах онлайн-чатов о популярном шутере Quake.
База пользователей форума росла вместе с разнообразием кеша изображений на сайте, поэтому pr0gramm начал предлагать платные аккаунты «pr0mium», которые позволяли просматривать и комментировать все «небезопасные для работы» изображения. Когда в июле прошлого года администраторы pr0gramm впервые запустили pr0miner (предшественник Coinhive), они предложили членам pr0gramm попробовать код на своих сайтах получить взамен вознаграждение в виде очков pr0mium.
Фобос и Деймос
Pr0gramm был запущен в конце 2007 года фанатом Quake из Германии, которого звали Доминик Шаблевски. Этот компьютерный эксперт стал известен на pr0gramm под ником cha0s.
Во время создания pr0gramm Шаблевски также запустил форум об игре Quake chaosquake[dot]de и личный блог phososlab[dot]org (phoboslab и pr0gramm использовали один и тот же код отслеживания в Google Analytics — UA-571256).
С Шаблевски удалось связаться по электронной почте, но он отказался комментировать эту историю и лишь сказал, что продал pr0gramm несколько лет назад человеку, имя которого не сообщил.
Несколько старых членов pr0gramm отметили, что с тех пор, как cha0s перестал администрировать форум, он наполнился людьми с популистскими, крайне правыми политическими взглядами. Фюрстбергер описывает себя в соцсетях в качестве «политически некорректного баварского сепаратиста». Более того, существует бесчисленное множество постов на pr0gramm, которые пропагандируют нетерпимость к различным этническим или религиозным группам.
В переписке с автором по электронной почте Фюрстбергер сказал, что понятия не имел о том, что pr0gramm использовался для запуска Coinhive:
Я могу заверить вас, что впервые в жизни услышал о Coinhive в начале этой недели. Я также могу заверить, что компания Suntainment не имеет к этому никакого отношения. Я не имею никакого отношения к pr0gramm. Этим занимается мой партнёр. Когда я узнал о злоупотреблениях в моей компании, я был в шоке.
Ниже приведена схема связей, которую сделал Кребс, чтобы отслеживать взаимосвязь между различными именами, электронными письмами и веб-сайтами, упомянутыми в этом исследовании.
Партнёром Фюрстбергера выступает нынешний администратор pr0gramm под ником Gamb. Исходя из данных WHOIS, pr0gramm привязан к американской компании Eroxell.
Среди многих доменов, зарегистрированных на Eroxell, был deimoslab[dot]com, который в какой-то момент выступал сайтом по продаже электроники. Исходя из копии сайта образца с 2010 года (спасибо archive.org), владелец deimoslab использовал тот же ник Gamb.
Деймос и Фобос — это названия двух спутников Марса, а также четвёртого и пятого уровней в компьютерной игре Doom. Кроме того, это имена двух космических кораблей, которые играют важную роль в Quake II.
Обзор DNS интернет-адреса, который долгое время используется pr0gramm[dot]com, показывает, что deimoslab[dot]com однажды делил сервер с несколькими другими доменами, включая phpeditor[dot]de. Согласно историческому поиску на WHOIS о сайте phpeditor[dot]de, домен был первоначально зарегистрирован Андре Крамбом из Грос-Герау (Германия).
Когда автор обнаружил эту связь, он не увидел ничего, что связывает Крамба с Gamb, текущим администратором pr0gramm, пока не начал искать учётные записи на онлайн-форумах, принадлежащие пользователям с ником Gamb.
Одним из таких сайтов был ameisenforum[dot]de, форум для людей, которые интересуются муравьиными фермами. Сначала было непонятно, что делать с этой информацией, пока не выяснилось, что адрес электронной почты, используемый для регистрации phpeditor[dot]de, также использовался для регистрации довольно необычного домена: antsonline[dot]de.
В электронной переписке с Кребсом Крамб признал, что был администратором pr0gramm (а также главным техническим специалистом в вышеупомянутом Suntainment Фюрстбергера), но настаивал, что ни он, ни pr0gramm не работали над Coinhive. Крамб повторял, что Coinhive — продукт работы только одного человека, пользователя pr0gramm под ником int13h:
Coinhive никак не связан с Suntainment или штатными сотрудниками Suntainment. Вы на самом деле ищете не группу людей, а одного-единственного парня, который иногда работал на Suntainment как фрилансер.
Coinhive волнуется и обновляет сайт
Вскоре после ответов Фюрстбергера и Крамба представители Coinhive обратились к автору:
Некоторые люди, связанные с pr0gramm, обратились к нам и сказали, что вы требовали от них ответов. Они хотят сохранить анонимность на pr0gramm, потому что у админов и модераторов были неприятные истории с троллями. Я уверен, что вы понимаете это. Вы прижали их, чего, видимо, и добивались. Хотя мы вынуждены признать вашу эффективность в поиске информации, ваша тактика, на наш взгляд, сомнительна.
Coinhive довольно резко сослался на сообщения автора Крамбу, в которых Кребс говорил, что ищет больше информации об int13h и обо всех, кто связан с Coinhive.
Мы хотим ещё раз подчеркнуть, что Coinhive в его нынешнем виде не имеет ничего общего с pr0gramm или его владельцами. Мы протестировали «игрушечную реализацию» майнера на pr0gramm, потому что у них было сообщество, открытое для такого рода вещей. Вот и всё.
Когда же автор спросил об удалённом заявлении, в котором pr0gramm был назван «их платформой на протяжении 11 лет» (именно столько форум на тот момент был онлайн), представители Coinhive повторили своё предыдущее заявление: удобная выдумка, а на деле организации друг с другом не связаны.
22 марта из Coinhive пришло ещё одно электронное письмо, в котором сообщалось, что в связи с запросами Кребса команда проконсультировалась с юристами и решила добавить некоторые контактные данные на свой веб-сайт.
Из этой информации следует, что сайт принадлежит организации из Кайзерслаутерна (Германия) под названием Badges2Go, которая представляет собой основанную в 2017 году компанию с ограниченной ответственностью, возглавляемую Сильвией Кляйн из Франкфурта. В профиле Кляйн на Linkedin говорится, что она — генеральный директор нескольких организаций в Германии, включая Blockchain Future. Сильвия дала Кребсу такой комментарий:
Я основала Badges2Go в качестве инкубатора для перспективных мобильный приложений и веб-проектов. Coinhive — один из них. Сейчас мы анализируем его потенциал и корректируем следующие шаги, чтобы профессионализировать сервис.
Та самая история доктора Маттиаса Мёнха
Как уже упоминалось, многие из доменных имен, привязанных к администраторам форума pr0gramm, были первоначально зарегистрированы на некого доктора Маттиаса Мёнха.
Когда автор начал расследование в январе 2018 года, он подумал, что Мёнх — это псевдоним. Но правда в том, что Маттиас Мёнх — это имя реального человека. Очень страшного человека.
Согласно статье 1989 года в издании Bild (выдержки опубликованы на Die Welt в 2014-м), Мёнх рос в богатой немецкой семье предпринимателей, а 19 лет был осуждён за то, что нанял турка, чтобы убить своих родителей. Die Welt пишет, что человек, нанятый Мёнхом, использовал мачете, чтобы зарезать родителей и их пуделя. Позднее Мёнх объяснил свои действия тем, что он был расстроен из-за того, что родители купили ему на восемнадцатилетние подержанную машину, а не Ferrari, которую он всегда хотел.
Мёнх был приговорён к девяти годам в заведении для несовершеннолетних, но отсидел только пять. После освобождения Мёнх утверждал, что обратился к религии и хочет стать священником.
Однако впоследствии Мёнх передумал и решил вместо этого стать спамером. Долгие годы он с помощью спама продвигал лекарство против эректильной дисфункции, на котором заработал по меньшей мере 21,5 млн. евро.
В итоге Мёнх снова был арестован и предстал перед судом. В 2015 году он и несколько других подсудимых были осуждены за преступления, связанные с мошенничеством и наркотиками. Мёнха приговорили к шести годам лишения свободы. По словам Ларса-Мартена Нагеля, автора статьи о Мёнхе для Die Welt, немецкие прокуроры говорят, что Мёнх может выйти из тюрьмы в конце этого года.
Конечно, есть соблазн связать администраторов pr0gramm с Мёнхом, но связи здесь наверняка нет. Из сообщения в блоге от 2006 года следует, что Мёнх призывал свободно использовать его имя и почтовые адреса в Германии и Чехии всех единомышленников-спамеров или людей, которые хотели бы скрыть свою личность. И многие приняли это предложение.
Неожиданное признание
Вскоре после того, как автор опубликовал своё расследование, в личном блоге Доминика Шаблевски, основателя pr0gramm[dot]com, на phoboslab[dot]org появился новый пост, в котором тот взял на себя ответственность за создание Coinhive.
«Брайан Кребс недавно опубликовал рассказ о Coinhive, и я хочу прояснить некоторые вещи.
В 2007 году я создал простой имиджборд — pr0gramm — для себя и своих друзей. За годы этот форум сильно вырос. Когда несколько троллей в 2015 году узнали, кто стоит за pr0gramm, мне угрожали убийством из-за различных действий в качестве модератора. Я решил уйти и продал pr0gramm. Я всё ещё работал над pr0gramm за кулисами и время от времени помогал устранять технические проблемы, но не занимался модерацией в полной мере.
В прошлом году у меня возникла идея попробовать запустить криптовалютный майнер в WebAssembly. Как эксперимент, чтобы посмотреть, будет ли он работать. И, конечно же, мне нужны были пользователи, чтобы его протестировать. Владельцы pr0gramm были достаточно добры, чтобы позволить мне протестировать его, но не участвовали в разработке. Я быстро создал отдельную страницу на pr0gramm.com, которую пользователи могли открыть, чтобы заработать премиум-аккаунт благодаря майнеру. И майнер работал очень хорошо.
Поэтому я решил расширить эту идею на своей собственной платформе. Несколько месяцев спустя я запустил Coinhive и быстро понял, что не могу работать над ним в одиночку. Поэтому я искал кого-то, кто возьмёт его на себя.
Я нашёл заинтересованную компанию. Они взяли Coinhive под своё крыло и сейчас работают над его глобальным преобразованием».