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) на клиентских системах, этот механизм также не оказывает влияния на скорость работы компьютера.
доброго времени, интегрировал с систему SmartFix, запускаю, в выпадающем меню: запустить нет менюшки с SmartMon.
SmartFix скачал в вашего сайта.
может я что не так делаю, подскажите.
за ранее благодарен Влад.
Внимательно прочитайте и выполните инструкцию, тогда пункт появится.
спасибо за комментарий, смутил Telegram при более подробном прочтении все встало на свои места.
SmartMon запустился и работает без проблем.
Добрый день!
Добавьте, пожалуйста, возможность настраивать черный или белый лист антивирусов. Лучше белый.
Вполне легитимные файл летят в бан из-за нескольких пародий на антивирусы.
Судя по этим записям файл не должен был переименоваться, пришлите мне его для проверки.
<ссылка скрыта>
Утилита на скриншоте не показывает реальный результат. Советую просто добавить файл в исключения, если вы в нём уверены.
В версии 1.0.6 алгоритм скорректирован для меньшей вероятности ложных срабатываний, для обновления нужно просто перезагрузить компьютер.
Добрый день. При первом запуске smartmon приходит сообщение в телеграмм с именем ПК и ip адресом. Можно ли в будущем реализовать такую функцию с настройкой, чтобы при каждом удаленном включении ПК приходило такое сообщение, а если еще и выключение было бы вообще замечательно. Благодарю за ответ.
Такая функция не планируется, так как она не имеет отношения к защите от вирусов.
Здравствуйте! Большое спасибо за полезные разработки. ОС Windows Server 2008 R2 Standard SP1 x64. При установке SmartMon как вручную по инструкции для Админов, так и через SmartFix, приложение запускается на несколько секунд при загрузке системы и завершается с кодами ошибок: 0х5 (неверный дескриптор, при установке вручную), 0х0 (недопустимая функция). Это видно в журнале планировщика. В диспетчере задач также видно, что запускается процесс в 1 экземпляре и завершается. Чат бот настроил, при первом запуске пришло сообщение. При столь кратковременной работе SmartMon сайтом VirusTotal устанавливается связь, что видно по прибавке на графике квоты в аккаунте на странице API.
В чём может быть дело?
Протестировал остальные приложения в соответствии с рекомендациями по сканированию и проверке системы — работают отлично. Идея со SmartMon не отпускает, поэтому читал и перечитывал ваши материалы, долго возился: ставил / удалял / ставил / правил планировщик / включал режим совместимости / сканировал и проверял, и снова ставил. Результата нет. Пожалуйста, если есть возможность, помогите.
Код 5 это обновление до новой версии, в вашем случае должно быть 1 раз, т. к. x86 обновляется до x64. Проверьте версию SmartMon.exe и с этого же компьютера файл по этому адресу, сейчас там должно быть 1.0.6 (если это не так — ваш провайдер держит в кэше старую версию). Также не помешает проверить логи на предмет блокировки ограниченными политиками или AppLocker, а также работу этого SmartMon.ini на другом компьютере. Если не найдёте причину, нужно будет посмотреть через TeamViewer.
С версией SmartMon всё в порядке. На другом компьютере с WIN-10 и созданным SmartMon.ini приложение работает нормально. Логи показывают, что SmartMon завершает работу из за ошибки библиотеки KERNELBASE.dll 6.1.7601.24564. Это не единственная проблема в системе и после долгой возни и попыток исправить ситуацию с библиотекой, решил снести систему. Ставлю 10-ку. Большое спасибо.
Я проверял работу утилиты на 2008 R2 с обновлениями — проблем нет, значит они у вас были с системой.
Здравствуйте. В статье пишет что проверенные файлы пишутся в базу. Она не подчищается со временем?
То есть если файл чист и помещен в базу — то интернет не используется,пока не изменился хеш файла.
Правильно?
Уточнение. В базу попадают только чистые файлы или заражения тоже?
Увидел ответ на форуме на уточнение.
Добавьте, пожалуйста, выгрузку контрольной суммы заблокированного файла в SmartMon.log
А зачем? Переименованный файл будет у вас на руках, с ним вы можете делать что угодно, в том числе и вычислять нужную лично вам контрольную сумму. В логе содержится самый минимум информации — время и путь к файлу, более детально со статистикой и ссылкой на вирустотал информация приходит в телеграм.
довольно часто блокировка происходит по файлам, которым я доверяю. Сейчас приходится получать контрольную сумму в сторонней программе, занося её в список исключений. Если бы можно было брать её напрямую из лога, это бы исключило промежуточное звено )
В исключениях можно прописывать или контрольную сумму, или полный путь к файлу, это написано в инструкции.
Можно ли копировать базу между ПК?
В этом нет смысла, она будет создана автоматически. Другими словами, перенос вам ничего не даст и не ускорит.
Все это конечно хорошо, но вот все через SmartFix, было-бы отдельно — было-бы еще красивее )))
Поясню: ну не нужна мне лишняя интеграция в сервер, пусть даже это обычная файлопомойка…
В статье написано, как всё сделать самостоятельно — раздел «админам». Никакую интеграцию делать не нужно.
А вот за идею — отдельное, ограменное человеческое СПАСИБО!