Способ автоматической настройки средства безопасности

Иллюстрации

Показать все

Изобретение относится к области автоматической настройки средств безопасности во время исполнения прикладных программ. Техническим результатом является сокращение потребляемых средством безопасности вычислительных ресурсов во время исполнения прикладной программы без потери качества обеспечения безопасности. Способ автоматической модификации средства безопасности содержит этапы, на которых: проверяют приложение на соответствие критериям безопасности; если приложение соответствует критериям безопасности, то приложение запускают на исполнение в тестовом режиме; переключают сценарии исполнения приложения; регистрируют операции, выполняемые средством безопасности во время исполнения сценариев приложения, при этом регистрируют операции, связанные с исполняемым приложением; определяют приоритеты для зарегистрированных операций; формируют набор инструкций, производящих модификацию средства безопасности, при этом модификация средства безопасности обеспечивает выполнение операций средством безопасности в зависимости от упомянутого приоритета; модифицируют средство безопасности путем исполнения сформированного набора инструкций. 2 н. и 18 з.п. ф-лы, 5 ил.

путем исполнения сформированного набора инструкций. 2 н. и 18 з.п. ф-лы, 5 ил.

Реферат

Область техники

Настоящее изобретение относится к способам обеспечения безопасности компьютерных систем и более конкретно к способам автоматической настройки средств безопасности во время исполнения прикладных программ.

Уровень техники

Для обеспечения максимального уровня защищенности компьютерных систем (КС) от постоянно растущего количества угроз компьютерной безопасности производители средств безопасности КС и сетей постоянно развивают и совершенствуют методы обнаружения вредоносных программ и их компонент. Вместе с этим повышается ресурсоемкость решений безопасности и количество их возможных настроек. Таким образом, формируется новая техническая задача в области обеспечения безопасности КС - оптимизировать работу средств безопасности в зависимости от конфигурации КС для каждого доверенного пользовательского приложения или группы приложений. Оптимизация позволяет исключить ошибки обнаружения, не производить дополнительные малоэффективные проверки с целью минимизации использования ресурсов, а также правильно настроить компоненты средства безопасности, чтобы пользовательское приложение работало без дополнительных ресурсных ограничений и конфликтов со средством безопасности. При этом оптимизация не должна понижать необходимый уровень безопасности, обеспечиваемый средствами безопасности КС. Процесс оптимизации должен быть полностью автоматизирован или проходить с минимальным участием пользователя (администратора). Это, в частности, не позволяет реализовать принцип минимально возможных привилегий, заключающийся в том, что доверенное приложение должно получать не полные привилегии, а ограниченный набор прав, необходимых для нормального функционирования.

В большинстве существующих систем безопасности, осуществляющих контроль приложений, процесс оптимизации ограничен обновлением черных и белых списков приложений, который не позволяет дифференцировать настройки для двух доверенных приложений, находящихся в белом списке.

Из уровня техники известны системы, в которых для некоторых программ применяют отдельные политики безопасности. Примером таких приложений являются почтовые клиенты, для безопасности которых повышают уровень сетевой защиты за счет увеличения мощности сетевых фильтров и применяют детальную проверку вложенных в письма файлов на наличие вредоносных объектов. Другим примером оптимизации контроля приложений является работа антивируса в специальном режиме во время работы игрового приложения. При этом антивирусная служба потребляет минимально возможное количество вычислительных ресурсов, откладывает запуск запланированных задач и изменяет ряд других настроек, чтобы не создавать конфликтов с игровым приложением.

