Ты открываешь обычный сайт — новостной, игровой, может, форум. Вроде всё нормально. Но ноутбук начинает шуметь, батарея садится за полчаса, а вентилятор работает как самолёт на взлёте. При этом вкладка одна, и ничего тяжёлого на ней нет. Знакомая ситуация? Есть шанс, что прямо сейчас твой процессор добывает криптовалюту для кого-то другого. И это не шутка — это криптоджекинг через 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%.
Как понять, что твой компьютер майнит чужую криптовалюту
Вот конкретные признаки, на которые стоит обратить внимание:
- Высокая нагрузка на процессор при открытии конкретной вкладки. Открой диспетчер задач (Windows) или Монитор активности (macOS) и посмотри, какой процесс жрёт ресурсы. В Chrome — встроенный диспетчер задач (Shift+Esc из браузера) покажет нагрузку по каждой вкладке.
- Батарея разряжается быстрее обычного. Если ноутбук держал 6 часов, а теперь 2 — повод задуматься.
- Вентилятор постоянно шумит. Даже когда ты ничего не делаешь — просто открыт браузер.
- Сайт работает медленнее обычного. Прокрутка тормозит, клики обрабатываются с задержкой — потому что процессор занят.
- Нагрев устройства. Ноутбук или телефон горячий, хотя задач вроде бы нет.
Если нашёл два-три признака одновременно — скорее всего, проблема есть. Дальше — разбираться, на какой именно вкладке и что происходит.
Как вычислить вредоносный сайт
Практический алгоритм для тех, кто хочет разобраться сам:
- Открой диспетчер задач браузера. В Chrome — Shift+Esc. В Firefox — меню → Ещё → Диспетчер задач. Посмотри, какая вкладка потребляет больше всего CPU.
- Заметь URL подозрительной вкладки. Это и есть кандидат на проверку.
- Открой инструменты разработчика (F12) → вкладка Network. Обфильтруй по типу: посмотри, какие файлы загружаются. Ищи файлы с расширением .wasm или подозрительные скрипты с непонятными именами.
- Проверь вкладку Performance. Запиши профиль на несколько секунд. Если видешь длительные вычисления в потоках (threads) — это тревожный сигнал.
- Зайди на сайт с другой системой или в режиме инкогнито. Если нагрузка пропала — проблема именно на этом конкретном сайте.
Сравнение подходов к защите
Способов защиты несколько, и у каждого своя логика. Вот что реально работает:
| Способ | Как работает | Плюсы | Минусы | Кому подходит |
|---|---|---|---|---|
| Блокировка через расширения | NoScript, uBlock Origin блокируют выполнение скриптов и Wasm-модулей на непроверенных сайтах | Гибкая настройка, можно выборочно разрешать | Нужно разбираться в настройках, часть сайтов сломается | Пользователи, готовые тратить время на конфигурацию |
| Блокировка на уровне браузера | Настройки Chrome/Firefox — ограничение доступа к вычислительным ресурсам для отдельных сайтов | Не нужны дополнительные программы | Не все браузеры дают такой контроль, настройки могут быть неочевидными | Те, кто не хочет ставить расширения |
| Антивирус с защитой от криптоджекинга | Антивирус распознаёт сигнатуры известных майнеров и блокирует их | Работает автоматически, не требует действий от пользователя | Может не заметить новые или модифицированные модели; нагружает систему | Те, кто ценит удобство выше всего |
| Полный запрет WebAssembly | Через флаги браузера или расширения — отключить Wasm целиком | Гарантированная защита от Wasm-майнинга | Сломаются легитимные сайты: игры, видеоредакторы, Google Docs, Figma и другие | Крайний вариант для тех, кто не использует сложные веб-приложения |
| Мониторинг ресурсов | Регулярный контроль нагрузки через диспетчер задач или специализированные утилиты | Работает независимо от браузера и расширений | Требует самодисциплины, не блокирует атаку автоматически | Технически подкованные пользователи |
Что делать в зависимости от ситуации
Если ты обычный пользователь и просто хочешь защититься:
- Установи uBlock Origin — он блокирует большинство известных майнеров «из коробки».
- Регулярно проверяй нагрузку в диспетчере задач браузера.
- Не держи открытыми вкладки неизвестных сайтов — закрыл, почитал, закрыл.
- Обновляй браузер — разработчики регулярно добавляют защиту от новых угроз.
Если ты владелец сайта и хочешь убедиться, что тебя не используют:
- Проверь все сторонние скрипты на сайте: рекламные сети, аналитику, виджеты. Именно через них чаще всего внедряется майнер.
- Просканируй исходный код на наличие подозрительных .wasm-файлов и обфусцированного кода.
- Подключи Subresource Integrity (SRI) для всех внешних скриптов — это не даст заменить легитимный код на вредоносный.
- Настрой Content Security Policy (CSP) с ограничением на выполнение WebAssembly.
Если ты системный администратор в компании:
- Заблокируй известные пулы для майнинга на уровне файрвола.
- Внедри расширения для блокировки через групповые политики.
- Настрой мониторинг аномальной нагрузки на рабочих станциях.
Частые ошибки
Ошибка 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 — это скрытый майнинг криптовалюты с использованием твоего компьютера через браузер. Он работает быстро, его сложно обнаружить на глаз, а заблокировать полностью нельзя, не сломав нормальные сайты.
Что делать прямо сейчас:
- Установи uBlock Origin — это займёт минуту и уже даёт защиту.
- Проверь текущие вкладки через диспетчер задач браузера — нет ли подозрительной нагрузки.
- Обнови браузер до последней версии.
- Если владеешь сайтом — проверь сторонние скрипты и настрой CSP.
Не нужно быть параноиком, но и закрывать глаза не стоит. Пять минут на базовую настройку защиты — это разумная инвестиция, чтобы твой компьютер работал на тебя, а не на кого-то другого.
