Криптоджекинг через WebAssembly: как сайт использует твой компьютер для добычи криптовалюты и что с этим делать

Ты открываешь обычный сайт — новостной, игровой, может, форум. Вроде всё нормально. Но ноутбук начинает шуметь, батарея садится за полчаса, а вентилятор работает как самолёт на взлёте. При этом вкладка одна, и ничего тяжёлого на ней нет. Знакомая ситуация? Есть шанс, что прямо сейчас твой процессор добывает криптовалюту для кого-то другого. И это не шутка — это криптоджекинг через WebAssembly.

Что происходит на самом деле

Криптоджекинг — это скрытое использование чужих вычислительных ресурсов для майнинга криптовалюты. Классический вариант появился ещё в 2017 году, когда на сайтах встраивали скрипт Coinhive. Пользователь заходил на страницу, а в фоне его браузер решал математические задачи, приносящие деньги владельцу сайта. Простая схема: много посетителей — много процессоров — монеты капают.

Потом антивирусы и браузеры научились блокировать такие скрипты. Coinhive закрылся. Но вместо него пришёл WebAssembly — и всё вернулось на новый круг.

Почему именно WebAssembly

WebAssembly (Wasm) — это низкоуровневый байт-код, который браузеры выполняют почти на скорости нативных программ. Его придумали для того, чтобы в браузере работали сложные приложения: 3D-игры, редакторы изображений, научные расчёты. Но та же мощность отлично подходит для майнинга.

Вот что делает WebAssembly удобным инструментом для злоумышленников:

  • Скорость работы. Wasm-модуль работает в 5–10 раз быстрее, чем аналогичный JavaScript. Для майнинга это критически важно.
  • Сложность обнаружения. В отличие от обычного JavaScript, байт-код WebAssembly не читается простым взглядом. Открыть файл .wasm и понять, что внутри, — задача не на пять минут.
  • Легитимность. WebAssembly — стандарт W3C, поддерживается всеми браузерами. Нельзя просто заблокировать весь Wasm на уровне браузера, иначе сломается половина нормальных сайтов.
  • Кроссплатформенность. Один и тот же модуль работает в Chrome, Firefox, Safari, Edge — без переделок.

Типичный сценарий: на сайте загружается .wasm-файл (часто замаскированный под что-то другое), он запускает воркер, который в фоне считает хеши. Пользователь ничего не видит — страница выглядит нормально. Но процессор загружен на 70–100%.

Как понять, что твой компьютер майнит чужую криптовалюту

Вот конкретные признаки, на которые стоит обратить внимание:

  1. Высокая нагрузка на процессор при открытии конкретной вкладки. Открой диспетчер задач (Windows) или Монитор активности (macOS) и посмотри, какой процесс жрёт ресурсы. В Chrome — встроенный диспетчер задач (Shift+Esc из браузера) покажет нагрузку по каждой вкладке.
  2. Батарея разряжается быстрее обычного. Если ноутбук держал 6 часов, а теперь 2 — повод задуматься.
  3. Вентилятор постоянно шумит. Даже когда ты ничего не делаешь — просто открыт браузер.
  4. Сайт работает медленнее обычного. Прокрутка тормозит, клики обрабатываются с задержкой — потому что процессор занят.
  5. Нагрев устройства. Ноутбук или телефон горячий, хотя задач вроде бы нет.

Если нашёл два-три признака одновременно — скорее всего, проблема есть. Дальше — разбираться, на какой именно вкладке и что происходит.

Как вычислить вредоносный сайт

Практический алгоритм для тех, кто хочет разобраться сам:

  1. Открой диспетчер задач браузера. В Chrome — Shift+Esc. В Firefox — меню → Ещё → Диспетчер задач. Посмотри, какая вкладка потребляет больше всего CPU.
  2. Заметь URL подозрительной вкладки. Это и есть кандидат на проверку.
  3. Открой инструменты разработчика (F12) → вкладка Network. Обфильтруй по типу: посмотри, какие файлы загружаются. Ищи файлы с расширением .wasm или подозрительные скрипты с непонятными именами.
  4. Проверь вкладку Performance. Запиши профиль на несколько секунд. Если видешь длительные вычисления в потоках (threads) — это тревожный сигнал.
  5. Зайди на сайт с другой системой или в режиме инкогнито. Если нагрузка пропала — проблема именно на этом конкретном сайте.

Сравнение подходов к защите

Способов защиты несколько, и у каждого своя логика. Вот что реально работает:

Способ Как работает Плюсы Минусы Кому подходит
Блокировка через расширения NoScript, uBlock Origin блокируют выполнение скриптов и Wasm-модулей на непроверенных сайтах Гибкая настройка, можно выборочно разрешать Нужно разбираться в настройках, часть сайтов сломается Пользователи, готовые тратить время на конфигурацию
Блокировка на уровне браузера Настройки Chrome/Firefox — ограничение доступа к вычислительным ресурсам для отдельных сайтов Не нужны дополнительные программы Не все браузеры дают такой контроль, настройки могут быть неочевидными Те, кто не хочет ставить расширения
Антивирус с защитой от криптоджекинга Антивирус распознаёт сигнатуры известных майнеров и блокирует их Работает автоматически, не требует действий от пользователя Может не заметить новые или модифицированные модели; нагружает систему Те, кто ценит удобство выше всего
Полный запрет WebAssembly Через флаги браузера или расширения — отключить Wasm целиком Гарантированная защита от Wasm-майнинга Сломаются легитимные сайты: игры, видеоредакторы, Google Docs, Figma и другие Крайний вариант для тех, кто не использует сложные веб-приложения
Мониторинг ресурсов Регулярный контроль нагрузки через диспетчер задач или специализированные утилиты Работает независимо от браузера и расширений Требует самодисциплины, не блокирует атаку автоматически Технически подкованные пользователи

Что делать в зависимости от ситуации

Если ты обычный пользователь и просто хочешь защититься:

  1. Установи uBlock Origin — он блокирует большинство известных майнеров «из коробки».
  2. Регулярно проверяй нагрузку в диспетчере задач браузера.
  3. Не держи открытыми вкладки неизвестных сайтов — закрыл, почитал, закрыл.
  4. Обновляй браузер — разработчики регулярно добавляют защиту от новых угроз.

Если ты владелец сайта и хочешь убедиться, что тебя не используют:

  1. Проверь все сторонние скрипты на сайте: рекламные сети, аналитику, виджеты. Именно через них чаще всего внедряется майнер.
  2. Просканируй исходный код на наличие подозрительных .wasm-файлов и обфусцированного кода.
  3. Подключи Subresource Integrity (SRI) для всех внешних скриптов — это не даст заменить легитимный код на вредоносный.
  4. Настрой Content Security Policy (CSP) с ограничением на выполнение WebAssembly.

Если ты системный администратор в компании:

  1. Заблокируй известные пулы для майнинга на уровне файрвола.
  2. Внедри расширения для блокировки через групповые политики.
  3. Настрой мониторинг аномальной нагрузки на рабочих станциях.

Частые ошибки

Ошибка 1: «Отключу WebAssembly вообще и забуду». Это рабочий вариант, но ты лишишься части функций на сайтах, которыми пользуешься каждый день. Google Meet, некоторые банковские интерфейсы, онлайн-редакторы — всё это может перестать работать. Прежде чем отключать Wasm глобально, подумай, чем готов пожертвовать.

Ошибка 2: «У меня антивирус — значит, я защищён». Антивирусы не ловят всё. Новые модификации Wasm-майнеров часто проходят мимо сигнатурного анализа. Антивирус — это один слой защиты, но не единственный.

Ошибка 3: «Раз сайт известный, значит, безопасен». Криптоджекинг часто внедряется не напрямую на сайт, а через рекламную сеть. Ты заходишь на крупный новостной портал, а в рекламном баннере — майнер. Сайт-владелец может даже не знать об этом.

Ошибка 4: «Нагрузка на CPU — это нормально для современных сайтов». Да, некоторые сайты тяжёлые. Но если одна вкладка забирает 80–100% процессора и держит её постоянно — это ненормально. Нормальный сайт нагружает процессор при загрузке или анимации, а не непрерывно.

Ошибка 5: «Ставлю майнер на свой сайт вместо рекламы — все так делают». Во-первых, без согласия пользователя это незаконно в большинстве юрисдикций. Во-вторых, пользователи замечают, а репутация сайта разрушается быстрее, чем нарабатывается прибыль. В-третьих, браузеры и антивирусы быстро такие сайты вчёркивают.

Как лучше сделать: практические рекомендации

Вот конкретный набор действий, который реально снижает риск:

  • uBlock Origin — первое, что ставишь в новый браузер. В настройках включи списки фильтров, включая блокировку майнеров. Это первая линия защиты, которая работает без твоего участия.
  • NoScript (для Firefox) или ScriptSafe (для Chrome). Позволяют выборочно разрешать скрипты и WebAssembly. На незнакомом сайте — блокируешь всё, на знакомом — разрешаешь по мере необходимости.
  • Регулярно проверяй расширения браузера. Иногда майнер прячется не на сайте, а в расширении, которое ты установил. Удаляй неиспользуемые расширения и проверяй отзывы о тех, что ставишь.
  • Используй Brave Browser. Он имеет встроенную защиту от криптоджекинга и фишинга. Не панацея, но дополнительный слой.
  • Настрой уведомления о нагрузке. Есть расширения вроде «Miner Block» и аналоги, которые предупреждают, когда сайт пытается запустить майнинг.
  • На мобильных — особая история. Смартфон не может загрузить CPU на 100% так же, как десктоп, но батарея садится быстро. Если при открытии сайта телефон нагревается и батарея тает — закрой вкладку и заблокируй сайт.

Что ждёт эту историю дальше

Криптоджекинг через WebAssembly — это не временная мода, а устойчивая техника. Пока Wasm существует и используется для легитимных задач, его будут использовать и злоумышленники. Браузеры постепенно ужесточают контроль: ограничивают выполнение в фоновых вкладках, добавляют лимиты на потребление ресурсов, улучшают обнаружение подозрительной активности.

Но полностью заблокировать WebAssembly браузеры не могут — слишком много легитимных сайтов зависят от него. Это значит, что ответственность за безопасность по-прежнему частично лежит на самом пользователе.

Итог

Криптоджекинг через WebAssembly — это скрытый майнинг криптовалюты с использованием твоего компьютера через браузер. Он работает быстро, его сложно обнаружить на глаз, а заблокировать полностью нельзя, не сломав нормальные сайты.

Что делать прямо сейчас:

  1. Установи uBlock Origin — это займёт минуту и уже даёт защиту.
  2. Проверь текущие вкладки через диспетчер задач браузера — нет ли подозрительной нагрузки.
  3. Обнови браузер до последней версии.
  4. Если владеешь сайтом — проверь сторонние скрипты и настрой CSP.

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

Оцените статью
PEFile — Безопасность и технологии простым языком