Средство компьютерной безопасности, в частности, антивирус имеет ограниченное количество настроек. Формирование базы данных настроек и их применение в зависимости от конфигурации, пользователя, месторасположения КС и других факторов является тривиальной задачей, если соответствующая настройка формируется администратором КС вручную или задается прямым соответствием, например, с помощью таблицы или набора экспертных правил. Так, из уровня техники известны сервисы, позволяющие настраивать средства контроля доступа путем загрузки соответствующих профилей с удаленного сервера администрирования, описанные в публикациях US 7197550, US 20070209076. Предложенные в описаниях решения осуществляют настройку системы безопасности, в частности настройку системы контроля доступа, основываясь на информации о пользователе и работающем приложении. В отличие от существующей техники, описанное далее изобретение позволяет произвести более точную настройку безопасности компьютера пользователя за счет автоматизации процесса анализа пользовательского приложения и конфигурации системы, что позволяет сократить потребление вычислительных ресурсов компьютера пользователя и при этом применить эффективные меры защиты в отношении приложения и непосредственно хоста.

В US 7979849 и US 20110314343 описаны средства тестирования программных продуктов, основанные на исследовании графических интерфейсов и программных процессов. Отличительной особенностью заявляемого изобретения является усовершенствованный способ исследования программы не только с помощью ведения журналов событий, но и с помощью эмуляции различных условий исполнения программ, сбора статистики и симуляции воздействий на интерфейс программы.

Анализ предшествующего уровня техники и возможностей, которые появляются при их комбинировании, позволяют получить новый результат, а именно способ автоматической настройки средства безопасности. Отличительные особенности и характерные признаки настоящего изобретения более подробно раскрываются в описании вариантов осуществления.

Сущность изобретения

Настоящее изобретение предназначено для автоматизации процесса настройки средства безопасности во время работы прикладной программы с учетом функциональных особенностей данной программы.

Технический результат настоящего изобретения заключается в модификации средства безопасности для приоритизации выполняемых средством безопасности операций во время исполнения прикладной программы.

Применение изобретения на практике позволяет автоматически изменять настройки средства безопасности в зависимости от конфигурации компьютерной системы и ее изменений. При запуске приложения автоматически применяются определенные настройки средства безопасности, которые к тому же варьируются в зависимости от факторов, характеризующих текущее состояние компьютерной системы.

Технический результат достигается за счет анализа процессов исполнения прикладной программы и средства безопасности, совместно исполняющихся на компьютерной системе при различных конфигурациях компьютерной системы.

Способ автоматической модификации средства безопасности состоит из этапов, на которых: (а) проверяют приложение на соответствие критериям безопасности; (б) если приложение соответствует критериям безопасности, то приложение запускают на исполнение в тестовом режиме; (в) переключают сценарии исполнения приложения; (г) регистрируют операции, выполняемые средством безопасности во время исполнения сценариев приложения, при этом регистрируют операции, связанные с исполняемым приложением; (д) определяют приоритеты для зарегистрированных операций; (е) формируют набор инструкций, производящих модификацию средства безопасности, при этом модификация средства безопасности обеспечивает выполнение операций средством безопасности в зависимости от упомянутого приоритета; (ж) модифицируют средство безопасности путем исполнения сформированного набора инструкций.

Способ исследования приложений для автоматической настройки средства безопасности состоит из этапов, на которых: (а) приложение запускают на исполнение в реальном режиме, по меньшей мере, на одной компьютерной системе; (б) определяют сценарий исполнения приложения в реальном режиме; (в) регистрируют операции, выполняемые средством безопасности во время исполнения сценария приложения, при этом регистрируют операции, связанные с исполняемым приложением; (г) проверяют приложение на соответствие критериям безопасности; (д) если приложение соответствует критериям безопасности, то для зарегистрированных операций определяют приоритеты; (е) формируют набор инструкций, производящих модификацию средства безопасности, при этом модификация средства безопасности обеспечивает выполнение операций средством безопасности в зависимости от упомянутого приоритета; (ж) модифицируют средство безопасности путем исполнения сформированного набора инструкций.

В различных вариантах реализации в качестве критериев безопасности используют каждое или совокупность следующих условий: наличие цифровой подписи приложения; отсутствие вредоносных объектов в приложении; отсутствие уязвимостей в приложении; соответствие рейтинга безопасности доверенному.

Тестовый режим исполнения приложения в одном из вариантов осуществления реализуют за счет исполнения приложения в эмулируемой среде. Другим вариантом реализации тестового режима является применение симулятора действий пользователя компьютерной системы при исполнении приложения. Тестовый режим исполнения приложения в частном варианте реализован с применением симулятора действий пользователя компьютерной системы при исполнении приложения в эмулируемой среде.

Реальный режим исполнения приложения в одном из вариантов реализации осуществляется за счет исполнения приложения на процессоре и в памяти компьютерной системы при взаимодействии пользователя компьютерной системы с приложением.

Переключение сценариев исполнения приложения в различных вариантах реализации осуществляется путем изменения настройки приложения и/или путем вызова, по меньшей мере, одной пользовательской функции приложения. Сценарий исполнения приложения в частном варианте реализации определяется настройкой приложения и/или вызовом, по меньшей мере, одной пользовательской функции приложения.

Регистрация операций приложения и средства безопасности в одном из вариантов реализации включает перехват вызовов функций операционной системы.

Приоритеты выполняемых средством безопасности операций в частном варианте реализации определяют таким образом, что минимальное значение приоритета соответствует исключению операции. Максимальное значение приоритета в частном варианте реализации соответствует проведению операции при первой технической возможности.

Способ автоматической модификации средства безопасности и способ исследования приложений для автоматической настройки средства безопасности в различных конфигурациях компьютерной системы и компьютерной сети реализуются на одной или нескольких компьютерных системах. В случае, когда способ реализован, по меньшей мере, на двух компьютерных системах, исполнение приложения осуществляется на компьютерной системе, отличной от той, где установлено средство безопасности.

Для применения сформированного набора инструкций на компьютерных системах, отличных от той, для которой применялся способ автоматической модификации средства безопасности, частный вариант реализации дополнительно включает этап, на котором сохраняют сформированный набор инструкций.

Краткое описание прилагаемых чертежей

Сопровождающие чертежи, которые включены для обеспечения дополнительного понимания изобретения и составляют часть этого описания, показывают варианты осуществления изобретения и совместно с описанием служат для объяснения принципов изобретения.

Заявленное изобретение поясняется следующими чертежами, на которых:

Фиг.1 показывает функциональную схему системы анализа совместимости приложения и антивируса.

Фиг.2 показывает схему управления автоматической настройкой в корпоративной сети.

Фиг.3 показывает способ автоматической настройки средства безопасности.

Фиг.4 показывает алгоритм настройки средства безопасности в процессе работы КС.

Фиг.5 показывает пример компьютерной системы общего назначения.

Описание предпочтительных вариантов осуществления

Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется только в объеме приложенной формулы.

Прикладная программа или приложение - программа, предназначенная для выполнения определенных пользовательских задач и рассчитанная на непосредственное взаимодействие с пользователем. В большинстве операционных систем прикладные программы не могут обращаться к ресурсам КС напрямую, а взаимодействуют с оборудованием и системными ресурсами посредством операционной системы. Компьютерной программой называется совокупность последовательности команд, предназначенных для управления устройствами КС с целью реализации определенного алгоритма, и данных, используемых при выполнении этих команд. В контексте данного документа будут рассматриваться программы типа приложений, т.е. программы, имеющие, по меньшей мере, консольный интерфейс управления и решающие определенные пользовательские задачи. Примером прикладных программ являются офисные программы для работы с электронными документами, коммуникаторы, веб-браузеры, компьютерные игры и многие другие приложения.

Каждое приложение для решения пользовательских задач использует различные системные ресурсы, в том числе устройства, файлы, системные сервисы, доступ к которым осуществляется через API-функции (Application Programming Interface) операционной системы или среды исполнения. Каждое приложение имеет множество настроек, функциональных возможностей, доступных пользователю или администратору через некоторый интерфейс.

Существует множество способов организации интерфейсов. Первым способом организации взаимодействия пользователя с ЭВМ является текстовый пользовательский интерфейс. Примером такого интерфейса является консоль управления, посредством которой осуществляется ввод информации и указание команд. При этом отображение информации осуществляется также в текстовом или псевдографическом формате. В текстовом интерфейсе реализованы все базовые элементы управления программой-меню, кнопки, переключатели, флажки, выпадающие списки, полосы прокрутки и так далее.

Наиболее распространенным видом программного интерфейса является графический пользовательский интерфейс (ГПИ), в котором элементы приложения (меню, кнопки, значки, списки) исполнены в виде графических изображений. В отличие от интерфейса командной строки, в ГПИ пользователь имеет доступ ко всем видимым экранным объектам и осуществляет непосредственное манипулирование ими. Вариантов реализации ГПИ также существует несколько. Большой популярностью среди разработчиков пользуется технология оконного интерфейса, который реализован в рамках большинства операционных систем, в том числе, Windows, MacOS, Palm OS, GEM и других. Реализация подобного интерфейса заключается в проектировании управляющих элементов (включение стандартных форм или разработка оригинальных элементов) и обработке событий, вызываемых действиями пользователя и логикой работы программы. Другим вариантом реализации ГПИ, набирающим популярность, является веб-интерфейс - т.е. набор элементов управления и отображения, использующих возможности браузера. Как правило, веб-интерфейс используется для работы с удаленными сервисами, например, базами данных, в качестве клиентского приложения. В основе реализации веб-интерфейсов лежат такие технологии, как JavaScript, HTML, CSS, Adobe Flash, Silverlight, Ajax и другие.

Управление приложением может также осуществляться без использования пользовательского интерфейса. Для этого применяются средства администрирования или производится непосредственная модификация ресурсов приложения (файлов, ключей реестра, процесса, памяти и т.д.). Для внесения изменений в работу приложения может быть получена определенная команда как локальная, так и сетевая, изменены файлы приложения, например, файл конфигурации.

Исполнение приложения с определенным набором настроек с момента воздействия на приложение управляющего сигнала и до момента завершения обработки приложением данного сигнала будет определяться как сценарий исполнения приложения в рамках данного описания. Функционал приложения может быть представлен как набор из конечного числа сценариев. Подобное логическое разделение приложения на функциональные блоки позволяет получить более явное представление о возможностях и функциях программы при тестировании неизвестного приложения. Информация о том, какие функции используются и какие ресурсы необходимы для корректной работы программы, позволяет настроить работу средства безопасности более точно. Далее в описании будет более подробно описана взаимосвязь функциональных возможностей приложения и настроек компонент защиты, входящих в состав средства безопасности.

Для надежного обеспечения безопасности КС необходимо внедрение системы безопасности, состоящей из программно-аппаратных модулей, установленных как на КС, так и на внешних сетевых узлах. Под узлами сети понимаются компьютеры, серверы и сетевое оборудование, обеспечивающее связь компьютеров и серверов. Оптимизация работы системы безопасности для совместной работы с приложением предполагает проведение тонкой настройки всех составных модулей.

Средства безопасности в зависимости от их специализации предназначены для проверки файлов на наличие вредоносных объектов, фильтрации сетевого трафика, анализа программных процессов, фильтрации почтовых сообщений, защиты от несанкционированного доступа, предотвращения вторжений, обнаружения аномалий в сети и других. Такое разнообразие средств защиты объясняется постоянным ростом вредоносных программ, атак на корпоративные вычислительные сети и появлением новых видов угроз, направленных на новые ресурсы сети.

В качестве примера далее будет рассмотрена настройка средства безопасности, установленного на той же КС, на которой исполняется приложение. В других вариантах реализации функционал приложения может влиять также на оптимизацию параметров работы средства безопасности, установленного на другом сетевом узле, отличном от того, где исполняется данное приложение.

Ключевым элементом защиты КС является антивирус. Современные антивирусные решения включают в себя функционал, выходящий за рамки проверки файлов на содержание вредоносного кода. В данном документе антивирус следует рассматривать как синоним средству безопасности для КС. В зависимости от версии антивирусного средства функциональные возможности включают защиту КС, защиту информации, родительский контроль, модули управления и синхронизации с другими средствами безопасности.

Защита КС предназначена для борьбы против известных и новых угроз, сетевых атак, мошенничества, спама и нежелательной информации. Каждый тип угроз обрабатывается отдельным компонентом защиты. Независимо друг от друга можно включать и выключать компоненты защиты, а также настраивать их работу. В дополнение к постоянной защите, реализуемой компонентами защиты, формируются задачи периодической проверки КС, чтобы исключить возможность распространения вредоносных программ, которые не были обнаружены на первых этапах проверки.

Защиту КС в реальном времени осуществляют такие компоненты,

как:

файловый антивирус, который проверяет все открываемые, сохраняемые и запускаемые файлы на КС и на всех подключенных дисках;

почтовый антивирус, который проверяет входящие и исходящие почтовые сообщения;

веб-антивирус, который контролирует выполнение скриптов на вебсайтах, проверяет веб-трафик и блокирует доступ к опасным веб-сайтам;

IM-антивирус, который обеспечивает безопасность обмена быстрыми сообщениями;

компонент проактивной защиты, который позволяет предотвратить выполнение вредоносной операции, основываясь на контроле и анализе поведения всех программ, установленных на КС.

компонент контроля приложений, который регулирует деятельность программ, в том числе управляет доступом приложений к различным ресурсам, исходя из того, к какой группе компонент относит данную программу;

сетевой экран, который обеспечивает безопасность работы в локальных сетях и Интернете, фильтруя сетевой трафик и блокируя аномальную активность;

анти-спам, который проверяет все входящие почтовые сообщения на наличие спама.

Защита информации подразумевает под собой соблюдение целостности, конфиденциальности и доступности данных и обеспечивается следующими функциями антивируса:

резервное копирование, позволяющее создавать резервные копии данных в специальном хранилище и в случае потери данных восстанавливать данные;

шифрование данных, обеспечивающее дополнительную защиту конфиденциальным данным, помещая данные в зашифрованные контейнеры или производя полное шифрование дисков;

менеджер паролей, хранящий пароли от учетных записей в Интернете, программах и баз данных в специальном защищенном пространстве.

Компонент родительского контроля дает возможность установить гибкие ограничения доступа к интернет-ресурсам и программам, а также вести отчетность активностей пользователей на КС.

Центр управления используется в тех случаях, когда пользователь работает в домашней сети из нескольких КС, и необходим для обеспечения равновысокого уровня безопасности каждого устройства сети. Модули управления и синхронизации осуществляют обновление антивирусных баз и компонент, управляют задачами проверки и инцидентами безопасности, аккумулируют отчеты о работе антивирусных служб и обеспечивают удаленное управление ими.

Каждый из перечисленных компонент антивируса имеет определенные настройки, которые можно изменить. Помимо того, что компонент может быть включен или выключен, также существует возможность изменить параметры его работы. В основе большинства средств обнаружения лежат правила, основанные на четком и нечетком сравнении. Поэтому настройка компонент включает в себя, по меньшей мере, изменение списков сигнатур вредоносных объектов и угроз и/или изменение пороговых значений для анализаторов. Более тонкая настройка, заключающаяся в изменении алгоритмов обнаружения, осуществляется путем обновления компонент антивируса.

Как правило, каждый компонент антивируса анализирует определенный тип объектов, таким образом, обновление сигнатур объектов соответствующего класса будет являться настройкой одного или нескольких компонент антивируса.

Можно выделить несколько основных типов объектов, которые обрабатываются анализаторами для выявления вредоносного функционала или угрозы: адрес ресурса, сетевой пакет, файл, сообщение (электронное письмо), устройство, программный процесс (поток, операция). Каждый из данных типов может быть охарактеризован набором параметров.

Для файла данными параметрами являются: имя, размер, хеш-сумма, цифровая подпись, путь к файлу на диске, платформа для открытия или запуска файла и др. По набору параметров можно с большой вероятностью идентифицировать необходимый файл. Для идентификации исполняемого файла также используют эвристические анализаторы, которые основаны на поведенческих сигнатурах. Поведенческие сигнатуры могут быть различными, например, ими могут быть строки исходных кодов, трассы выполнения программ или графы вызовов.

Сетевой пакет характеризуется протоколом передачи данных, содержимым заголовков и телом пакета (содержимым поля данных). Третий тип объектов, адрес ресурса, который указывает расположение вредоносного или нежелательного объекта, задается почтовым адресом, сетевым адресом, доменным именем, именем хоста, физическим адресом, сетевым портом и др. Также отдельно стоит выделить такой тип, как учетная запись, под которой работает пользователь. Это может быть полезно для ограничения прав для данного пользователя.

Под электронным письмом понимается почтовое сообщение, сообщение ICQ, Skype, Messenger и других сервисов быстрого обмена сообщениями. Данные объекты исследуются на предмет спама с помощью лексических и графических сигнатур и фильтруются по почтовым адресам отправителей (получателей).

Еще одним типом объекта, который может быть занесен в черный или белый список, является устройство. Под устройством в данном контексте понимается внешнее запоминающее устройство, устройство ввода/вывода, мультимедийные средства, например, плеер или фотоаппарат. Их можно идентифицировать по серийному номеру, производителю и модели.

Контроль приложений основывается на ведении и анализе истории операций, выполняемых приложением. Хоть данный метод защиты относится к эвристическим методам обнаружения, а не к сигнатурным, правила, используемые при оценке безопасности приложения, накладываются на операции и ресурсы приложения. Таким образом, стоит выделить еще один тип объектов, которые обрабатываются антивирусом - программные процессы. Под этим типом понимаются отдельные операции или наборы операций, составляющие одно или несколько системных событий компьютера, например, вызов функции операционной системы, прямое обращение к устройству, чтение памяти и другие действия.

Вышеперечисленная классификация объектов, хранящихся в белых и черных списках антивирусной базы, служит примером и не ограничивает перечень хранящихся в базе объектов.

В процессе работы приложения антивирус в зависимости от сценариев исполнения приложения будет обрабатывать различные типы объектов, перечисленные выше. Данное изобретение позволяет сократить количество действий, выполняемых антивирусом для проверки работы приложения, в том случае если приложение признано доверенным. При этом полное отключение компонент защиты в процессе работы доверенного приложения может привести к заражению, потере данных и нанесению другого ущерба для пользователя или компании, поэтому настройка должна быть произведена на основании исследования приложения и адаптирована под сценарий исполнения приложения. Решение этой нетривиальной задачи позволяет обеспечить эффективную защиту КС и информации, обрабатываемой на КС, сокращая при этом количество затрачиваемых вычислительных ресурсов.

Для определения степени доверия приложения существует ряд критериев, каждому или части из которых приложение должно соответствовать. К критериям безопасности приложения относятся следующие факторы: наличие цифровой подписи; репутация правообладателя объекта; статистика по использованию данного объекта, собранная с множества КС; отсутствие признаков известных вредоносных или нежелательных объектов; отсутствие критических уязвимостей в текущей версии приложения; проведенная экспертиза приложения в антивирусной лаборатории. Данный список критериев приведен в качестве примера и не является исчерпывающем.

Пользователь или администратор может редактировать список доверенных приложений, добавляя или удаляя приложения из него, а также изменять критерии автоматического добавления приложения в список доверенных приложений. Пример правила, установленного пользователем или администратором, может выглядеть так: «Добавлять в список доверенных приложений все программы, выпущенные компанией Microsoft» или «Исключать из списка доверенных приложений все программы без цифровой подписи».

Другим вариантом использования заявленного изобретения является настройка антивируса для обеспечения безопасности работы критически важных приложений. К подобным приложениям могут относиться клиентские программы для осуществления финансовых операций, программы, обрабатывающие конфиденциальную информацию или плохо защищенные программы. В этом случае приложение может являться доверенным, но требует постоянного контроля. Если включить все компоненты антивируса одновременно на максимальный уровень защиты (установить максимальную глубину проверок), нагрузка на процессор и память возрастут настолько, что это в различные промежутки времени будет создавать проблемы для реализации пользовательских задач. При этом часть функционала антивируса в зависимости от текущих сценариев исполнения приложения не будет приносить полезный вклад в повышение уровня безопасности КС и обрабатываемых данных. Обеспечение эффективного уровня защиты с минимальным потреблением вычислительных ресурсов для критически важных приложений является второй задачей, которую решает данное изобретение.

Рассмотрим более подробно процесс анализа совместимости приложения и антивируса на функциональной схеме одного из вариантов реализации, показанной на Фиг.1. Предложенный вариант реализации предполагает исполнение приложения 120 в реальной или эмулируемой компьютерной системе, но данный пример не ограничивает применение концепции тестирования совместимости приложения и средства безопасности в статическом режиме, например, с применением дизассемблирования и семантического анализа.

Взаимодействуя с приложением 120 через интерфейс 121 или внося непосредственные изменения в код приложения 120, пользователь 100 и администратор могут совершать управление приложением: производить настройку, вызывать функции приложения, устанавливать и обновлять компоненты приложения и т.д. Действия пользователя 100 могут быть воспроизведены искусственным путем с помощью симулятора 110. В процессе исполнения приложение взаимодействует с файловой системой 191 - читает и записывает, создает и удаляет файлы; с сетевыми интерфейсами 193 - принимает и отправляет данные по сети; с устройствами ввода-вывода 194 - обрабатывает введенные с клавиатуры или с помощью манипуляторов данные; с службами ОС 192 и с другими программными и аппаратными компонентами компьютера. Взаимодействие приложения с компонентами осуществляется через API-функции операционной системы 125. Именно вызываемые API-функции определяют функционал, реализованный в приложении, а также используются антивирусом для анализа безопасности приложения и обрабатываемых данных.

Большинство антивирусов перехватывают вызовы функций операционной системы, внедряя собственный обработчик 131. Это может быть реализовано различными способами: установкой драйвера, модификацией ядра операционной системы и другими известными способами. При этом антивирус может обрабатывать ограниченный набор вызовов функций, который включает критические функции, используемые злоумышленниками для совершения вредоносных действий. На схеме изображен регистратор 141, который также предназначен для отслеживания последовательности выполняемых действий приложением, однако не ограничивается определенным списком операций, а регистрирует все выполняемые действия приложения. В других вариантах реализации антивирусный обработчик 131 и регистратор 141 реализуются в одном модуле.

Получив от обработчика 131 информацию о перехваченном вызове API-функции, антивирус 130 осуществляет проверку непосредственно самого действия и объектов, к которым данное действие адресуется. Например, приложение осуществляет операцию с файлом, тогда антивирус проверяет доступ приложения и пользователя к файлу, возможность чтения и модификации данного файла приложением, наличие в файле вредоносных или потенциально опасных объектов. В процессе работы антивируса 130 и приложения ведутся журналы операций антивируса и приложения. Журналы 150, 151 синхронизируются таким образом, что операции приложения и операции антивируса связаны причинно-следственным отношением. Это означает, что каждому действию антивируса можно сопоставить действие или набор действий приложения, которые явились основанием для проверки антивирусом. Ведение журналов 150, 151 позволяет определить обратную взаимосвязь, чтобы установить, какие действия с приложением приведут к срабатыванию антивируса, и, более конкретно, к срабатыванию определенного компонента антивируса.

Для доверенных приложений работу антивируса можно оптимизировать, добавив используемые приложением ресурсы в список доверенных объектов, которые будут исключаться из задач проверок. Задать возможные упрощения в работе антивируса во время обеспечения безопасности приложения можно с помощью экспертных правил, которые пополняются специалистами по информационной безопасности. При этом важно отметить, что специальная настройка антивируса не просто исключает доверенные объекты из проверок, а настраивает компоненты в зависимости от типа объекта и функциональной нагрузки (некоторыми компонентами проверка исключается, некоторыми усиливается, для остальных указывается глубина проверки).

Как было отмечено ранее, настройка компонент антивируса не ограничивается обновлением сигнатурных баз. Также могут быть скорректированы правила работы отдельных модулей. Большой вклад в оптимизацию работы антивируса можно внести, изменяя правила и параметры средств контроля приложений. Например, технология, основанная на оценке репутационного рейтинга программного процесса, имеет большое количество настраиваемых параметров, которая в различных вариантах реализации применяется во многих современных антивирусах. Более подробное описание технологии имеется в публикации патента на полезную модель RU 101233.

Применение репутационных методов обнаружения угроз позволяет разделять программы, не только на доверенные и вредоносные, но и определять потенциально опасные программы, на которые накладываются ограничения в зависимости от значения рейтинга, который, как правило, выражается в относительных величинах и составляет от «0» до «100» процентов. Рейтинг имеет две составляющие: статическую и динамическую. Перед запуском файла модуль контроля приложений анализирует следующие параметры: имя файла, размер файла, местонахождение файла, параметры сжатия, источники файла. Эти критерии определяют статический рейтинг файла. Таким образом, применение данного изобретения позволит исключить полностью или существенно сократить процесс расчета статической составляющей рейтинга для доверенного приложения. В процессе исполнения приложения (на хосте или в эмуляторе) рассчитывается вторая составляющая рейтинга - динамическая. Для этого модуль контроля приложений отслеживает действия программы и оценивает риск опасности для каждой из них по предустановленным критериям оценки. Для доверенных приложений применение описываемого изобретения может заключаться в изменении критериев оценки, например, в сокращении размера риска, проставляемого каждому фиксированному действию или набору действий приложения. Попытка записи и чтения памяти другого процесса, создание исполняемых файлов, попытка модификации системных файлов и системного реестра, обработка конфиденциальной информации, удаление файлов за пределами каталога приложения, регистрация драйвера и службы и многие другие подозрительные с точки зрения компьютерной безопасности действия повышают динамическую составляющую рейтинга. При этом для доверенного приложения применение описываемой технологии тонкой настройки позволит сократить количество проверок, исключив некоторые операции из факторов оценки рейтинга. Получив суммарный рейтинг, антивирус ограничивает те процессы, рейтинг которых слишком велик (т.е. они потенциально опасны).

Для ограничения использования ресурсов применяется система IPS (Intrusion Prevention System - система предотвращения вторжений, объединяющая функционал проактивной защиты и сетевого экрана, которая управляет разрешениями на доступ к файлу, реестру, системным правам и т.д.). Для опасных процессов можно запретить использовать сеть и доступ в Интернет, ограничить использование памяти и т.д. У каждого правила простановки рейтингов есть собственные параметры, такие как идентификатор, API-функция, условия для аргументов (которые задают промежуток значений для того или иного уровня опасности в процентном соотношении), оценка в процентах по количеству операций (1, 2-3, больше 3 операций), решение о возможности признать процесс вредоносным на основании этого правила. Тонкая настройка антивируса для доверенного приложения может указать перечень идентификаторов правил, по которым будут контролироваться работа приложения и накладываться ограничения, а также может изменять параметры правила, например, указать, что ни одно из правил не может признать файл вредоносным.

Далее будут приведены примеры по тонкой настройке антивируса под приложения различных типов, с которыми антивирус чаще всего вступает в конфликт из-за функций приложения, близких к аномальным или вредоносным.

Для сетевых утилит, типа скан