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) на клиентских системах, этот механизм также не оказывает влияния на скорость работы компьютера.
Будет ли оглавление в статье? Устал читать.
Устал — приляг, отдохни.
Было бы здорово, если бы после появления файла Excludes+.txt SmartMon бы рестартовал и сразу брал данные из своей базы SmartMon.bin. Добавил в исключения, переименовал обратно файл и можешь запускать…
Так оно и работает, ничего перезапускать не нужно.
simplix, никак нет. Помогает только перезагрузка системы.
Пошагово:
1. SmartMon находит «вирус». Добавляет к файлу расширение .virus. Бот отписывается об этом.
2. Получаю sha256 файла, Создаю файл Excludes.txt в папке C:\Windows\AntiSMS.
3. Дожидаюсь переименование его в Excludes+.txt
4. Переименовываю «вирусный» файл (убираю доп расширение .virus) и пытаюсь запустить его на выполнение. И… всё по кругу — см. пункт 1.
Файл исключений нужно создавать не в той папке, вы забыли записать в него хэш и затем поместить в папку. Хеш вообще можно не получать, а написать путь к файлу.
«Теперь нужно запустить SmartFix и выбрать в меню дополнительных программ SmartMon»… Что-то у меня нет ничего в доп.программах. Версия последняя SmartFix.
Значит настройка не выполнена, читайте инструкцию внимательнее.
решил проблему?
Добрый день!
Не приходят уведомления на Телеграм, не прописывается chat id в файл настроек.
Бот создан в @botfather и работает, но SmartMon и LightBackup отказываются присылать уведомления и даже прописывать chat id в файлы настроек.
Команда https://api.telegram.org/bot/getUpdates присылает пустой ответ, никаких данных, чтобы получить chat id.
Подскажите, пожалуйста, как у вас получилось заставить отправлять уведомления?
Спасибо!
IE11 установлен?
Да, IE11 установлен. Из него по ссылке https://api.telegram.org/bot/getUpdates приходит ответ {«ok»:true,»result»:[]}
ОС Windows 10 LTSC x64 RU
Проверьте, что у системы есть права на запись в этот каталог. Если файл %WinDir%\SmartFix\SmartMon.bin существует, значит права есть. Также можно посмотреть через TeamViewer.
Права на запись в каталог %WinDir%\SmartFix\ есть. Файл %WinDir%\SmartFix\SmartMon.bin существует. Обмен с VirusTotal идёт успешный api получен и прописан, незнакомые файлы успешно ловит и переименовывает.
Не работает только уведомление на Телеграм.
Инструкции по получению chat id в сети старые, в данный момент получить по ним chat id не выходит.
А вы точно отправили боту любое сообщение перед запуском программы? Если бы отправили, тогда вместо {«ok»:true,»result»:[]} было бы ваше сообщение.
Спасибо огромное!
Действительно, сработало, когда я отправил боту сообщение за секунду до запуска программы.
До этого перед моей отправкой сообщения боту проходило больше времени, не мог понять, что так важно было отправить сообщение именно непосредственно перед запуском программы.
В LightBackup тоже сработало.
SmartMon четко работает!!! Спасибо!
Работает, но сначала вредонос полноценно запускается, а уже потом исполняемый файл будет переименован в **.virus
Это значит, вредонос успеет скопировать себя куда надо (возможно, и модифицировать себя), прописаться в реестр и сделать все чёрные дела. В итоге, да, работает, но — бесполезен.
Ошибаетесь.
В чём же?
Для проверки использовался очень старый файл, давным-давно известный на VirusTotal, и определяемый как вредоносный (на самом деле — одна из пакета Nirsoft по работе с паролями). При запуске он нормально запускался; потом исполнительный файл переименовывался смартмоном. Если бы файл делал что-то действительно вредное, что ему мешало бы сделать это? Абсолютно ничего. За несколько секунд своей беспрепятственной активности можно хоть систему пропатчить на ботнет, хоть украсть пароли браузера — да что угодно вообще.
Где же я тут ошибаюсь?
В том, что SmartMon бесполезен. Если вы прочитаете инструкцию, там сделан акцент на включенном UAC, а это уже запускает проверку при появлении диалога подтверждения. Но и без него нельзя сделать много за пару секунд, для того же шифрования нужно значительно больше времени, а если программа скопирует себя куда-то и будет запускаться оттуда, то точно также будет переименована. При этом SmartMon конечно не будет реагировать на неизвестные файлы, чтобы не отправлять на анализ файлы пользователя, и конечно из-за этого может запуститься вредоносная программа, но опять же возвращаемся к инструкции и там прямым текстом написано, что SmartMon не заменяет антивирус и резервное копирование, а вот как дополнение к детекту вирусов, которые может пропустить основной антивирус, вполне полезен.
Вопрос по исключениям: создан Excludes.txt со строкой-абсолютным путём вида
«C:\Program Files (x86)\anvir\AnVir.exe» (с кавычками); помещён куда надо, прога переименовывает его в Excludes+.txt — и по-прежнему блокирует названный файл.
Кстати, по-видимому, ошибочно. Но как бы там ни было, как исправить ситуацию?
Нужен просто путь, без кавычек и других символов.
Кто-нибудь уже пробовал этот SmartMon? Нет ни скриншотом, ни видео, ни тестов. Может он сам вирус.
Коронавирус.
1. «После нажатия кнопки «Старт» SmartMon будет установлен и запущен, а в диспетчере задач вы увидите два процесса SmartMon.exe»
Сделал все по инструкции, но в диспетчере двух процессов не наблюдаю. Долго не мог понять, работает или нет, пока в телегу не прилетело сообщение об обнаруженном подозрительном файле, после чего к нему добавилось *.virus. Но процессов в диспетчере так и нет. Хотел попробовать заново все проделать, но при запуске SmartFix уже не предлагает установить и запустить SmartMon. Хотел в ручную удалить SmartMon.exe и SmartMon.bin, но они не удаляются (операция не может быть выполнена…. открыта в SmartMon.exe).
Так как понять, работает или нет? И если работает, то как остановить, если в диспетчере не видно процессов?
2. «Автозапуск и работа обеспечивается назначенным заданием в планировщике»
Не совсем понял, программа сама запускается при запуске системы или надо в ручную каждый раз запускать? Для автозапуска написано что-то про планировщик. Можно по-подробнее про это? Как запустить сам планировщик я знаю, а вот дальше нет. Никогда не создавал задач в планировщике.
1. Значит вы открыли не все процессы.
2. Запускается автоматически. Информацию о планировщике можно найти в поисковике.
«Чтобы добавить в базу исключения, нужно заранее создать текстовый файл Excludes.txt и поместить в него все нужные вам контрольные суммы SHA256 или абсолютные пути к нужным существующим файлам»
если один раз путь к файлу добавлен, то при добавлении пути к новому файлу в следующий раз надо повторно указывать пути к предыдущим добавленным в исключения файлам?
Нет, они уже будут в базе.