Назад | Перейти на главную страницу

Как обнаружить майнинг криптовалют?

Я хотел бы создать плагин Nagios, который может обнаруживать криптомайнеров.

Проблема в том, что если майнер является однопоточным и работает на многоядерном хосте, то средняя загрузка будет ниже 1, что по определению не является проблемой.

Также я хотел бы, чтобы плагин обрабатывал хосты с разными номерами или процессорами.

Вопрос

Если на хосте запущен майнер (однопоточный или многопоточный), я всегда буду обнаруживать его, если скажу: крипто-майнер обнаружен, если среднее значение загрузки 3 из uptime почти такие же?

Таким образом, мне не нужно беспокоиться о количестве или процессорах. Верный?

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

mpstat -P ALL

И проверьте, есть ли в столбце% user

mpstat -P ALL | awk ' { print $3 " " $4 } ' | grep -E "^[0-9]"

существует одно ядро, которое почти на 100% постоянно, я думаю, что это можно сделать с помощью одной строки awk

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

Обычно это лучше всего достигается с помощью эвристического сканера и библиотеки хэшей для обнаружения уже известных приложений. Я не знаю о существовании такого проекта, но он может быть встроенной функцией в какой-то пакет безопасности / сканер вредоносных программ. Однако, если какое-либо вредоносное приложение уже запущено, вы очень опаздываете в игру.

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

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

Например, audit демон или rkhunter может быть хорошим способом определить, работает ли что-нибудь «постороннее» и кто / что это поместил. selinux предоставляет надежный способ предотвратить выполнение неутвержденных файлов в недопустимом контексте. Хорошая система визуализации / развертывания может помочь сделать изящную «ядерную бомбардировку с орбиты» и обеспечить гарантии постоянно «чистой» системы. Хорошие методы обеспечения безопасности и разрозненные модели развертывания делают большую часть беспокойства по поводу обнаружения угроз несущественным.

Я понимаю, что этот протектор предназначен для программирования и других операций более высокого уровня, о которых я ничего не знаю.

BuuuuT;

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

IDS меня не останавливает. Мы используем Cisco Meraki MX67 с AMP и IDS / IPS, и я тестировал все категории заблокированных веб-сайтов, полные списки, а не топ-сайты, и я все еще прохожу.

TLS и SSL на публичных портах (80, 443 и т. Д.)

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

Лучше всего регистрировать трафик и искать выбросы; крипто-майнеры всегда будут связываться с серверами, указанными в его конфигурации.

Кроме того, майнинг криптовалюты на ЦП нагнетает кеш L2 / L3.

перечитывая OP, веб-атаки жесткие, я не уверен, как они работают; но будет постоянное соединение со статическим сервером.

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

Большинство атак майнеров, которые я видел, используют уязвимости веб-приложений, такие как уязвимость Drupalgeddon в Drupal, и впоследствии добавляют запись в crontab для загрузки майнера через определенные промежутки времени.

Как ни странно, хорошим вариантом может быть наблюдение за вашим файлом crontab. Это дает дополнительное преимущество в обнаружении других подобных атак.

Вы можете использовать плагин для мониторинга файлов https://www.nagios.com/solutions/file-monitoring/ например, чтобы контролировать размер файла /etc/crontab или любой другой файл crontab, к которому имеет доступ ваш веб-пользователь (например, drupal или www-data).

Примечание:

Дополнительно вы можете установить плагин nagiosgraph http://nagiosgraph.sourceforge.net/ и вручную просмотрите графики, чтобы определить пики загрузки ЦП.

Это сводится к осведомленности о вашей инфраструктуре, чего нет у 95% всех компаний.

Во-первых, я бы установил систему мониторинга, которая будет отслеживать использование ЦП и количество процессов, создавать основу для нормального, годового пика и т. Д.

Следите за активными процессами. Вместе с моей документацией и базовыми показателями я бы решил, что нормально, а что нет. Например, если сервер является сервером Tomcat, я ожидаю увидеть процессы, которые обрабатывают саму службу Tomcat, Java, HTTP-запросы, резервное копирование и т. Д. Но если внезапно появляется мошеннический процесс, которого я раньше не видел, или количество активных процессов внезапно увеличивается на 16, 32 или что-то в этом отношении, за пределами пикового значения и остается их, я могу определить, что это не нормальный процесс или процессы для работу сервера, и я могу исследовать.

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

Основываясь на криптографической «службе», он может не слишком сильно нагружать ЦП на сервере, поскольку вы можете ограничивать процессы или распределять их по 32 ядрам или тому, на что способен ваш сервер. Так что я бы отслеживал несколько вещей и на основании этого определял, что происходит.

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