Всё бoльшую популярность у злоумышленников получает партнёрская программа Coinhive по майнингу криптовалюты в браузерах пользователей (и другие JS-майнеры). Ничего не подозревающие юзеры заходят на сайт — и не обращают внимания, что у них резко возрастает нагрузка на CPU (Coinhive майнит Monero на алгоритме CryptoNight, который создаёт большой блок в памяти и предотвращает внутренний параллелизм, поэтому майнинг исключает использование ASIC и наиболее эффективен именно на CPU).

Злоумышленники продолжают взламывать сайты и размещать скрипты для майнинга. То же самое продолжается с расширениями для браузеров. Недавно они внедрили майнер CryptoLoot даже в скрипт CookieScript.info, который помогает другим сайтам показывать предупреждение об использование кукисов по требованию Евросоюза — это самый популярный бесплатный сервис такого рода, его используют тысячи других сайтов, иначе им грозит штраф от Евросоюза до $500 000.

На деятельность злоумышленников можно было смотреть с усмешкой: ну сколько они там сгенерируют за две минуты, которые пользователь проводит на сайте? Эфемерная природа майнинга в браузере оставалась главным недостатком такого рода зловредов. Но специалисты Malwarebytes Labs отмечают, что владельцы «майнинг-ботнетов», к сожалению, сумели устранить этот недостаток. Теперь майнинг на компьютерах пользователей продолжается и после того, как они покинули заражённый сайт. И даже после закрытия браузера.

Тесты проводились в браузере Google Chrome. На анимации показано, что при закрытии браузера с обычным сайтом использование CPU сразу падает примерно до нуля. Но при закрытии сайта со встроенным майнером почему-то использование CPU остаётся на прежнем уровне более 60% (для маскировки майнер грамотно не загружает процессор по максимуму).

Хитрость в том, что несмотря на видимое закрытие окна браузера, на самом деле Google Chrome не закрывается, а остаётся в памяти. Зловред открывает невидимое всплывающее окно типа pop-under. Нужно признать, это очень грамотный приём.

Координаты всплывающего окна подобраны таким образом, чтобы спрятаться точно за часами на панели задач.

Анимация

Координаты окна могут немного отличаться, в зависимости от разрешения экрана на компьютере жертвы, но в оно помещается за часами. Правда, есть один нюанс. Если в операционной установлена тема оформления с полупрозрачностью, то окошечко всё-таки слегка просматривается за панелью (см. скриншот в начале статьи).

Специалисты по безопасности совершенно случайно наткнулись на этот трюк при посещении одного из порносайтов. Там работает агрессивная рекламная сеть Ad Maven, которая обходит блокировщики рекламы и, в свою очередь, подгружает ресурсы с облака Amazon — это один из способов обойти блокировщик рекламы. Хотя сама вредоносная нагрузка .wasm загружается не непосредственно с AWS, а с постороннего хостинга.

В коде скрипта можно заметить некоторые функции, которые упоминаются в документации майнера Coinhive. Например, здесь есть проверка на поддержку WebAssembly — с помощью этой технологии браузер наиболее полно использует ресурсы установленного на компьютере аппаратного обеспечения. Если WebAssembly не поддерживается, то майнер переключается на более медленную JavaScript-версию (asm.js).

Как уже упоминалось выше, майнер не загоняет частоту процессора на 100%, а умеренно нагружает его, чтобы незаметно работать в течение длительного времени.

С учётом такого хитрого поведения вредоносных программ трудно полагаться полностью на блокировщики рекламы. Теперь после закрытия браузера нужно ещё проверить, что браузер исчез с панели задач, где висят запущенные процессы. Но если значок прикреплён к панели, он никуда не должен исчезать. Поэтому на всякий случай лучше после закрытия браузера проверить, что в диспетчере задач не осталось запущенных процессов типа chrome.exe и ему подобных. Хотя многие пользователи в наше время вообще никогда не закрывают браузер. Так что остаётся последний метод — постоянно следить за нагрузкой процессора, рекомендуют специалисты Malwarebytes Labs.

Они также публикуют индикаторы заражения для проверки, что на сайте не появилось ничего лишнего:

145.239.64.86,yourporn[.]sexy,Adult site
54.239.168.149,elthamely[.]com,Ad Maven popunder
52.85.182.32,d3iz6lralvg77g[.]cloudfront.net,Advertiser's launchpad
54.209.216.237,hatevery[.]info,Cryptomining site


Модуль Cryptonight WebAssembly:

fd472bd04c01a13bf402775441b0224edef4c062031e292adf41e5a5897a24bc

Любого мало-мальски технически грамотного человека вряд ли удастся обмануть таким образом. По крайней мере, ненадолго. Но существует огромное количество пользователей, которые ничего не знают о криптомайнерах в браузере, так что подобные зловреды могут стать весьма популярными.

Комментарии (56)


  1. dartraiden
    30.11.2017 18:40

    А зачем такие сложности с поиском окна за часами, разве значок браузера не болтается в панели задач?


    1. benipaz
      30.11.2017 18:47

      так он болтается там всегда, если прикреплен. а прикрепляется он обычно всегда при установке. при включенном браузере только фон немного меняется


      1. creker
        30.11.2017 19:23
        +1

        По крайней мере на винде очень сложно не заметить, что приложение до сих пор запущено. Даже если ярлык прикреплен.


        1. Zidian
          30.11.2017 21:18

          Это если держать браузер закрытым, сложно. А у многих он запущен днями.


          1. creker
            30.11.2017 21:48

            Вот это уже более реалистично, т.к. браузер действительно вообще не закрываю. А с последним обновлением винды он обратно запускается при включении системы. Интересно, возобновится ли работа майнера таким образом, т.к. вкладки хром восстанавливает.


            1. sanchezzzhak
              01.12.2017 11:02

              Да, зловред может быть добавлен как веб-воркер
              А если поймали троян (установили что-то с интернета) то в ярлыки браузера.


      1. Denai
        30.11.2017 21:04

        image
        Немного?


        1. benipaz
          30.11.2017 21:12

          немного. все зависит от установленной темы


          1. kablag
            30.11.2017 23:01

            Оказывается не зря я ставил ярко зелёный :)


            1. benipaz
              30.11.2017 23:14

              я вижу тоже вертикальный таскбар ))


              1. kablag
                30.11.2017 23:29

                да вроде как экономит полезное место на всех современных широкоформатных мониторах :)


  1. PoliTeX
    30.11.2017 19:03

    А это разве не уязвимость браузера, что положением окна можно из скрипта управлять?


    1. Gerh
      30.11.2017 19:11

      Нет, это обычные возможности js.


      1. PoliTeX
        30.11.2017 19:16

        Действительно. Но зачем? Для какой полезной функциональности это может понадобиться?


        1. Keyten
          30.11.2017 19:18
          +1

          Незаметно майнить валюту :)


          1. PoliTeX
            30.11.2017 19:25

            Not bad.jpg


        1. PoliTeX
          30.11.2017 19:27

          Хорошо еще, что в вивалди она не работает, а в хромой опере — с ограничениями.


  1. Herhen
    30.11.2017 19:08

    А Firefox как на них реагирует?


    1. sumanai
      30.11.2017 19:44
      +1

      Сейчас это можно запретить через about:config, а ведь когда-то это делалось прямо из интерфейса, но в угоду дебилизации эту возможность вырезали из интерфейса.
      image
      В общем вот соответствующие настройки, чтобы скрипты не могли делать что им вздумается:
      Move or resize popup windows:

      dom.disable_window_move_resize
      Raise or lower windows:
      dom.disable_window_flip
      Disable or replace context menus:
      dom.event.contextmenu.enabled


      1. dartraiden
        30.11.2017 20:36

        dom.event.contextmenu.enabled
        Из разряда «вредных советов» — сломает Google Docs, как минимум.

        Вот список безопасных настроек. Лучше всего оценить, какие элементы интерфейса вам действительно нужны и запретить изменение лишь их.

        // Запрещает попапам отключать элементы окон браузера.
        // http://kb.mozillazine.org/Dom.popup_maximum
        user_pref("dom.popup_maximum", 5);
        user_pref("dom.disable_open_during_load", true);
        user_pref("dom.allow_scripts_to_close_windows", false);
        // http://kb.mozillazine.org/JavaScript#JavaScript_settings_in_Firefox_23_and_above
        user_pref("dom.disable_window_move_resize", true);
        user_pref("dom.disable_window_flip", true);
        user_pref("dom.disable_window_status_change", true);
        // http://kb.mozillazine.org/Prevent_websites_from_disabling_new_window_features
        user_pref("dom.disable_window_open_feature.close", true);
        user_pref("dom.disable_window_open_feature.location", true);
        user_pref("dom.disable_window_open_feature.menubar", true);
        user_pref("dom.disable_window_open_feature.minimizable", true);
        user_pref("dom.disable_window_open_feature.personalbar", true);
        user_pref("dom.disable_window_open_feature.resizable", true);
        user_pref("dom.disable_window_open_feature.scrollbars", true);
        user_pref("dom.disable_window_open_feature.status", true);
        user_pref("dom.disable_window_open_feature.titlebar", true);
        user_pref("dom.disable_window_open_feature.toolbar", true);


        Я, например, предпочитаю всегда видеть адресную строку в попапе.


  1. maxzh83
    30.11.2017 22:22

    Теперь майнинг на компьютерах пользователей продолжается и после того, как они покинули заражённый сайт. И даже после закрытия браузера.


    «И даже после выключения компьютера». Именно этой фразы я ждал, но оказалось все банальнее.


    1. amarao
      01.12.2017 13:04

      Если совместить с SA00086, то можно майнить и на выключенном компьютере.


  1. QtRoS
    01.12.2017 01:17

    Специалисты по безопасности совершенно случайно наткнулись на этот трюк при посещении одного из порносайтов.
    Шикарная формулировка!


    1. mwambanatanga
      01.12.2017 03:37

      Специалисты по безопасности тоже люди.


    1. prospero78su
      01.12.2017 08:48

      А я хотел поехидничать, когда анимашку увидел. А потом прочитал дальше, и подумал, что надпись «YourPorno» теперь поводом поржать не будет))


  1. quwy
    01.12.2017 03:38

    Ничего не подозревающие юзеры заходят на сайт — и не обращают внимания, что у них резко возрастает нагрузка на CPU

    Народ, очнитесь! Безо всяких майнеров, уже лет пять минимум, десяток вкладок со среднепопсовыми сайтами нагружает не самый дохлый четырехядерник почти до упора. Когда сайт на 90% состоит из скриптов, по другому быть просто не может.

    Гугель, кстати, грозился недавно ограничить в хроме особо зажирающиеся вкладки и прогрессивно тормозить тяжелые скрипты. Как дела у данной инициативы?


    1. Dmitry_7
      01.12.2017 09:45

      Как дела? Гугл возглавил их.


    1. yea
      01.12.2017 14:33

      Не поленился открыть 20 вкладок (гиктаймс, гмейл, мейлру, вконтактики, фейсбуки, ютуб + проигрывание видео, твитч + открытый стрим, жира и гитхаб, некоторые из них в нескольких экземплярах) и посмотреть — из результатов 2-3% CPU load, из которых хром даже не на первом месте, и какофония в наушниках. Это у нас настолько разное железо и софт, или вы безосновательны в своих заявлениях?


      1. quwy
        01.12.2017 16:34
        +1

        Гиктаймс, гмейл, гитхаб и жира? Вы смеетесь? Открыть надо то, что загружено у среднего гуманитария: развлекаловку типа яплакал; сайтец какой-нибудь онлайн-игрушки; новости типа обозревателя (имею в виду .ua); вконтакт на проигрывании музычки; что-нибудь желтушное типа рентв и далее в таком же роде.

        Да даже панели управления рекламой того же яндекса или фейсбука почти постоянно грузят ядро. У жены комп не затихает ни на секунду, хотя ничего кроме этих долбаных панелей и не открыто толком.


        1. yea
          01.12.2017 16:54

          На несколько FullHD-видеопотоков в фоновых вкладках вы внимание не обратили, зато вконтакт непременно с музычкой должен быть? Ну и почтовые сервисы это достаточно жирный функционал все же.


          1. quwy
            03.12.2017 20:21

            На несколько FullHD-видеопотоков в фоновых вкладках вы внимание не обратили, зато вконтакт непременно с музычкой должен быть?

            За воспроизведение видео отвечают не скрипты (да и вообще это часто аппаратная фича железа). А вконтактный медиаплеер покушать CPU любил, может и поправили уже, но дело было.

            Сейчас началась зима. И на некоторых не особо серьезных сайтах снова появились эти идиотские падающие снежинки. Не знаю, какой криворук писал этот скрипт, но он жрет ядро на 100%.

            Или гуглодоки, например, фоновая вкладка конечно ведет себя смирно, но любая активность на странице вызывает дикий всплеск использования CPU.


  1. valentinoshm
    01.12.2017 07:26

    Скиньте пожалуйста ссылку на сайт с таким майнером


    1. brzsmg
      01.12.2017 08:08

      Например Coinhive можно найти здесь: walking-dead.ru
      И ни 60% он нагружает, а 99%, GUI теряется.
      Пока таких сайтов, как Coinhive, мало, можно внести их в файл hosts, но что то мне подсказывает что скоро их будет куча.


      1. Compost
        01.12.2017 08:21

        uMatrix успешно заблокировал инициативу. Но если разрешить скрипты и XHR c coinhive начинает грузить систему.


        1. hullaballoo
          01.12.2017 10:32

          uBlock тоже успешно справляется.


      1. Andy_Big
        01.12.2017 12:38

        У меня антивирус ругнулся на этот сайт и заблокировал трафик с него.


    1. Memiy
      01.12.2017 08:15

      Хитрый план) Хотите знать предпочтения безопасников?
      А в конце статьи поелс фразы:

      Они также публикуют индикаторы заражения для проверки
      , не оно?


  1. Main_Shroom
    01.12.2017 09:42

    Интересный материал. Но хотелось бы, чтобы кто-нибудь написал актуальный краткий(или не очень) гайд на тему защиты от майнеров встроенных в сайты. Буду крайне благодарен любому, кто возьмет на себя этот труд.
    P.S. если таковой уже имеется, поделитесь ссылкой.


    1. fpir
      01.12.2017 10:53

      Хм, гайд защиты от майнеров? А Вам жалко? Отожрут пару рублей за электричество. А если самому нужно, не хватает-открываете дисетчер-монитор производительности. Смотрите что жрёт процессор, или память, или обращение к диску и понижаете приоритеты или прибиваете процесс. Если, к примеру, хром и он нужен, то- в диспетчер хрома, и смотрите вкладки.
      Я не призываю поощрять таких майнеров, но сам запаиваться не собираюсь. Описанную процедуру я провожу по нескольку разв в день, и если помайнят часок-молодцы, значит могут…


      1. bacon_bacon
        01.12.2017 13:05

        Соглашусь, что в качестве первой помощи нужно мониторить загрузку ресурсов. А насчет «жалко что ли» скажу, что не все ограничивается компьютером дома и оплатой счетов за электричество, с ноутбука без зарядки сидеть в интернете и мониторить, чтобы очередной сайт не майнил и не садил батарею довольно неудобно.


      1. Main_Shroom
        02.12.2017 05:23

        А Вам жалко?

        По долгу службы, среди прочего приходится следить за небольшой сетью. В основном железо древнее(и это еще мягко сказано), а интернетом активно пользуется большинство пользователей — соответственно и браузер открыт постоянно, что приводит к тому, что он отъедает львиную часть ресурсов и если туда еще и впихнуть майнеры, то это капут. Жестко ограничивать список досупных ресурсов на уровне прокси нельзя по ряду причин, так что единственный вариант, это хотя бы обезопасить машины пользователей.
        P.S. а вот дома, конечно не жалко, если какой-то сайт(особенно полезный) помайнит за мой счет пусть даже часок-другой. Главное, чтобы я был предупрежден(плашка, которую видно на текущей странице, а не окошко, стыдливо прячущееся за часами) и кол-во ресурсов направленных на это было адекватным, ну например 10-15%.


      1. dartraiden
        02.12.2017 18:43

        Напоминает случай, как владелец одного сайта встроил скрипт, заставляющий машины посетителей DoS-ить сайт конкурента.

        Когда поднялся шум, он тоже пытался оправдаться тем, что посетителям урона не причинил. Проблема в том, что люди, даже если они и не против помочь повалить какой-то сайт (что, впрочем, преступно), очень возмущаются, когда их используют «втёмную».


  1. dtBlack
    01.12.2017 10:21

    Хм… а я то думал, что за новая мода загонять спамные окна в район часов…
    У меня не прокатывает, так как я использую в семерке классическую тему, без группировки программ, и видно, что не зарылась программа или появились неучтенные окна браузера...


  1. SchmeL
    01.12.2017 11:12

    поэтому майнинг исключает использование ASIC и наиболее эффективен именно на CPU

    Эффективен, если в bios включен аппаратный AES, но не эффективнее GPU.
    Например на CORE I7 7700K выдает 300 хешей, а на RX480 — 750.


  1. Acionyx
    01.12.2017 11:30

    А что происходит на OS X? Есть свидетели?
    Я обычно использую браузер в фулл-скрин и любое окно вызвало бы мгновенный заметный эффект открытия, но, похоже, uBlock отлично справляется.


  1. 3aicheg
    01.12.2017 14:02

    Стал Бобби мошенник, мошенник и плут —
    Намайнил валют!


  1. DjOnline
    01.12.2017 16:14

    Так вот зачем изобрели WebAssembly!


  1. andrey_aksamentov
    01.12.2017 16:41

    Совсем недавно на одном из мои компов firefox стал постоянно нагружать проц на 90%, а проц тот ещё зверь — fx8320@4000mhz… Просто при запуске на пустой странице начинает сразу грузить и не перестает до закрытия браузера. Что примечательно любая активность как то просмотр видео на Ютубе никак не меняет загрузку ЦП, она остается ровно 90. Заметил не сразу точно причину понять не смог, переустановка и сброс браузера не помогли, антивирус ничего не нашел, другие браузеры работают нормально. Решил радикально переустановить Винду… Пока firefox не устанавливал. Может я конечно поспешил уничтожить инородный организм не обнаружив и не изучив его, надеюсь наука не сильно потеряет...


    1. denticulus
      03.12.2017 23:16

      У меня грузило маленькое расширение для создания QR кодов, которым пользовался давно, а грузить начало недавно. Удалил, зашёл в магазин расширений проверить чзх, а его там уже нет.


  1. XDred
    01.12.2017 19:20

    У меня 3 монитора, и в состеме все располагаются по диагонали (на каждом остаётся возможность быстро развернуть окно потянув вбок или вверх). И если кто-то захочет спрятать окно под часами то оставшаяся часть окна вылезет на втором мониторе.
    А если учитывается полный размер рабочего стола то окно вылезет целиком на третьем мониторе.
    Шах и мат.


  1. Dmitry_7
    02.12.2017 22:43

    Еще один повод быть на классической теме Win7


  1. SILENT_WARRIOR
    03.12.2017 13:32

    С такими темпами могут внезапно снова стать популярными гаджеты(виджеты) на рабочий стол, отображающие текущую загрузку железа)


    1. fukkit
      03.12.2017 16:26

      А есть нормальный? Cpu, gpu, память, сеть, диски. Нагрузка и температура. Винда.
      Давно ищу.


      1. shikhov
        03.12.2017 21:43

        У меня в трее висят значки Process Hacker-а, которые все это показывают. Так же умеет Process Explorer.


      1. Cedric
        04.12.2017 06:44

        На CPU и RAM MutroIUSystemMonitor.Gadget под Win7 очень удобный тут


    1. VT100
      03.12.2017 16:36

      У меня на десктопе тупо слышно, как вентилятор разгоняется.
      И, кстати, просмотр Гика добавляет к загрузке проца процентов 60% (на здоровых сайтах — до 10%). Почему так?