Amsi защита касперский что это
общие сведения о Windowsном интерфейсе сканирования на наличие вредоносных программ (AMSI) см. в разделе интерфейс проверки наличия вредоносных программ (AMSI).
Разработчик приложения может активно участвовать в защите от вредоносных программ. В частности, вы можете защитить своих клиентов от вредоносных программ на основе динамических сценариев, а также от нетрадиционных поправок кибератаках.
В качестве примера предположим, что ваше приложение является сценарным: оно принимает произвольный скрипт и выполняет его через обработчик сценариев. в момент, когда сценарий готов к работе с обработчиком скриптов, приложение может вызвать Windows api-интерфейсы AMSI, чтобы запросить проверку содержимого. Таким образом, можно безопасно определить, является ли сценарий вредоносным, прежде чем продолжить его выполнение.
Это справедливо, даже если скрипт был создан во время выполнения. Скрипт (вредоносный или другой) может пройти несколько этапов отмены запутывания. Но в конечном итоге необходимо предоставить обработчик скриптов с обычным немаскированным кодом. И это точка, в которой вызываются API-интерфейсы AMSI.
Ниже приведена иллюстрация архитектуры AMSI, в которой собственное приложение представлено одним из полей "другое приложение".
Что это означает?
для Windows пользователей любая вредоносная программа, использующая методы запутывания и обход на встроенных в Windows 10 узлах сценариев, автоматически проверяется на более глубоком уровне, чем когда-либо ранее, предоставляя дополнительные уровни защиты.
разработчикам приложений следует подумать о том, что приложение вызывает интерфейс Windows AMSI, если вы хотите воспользоваться преимуществами (и защитить клиентов с помощью) дополнительного сканирования и анализа потенциально вредоносного содержимого.
Как поставщик антивирусного по вы можете реализовать поддержку интерфейса AMSI. когда вы сделаете это, ваш модуль будет иметь намного более глубокое понимание данных, которые приложения (включая встроенные узлы сценариев Windows 10) могут быть потенциально вредоносными.
Интеграция AMSI с JavaScript/VBA
Показанный ниже рабочий процесс описывает сквозной поток другого примера, в котором мы демонстрируем интеграцию AMSI с выполнением макросов в Microsoft Office.
AMSI в действии
Давайте взглянем на AMSI в действии. в этом примере Защитник Windows является приложением, которое вызывает api AMSI. Но вы можете вызывать те же интерфейсы API из своего приложения.
Ниже приведен пример сценария, который использует методику XOR-кодирования, чтобы скрыть его намерение (независимо от того, является ли это условие мягким или нет). На этом рисунке мы можем представить, что этот сценарий был загружен из Интернета.
Чтобы сделать кое-что более интересным, мы можем ввести этот сценарий вручную в командной строке, чтобы нет фактического файла для отслеживания. Это отражает то, что известно как «безфайловая угроза». Это не так просто, как сканирование файлов на диске. Угроза может быть программы трояныой, которая находится только в памяти компьютера.
Ниже показан результат выполнения скрипта в Windows PowerShell. вы увидите, что Защитник Windows способен обнаружить пример теста AMSI в этом сложном сценарии, просто используя стандартную сигнатуру примера теста AMSI.
Дополнительные сведения о безфайловых угрозах
дополнительные сведения о типах безфайловых угроз, которые Windows AMSI, призваны помочь вам в защите. В этом разделе мы рассмотрим традиционную игру Cat-and-Mouse, которая воспринимается в экосистеме вредоносных программ.
В качестве примера мы будем использовать PowerShell. Но вы можете использовать те же методы и процессы, которые мы продемонстрируем в любом динамическом языке — VBScript, Perl, Python, Ruby и т. д.
Ниже приведен пример вредоносного сценария PowerShell.
Однако после обнаружения нашей первой сигнатурой авторы вредоносных программ будут отвечать. Они реагируют на создание динамических скриптов, таких как этот пример.
В этом сценарии авторы вредоносных программ создают строку, представляющую сценарий PowerShell для выполнения. Но они используют простую методику сцепления строк для разбиения предыдущей сигнатуры. Если вы когда-либо видите источник веб-страницы Ладен, вы увидите много экземпляров этого метода, которые используются для предотвращения блокирования AD.
Наконец, автор вредоносной программы передает эту объединенную строку Invoke-Expression — механизму PowerShell командлета для вычисления скриптов, которые состоят или создаются во время выполнения.
В ответ программа защиты от вредоносных программ начинает выполнять базовую эмуляцию языка. Например, если мы видим две объединяемые строки, мы будем эмулировать объединение этих двух строк, а затем запустили сигнатуры в результате. К сожалению, это довольно непрочный подход, поскольку языки, как правило, предоставляют множество способов представления и сцепления строк.
Итак, после того, как эта подпись будет перехвачена, авторы вредоносных программ переходят на нечто более сложное — , например кодирование содержимого скриптов в Base64, как показано в следующем примере.
При переисточнике большинство механизмов защиты от вредоносных программ также реализуют эмуляцию декодирования Base64. Так как мы также реализуем эмуляцию декодирования Base64, мы готовы к моменту времени.
В ответ авторы вредоносных программ переходят к алгоритму запутывания, — такому как простой механизм кодирования XOR в сценариях, которые они выполняют.
На этом этапе мы обычно работаем с тем, какие антивирусные ядра будут эмулироваться или выявляться, поэтому мы не обязательно определим, что делает этот сценарий. Однако можно начать писать подписи для методов запутывания и кодирования. На самом деле, это учетные записи для большинства подписей вредоносных программ на основе сценариев.
Но что делать, если маскировка настолько проста, что выглядит так, как многие хорошо выполняющиеся сценарии? Сигнатура для него приведет к неприемлемому числу ложных срабатываний. Ниже приведен пример сценария этапа , который слишком немягк для самостоятельного обнаружения.
В этом примере мы скачиваем веб-страницу и получаем из нее некоторое содержимое. ниже приведен эквивалент в сценарии Visual Basic.
Что еще хуже в обоих этих примерах заключается в том, что антивирусный механизм проверяет файлы, открываемые пользователем. Если вредоносное содержимое находится только в памяти, возможно, атака может оказаться необнаруженной.
В этом разделе показаны ограничения на обнаружение с использованием традиционных подписей. Но хотя вредоносный сценарий может пройти несколько этапов дезапутывания, ему, в конечном итоге, необходимо предоставить обработчику сценариев простой, незамаскированный код. и на этом этапе, — как мы описывали в первом разделе выше, — Windows 10 встроенные узлы сценариев, вызывают интерфейсы api AMSI, чтобы запросить проверку этого незащищенного содержимого. И ваше приложение может сделать то же самое.
Компонент AMSI-защита предназначен для поддержки интерфейса Antimalware Scan Interface от Microsoft. Интерфейс Antimalware Scan Interface (AMSI) позволяет сторонним приложениям с поддержкой AMSI отправлять объекты (например, скрипты PowerShell) в Kaspersky Endpoint Security для дополнительной проверки и получать результаты проверки этих объектов. Сторонними приложениями могут быть, например, приложения Microsoft Office (см. рис. ниже). Подробнее об интерфейсе AMSI см. в документации Microsoft.
AMSI-защита может только обнаруживать угрозу и уведомлять стороннее приложение об обнаруженной угрозе. Стороннее приложение после получения уведомления об угрозе не дает выполнить вредоносные действия (например, завершает работу).
Пример работы AMSI
Компонент AMSI-защита может отклонить запрос от стороннего приложения, например, если это приложение превысило максимальное количество запросов за промежуток времени. Kaspersky Endpoint Security отправляет информацию об отклонении запроса от стороннего приложения на Сервер администрирования. Компонент AMSI-защита не отклоняет запросы от тех сторонних приложений, для которых включена функция постоянного взаимодействия с компонентом AMSI-защита.
AMSI-защита доступна для следующих операционных систем рабочих станций и серверов:
- Windows 10 Home / Pro / Pro для рабочих станций / Education / Enterprise;
- Windows 11;
- Windows Server 2016 Essentials / Standard / Datacenter;
- Windows Server 2019 Essentials / Standard / Datacenter;
- Windows Server 2022.
Параметры компонента AMSI-защита
Проверка архивов ZIP, GZIP, BZIP, RAR, TAR, ARJ, CAB, LHA, JAR, ICE и других архивов. Kaspersky Endpoint Security проверяет архивы не только по расширению, но и по формату.
Флажок включает / выключает проверку дистрибутивов сторонних приложений.
Проверять файлы офисных форматов
Проверка файлов Microsoft Office (DOC, DOCX, XLS, PPT и других). К файлам офисных форматов также относятся OLE-объекты.
Не распаковывать составные файлы большого размера
Если флажок установлен, то Kaspersky Endpoint Security не проверяет составные файлы, размеры которых больше заданного значения.
Если флажок снят, Kaspersky Endpoint Security проверяет составные файлы любого размера.
Kaspersky Endpoint Security проверяет файлы больших размеров, извлеченные из архивов, независимо от состояния флажка.
Компонент AMSI-защита предназначен для поддержки интерфейса Antimalware Scan Interface от Microsoft. Интерфейс Antimalware Scan Interface (AMSI) позволяет сторонним приложениям с поддержкой AMSI отправлять объекты (например, скрипты PowerShell) в Kaspersky Endpoint Security для дополнительной проверки и получать результаты проверки этих объектов. Сторонними приложениями могут быть, например, программы Microsoft Office (см. рис. ниже). Подробнее об интерфейсе AMSI см. в документации Microsoft.
AMSI-защита может только обнаруживать угрозу и уведомлять стороннее приложение об обнаруженной угрозе. Стороннее приложение после получения уведомления об угрозе не дает выполнить вредоносные действия (например, завершает работу).
Пример работы AMSI
Компонент AMSI-защита может отклонить запрос от стороннего приложения, например, если это приложение превысило максимальное количество запросов за промежуток времени. Kaspersky Endpoint Security отправляет информацию об отклонении запроса от стороннего приложения на Сервер администрирования. Компонент AMSI-защита не отклоняет запросы от тех сторонних приложений, для которых установлен флажок Не блокировать взаимодействие с AMSI-защитой .
AMSI-защита доступна для следующих операционных систем рабочих станций и серверов:
- Windows 10 Home / Pro / Pro для рабочих станций / Education / Enterprise;
- Windows Server 2016 Essentials / Standard / Datacenter;
- Windows Server 2019 Essentials / Standard / Datacenter.
Параметры компонента Поставщик AMSI-защиты
Проверка архивов форматов RAR, ARJ, ZIP, CAB, LHA, JAR, ICE.
Флажок включает / выключает проверку дистрибутивов сторонних программ.
Проверять файлы офисных форматов
Проверка файлов Microsoft Office (DOC, DOCX, XLS, PPT и других). К файлам офисных форматов также относятся OLE-объекты.
Не распаковывать составные файлы большого размера
Если флажок установлен, то Kaspersky Endpoint Security не проверяет составные файлы, размеры которых больше заданного значения.
Если флажок снят, Kaspersky Endpoint Security проверяет составные файлы любого размера.
Kaspersky Endpoint Security проверяет файлы больших размеров, извлеченные из архивов, независимо от состояния флажка.
Для защиты конфиденциальных данных, которые вы вводите на сайтах банков и платежных систем (например, номера банковской карты, пароли для доступа к интернет-банкам), а также для предотвращения кражи платежных средств при проведении платежей онлайн, Kaspersky предлагает открывать такие сайты в Защищенном браузере.
Защищенный браузер – это специальный режим работы браузера, который используется для защиты ваших данных при работе на сайтах банков или платежных систем. Защищенный браузер запускается в изолированной среде, чтобы другие программы не могли внедриться в процесс Защищенного браузера. Kaspersky создает специальные профили браузеров Mozilla Firefox и Google Chrome, чтобы установленные сторонние расширения не могли повлиять на работу Защищенного браузера. Программа не влияет на ваши данные, которые браузеры могут сохранять в созданных профилях.
Если вы используете браузеры Microsoft Edge на базе Chromium, Google Chrome, Mozilla Firefox или Internet Explorer, Защищенный браузер запускается в новом окне.
Чтобы обеспечить ряд функций Защищенного браузера, программа использует расширение Kaspersky Protection.
Браузеры, не соответствующие программным требованиям, не работают в режиме Защищенного браузера. Вместо таких браузеров в режиме Защищенного браузера запускается Microsoft Edge на базе Chromium или браузер, заданный в настройках программы.
Запуск Защищенного браузера невозможен при следующих условиях:
- снят флажок Включить самозащиту в окне Потребление ресурсов компьютера в разделе настроек Настройки производительности ;
- в браузере выключено выполнение JavaScript.
Запуск Защищенного браузера в Яндекс.Браузере
Kaspersky поддерживает защиту ваших финансовых операций в Яндекс.Браузере с ограничениями. Для запуска Защищенного браузера программа внедряет в веб-страницу (и в трафик) специальный скрипт. Расширение Kaspersky Protection недоступно. Компоненты Защита от сбора данных в интернете и Анти-Баннер работают, но недоступны для настройки в Яндекс.Браузере.
Возможности Защищенного браузера
При работе в Защищенном браузере программа предоставляет защиту от следующих видов угроз:
- Недоверенные модули. Проверка на наличие недоверенных модулей выполняется при каждом переходе на сайт банка или платежной системы.
- Руткиты. Проверка на наличие руткитов выполняется при запуске Защищенного браузера.
- Недействительные сертификаты сайтов банков или платежных систем. Проверка сертификатов выполняется при переходе на сайт банка или платежной системы. Проверка сертификатов выполняется по базе скомпрометированных сертификатов.
Состояние Защищенного браузера
Когда вы открываете сайт в Защищенном браузере, вокруг окна браузера появляется рамка. Цвет рамки сигнализирует о статусе защиты.
Существуют следующие варианты цветовой индикации рамки окна браузера:
- Зеленый цвет рамки. Означает, что все проверки выполнены успешно. Вы можете продолжить работу в Защищенном браузере.
- Желтый цвет рамки. Означает, что во время проверок были обнаружены проблемы безопасности, которые необходимо устранить.
Программа может обнаружить следующие угрозы и проблемы безопасности:
- Недоверенный модуль. Требуется проверка компьютера и лечение.
- Руткит. Требуется проверка компьютера и лечение.
- Недействительный сертификат сайта банка или платежной системы.
Если вы не устраните обнаруженные угрозы, безопасность сеанса подключения к сайту банка или платежной системы не гарантируется. События, связанные с запуском и работой Защищенного браузера с пониженной защитой, записываются в журнал событий Windows.
О защите от создания снимков экрана
Kaspersky блокирует несанкционированное создание снимков экрана программами-шпионами, защищая ваши данные при работе с защищаемыми сайтами. Защита от создания снимков экрана включена по умолчанию. Защита от снимков экрана работает, даже если выключена аппаратная виртуализация.
О защите данных буфера обмена
Kaspersky блокирует несанкционированный доступ программ к буферу обмена во время проведения платежных операций, предотвращая кражу данных злоумышленниками. Блокировка действует только в случае попыток недоверенных программ получить несанкционированный доступ к буферу обмена. Если вы вручную копируете данные из окна одной программы в окно другой программы (например, из Блокнота в окно текстового редактора), доступ к буферу обмена разрешен.
Защита буфера обмена не работает, если на вашем компьютере выключена аппаратная виртуализация.
Если Защищенный браузер запущен на операционной системе Microsoft Windows 10, Kaspersky блокирует работу приложений универсальной платформы Windows с буфером обмена.
Если тебе знакома фраза «Этот сценарий содержит вредоносное содержимое и был заблокирован антивирусным программным обеспечением», то сегодняшняя статья — для тебя. Такое сообщение генерирует встроенный в Windows 10 механизм AMSI, блокирующий выполнение вредоносных сценариев и скриптов. Можно ли его обойти? Запросто, и сейчас я расскажу, как это сделать.
warning
Статья имеет ознакомительный характер и предназначена для специалистов по безопасности, проводящих тестирование в рамках контракта. Автор и редакция не несут ответственности за любой вред, причиненный с применением изложенной информации. Распространение вредоносных программ, нарушение работы систем и нарушение тайны переписки преследуются по закону.
Как это работает
Когда пользователь запускает скрипт или инициализирует процесс PowerShell (либо PowerShell_ISE), в процесс автоматически загружается библиотека AMSI. DLL . Она‑то и предоставляет необходимый API для взаимодействия с антивирусным ПО. Прежде чем выполниться, скрипт или команда при помощи удаленного вызова процедур (RPC) отправляется Microsoft Defender, он, в свою очередь, анализирует полученную информацию и отсылает ответ обратно AMSI. DLL . Если обнаружена известная сигнатура, выполнение прерывается и появляется сообщение о том, что скрипт заблокирован антивирусной программой.
Примерно так работает AMSI
На приведенной выше схеме обозначены две функции — AmsiScanString( ) и AmsiScanBuffer( ) , они, по сути, главные в цепочке AmsiInitialize , AmsiOpenSession , AmsiScanString , AmsiScanBuffer и AmsiCloseSession . Если глянуть Exports для amsi. dll , то мы увидим следующее.
Экспорты библиотеки amsi.dll
Однако значительная часть этого списка нам сегодня не пригодится.
Итак, мы запустили PowerShell. До того как мы сможем вводить какие‑либо команды, будет загружена AMSI.DLL и произойдет вызов AmsiInitialize( ) .
Тут используются два аргумента: имя приложения и указатель на структуру CONTEXT . Параметр amsiContext будет использоваться в каждом последующем вызове AMSI API.
После того как мы ввели команду или попытались выполнить скрипт, происходит вызов AmsiOpenSession ():
Тут тоже передаются два аргумента: amsiContext , полученный на шаге AmsiInitialize( ) , и указатель на структуру SESSION . Параметр amsiSession будет использоваться в каждом последующем вызове AMSI API внутри этой сессии.
Далее в дело вступают те самые AmsiScanString( ) и AmsiScanBuffer( ) . По названию, в принципе, понятно, какие параметры они передают для проверки, да и синтаксис у них почти одинаков.
Читайте также: