Несколько компаний в сфере безопасности недавно назвали сервис браузерного майнинга 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.

Статистика отображает период между 10 января и 7 февраля, когда Malwarebytes блокировал подключения к AuthedMine и 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.

Ныне удалённый текст из раздела About us на сайте Coinhive. Этот скриншот был сделан 15 сентября 2017 года. Изображение предоставлено archive.org.
Действительно, несколько тредов на 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, Crypto-Loot, CoinImp, Minr […]
[…] поиска сайтов, на которых есть вредоносные программы: Coinhive, Crypto-Loot, CoinImp, Minr […]