Тихий выстрел в производительность — именно так ощущается криптоджекинг (англ. cryptojacking) или незаметный майнинг криптовалюты на чужих мощностях. Вредонос не шифрует файлы, не требует выкуп, он просто «берёт взаймы» процессор, видеокарту, облачный инстанс, а счёт за электричество и «облако» оплачивает жертва. Пока пользователь удивляется медленному ноутбуку или неожиданно высокому чеку в AWS, злоумышленник выводит монеты Monero на анонимный кошелёк. В этом руководстве мы последовательно разберём, как работает скрытый майнинг, какие техники используют атакующие, чем классический антивирус отличается от поведенческого детектора, и какой комплекс мер надёжно перекрывает кислород цифровым старателям.
Базовые понятия: что такое майнинг и почему выбирают Monero
Криптовалюта хранит свою целостность благодаря вычислительной задаче: участники сети ищут подходящий хэш-блок, расходуя электричество, за что получают вознаграждение. Чем дешевле энергия и выше мощность, тем быстрее «отобьётся» оборудование. Атака на конечные устройства делает стоимость ресурса нулевой для злоумышленника, превращая даже скромный офисный парк из старых ПК в доходный мини-пул.
- Proof-of-Work — модель консенсуса, где главная сила — хэш-мощность. Чем больше операций, тем больше шанс найти блок.
- Monero (XMR) — любимец криптоджекеров: алгоритм RandomX оптимизирован под CPU, а транзакции по умолчанию анонимны, что затрудняет трассировку вывода средств.
- Стелс-майнер — вредонос, прячущий процесс под системным именем, снижающий CPU до 30-40 % при фокусе пользователя на экране и ускоряющийся до 100 % в режиме простоя.
Главные векторы проникновения майнинг-вирусов
По опыту отчётов CERT практически все сценарии сводятся к четырём каналам:
- Эксплойт уязвимостей в веб-приложениях. Утилиты типа XMRig внедряют прямо в контейнер, где крутится забытый WordPress или Jenkins без патчей.
- Фишинговые вложения. Архив «Смета_срочно.zip» содержит скрипт AutoHotkey, скачивающий майнер и добавляющий его в планировщик задач.
- Браузерные скрипты. Когда-то популярный Coinhive ушёл, но копии движка встречаются на взломанных сайтах: JavaScript грузит ядро WebAssembly и жжёт CPU прямо в окне вкладки.
- Компрометация облачных ключей. Утёкший AWS Access Key разворачивает десятки t3a.xlarge, майнит до лимита кредитной карты жертвы и исчезает.
Как распознать скрытый майнинг: симптомы и метрики
Классические индикаторы компрометации (IOC) для криптоджекинга отличаются от шпионского ПО:
- Постоянная загрузка ядра даже при закрытых приложениях, отсутствует рост потребления оперативной памяти.
- Увеличенный счёт за электричество или cloud-биллинг, хотя число пользователей не менялось.
- Пакеты на нестандартные порты 3333/5555/7777 — популярные адреса пулов minexmr․com, supportxmr․com.
- Необычные процессы с параметром --donate-level или именем, похожим на Windows Update Service.
Системный мониторинг решается формулой «три М»: Metics → Monitoring → Mean Time to Detect. Чем короче MTTD, тем меньше лишних киловатт сожрёт майнинг-тройян. Поэтому важно собирать метрики нагрузки процессора, GPU, сетевого трафика и выносить их в централизованную панель.
Почему антивирус не всегда ловит майнер
Разработчики вредоносов быстро поняли: одна подпись — один флаг в базе. Поэтому стелс-майнеры:
- Собираются с ключом -D, убирающим символическую информацию, и ежедневно перекомпилируются CI/CD-пайплайном злоумышленника.
- Коллекционируют список процессов антивирусов, и при запуске Defender или Kaspersky временно снижают хешрейт до 5 %.
- Запаковываются в AutoIt, NSIS или UPX с случайным слоями обфускации.
- Используют living-off-the-land: PowerShell загружает shell-код напрямую в память, минуя запись на диск.
Поэтому защита строится на поведенческом анализе: EDR видит нестандартный граф вызовов — wmic → powershell → reg add → taskschd.msc — который не характерен для типового пользователя.
Комплексная стратегия обороны
Ниже — связная цепочка мер, каждая из которых уменьшает потенциальный хешрейт злоумышленника:
Обновление и минимизация поверхности атаки
Патчи CMS, Jenkins, Kubernetes-плагинов выходят еженедельно. Один пропущенный CVE равен бесплатной GPU-ферме для атакующего. Отключайте демонстрационные страницы, удаляйте ненужные плагины, скрывайте интерфейсы админки за VPN.
Жёсткие лимиты ресурсов
- Linux cgroups: ограничьте
cpu.cfs_quota_us, чтобы нагрузка процесса не перешагивала 30 % ядра. - Kubernetes ResourceQuota: namespace dev должен иметь лимит CPU, иначе форк-бомба в Pod XMRig уронит весь кластер.
- AWS Service Quotas: выставьте «частные» пределы для EC2 и Lambda, тогда компрометация ключа не уйдёт в четырёхзначный счёт.
Блокировка сетевых пулов
Почти все публичные пулы используют пул-порт 3333/6666/7777 и домены с предсказуемыми шаблонами. В файрволе достаточно создать deny-rule на *xmr*, *cryptonight*, чтобы сразу обрубить канал. Proxy-решения уровня Next-Gen Firewall умеют инспектировать TLS SNI, определяя майнинг-протокол даже по зашифрованному трафику.
Защита браузера
Расширения типа uBlock Origin, NoCoin или Scriptsafe фильтруют DOM-элементы, ищут сигнатуру Coinhive, отрубают чужой WebAssembly до того, как вкладка съест последние проценты заряда аккумулятора. В корпоративной среде политикой GPO можно выкатывать префильтр на все рабочие станции.
Мониторинг и реакция
В EDR / SIEM заведите правило: «CPU > 85 % на 15 минут, сеть > 10 Мбит/с, при этом процесс svhost.exe не подписан корпорацией Microsoft». Автоматический playbook SOAR отправляет сигнал в Slack, изолирует хост, снимает Memory Dump — аналитик получает всё, чтобы закрыть инцидент.
Обучение сотрудников
Даже техническая крепость сдаётся, если бухгалтер загружает генератор счётов с неизвестного сайта. Регулярные фишинг-тренировки, объяснение, почему CPU-график не должен ходить «елочкой», и культура своевременного обращения в службу ИБ сокращают окно атаки.
Облако под прицелом: особые риски
Криптоджекинг в AWS, Azure, GCP обходится дороже, потому что аренда виртуалки прописывается в доллары. При этом злоумышленнику не нужно выносить данные — он майнит до лимита карт и исчезает. Главные рецепты:
- Включите Cost Anomaly Detection и budget-алерты — резкое отклонение от среднего чека сигнализирует быстрее, чем бухгалтерия.
- Настройте CloudTrail или Activity Log — каждый запуск EC2 или Compute Engine фиксируется и коррелируется с IP, пользователем и токеном.
- Используйте temporary credentials вместо вечных секретных ключей; даже скомпрометированный Access Key умрёт через сутки и остановит ферму.
Инструменты охотника: что ставить безопаснику
| Категория | Пример | Короткое назначение |
|---|---|---|
| Сетевой датчик | Zeek + Suricata | Правила ET-PRO ищут майнинг-пулы, порты 3333/5555, DomMatches xmr |
| Поведенческий EDR | Elastic Defend, CrowdStrike | Правила MITRE T1496 (Resource Hijacking), автооткат изменений |
| Мониторинг облака | Prometheus + Grafana | Дашборд CPU/GPU, алерт при загруженности > N % |
| Браузерный блокировщик | uBlock Origin с фильтром NoCoin | Чёрный список скриптов WebAssembly-майнеров |
Будущее угрозы и защиты
Переход сетей на Proof-of-Stake снижает экономический смысл CPU-майнинга, но облачные атаки остаются прибыльными. Вендоры уже встраивают лимит мощности прямо в фирменные BIOS и разрабатывают hardware countermeasures: процессор Intel Alder Lake посылает телеметрию о неестественном AVX-нагрузке в Windows Defender. Одновременно стандарт WASM System Interface получит флаг «ComputeBudget», который разрешит сайту использовать строго определённое время ядра на пользовательскую сессию.