SmartMon позволяет дополнительно защитить Windows от вредоносного ПО без нагрузки на процессор. В первую очередь SmartMon предназначен для обслуживания пользователей в фоновом режиме, после лёгкой настройки он не требует никаких действий и особенно будет полезен системным администраторам.
Программа работает только на Win7 и выше, поддержки WinXP на данный момент нет.
Механизмы работы
Принцип работы — мониторинг процессов и их анализ с помощью VirusTotal. При запуске SmartMon проверяет уже запущенные процессы, а затем включает мониторинг новых запускаемых программ в реальном времени. Для отслеживания запускаемых процессов используется мониторинг журналов безопасности, соответствующая настройка политики безопасности включается автоматически при работе программы. Это обеспечивает нулевую нагрузку на железо, а информация из журнала передаётся в дальнейшую обработку. Конечно, для корректной работы необходимо постоянное подключение к интернету, но ширина канала значения не имеет, запросы очень маленькие. Процессы не приостанавливаются перед запуском, что исключает влияние на скорость их запуска, а анализируются в процессе работы, но благодаря быстрому анализу известная вредоносная программа очень скоро нейтрализуется.
После запуска файла вычисляется его контрольная сумма и проверяется рейтинг на VirusTotal. Запрос происходит исключительно по хэшу, файлы никуда не отправляются, поэтому сработка будет только на уже известные вредоносные приложения, которые по какой-то причине пропустил ваш антивирус. Рейтинг анализируется динамически, в зависимости от общего количества срабатываний, а также показаний группы отдельных лидирующих антивирусов. Запрос происходит только для новых файлов, которые раньше не запускались на этом компьютере. После проверки они записываются в базу данных и в дальнейшем их обработка будет происходить ещё быстрее. Однако даже для новых файлов анализ занимает считанные секунды, не считая частых запусков новых файлов — поскольку VirusTotal ограничивает бесплатные запросы до 4 в минуту, большее количество файлов будут помещены в очередь и проверены чуть позже.
При обнаружении вредоносного файла его процесс принудительно закрывается, файл переименовывается в *.virus и по Telegram высылается оповещение с подробностями — имя и адрес компьютера, ссылка на VirusTotal с рейтингом, а также полный путь к вредоносному файлу. Дополнительно в журнал %WinDir%\SmartFix\SmartMon.log записывается время и путь, чтобы сохранить событие даже без токена бота. По желанию оповещение можно не настраивать, тогда работа будет выполняться без уведомлений, но в любом случае на компьютере пользователя ничего выскакивать и отвлекать не будет. Далее уже сам пользователь или его системный администратор могут проверить файл вручную и при необходимости внести в исключения.
Настройка конфигурации
Рассмотрим настройку и установку SmartMon детально. В первую очередь нужно зарегистрироваться на VirusTotal, чтобы получить свой уникальный API-ключ. После регистрации нажмите на своё имя в правом верхнем углу экрана и зайдите в раздел API key — здесь нужно скопировать 64-символьную строку, похожую на такую:
153ed30f4bd18d4cd9dd2fc181a4fccc15f7b1915170b89fb1d0b61a243773a7
С помощью этого ключа SmartMon сможет делать запросы на проверку. Важно — этот ключ необходимо использовать только на одном компьютере, иначе разрешённых запросов может не хватить. Для другого компьютера регистрируйте другой аккаунт.
Далее, если нужно получать оповещения в Telegram, необходимо зарегистрировать нового бота. Делается это запросом @BotFather команды /newbot и вводом имени бота, в результате вы получите свой уникальный токен, похожий на такой:
770530305:XhwODvT_ure0wzNgywAEfXgOXpuLBAorAG3
В отличии от прошлого ключа, этот можно указывать одинаковым на любом количестве компьютеров, таким образом можно получать оповещения от парка компьютеров в один чат администратора. Если оповещения вам не нужны, бота можно не создавать и прописать только API от VirusTotal.
Теперь нужно записать эти данные в новый текстовый файл с именем %WinDir%\SmartFix\SmartMon.ini в секцию Main, после чего его содержимое приобретёт такой вид:
[Main] api=153ed30f4bd18d4cd9dd2fc181a4fccc15f7b1915170b89fb1d0b61a243773a7 bot=770530305:XhwODvT_ure0wzNgywAEfXgOXpuLBAorAG3
Перед установкой обязательно отправьте своему боту любое сообщение, так SmartMon поймёт, что сообщения нужно отправлять именно вам, а также пропишет параметр chat в ini-файл. Если вы этого не сделаете, оповещения приходить не будут, а параметр chat нужно будет прописывать вручную. Конечно, если вы знаете номер чата, то можете заранее указать его в файле настройки.
Примечание: если в Windows 7 не приходят оповещения, установите UpdatePack7R2 + IE11.
Установка и удаление
Теперь нужно запустить SmartFix и выбрать в меню дополнительных программ SmartMon. После нажатия кнопки «Старт» SmartMon будет установлен и запущен, а в диспетчере задач вы увидите два процесса SmartMon.exe — программу мониторинга и основную программу обработки событий. Кроме того эти процессы проверяют работу друг друга, поэтому при случайном завершении одного из них через диспетчер задач SmartMon автоматически перезапустится. Автозапуск и работа обеспечивается назначенным заданием в планировщике, для установки кроме как через SmartFix смотрите информацию ниже.
Для остановки работы SmartMon необходимо завершить задание в планировщике, а затем там же его выполнить снова — процессы SmartMon.exe исчезнут и задание SmartMon удалится.
Обновляется SmartMon автоматически, если при включении компьютера будет обнаружена новая версия, поэтому следить за выходом новых версий нет необходимости.
База данных
База данных хэшей хранится в файле %WinDir%\SmartFix\SmartMon.bin и привязана к API-ключу, указанному в ini-файле. Также в ней хранится информация о рейтинге файла и контрольные коды для защиты от изменений. Эта информация занимает очень мало места и используется исключительно для ускорения проверки запускаемых файлов на данной системе, поэтому переносить её на другой компьютер бессмысленно, а в случае удаления она просто будет пересоздана заново, наполняясь по мере появления новых проверяемых файлов.
Исключения
Чтобы добавить в базу исключения, нужно заранее создать текстовый файл Excludes.txt и поместить в него все нужные вам контрольные суммы SHA256 или абсолютные пути к нужным существующим файлам на этом же компьютере, по одному значению на строку, строк может быть сколько угодно. Затем переместите файл Excludes.txt в папку %WinDir%\SmartFix, когда SmartMon уже работает — при проверке следующего файла он будет обработан, а при завершении переименуется в Excludes+.txt, после чего его можно удалить — вся информация уже будет записана в базу.
Совет
Лучше держать UAC включённым. Когда пользователь запускает программу, которая требует прав администратора, система перехватывает её запуск и отображает окно подтверждения, однако информация об этом всё равно попадает в журнал и анализируется через SmartMon, поэтому дополнительные секунды увеличивают шанс опознать и переименовать вредоносную программу до того, как она вообще запустится фактически. Вместе с этим запуск программ без прав администратора и соответственно без окна UAC не так страшен, потому что они не могут значительно навредить системе и последствия могут быть исправлены простым восстановлением до контрольной точки. Это касается большинства случаев, из которых, конечно, есть исключения.
Админам
Вы можете автоматизировать установку SmartMon следующим способом. После записи конфигурации в файл %WinDir%\SmartFix\SmartMon.ini загрузите программу по ссылке в каталог %WinDir%\SmartFix. При желании для защиты конфигурации можно выставить права доступа на этот каталог только администраторам и системе. Запускать SmartMon необходимо от имени системы, рекомендуемый способ — назначенное задание, его вы можете экспортировать после ручной установки. Для остановки SmartMon и удаления одноимённого назначенного задания нужно просто запустить SmartMon.exe от имени системы в то время, когда он работает.
Важно
SmartMon не заменяет антивирус и резервное копирование! Он успешно пропустит новые угрозы, если они неизвестны другим антивирусам на VirusTotal, поэтому по возможности не ограничивайтесь им одним. Если в Win10 из коробки встроен неплохой антивирус, то в Win7 его нужно устанавливать отдельно и возможности MSE не дотягивают до аналога из Win10. С другой стороны, любой антивирус даёт ощутимую нагрузку при обработке массы файлов, поэтому только вам решать, какие комбинации защитных средств применять. Советую также использовать SRP (Software Restriction Policies) на клиентских системах, этот механизм также не оказывает влияния на скорость работы компьютера.
Такое ощущение, что каким-то образом всегда превышается квота.
На всех созданных аккаунтах получаю письмо следующего содержания:
Hello,
This is a notification to let you know that you have exceeded the following VirusTotal service component allowances —
Daily VT API calls
Affected account: (hidden)
Quota limit: 500
Quota consumed: 500
Notification date: 2024-03-09 at 19:24h (UTC)
All further usage of the aforementioned component will be capped until the next metering period. At the technical level, your web/API requests will be getting «429 Quota Exceeded» status code responses. As a consequence, your scripts and workflows may start to fail.
У меня в профиле VirusTotal текущие ограничения:
Request rate: 4 lookups / min
Daily quota: 500 lookups / day
Monthly quota: 15.5 K lookups / month
Текущая версия SmartMon делает не более 4 запросов в минуту. Теоретически 500 запросов в день можно исчерпать за два часа, но только если запускать 500 разных программ, что практически невозможно на обычных компьютерах, ведь уже обработанные запросы хранятся в базе SmartMon и не отправляются повторно.
«только если запускать 500 разных программ»
К сожалению, я использую 500 запросов изо дня в день… 🙁 Что я делаю не так? 🙁
Речь идёт о новых программах, которые ещё не добавлены в базу. Если вы запускаете 500 новых программ каждый день — на здоровье, но мне сложно это представить.
Конечно, я не запускаю 500 программ. 😐 Следовательно, что-то должно быть не так. Что я могу делать неправильно?
Проблема исправлена, для обновления нужно перезагрузиться, подробности чуть ниже.
Для ясности: мой общий лимит использования вирусов (на странице просмотра API) составляет 500 в день 🙁 Это означает, что-то не так.
О том и речь. С некоторых пор программа перестала работать. Уведомления о запуске 500 разных программ приходят ежедневно с разных аккаунтов и разных компьютеров.
Теперь понятно, оказывается VirusTotal полностью поменял API, а на старую версию отвечает, но присылает неправильные ответы, таким образом SmartMon сейчас вообще не работает. Посмотрю, что можно сделать.
Исправил проблему, необходимо обновить SmartMon, это делается простой перезагрузкой или удалить его и установить заново (ini-файл остаётся тем же).
Большое спасибо! 🙂 TYVM!
First to say thanks for the simplicity and the apps, but today on one ws2016 I faced an problem with launching it as constantly SmartMon closes due to faulting ntdll.dll…
All as on tutorial and the app create SmartMon.bin and after in windows\temp and after that is closed due to ntdll.dll which I compare in working servers and is the same….version and hash
sfc /scannow and dism cannot solve the problem nor the restart and repair ….Always the same the app send to bot create the DB and the temp and was launched via SmartFix….The TaskScheduler is created also and after reboot in EventViewer again ntdll.dll as faulting module…
Can you be so kind and give some hints what to do?!?!
Thanks and apreciate your work….
I didn’t check the work specifically for 2016, but I checked it for 7, 10 (2019), 11, so it should work for 2016 too. Check it on a clean 2016 if you can, based on the result we will see what to do next. Most likely you have some kind of antivirus program that is interfering with normal operation.
Hello again,
I make checks on 3 other WS2016 and all are working finw.
On new install all is fine….
That particular server just stop SmartMon and in EventViewer is faulting ntdll.dll.
On that server I check for some AppLocker or some other GPO or AV policies thqt can be affect the application and nothing….is starting creating the SmartMon.bin and I see for a seconds a process SmartMon.exe which closes due to faultung ntdll.
Thanks again for your answer and time
This is the error which from today stops the APP….
The app in this server was wrking for almost year without problems, but from today on this WS2019 is crashing with ntdll.dll also on another WS2016 — clean install with latest updates (ESXi VM) which I use for testing as from yesterday as see the same app crash with ntdll.dll! Very strange as Windows Defender is OFF and I use one mail per VirusTotal per server…..Thanks and sorry!
Nombre de la aplicación con errores: SmartMon.exe, versión: 1.0.15.0, marca de tiempo: 0x5f89c7c8
Nombre del módulo con errores: ntdll.dll, versión: 10.0.17763.5458, marca de tiempo: 0xfb111856
Código de excepción: 0xc0000374
Desplazamiento de errores: 0x00000000000fb209
Identificador del proceso con errores: 0x1a58
Hora de inicio de la aplicación con errores: 0x01dadd066d12053c
Ruta de acceso de la aplicación con errores: C:\Windows\SmartFix\SmartMon.exe
Ruta de acceso del módulo con errores: C:\Windows\SYSTEM32\ntdll.dll
Identificador del informe: 3b137c5e-f991-4716-ad34-5c0c99c2851c
Nombre completo del paquete con errores:
Identificador de aplicación relativa del paquete con errores:
If you want to independently find out the cause of the problem, you can install a clean system and install SmartMon, confirming that the error does not appear. Then put one after another the same programs that are already on the servers where the error appears.
If you want me to find out the reason for the problem (most likely this is due to one of your programs or drivers), then make a copy of the partition with the problem system according to this instruction.
Извините, вохможно я глуп, но у меня в SmartFix нет SmartMon. Простите если туплю. Не пойму как его запустить.
В инструкции всё написано, вам нужно внимательно её прочитать.
У меня все вышло. Спасибо вам и мирного неба над головой. Мы в казахстане с вами. Вопрос не по теме. Какой антивирус не нагружающий систему в доплнение посоветуете?
Спасибо. Без нагрузки и бесплатно — SRP и AppLocker.