Зачем антивирусу нужна возможность принудительной проверки системы
Сегодня рынок антивирусных продуктов настолько разнообразен, как никогда. Какие только новые технологии не предлагают нам антивирусные компании; возможности проактивной защиты, эмуляции кода, эвристического анализа, «облачных» технологий и т.д. и т.д. присутствуют в описании практически каждого уважающего себя антивируса. Но насколько эти рекламируемые технологии эффективны — это большой вопрос. Попробуем во всём разобраться.
Одной из главных функций антивируса является защита компьютера пользователя от неизвестных ранее угроз, 0-day вирусов, так сказать. Эту функциональность антивирусов мы и будем сегодня оценивать на практике. Для этого будем проверять наши тестовые программы антивирусными сканерами, а использоваться будет, как обычно, Virus Total. При этом сразу необходимо отметить, что при таком тестировании никак не будут оцениваться различные HIPS технологии и им подобные, которые позволяют определить вредоносный функционал файла на лету, путём анализа его поведения. То есть наш тест будет идентичен простой проверки файла антивирусным продуктом. Начнем, пожалуй.
Тестировать мы будем классическое вредоносное ПО – банального Trojan-Downloader-а. Предполагается, что любой программный продукт, называющий себя антивирусом, должен без проблем распознать угрозу. Наша первая тестовая программа выглядит следующим образом:
Загружаем чудо-программу на Virus Total и перед нами открывается следующая картина:
Наш первый тест распознан всего лишь 18 антивирусами из 43. Довольно неожиданно. Сразу сдались такие небезызвестные антивирусы как Avast, Comodo, Nod32, Panda и Symantec. Как же они умудрились обойти стороной такой примитивнейший вирус? Не пора ли нам требовать моральную компенсацию с таких «антивирусов»?
Образец распознан 19 антивирусами из 43. Неизвестно почему, но SUPERAntiSpyware проснулся и выдал неизвестную тревогу. В остальном результаты не изменились. Может быть, антивирусы вовсе не способны правильно обрабатывать структурные исключения, а просто ругаются на подозрительные строки, используемые программой? Проверим это и зашифруем секцию данных:
А теперь посмотрим, что изменилось:
Снова те же 18 тревог из 43, однако теперь из строя выбыл McAfee, а SUPERAntiSpyware снова выдаёт неизвестно какую тревогу. Что ж пришло время придумать что-нибудь посложнее. Будем использовать что-нибудь такое, о чём антивирус вряд ли догадывается. Мой выбор пал на команду CPUID, с помощью которой можно получить имя процессора. Делается это несложно:
mov edi, offset szName
mov eax, 080000002h
BYTE 0fh, 0a2h; CPUID
mov [edi], eax
add edi, 4
mov [edi], ebx
add edi, 4
mov [edi], ecx
add edi, 4
mov [edi], edx
add edi, 4
mov eax, 080000003h
BYTE 0fh, 0a2h; CPUID
mov [edi], eax
add edi, 4
mov [edi], ebx
add edi, 4
mov [edi], ecx
add edi, 4
mov [edi], edx
add edi, 4
mov eax, 080000004h
BYTE 0fh, 0a2h; CPUID
mov [edi], eax
add edi, 4
mov [edi], ebx
add edi, 4
mov [edi], ecx
add edi, 4
mov [edi], edx
После выполнения этого кода в переменной szName окажется имя процессора. Как же мы можем его использовать? А что если на основе полученного результата дополнительно зашифровать секцию данных? Единственное, чего нам надо добиться в таком случае, это сохранить возможность запуска программы на различных процессорах. Нетрудно заметить, что обычно в названии процессора на первом месте стоит имя компании, его производящей. Заметит ли это антивирус – вот в чём вопрос))) Напишем простенькую функцию:
Загружаем файл и видим результат:
Всего 5 антивирусами из 43 справились с заданием. Причем SUPERAntiSpyware нашёл здесь вирус явно по ошибке))) Что ж, а что будет, если мы ещё и код программы зашифруем? Например, создадим окно, узнаем, какой текст оно содержит, а затем расшифруем код программы на основании полученной информации. Выглядеть это может следующим образом:
Теперь отреагировали 6 антивирусов из 43. Однако 4 из них не смогли определить вид вредоносного ПО. Этот факт свидетельствует о том, что антивирусы просто не справились с заданием — не смогли расшифровать тело вируса и выдали тревогу только из-за того, что файл упакован. Вообще, это морально неправильно: в упаковке исполняемых файлов нет ничего плохого. Мы не виноваты, что антивирусная программа не может корректно работать с упакованными файлами. Вывод номер один – всегда проверяйте своё ПО после упаковки, дабы избежать неприятных инцидентов. Вывод номер два – с нашим последним испытанием по-настоящему справились всего лишь два антивируса: Kaspersky и Microsoft. С чем это связано – неизвестно. Может быть с тем, что они успели занести какую-то сигнатуру в базу? Или их сигнатуры могут пробиваться через XOR шифрование? Я думаю, что на этом месте можно поставить жирную точку, тем более что Kaspersky – мой любимый антивирус, а к продукции Microsoft я никаких претензий не имею (…ну …пока не вышел Windows 8).
Глобальный вывод: на сегодняшний день проактивные технологии пока ещё далеки от совершенства и их не очень-то и сложно обмануть.
P.S. В статье осталась нерассмотренной технология HIPS, которая способна определить вредоносный функционал файла на лету, путём анализа его поведения. Поэтому не всё так плохо как кажется – если Вы, проверив файл антивирусом и ничего не обнаружив, запустите его на выполнение, то антивирус с большой долей вероятности выдаст Вам предупреждение. Но эта тема уже совсем другой истории.
Как известно гвозди можно забивать молотками, а вирусы ловить антивирусами. Но это мнение, распространенное среди пользователей, а так же (к большому сожалению) среди тех, кто составляет тендерную документацию на большие проекты. А что думают о назначении антивирусов их вендоры?
Статья задумывается не сильно большая и в общем-то продолжает тему, затронутую уже в мифах об антивирусах. Фактически это итог серии статей о назначении, возможностях и ограничения антивирусов. Так сказать конспект.
Прежде всего нужно сказать (и в комментариях к статьям серии это неоднократно подчеркивалось) о том, что единственного и уникального решения для всех ситуаций не существует и (наверно) существовать не может. Скажем если планшет используется для серфинга и работы с корпоративной почтой корпоративной почты, критично важных данных на нем нет или их можно быстро восстановить, то (если мы не рассматриваем необходимость защиты от утечки информации и/или ее подмены) в принципе можно ограничиться созданием резервных копий. Но если тот же планшет используется в командировках, то антивирус уже необходим, так как не в любо месте мира можно получить доступ к резервным копиям (хотя бы по причине качества связи).
Выбор того или иного решения зависит от уровня рисков — и в наибольшей степени это положение применимо к защите рабочих станций. В свое время на конференции Кода безопасности в Челябинске был проведен опрос — зачем устанавливают антивирус. Вариантов оказалось три: так как требуют регуляторы, поскольку все так делают и «а как иначе?». То есть по сути дела оценки необходимости защиты от вредоносных программ именно антивирусом не производится (за исключением необходимости защиты слабых машин, высоконагруженных машин и машин, выполняющих процедуры, критичные ко времени исполнения).
Во многом это связано с широко распространенным мнением, что антивирус должен ловить все вредоносное в момент попытки проникновения в защищаемую систему. На самом деле антивирус (антивирусное ядро, включая эвристические механизмы и поведенческие анализаторы всех типов) может ловить только известные типы вредоносных программ и их новые варианты. Если же вредоносная программа создавалась с учетом особенностей работы антивируса, тестировалась на его актуальной версии (а так и происходит для наиболее опасных вредоносных программ), то антивирус ее пропустит.
Соответственно для защиты от проникновения нужно использовать не только антивирус (оценки разнятся, но не менее 50 процентов вредоносных программ на входе он перехватит), но в первую очередь системы ограничения прав, белые списки запускаемых программ. Иначе знакомство с шифровальщиками или банковскими троянами вполне возможно произойдет не в ходе изучения логов. Ну и естественно резервирование данных — поскольку «случаи они разные бывают».
Роль же антивируса на рабочих станциях и файловых/терминальных серверах — удаление ранее проникших на защищаемую машину вредоносных программ. В этой роли антивирус может полностью заменяться резервным копированием — но только в том случае, если не критично время восстановления/прерывания бизнес-процессов.
Именно поэтому антивирус (в первую очередь антивирус для рабочих станций и файловых серверов) должен иметь самозащиту (никто не должен его снести до момента получения знаний о новом трояне), защищенные системы обновления и управления (обновление не должно быть перехвачено) и систему лечения активных заражений.
Количество установок антивируса на почтовые сервера куда меньше установок на рабочие станции. По простой причине — по мнению большинства наличие антиспама и антивируса на рабочих станциях делает ненужной аналогичную защиту на уровне почтового сервера. Рациональное зерно в этом мнении есть. Действительно возможности предоставляемые продуктами от Microsoft, IBM, Kerio для антивирусных/антиспам плагинов не очень велики. А почтовые сервера на Linux, где возможности фильтрации в таких плагинах действительно очень мощные, встречаются не так часто, как хотелось бы. В результате аргумент продавцов, аргументирующих необходимость закупки антиспама для сервера уменьшением нагрузки на него — не работает.
На самом деле антивирус для почтовых серверов необходим по той же причине, что и для рабочих станций. Неизвестные вирусы — вот сейчас основная проблема. Установка антивируса на почтовый сервер обеспечивает возможность периодического сканирования почтовых ящиков на ранее неизвестные вредоносные программы — напомним, что для Exchange/Lotus/Kerio и тд — проверка почтовых баз файловым антивирусом невозможна.
Внимание! В MS Exchange 2013 был удален механизм VSAPI, обеспечивавший возможность периодического сканирования почтовых баз/проверки при обращении. В связи с этим данный почтовый сервер не рекомендуется тем, кому требуется обеспечить защиту от вирусов на уровне почтового сервера.
Ну а тем, кто хочет обеспечить действительно надежную защиту от вирусов и спама нужно смотреть в сторону почтовых прокси, реализованных на основе собственных механизмов анализа SMTP/POP3/IMAP трафика — не в виде плагинов для почтовых серверов и потому не имеющих ограничений по функционалу.
Совершенно иная задача у антивируса для шлюзов сети Интернет/внутренних шлюзов. В данном случае антивирус обеспечивает снижение риска проникновения вредоносных программ на те устройства/компьютеры, установка антивируса на которые невозможна по тем или иным причинам. От систем АСУТП до принтеров и холодильников.
Особая головная боль — защита домашних компьютеров/личных устройств. Здесь в первую очередь нужны средства разграничения доступа к данным. Антивирус же обеспечивает защиту от анализа трафика (в том числе перехвата паролей), защиты от фишинга и банковских троянов.
В обязательном порядке домашние компьютеры и мобильные устройства рекомендуется защищать у тех, кто обслуживает различные системы за пределами офиса. Практика показывает, что уровень защиты таких устройств ниже, чем у компьютеров в локальной сети и заражение через сменные носители обсуживающего персонала — повседневная реальность.
Без мониторинга конечных точек сегодня уже не получится в полной мере обеспечить безопасность и вовремя обнаруживать факты компрометации инфраструктуры. «Джентельменский» набор — сетевой мониторинг, антивирус и стандартный аудит на конечных точках — уже не позволяет противодействовать не только серьезным группировкам, но даже злоумышленникам с низким уровнем подготовки. Почему? Рассмотрим на конкретных примерах.
Кадр из мультфильма «Жил-был пес»
Итак, стандартных средств мониторинга становится недостаточно. Этому способствуют несколько факторов:
- индикаторы компрометации (хеши, IP-адреса и доменные имена) часто бывают одноразовыми, так как их изменение не представляет труда для злоумышленника, особенно в случае с APT;
- атакующие применяют в работе легитимные исполняемые файлы, штатные средства ОС и т. д.;
- для перемещения по сети в большинстве случаев используются не эксплойты, а украденные легитимные учетные данные;
- на практике часто встречается ВПО, которое не детектируется ни антивирусом, ни сетевыми сигнатурами;
- с ростом инфраструктуры становится проблематично вовремя обновлять сигнатуры и лицензии.
Мониторинг конечных точек существенно расширяет возможности по выявлению и предотвращению атак: он позволяет перейти от детектирования хешей, IP и доменов к детектированию хостовых артефактов, инструментов и TTP (да-да, той самой «пирамиды боли»).
Несколько примеров техник, которые часто встречаются на практике и не детектируются без хостового мониторинга:
- DLL Hijacking
- Living off the land
- Использование Mimikatz
5 случаев, когда стоит провести полную проверку
Можно выделить не менее 5 случаев, когда рекомендуется провести внеплановую полную проверку на вирусы. Это позволит избежать многих проблем, связанных с проникновением вредоносного программного обеспечения на компьютер.
Расширенный аудит. Windows Event Logging
О встроенном аудите знают все. Как показывает практика, включив один лишь сбор событий создания процесса вместе с командной строкой, вы существенно облегчите процесс мониторинга и расследования инцидентов (закон Парето в действии).
При грамотной настройке мы закрываем некоторые пробелы стандартного подхода и видим:
- факты запуска процессов вместе с командной строкой;
- запускаемые PowerShell-скрипты в декодированном виде (Script block logging);
- частично – работу с файлами и реестром;
- активность, связанную с учетными записями (создание/удаление пользователей и так далее).
- некоторые варианты DLL hijacking по созданию файлов с определенными путями;
- использование LOLBin и Mimikatz по паттернам в командной строке.
Если компьютером длительно пользовался другой человек
Если ранее компьютером пользовался другой человек, обязательно нужно провести полное сканирование. Это связано с тем, что прошлый пользователь мог игнорировать необходимость регулярной проверки. Также посторонний человек может действовать в своих интересах и установить шпионский софт. Глубокое сканирование позволит выявить проблему и устранить ее.
Функция ядра EtwpNetProvTraceNetwork
Из всего вышесказанного следует два вывода:
- И Sysmon, и EDR использует для сбора событий только встроенные возможности Windows, что обеспечивает надежность работы.
- Злоумышленник может использовать методы сокрытия, которые будут применимы и к Sysmon, и к EDR. Обратные вызовы ядра можно снять в памяти ядра с помощью подписанного драйвера. А зная описанный механизм регистрации событий, можно понять, почему Sysmon и некоторые EDR не могут обнаружить определенные техники инжектирования в процесс (например, с помощью APC) или PPID spoofing.
При подозрении на заражении вирусом
Если наблюдается замедление работы системы, она стала медленно загружаться или открывать файлы, а также при появлении непонятных объектов и папок, лучше сразу запустить полное сканирование.
При любых признаках изменения производительности ПК не следует откладывать надолго полное сканирование. Если проблема кроется во вредоносном ПО, ситуация может усугубиться в любую минуту. Могут быть украдены или потеряны важные данные и повреждена файловая система.
Периодически для профилактики
Многие профессионалы рекомендуют выполнять полное сканирование хотя бы 1 раз в 1–3 месяца. Подобные проверки занимают много времени, но игнорировать их не следует.
Если человек часто скачивает файлы с интернета, желательно проводить полное сканирование не менее 2 раз в месяц. Это поможет обезопасить компьютер и данные, которые хранятся на нем от программ-шпионов и вирусов.
Код Mimikatz с измененными строками
Настроить аудит Windows можно на любой системе без предустановки стороннего ПО, но есть и существенные недостатки:
1. Неудобная и плохо масштабируемая настройка.
Пример: чтобы поставить на мониторинг определенную ветку реестра, для нее нужно отдельно настроить ACL. Сам факт того, что нужно проводить какие-то действия, на практике выливается в проблемы и задержки по времени, особенно в случае крупных инфраструктур. Если это делается для расширения мониторинга (например, для детектирования какого-нибудь способа UAC Bypass), то время не играет критической роли. Но если такая необходимость возникает во время инцидента, это затрудняет процесс реагирования.
2. Отсутствие контроля.
Если события перестанут регистрироваться или поступать в используемые системы мониторинга, вовремя понять это, скорее всего, не получится, так как нет централизации.
3. Простота противодействия.
Даже злоумышленники с низкой квалификацией знают, как скрываться от стандартного аудита. Вопрос только в том, насколько эффективно и незаметно они это сделают.
5. Низкая информативность событий. Отсутствует возможность получать хэш запускаемого процесса, отслеживать загрузку библиотек в память процессов и так далее.
Возможности современных антивирусов
Современный антивирус должен защищать от:
- вирусов, то есть любых вредоносных программ;
- различных обманов на деньги: поддельные антивирусы, отправка СМС для "скачивания" несуществующих файлов и т.д.;
Это базовые функции, которые должны быть в любом продукте класса Antivirus. Более функциональные антивирусные решения класса Internet Security, помимо названного, могут включать в себя:
- фаервол;
- веб-защита: защита от опасных веб-сайтов, антифишинг;
- антиспам;
- проактивная защита.
Во многих решениях присутствует такой неантивирусный функционал, как родительский контроль, шифрование, шреддинг (безвозвратное удаление информации), менеджер паролей, оптимизация компьютера.
Стоит отметить, что функционал полностью зависит от разработчика. Так, у одних разработчиков антиспам входит в решение класса Antivirus, у других - Internet Security.
Sysmon
Использование Sysmon позволяет расширить возможности стандартного аудита. События при этом записываются в отдельный журнал. Некоторые примеры информации, которой нет в аудите Windows, но есть в Sysmon:
- более подробная информация о запускаемых исполняемых файлах (хеш, оригинальное имя, цифровая подпись и так далее);
- загрузка драйверов и библиотек;
- изменение статуса сервиса Sysmon;
- создание потока в другом процессе;
- доступ к процессу;
- хеши файлов, создаваемых в альтернативных потоках данных;
- создание пайпов.
- копирование LOLBin под другим именем можно выявлять по соответствию полей OriginalFileName, Image и Hashes из события создания процесса;
- можно детектировать загрузку неподписанных библиотек, что в некоторых случаях позволяет обнаружить DLL hijacking;
- есть потенциальная возможность выявлять Mimikatz с помощью вышеупомянутых методов или по событию ProcessAccess к процессу lsass.exe.
При этом нужно учитывать следующие моменты:
- Необходимость дополнительных инструментов. Так как события пишутся в журнал, то, как и в случае с расширенным аудитом Windows, Sysmon нужно использовать в связке с другими инструментами, например, SIEM.
- Плохое масштабирование и управляемость. В крупных инфраструктурах возникают проблемы с обновлением и учетом текущих версий конфигурационных файлов, так как Sysmon не предоставляет возможность централизованного управления. Для мониторинга корректной работы сервиса необходимы дополнительные инструменты.
Производительность и быстродействие
При выборе антивируса также обратите внимание на его ресурсоемкость - количество потребляемых им ресурсов. Не секрет, что на слабых системах (2 ГБ ОЗУ, процессор 1.6 ГГц, приблизительно, и ниже) антивирус является главным потребителем ресурсов и, как следствие, сильно замедляет работу системы.
Чем бОльшая часть антивируса перенесена в облако, тем меньше ресурсов ему требуется, тем быстрее он работает, но тем и более хороший интернет нужен для его нормальной работы. В части антивирусов, например, Антивирусе Касперского, облако используется лишь как вспомогательный инструмент в дополнение к локальной сигнатурной, эвристической и проактивной защите. Но в других продуктах, например, Baidu, Qihoo 360 (в этих двух случаях речь идет об их собственных технологиях, а не об используемых сторонних движках) вся антивирусная защита перенесена в облако. Соответственно, при отсутствии интернета компьютер останется незащищенным.
Чтобы узнать параметры своего компьютера, зайдите в Пуск - Панель управления - Система, или в Пуск - правой кнопкой на "Компьютер" - Свойства. Минимальные системное требования указываются в описании каждого продукта.
В чем отличие быстрой проверки антивируса от полной
Большинство антивирусов позволяет проводить как быструю, так и полную проверку. При включении быстрой проверки выполняется сканирование только тех объектов, которые обычно начинают загружаться при запуске ОС. Обязательно проводится исследование на наличие вирусов в файлах системной памяти, а также объектов, которые были добавлены пользователем.
Часто в программу быстрой проверки включены и загрузочные сектора диска. При включении быстрого режима проводится исследование наиболее важных для системы файлов, а также объектов, которые чаще всего являются зараженными вредоносными программами. При включении этого режима сканирования антивирус не занимает слишком много оперативной памяти, поэтому не наблюдается замедления работы других программ. Но подобный подход не дает 100% гарантию, что на компьютере нет вирусов.
При полной проверке антивирус задействует большие ресурсы системы, поэтому использование других программ затрудняется. Это метод предполагает сканирование и оценку степени опасности всех файлов, присутствующих на компьютере.
Endpoint Detection & Response
С ростом размера и критичности инфраструктуры недостатки Sysmon становятся существенными. Качественные EDR имеют несколько преимуществ (специфические для конкретных продуктов возможности описывать не будем):
1) Расширенный набор регистрируемых событий
Здесь все зависит от конкретного продукта. Например, встречается логирование всего интерактивного ввода в командную строку, что позволяет детектировать техники, которые не видно ни с аудитом Windows, ни с Sysmon.
Здесь стоит описать вариант использования Mimikatz, который мы наблюдали во время одного из расследований. Есть исполняемый файл, который содержит зашифрованный Mimikatz в ресурсах. При передаче в командной строке верного пароля и вектора инициализации Mimikatz расшифровывается удачно и принимает команды в интерактивной командной строке. При этом в событиях создания процесса не появляется никаких команд.
Логирование интерактивного ввода, в свою очередь, поможет детектировать такой случай, если Mimikatz не будет перекомпилирован (в нашем случае строки остались нетронутыми).
2) Централизованное управление и настройка
В большой инфраструктуре возможность централизованной проверки состояния и изменения настроек агента играет критическую роль. Без нее реагирование может затягиваться на часы, а то и на дни.
3) Самодостаточность
В большинстве случаев EDR – это самостоятельный продукт со своим интерфейсом, который может использоваться не только в связке с другими инструментами, но и отдельно.
Может присутствовать возможность писать собственные правила детектирования. Так как набор доступных данных больше, чем у расширенного аудита или Sysmon, у аналитиков появляется больше возможностей для детектирования различных паттернов атак.
4) Возможность активного реагирования
Во время реагирования на инцидент необходимость выполнить какие-либо действия на множестве систем практически всегда становится проблемой.
EDR позволяет в удобной интерактивной форме выполнять множество действий:
- работать с файлами и реестром
- блокировать сетевые соединения
- завершать процессы
- сканировать yara-правилами
- собирать артефакты для последующего анализа (например, образ памяти)
- автоматизация всего вышеуказанного в той или иной степени
- и многое другое.
Практика показывает, что наличие EDR в инфраструктуре существенно расширяет возможности по выявлению угроз, а также ускоряет реагирование и облегчает расследование инцидентов, позволяя более точно восстанавливать хронологию событий. Sysmon выступает в качестве полумеры, а в случае с одним только стандартным аудитом, который легко обойти, приходится довольствоваться менее информативными артефактами, в том числе необычными, о которых мы писали в предыдущей статье.
Автор: Аскер Джамирзе, старший инженер технического расследования отдела расследования инцидентов JSOC CERT
Дополнительные компоненты защиты
Давайте рассмотрим дополнительные компоненты защиты, обычно присутствующие в решениях класса Internet Security.
Фаервол
Фаервол - это программный продукт для контроля использования интернета. Иногда в него входит и проактивная защита, которую мы уже частично рассмотрели и сделаем это далее.
Слово фаервол образовано от английского firewall - огненная стена, поэтому иногда также встречаются написания файервол, фаерволл, файерволл. Другое слово, обозначающее то же самое - брандмауер.
Работу фаервола можно условно разделить на 2 направления: контроль выхода в интернет всех программ на компьютере и защита от интернет-атак, например, DDoS - множественных запросов на компьютер, направленных на его отключение из сети в связи с невозможностью обработки такого потока запросов. Однако, такой тип атак на домашний компьютер очень маловероятен. Фаервол также защищает и от других приемов хакеров. Защита от вторжений (IPS - intrusion prevention system, иногда IDS - intrusion detection system), то есть от проникновения вредоносного ПО в систему с использованием уязвимостей браузера или другой легитимной программы, обычно тоже ложится на плечи фаервола, но может относиться и к другому компоненту комплексного продукта класса Internet Security.
Контроль выхода различных программ в Сеть может осуществляться тремя способами:
1. Автоматически: все решения относительно того, легитимная ли программа просится в интернет, фаервол принимает самостоятельно. Обычно ему в этом помогает белый список - база известных "хороших" программ. Она может находиться как локально, так и в облаке. В последнем случае не стоит проблема ее ресурсоемкости (сколько места на жестком диске и в памяти она занимает). В зависимости от настройки, неизвестным, то есть не внесенным в белый список, приложениям может либо закрываться доступ в сеть, либо наоборот разрешатся (в последнем случае проще отключить работу фаервола на этом направлении).
2. Полуавтоматически: принятие решений на основе правил. Правило - это установка фаерволу, как нужно поступать, когда указанная программа пытается выйти в сеть; обычно можно не просто разрешать/запрещать ее действия, но и конкретизировать правила, указывая используемые порты, целевые адреса, приложения, которые запускают эту программу и т.д.
3. Вручную: каждый раз, при попытке любого ПО выйти в сеть, выдается запрос.
Обычно используется первый и второй варианты.
Веб-защита
Веб-защита тоже работает по нескольким направлениям:
1. Проверка всего интернет трафика. Грубо говоря, тот же файловый монитор, но только для всего того, что передается и получается через интернет.
2. Защита от посещения вредоносных сайтов. Раньше ссылки на известные источники вирусов заносились в локальные базы, теперь же в большинстве случаев эта защита облачная. Работает она так: сервер облака может сам заходить на различные сайты, выполнять их доскональную проверку, запоминая, какие ресурсы оказались вредоносными. Если первый тип интернет защиты обнаруживает угрозу, то ее адрес отправляется в облако для предотвращения посещения этого ресурса другими пользователями. Смысл в том, что, если сайт взломан и на него установлены вирусы, то злоумышленники их (вирусы) могут менять без ведома антивирусной компании, в результате чего первый тип веб-защиты может пропустить новейшие, еще неизвестные вредоносные программы. Здесь стоит отметить, что в современных антивирусах защита строится на всесторонней обороне по принципу "заражение легче предотвратить, чем его потом лечить".
3. Защита от фишинга. Фишинг - это поддельные сайты, по внешнему виду почти неотличимые от оригинала, которые просят ввести пароли или данные кредитной карты. Примеры можно посмотреть на PhishTank. Осторожно, такие сайты могут быть дополнительно заражены вирусами.
Подробнее о принципе работы веб-защиты на примере Lavasoft читайте здесь.
Антиспам
Антиспам и почтовый монитор проверяют на предмет наличия спама или вирусов электронную почту, получаемую локально - обычно через установленные почтовые клиенты (The Bat, Thunderbird, Windows Mail и др.). Почта, которую вы читаете через браузер, не проверяется, однако на всех современных почтовых службах используются и так хорошие антивирусные и антиспам технологии.
Мы уже выше рассмотрели стандартные технологии проактивной защиты, к которым относится и IPS, которую мы посчитали частью фаервола. Что же еще предлагают многие разработчики?
Безопасный банкинг
Это изолированная среда, изолированный от внешнего компьютерного мира браузер, предназначенный для безопасного совершения банковских операций. Безопасность заключается в том, что браузер изолируется от всех остальных программ, в результате чего вводимая в нем информация не может быть перехвачена. Технология не гарантирует 100% защиты, каждый разработчик использует разные подходы к обеспечиванию безопасности онлайн банкинга.
Песочница, sandbox
Изолированная от остального компьютера среда, позволяющая безопасно запускать любые программы. Все изменения, ими сделанные, по окончанию работы откатываются, а чреватые повреждениями системы вредоносные действия запрещены. Бывают автоматически песочницы: малоизвестные программы автоматически запускаются в изоляции. Некоторые вирусы умеют определять, что они работают в песочнице, в случае обнаружения которой прекращают свою работу. Это нужно еще и для того, чтобы автоматические системы анализа на серверах антивирусных разработчиков не могли выявить этих вредоносов.
Откат вредоносных действия, rollback
Некоторые продукты, например Twister и Webroot, не используют автопесочниц, как Comodo, но следят за всеми изменениями в системе, совершаемыми запущенными приложениями. Если антивирус после долгого наблюдения за активностью программы вдруг решит, что она вредоносная, он удалит, откатив сделанные ее изменения в системе. Разница между Webroot и Twister в том, что первый предпочитает пару десятков минут понаблюдать за программой, прежде чем окрестить ее вредоносной, при этом имея неплохой облачный детект (обнаруживает вирусы до их запуска, часто на основании данных от других пользователей, что эта программа проявляла вредоносную активность), а вот второй в силу маленького количества пользователей и недоработанности облачных технологий такой развитой крадудсорсинговой базы не имеет, но вредоносное ПО предпочитает прибивать в самом начале его работы, даже, бывает, не успев его проверить в облаке. Оба продукта в момент озарения откатывают зафиксированные ими со стороны вируса изменения в системе.
HIPS, host-based intrusion prevention system, система предотвращения вторжений на узел
Система, следящая за всеми изменениями в системе и способная предотвращать вредоносные. Как и фаервол, имеет настраиваемые правила, режимы работы от автомата до ручного, белые списки известных безопасных программ.
Основные типы защиты от угроз
Защита от вирусов и ПНП может быть четырех типов:
1. Локально-сигнатурная. Именно такими были самые первые антивирусы на стыке веков. Сигнатура - это занесенный в базы антивируса образец кода конкретного вируса, который он ищет во всех файлах, которые проверяет (на западный манер - сканирует). Локально - значит сигнатурная база хранится на непосредственно компьютере, где установлен антивирус.
2. Локально-эвристическая. Такие технологии появились немногим позже первых. В данном случае антивирус ищет не участки кода конкретного вируса, а некий похожий на вирус код по заданным образцам. Сюда же можно отнести технологию эмуляции процессора, которая уже частично устарела.
3. Локально-проактивная. Защита на основе анализа поведения программ для выявления и пресечения их вредоносной активности. Раньше данная технология работала достаточно просто: был заданный набор описаний опасных действий, характерный для вирусов. Они просто блокировались (поведенческий блокиратор). Программы, совершающие большое количество потенциально-опасных действий, могли блокироваться полностью. Однако, в настоящий момент проактивные технологии ушли значительно вперед, о них мы еще поговорим отдельно.
4. Облачная. Наиболее современный тренд. Первые облака появились в 2005-2006 годах. С тех пор они получили огромное развитие. Суть таких технологий в том, что множество компьютеров конечных защищаемых пользователей подключены к единому командному центру и передают ему различную информацию, на основе которой автоматизированная система вычисляет вредоносные объекты. Подробно про механизм работы на блоге "Лаборатории Касперского".
Первые 2 типа защиты есть в абсолютно всех антивирусах (разве что в "Антивирусе Бабушкина" - Fraud.BabushkinAV - их нет). Их осуществляет такой важный компонент антивируса, как файловый монитор. Он в режиме реального времени проверяет все файлы, к которым система пытается получить доступ. Сначала выполняется проверка, а только потом эти файлы можно открыть. Таким образом, вирус будет обезврежен до своего запуска. Антивирусным сканированием в большинстве продуктов называется проверка по требованию пользователя, которую человек запускает вручную. Многие антивирусы умеют делать ее по расписанию.
Разговаривают Билл Гейтс и Стив Джобс.
Гейтс:
- Мы провели исследование и выяснили, что русские читают быстрее всех в мире.
Джобс:
- Ты скорость чтения лицензионных соглашений измерял?
При использовании "облака" стоит ознакомиться с лицензионным соглашением и условиями использования облака. Обычно из них и логики работы облачной АВ защиты следует, что:
1. На сервера может передаваться почти любая информация, которую антивирус посчитает нужной. Если есть веб-защита, то это однозначно список посещенных сайтов, ваш IP адрес и множество менее существенной информации.
2. Она передается неперсонализированно. Что под этим имеется в виду, одни разработчики знают, ведь информацию о посещенных сайтах можно отвязать от имени пользователя и считать это неперсонализированным хранением данных, но отвязывается ли она от IP адреса? Даже если да, то наверняка система запоминает ваш регион для дальнейшего определения географии распространения угроз.
3. Любым органам государственной власти имеющаяся у антивирусной компании информация может быть предоставлена. Разработчик даже может оставлять за собой право делиться данными и с любыми другими третьими лицами, обещая при этом сохранять конфиденциальность.
Отсюда следует, что спецслужбы, например, на основе данных о посещенных веб-сайтах, пусть и не персонализированных, но зато геопривязанных, могут определять общественное мнение с точностью до региона. Эта информация очень пригодится для ведения сетевой, или сетецентрической войны, направленной на невоенный захват (перевод под свое влияние) государств. Однако, возможность участия в этом антивируса теоретическая.
Сходство Sysmon и EDR
Sysmon не является полноценным EDR-решением, так как в нем нет возможности выполнять активные действия на системе. Но механизм сбора событий точно такой же, как и в коммерческих EDR: работает он на двух технологиях – обратных вызовах ядра и ETW. Подробно описывать их не будем – рассмотрим только, как появляются события и кто инициатор их создания.
• Обратные вызовы ядра. Например, PcreateProcessNotifyRoutine, PcreateThreadNotifyRoutine.
Где и как вызываются эти и другие обратные вызовы, можно увидеть в соответствующих функциях ядра. Пример вызова callback’ов при создании процесса приведен ниже:
Цикл вызова callback’ов в CreateProcessW → NtCreateUserProcess → PspInsertThread. То есть вызывает эти callback’и поток родительского процесса, вызвавший CreateProcess.
• Event Tracing Windows (ETW).
В части появления событий ETW работает похожим образом. Снова рассмотрим пример с созданием процесса. При вызове CreateProcessW поток родительского процесса выполняет следующие действия (упрощенная схема):
CreateProcessW (kernel32.dll)
NtCreateUserProcess (ntdll.dll, переход в режим ядра)
NtCreateUserProcess (ntoskrnl.exe, далее работа в режиме ядра)
PspInsertThread (здесь вызываются и callback’и)
EtwTraceProcess
EtwpPsProvTraceProcess
EtwWrite
Таким образом, поток родительского процесса является прямым инициатором создания события ETW. Примерно таким же образом работает запись остальных событий, например, сетевых. Ниже приведен пример создания событий, связанных с сетевой активностью:
Дает ли антивирус 100% защиту
Вирусы и другие вредоносные программы часто модернизируются и усовершенствуются злоумышленниками. Это нередко делает их незаметными. Из-за этого ни один антивирус не может на 100% защитить компьютер от вредоносного ПО. Для недопущения заражения нужно соблюдать осторожность при скачивании файлов, не переходить по сомнительным ссылкам и вовремя выполнять полную проверку системы антивирусом.
Пробуем сами - виртуальные системы
Чтобы протестировать продукт (без учета соответствия количества системных ресурсов), можно установить его на виртуальную систему, например, поставить лицензионную демо версию Windows на виртуальную машину VirtualBox, что будет бесплатно.
Последний критерий - цена. Обратите внимание на бесплатные антивирусы или промо-акции. Комплексные решения класса Internet Security обычно платные, но можно использовать связку бесплатный антивирус + бесплатный фаервол + бесплатная проактивная защита в случае ее отсутствия в антивирусе. Каждую связку лучше предварительно проверить на совместимость на виртуальной машине.
Таким образом, при выборе антивируса нужно начинать с подбора необходимого функционала. При этом, если вы неопытный пользователь, не забывайте, что для вас чем проще антивирус, тем лучше. Идеальный вариант - это бесплатные или облачные решения. Что касается проактивных технологий, то в одних продуктах они работают на автомате, не требуя вмешательства пользователя, когда как другие продукты требуют от пользователя определенных знаний.
Ни одна антивирусная технология не обеспечивает 100% защиты. В чем-то силен один продукт, в чем-то другой. Обратите внимание на результаты многочисленных тестов. Однако помните, что это субъективная оценка.
Также готовы выслушать любые замечания и предложения по статье. Она будет дорабатываться.
Недостаточно просто установить на компьютер антивирус, нужно вовремя запускать полную проверку системы, чтобы избежать заражения системы и потери данных.
При первой установке или смене антивируса
Сразу после установки антивируса рекомендуется запускать полную проверку системы на вирусы и программы-шпионы. Это особенно важно, если ранее компьютер некоторое время не был защищен антивирусом. В этом случае можно будет не только посмотреть в действии установленный антивирус, но и выявить скрытые угрозы.
Некоторые вредоносные программы, попадая в систему могут длительное время находиться в спящем режиме. Эти вирусы и программы-шпионы крайне опасны, так как могут активизироваться в самый неподходящий момент. Сразу после установки антивируса необходимо запустить полную проверку для выявления скрытых угроз и их обезвреживания.
Если на компьютере планируется смена одного антивируса на другой, после завершения установки также нужно запустить полное сканирование файлов.
После скачивания или копирования большого объема файлов
При скачивании файлов нужно соблюдать особую бдительность. Особенно это касается загрузок большого размера, так как среди них может легко затесаться вредоносный объект. Часто на сайтах софта можно увидеть отметки, что файл был проверен на наличие вирусов. Подобной информации не следует доверять на 100%. Чтобы обезопасить себя, сразу после скачивания крупного файла стоит запустить полное сканирование компьютера антивирусом.
Глубокая проверка необходима и в случае, если крупный объем данных был скачан с флешки постороннего человека. Такие объекты также могут быть заражены, причем даже без ведома первоначального владельца. Лучше всего выполнить глубокую проверку файловой системы, чтобы обезопасить свой ПК.
Читайте также: