Система и способ распределения файлов между виртуальными машинами, входящими в распределённую систему виртуальных машин, для выполнения антивирусной проверки
Иллюстрации
Показать всеИзобретение относится к области компьютерной безопасности. Технический результат заключается в снижении использования суммарных вычислительных ресурсов виртуальных машин при проведении антивирусной проверки. Система содержит «защищаемую виртуальную машину», которая взаимодействует с двумя «виртуальными машинами защиты», при этом «защищаемая виртуальная машина» содержит средство формирования задач; средство сбора; средство вычисления динамики; средство выбора для выбора «виртуальной машины защиты» на основании полученной зависимости эффективности антивирусной проверки; определения времени начала выполнения антивирусной проверки таким образом, чтобы антивирусная проверка была закончена не позднее установленного времени и выполнялся по меньшей мере один из критериев - антивирусная проверка занимает наименьшее время; антивирусная проверка занимает время меньше установленного; для выполнения антивирусной проверки требуется минимальное количество вычислительных ресурсов; для выполнения антивирусной проверки требуется вычислительных ресурсов меньше установленного; передачи информации о выбранной «виртуальной машине защиты», которая содержит наиболее эффективное время начала выполнения антивирусной проверки. 2 н. и 6 з.п. ф-лы, 5 ил.
Реферат
Область техники
Изобретение относится к антивирусным технологиям, а более конкретно к системам и способам обнаружения вредоносных файлов на распределенной системе виртуальных машин.
Уровень техники
Бурное развитие в последнее десятилетие компьютерных, в том числе и облачных технологий, а также широкое распространение разнообразных вычислительных устройств (персональных компьютеров, ноутбуков, планшетов, смартфонов и т.д.), послужило мощным стимулом для использования упомянутых устройств во всевозможных сферах человеческой деятельности и для огромного количества задач (от интернет-серфинга и общения через интернет до банковских переводов и ведения электронного документооборота). Параллельно с ростом количества вычислительных устройств быстрыми темпами росли и объемы программного обеспечения, работающего на этих устройствах, в том числе и вредоносного.
В настоящий момент существует огромное количество разновидностей вредоносных программ. Одни крадут с устройств пользователей их персональные и конфиденциальные данные (такие, как логины и пароли, банковские реквизиты, электронные документы). Другие формируют из устройств пользователей так называемые бот-сети (англ. botnet) для подбора паролей методом грубой силы (англ. bruteforce) или атак, таких как отказ в обслуживании (англ. Distributed Denial of Service, DDOS), на другие компьютеры или компьютерные сети. Третьи навязывают пользователям платный контент через агрессивную рекламу, платные подписки, отправку CMC на платные номера и т.д.
Для борьбы с вредоносными программами используются программы - антивирусы. Эффективная борьба с вредоносными программами в первую очередь требует своевременного обнаружения файлов, содержащих код вредоносных программ, для чего антивирусные программы применяют разнообразные технологии такие, как сигнатурный, эвристический и проактивный анализ, белые и черные списки и т.д. При этом каждая упомянутая выше технология обладает собственной эффективностью обнаружения вредоносных файлов, складывающейся из потенциальной возможности обнаружить те или иные вредоносные файлы и требований к вычислительным ресурсам компьютерной системы, на которой она работает.
На текущий момент объемы данных (в том числе и файлов), обрабатываемых компьютерными системами настолько огромны, что их антивирусная проверка антивирусными программами может занимать длительное время и требовать значительных вычислительных ресурсов, что особенно критично для пользователей персональных компьютеров. Поэтому для повышения эффективности обнаружения вредоносных файлов применяются, в частности, методы увеличения вычислительных ресурсов компьютерных систем, на которых происходит поиск вредоносных файлов. С этой целью используются распределенные системы поиска вредоносных файлов, состоящие из нескольких серверов, на каждом из которых выполняется проверка лишь части файлов, требующих проверки.
Например, в публикации US 20050149749 A1 описана технология распределенной антивирусной проверки файлов с использованием нескольких вычислительных систем (клиентов). Задачи антивирусной проверки распределяются среди клиентов специальным централизованным балансировщиком задач. В качестве клиентов могут выступать виртуальные машины, что позволяет работать нескольким клиентам на одном физическом компьютере. Такой подход решает задачу повышения эффективности обнаружения вредоносных файлов, но при этом не повышает и даже снижает надежность осуществляемого обнаружения вредоносных файлов, поскольку вся технология опирается на централизованный балансировщик задач, от работы которого целиком зависит и задача поиска вредоносных файлов.
В другой публикации US9152789B2 описана технология использования облачных технологий для поиска вредоносных файлов. Для анализа файлов используется сеть распределенных серверов (облако). Задачи антивирусной проверки распределяются по серверам в зависимости от нагрузки упомянутых серверов, для чего используется единый распределительный сервер. Такой подход при некоторых условиях (устойчивое соединение, отсутствие загрузки серверов и т.д.) решает задачу повышения эффективности обнаружения вредоносных файлов, но при этом довольно требователен к компьютерным ресурсам, упомянутым выше, и зависит от работы единого распределительного сервера, что негативно сказывается на надежности проводимой антивирусной проверки файлов.
Хотя описанные выше способы работы хорошо справляются с задачами распределенной антивирусной проверки файлов, они зачастую не помогают при большой загрузке компьютерных систем, осуществляющих антивирусную проверку файлов, или при отказе работы некоторых компьютерных систем, участвующих в антивирусной проверке файлов.
Настоящее изобретение позволяет решать задачу обнаружения вредоносных файлов на распределенной системе «защищаемых виртуальных машин».
Раскрытие изобретения
Изобретение предназначено для антивирусной проверки файлов.
Технический результат настоящего изобретения заключается в снижении использования суммарных вычислительных ресурсов виртуальных машин, предназначенных для выполнения антивирусной проверки файлов, за счет распределения файлов, предназначенных для выполнения антивирусной проверки, между упомянутыми виртуальными машинами.
Данный результат достигается с помощью использования системы проведения антивирусной проверки файлов на виртуальных машинах, при этом упомянутая система содержит: «защищаемую виртуальную машину», которая взаимодействует по меньшей мере с двумя «виртуальными машинами защиты», при этом «защищаемая виртуальная машина» содержит: средство формирования задач, предназначенное для: определения по меньшей мере одного файла «защищаемой виртуальной машины» для выполнения антивирусной проверки; передачи средству сбора команды для проведения сбора информации; передачи определенного файла «виртуальной машине защиты», информация о которой предоставляется средством выбора, согласно определенному средством выбора времени проверки; средство сбора, предназначенное для: сбора характеристик вычислительных ресурсов по меньшей мере двух «виртуальных машин защиты»; сбора параметров антивирусной проверки по меньшей мере двух «виртуальных машин защиты», при этом упомянутые параметры определяют правила использования «виртуальными машинами защиты» вычислительных ресурсов соответствующих «виртуальных машин защиты»; передачи собранных характеристик вычислительных ресурсов и параметров антивирусной проверки средству вычисления динамики; средство вычисления динамики, предназначенное для: определения временной аппроксимационной зависимости характеристик вычислительных ресурсов для каждой «виртуальной машине защиты», на основании анализа собранных характеристик вычислительных ресурсов; определения аппроксимационной зависимости параметров антивирусной проверки каждой «виртуальной машины защиты» от характеристик вычислительных ресурсов соответствующей «виртуальной машины защиты», на основании анализа собранных параметров антивирусной проверки; определения временной аппроксимационной зависимости эффективности антивирусной проверки на каждой «виртуальной машине защиты» как композиции (function composition) определенных зависимостей, где композиция зависимостей представляет собой зависимость, полученную применением одной зависимости к результатам другой зависимости, при этом эффективность антивирусной проверки характеризует объем вычислительных ресурсов, требуемый «виртуальной машине защиты» для достижения установленного результата антивирусной проверки; передачи временной аппроксимационной зависимости эффективности антивирусной проверки на каждой «виртуальной машины защиты» средству выбора; упомянутое средство выбора, предназначенное для: выбора «виртуальной машины защиты» на основании полученной зависимости эффективности антивирусной проверки; определения для выбранной «виртуальной машины защиты» времени начала выполнения антивирусной проверки таким образом, чтобы выполнялся по меньшей мере один из следующих критериев: антивирусная проверка занимает наименьшее время; антивирусная проверка занимает время меньше установленного; антивирусная проверка будет закончена не позднее установленного времени; для выполнения антивирусной проверки требуется минимальное количество вычислительных ресурсов; для выполнения антивирусной проверки требуется вычислительных ресурсов меньше установленного; передачи средству формирования задач информации о выбранной «виртуальной машине защиты», которая содержит наиболее эффективное время начала выполнения антивирусной проверки выбранной «виртуальной машины защиты»; по меньшей мере две «виртуальные машины защиты», предназначенные для: выполнения антивирусной проверки файла, полученного от средства формирования задачами в определенное время, при этом выполнение антивирусной проверки файла выполняется на выбранной средством выбора «виртуальной машине защиты».
В другом частном случае реализации системы в качестве параметров антивирусной проверки выступают по меньшей мере: методы обнаружения вредоносных файлов, используемые «виртуальной машиной защиты» для выполнения антивирусной проверки; характеристики вычислительных ресурсов, используемые «виртуальной машиной защиты» для выполнения антивирусной проверки.
Еще в одном частном случае реализации системы аппроксимационная зависимость определяется методом регрессионного анализа (regression analysis).
В другом частном случае реализации системы в качестве выбранной «виртуальной машины защиты» выступает «виртуальная машина защиты», способная по меньшей мере выполнить антивирусную проверку определенного файла с помощью вычислительных ресурсов, доступных в установленный диапазон времени.
Данный результат достигается с помощью использования способа проведения антивирусной проверки файлов на виртуальных машинах, при этом способ содержит этапы, которые реализуются с помощью средств из системы проведения антивирусной проверки файлов на виртуальных машинах, и на которых: определяют по меньшей мере один файл «защищаемой виртуальной машины» для выполнения антивирусной проверки; собирают характеристики вычислительных ресурсов по меньшей мере двух «виртуальных машин защиты»; определяют временную аппроксимационную зависимость характеристик вычислительных ресурсов для каждой «виртуальной машине защиты» на основании анализа собранных на предыдущем этапе характеристик вычислительных ресурсов; собирают параметры антивирусной проверки по меньшей мере двух «виртуальных машин защиты», при этом упомянутые параметры определяют правила использования «виртуальными машинами защиты» вычислительных ресурсов соответствующих «виртуальных машин защиты»; определяют аппроксимационную зависимость параметров антивирусной проверки каждой «виртуальной машины защиты» от характеристик вычислительных ресурсов соответствующей «виртуальной машины защиты», на основании анализа собранных на предыдущем этапе параметров антивирусной проверки; определяют временную аппроксимационную зависимость эффективности антивирусной проверки на каждой «виртуальной машине защиты» как композицию (function composition) определенных на предыдущих этапах зависимостей, где композиция зависимостей представляет собой зависимость, полученную применением одной зависимости к результатам другой зависимости, при этом эффективность антивирусной проверки характеризует объем вычислительных ресурсов, требуемый «виртуальной машине защиты» для достижения установленного результата антивирусной проверки; выбирают «виртуальную машину защиты» на основании определенной на предыдущем этапе зависимости эффективности антивирусной проверки; определяют для выбранной на предыдущем этапе «виртуальной машины защиты» время начала выполнения антивирусной проверки таким образом, чтобы выполнялся по меньшей мере один из следующих критериев: антивирусная проверка занимает наименьшее время; антивирусная проверка занимает время меньше установленного; антивирусная проверка будет закончена не позднее установленного времени; для выполнения антивирусной проверки требуется минимальное количество вычислительных ресурсов; для выполнения антивирусной проверки требуется вычислительных ресурсов меньше установленного; передают определенный на первом этапе файл выбранной на предыдущем этапе «виртуальной машины защиты» согласно определенному на предыдущем этапе времени проверки.
В другом частном случае реализации способа в качестве параметров антивирусной проверки выступает по меньшей мере: методы обнаружения вредоносных файлов, используемые «виртуальной машиной защиты» для выполнения антивирусной проверки; характеристики вычислительных ресурсов, используемые «виртуальной машиной защиты» для выполнения антивирусной проверки.
Еще в одном частном случае реализации способа аппроксимационная зависимость определяется методом регрессионного анализа (regression analysis).
В другом частном случае реализации способа в качестве выбранной «виртуальной машины защиты» выступает «виртуальная машина защиты», способная по меньшей мере выполнить антивирусную проверку определенного файла с помощью вычислительных ресурсов, доступных в установленный диапазон времени.
Краткое описание чертежей
Фиг. 1 иллюстрирует систему обнаружения вредоносных файлов на виртуальной машине.
Фиг. 2 иллюстрирует способ обнаружения вредоносных файлов на виртуальной машине.
Фиг. 3 иллюстрирует временную аппроксимационную зависимость характеристик вычислительных ресурсов «виртуальных машин защиты».
Фиг. 4 иллюстрирует временные аппроксимационные зависимости характеристик вычислительных ресурсов нескольких «виртуальных машин защиты».
Фиг. 5 иллюстрирует компьютерную систему общего назначения, персональный компьютер или сервер.
Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено приложенной формуле.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, необходимыми для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.
Введем ряд определений и понятий, которые будут использоваться при описании вариантов осуществления изобретения.
«Защищаемая виртуальная машина» - виртуальная машина (англ. virtual machine), работающая под управлением гипервизора (англ. hypervisor), с установленной гостевой операционной системой (англ. guest operating system), в окружении (англ. computational environment) которой работает компонент «тонкий клиент» (англ. thin client).
«Виртуальная машина защиты» - виртуальная машина, работающая под управлением гипервизора, с установленной операционной системой, в окружении которой работает компонент «сервер защиты» (англ. protection server).
«Тонкий клиент» - программное обеспечение, предназначенное для защиты «защищаемой виртуальной машины» от вредоносных программ и компьютерных угроз и передачи по сети «виртуальным машинам защиты» файлов для антивирусной проверки.
«Сервер защиты» - программное обеспечение, предназначенное для выполнения антивирусной проверки файлов, полученных от «защищаемых виртуальных машин».
Фиг. 1 иллюстрирует систему обнаружения вредоносных файлов на виртуальной машине.
Структурная схема системы обнаружения вредоносных файлов на виртуальной машине состоит из «защищаемой виртуальной машины» 100, хранилища требующих антивирусной проверки файлов 101, средства «тонкий клиент» 110, средства сбора 111, средства вычисления динамики 112, средства выбора 113, средства формирования задач 114, «виртуальной машины защиты» 120 и средства проверки 121.
Система обнаружения вредоносных файлов на виртуальной машине содержит «защищаемую виртуальную машину» 100, работающую под управлением гипервизора, с установленной гостевой операционной системой, в окружении которой работает «тонкий клиент» 110, «виртуальные машины защиты» 120, работающие под управлением гипервизора и с установленной операционной системой, в окружении каждой из которых работает средство проверки 121.
«Виртуальная машина защиты» 120 предназначена для выполнения антивирусной проверки файлов, полученных от «тонкого клиента» 110, и содержит средство проверки 121.
Средство проверки 121 предназначено для:
- выполнения антивирусной проверки файлов, полученных от средства формирования задач 114;
- вынесения вердикта об обнаружении вредоносных файлов.
«Защищаемая виртуальная машина» 100 предназначена для обнаружения требующих антивирусной проверки файлов в хранилище файлов 101 и передачи их средству «тонкий клиент» 110 для проведения антивирусной проверки.
Средство «тонкий клиент» 110 предназначено для защиты «защищаемой виртуальной машины» 100 от вредоносных файлов и содержит средство сбора 111, средство вычисления динамики 112, средство выбора 113 и средство формирования задач 114.
Средство сбора 111 предназначено для:
- сбора характеристик вычислительных ресурсов «виртуальных машин защиты» 120;
- сбора параметров антивирусной проверки средств проверки 121, где упомянутые средства проверки 121 установлены на соответствующих «виртуальных машинах защиты» 120, при этом упомянутые параметры определяют правила использования средствами проверки 121 вычислительных ресурсов соответствующих «виртуальных машин защиты» 120, при этом упомянутые правила использования определяют, какие вычислительные ресурсы «виртуальной машины защиты» 120 будут предоставлены средству проверки 121 для выполнения тех или иных действий, составляющих антивирусную проверку;
- передачи собранных характеристик вычислительных ресурсов и параметров антивирусной проверки средству вычисления динамики 112.
При этом в качестве характеристик вычислительных ресурсов «виртуальной машины защиты» 120 могут выступать:
- время, прошедшее между получением файлов от средства формирования задач 114 до вынесения вердикта средством проверки 121;
- количество файлов, переданных средству проверки 121 для антивирусной проверки;
- вычислительная мощность «виртуальной машины защиты» 120, на которой работает средство проверки 121.
Например, в одном из вариантов реализации собранные характеристики вычислительных ресурсов «виртуальной машины защиты» 120, на которой работает средство проверки 121, могут быть обобщены в единую характеристику вычислительных ресурсов «виртуальной машины защиты» 120, которая будет представлять собой совокупность чисел:
{Δ, N, {М, B}}i
для каждого установленного момента времени передачи собранных данных средству вычисления динамики 112 ti
где:
Δ - время, прошедшее между получением файлов средством формирования задач 114 из хранилища файлов 101 до вынесения вердикта средством проверки 121;
N - количество файлов, переданных средству проверки 121 для выполнения антивирусной проверки на момент времени ti;
М - объем свободной памяти «виртуальной машины защиты» 120 на момент времени ti;
В - загрузка процессора «виртуальной машины защиты» 120 на момент времени ti.
Описанная совокупность чисел является достаточной для вычисления многомерной аппроксимационной зависимости (одним из коэффициентов которой является время), способной описать поведение средства проверки 121.
При этом в качестве параметров антивирусной проверки, осуществляемой средством проверки 121, могут выступать:
- методы обнаружения вредоносных файлов, используемые средством проверки 121 для выполнения антивирусной проверки, где в качестве методов обнаружения вредоносных файлов могут выступать:
сигнатурный анализ,
эвристический анализ,
анализ результатов эмуляции,
анализ черных и белых списков;
- характеристики вычислительных ресурсов, используемые средством проверки 121 для выполнения антивирусной проверки.
При этом качестве параметров, описывающих методы обнаружения вредоносных файлов, могут выступать:
- максимальное время, в течение которого осуществляется антивирусная проверка;
- глубина эмуляции проверяемых файлов.
При этом в качестве вычислительной мощности «виртуальной машины защиты» 120, на которой работает средство проверки 121, может выступать:
- оперативная память «виртуальной машины защиты» 120, в которой работает средство проверки 121;
- производительность процессора «виртуальной машины защиты» 120.
От того, какие параметры средства проверки 121 используются при осуществлении антивирусной проверки файлов зависит точность вердикта, выносимого средством проверки 121, т.е. шанс не обнаружить вредоносный файл среди вредоносных файлов или наоборот - шанс обнаружить вредоносный файл среди легитимных файлов при выполнении антивирусной проверки. Например, средство проверки 121 «виртуальной машины защиты» #1 120.1 осуществляет проверку каждого полученного от средства формирования задач 114 файла с помощью сигнатурного анализа в течение не более 0.01 сек, средство проверки 121 «виртуальной машины защиты» #2 120.2 - с помощью эвристического анализа с глубиной эмуляции проверяемых файлов (максимальное количество вложенных вызовов) равной 10 в течение не более 0.1 сек, а средство проверки 121 «виртуальной машины защиты» #3 120.3 - с помощью эвристического анализа с глубиной эмуляции проверяемых файлов равной 1000 в течение не более 0.04 сек. В результате оказывается, что самое эффективное средство проверки, т.е. средство проверки, использующее наибольший объем вычислительных ресурсов «виртуальной машины защиты» - средство проверки 121, работающее на «виртуальной машине защиты» #3 120.3, хотя при этом самое быстрое - средство проверки 121, работающее на «виртуальной машине защиты» #1 120.1.
Средство вычисления динамики 112 предназначено для:
- определения временной аппроксимационной зависимости характеристик вычислительных ресурсов для каждой «виртуальной машине защиты» 120 на основании анализа собранных средством сбора 111 характеристик вычислительных ресурсов, при этом описываемая аппроксимационная зависимость имеет вид:
где: Fchar - временная аппроксимационная функция,
- собранные средством сбора 111 характеристики вычислительных ресурсов «виртуальной машины защиты» 120,
- характеристики вычислительных ресурсов «виртуальной машины защиты» 120, доступные на момент времени tk,
ti, tj - время определения характеристик вычислительных ресурсов «виртуальной машины защиты» 120,
tk - время, для которого необходимо определить характеристики вычислительных ресурсов «виртуальной машины защиты» 120;
и описывается параметрами a1, a2, …ai, так, что описываемая аппроксимационная зависимость может быть представлена в виде:
- определения аппроксимационной зависимости параметров антивирусной проверки каждого средства проверки 121 от характеристик вычислительных ресурсов соответствующей «виртуальной машины защиты» 120 на основании анализа собранных средством сбора 111 параметров антивирусной проверки, при этом описываемая аппроксимационная зависимость имеет вид:
где Fparams - аппроксимационная функция,
- собранные средством сбора 111 параметры антивирусной проверки, зависящие от характеристик вычислительных ресурсов Ci,
- предполагаемые для характеристик вычислительных ресурсов Ck параметры антивирусной проверки,
Ci,j - характеристики вычислительных ресурсов «виртуальной машины защиты» 120, используемые средством проверки 121 при выполнении антивирусной проверки;
и описывается параметрами b1, b2, …bi, так, что описываемая аппроксимационная зависимость может быть представлена в виде:
- определения временной аппроксимационной зависимости эффективности антивирусной проверки на каждой «виртуальной машине защиты» 120 как композиции (англ. function composition) определенных зависимостей, где композиция зависимостей представляет собой зависимость, полученную применением одной зависимости к результатам другой зависимости, при этом эффективность антивирусной проверки характеризует объем вычислительных ресурсов, требуемый «виртуальной машине защиты» 120 для достижения установленного результата антивирусной проверки, при этом описываемая аппроксимационная зависимость имеет вид:
E=Fefficiency({F}, {C}, {P}),
где: Fefficiency - аппроксимационная зависимость,
{F} - параметры, характеризующие полученные средством формирования задач 114 файлы, где в качестве параметров могут выступать:
- тип файла,
- размер файла,
{C} - параметры, описывающие временную аппроксимационную зависимость характеристик вычислительных ресурсов «виртуальной машины защиты» 120,
{P} - параметры, описывающие аппроксимационную зависимость параметров антивирусной проверки, выполняемой средством проверки 121, от характеристик вычислительных ресурсов «виртуальной машины защиты» 120;
и описывается параметрами e1, e2, …ei, так, что описываемая аппроксимационная зависимость может быть представлена в виде:
- и передачи определенной временной аппроксимационной зависимости эффективности антивирусной проверки на каждой «виртуальной машины защиты» 120 средству выбора 113.
При этом в качестве параметров, описывающих временную аппроксимационную зависимость характеристик вычислительных ресурсов «виртуальной машины защиты» 120 могут выступать числовые коэффициенты для функции аппроксимации вида:
где - собранные средством сбора 111 характеристики вычислительных ресурсов «виртуальной машины защиты» 120,
ti - время сбора характеристик вычислительных ресурсов «виртуальной машины защиты» 120,
a i - числовые коэффициенты, описывающие аппроксимационную зависимость.
При этом в качестве параметров, описывающих аппроксимационную зависимость параметров антивирусной проверки, выполняемой средством проверки 121, от характеристик вычислительных ресурсов «виртуальной машины защиты» 120 могут выступать числовые коэффициенты для функции аппроксимации вида:
где - собранные средством сбора 111 параметры антивирусной проверки, выполняемой средством проверки 121,
Ci - характеристики вычислительных ресурсов «виртуальной машины защиты» 120,
bi - числовые коэффициенты, описывающие аппроксимационную зависимость.
При этом в качестве эффективности антивирусной проверки на «виртуальной машине защиты» 120 может выступать уровень загрузки средства проверки 121 «виртуальных машин защиты» 120.
При этом уровень загрузки средства проверки 121 «виртуальной машины защиты» 120 может вычисляться как суперпозиция совокупности параметров, описывающих временную аппроксимационную зависимость характеристик вычислительных ресурсов «виртуальной машины защиты» 120, и совокупности параметров, описывающих аппроксимационную зависимость параметров антивирусной проверки, выполняемой средством проверки 121, от характеристик вычислительных ресурсов «виртуальной машины защиты» 120, имеющая вид:
FBUSY({F}, {C}, {P})=C({F})×P({F}),
где: {F} - параметры, характеризующие полученные средством формирования задач 114 файлы,
{C} - параметры, описывающие временную аппроксимационную зависимость характеристик вычислительных ресурсов «виртуальной машины защиты» 120,
{P} - параметры, описывающие аппроксимационную зависимость параметров антивирусной проверки, выполняемой средства проверки 121, от характеристик вычислительных ресурсов «виртуальной машины защиты» 120.
При этом для вычисления параметров, описывающих временные аппроксимационные зависимости, могут применяться методы регрессионного анализа (англ. regression analysis).
Например, в случае, когда в качестве характеристики вычислительных ресурсов «виртуальной машины защиты» 120 выступает объем оперативной памяти, используемой для выполнения антивирусной проверки файлов, в качестве аппроксимационной зависимости может быть использована линейная зависимость, описываемая формулой
F(X)=а1×X+а2
В этом случае параметры a1, а2 вычисляются как
где: n - количество временных меток, во время которых были получены значения объема оперативной памяти, используемого при выполнении антивирусной проверки,
ti - временная метка получения значения объема оперативной памяти Xi, используемого при выполнении антивирусной проверки,
Xi - значение объема оперативной памяти Xi, используемого при выполнении антивирусной проверки, на момент времени ti.
Средство выбора 113 предназначено для:
- выбора средства проверки 121 на основании полученной от средства вычисления динамики 112 зависимости эффективности антивирусной проверки;
- определения для выбранного средства проверки 121 времени начала выполнения антивирусной проверки таким образом, чтобы выполнялся по меньшей мере один из следующих критериев:
антивирусная проверка занимает наименьшее время;
антивирусная проверка занимает время меньше установленного;
антивирусная проверка будет закончена не позднее установленного времени;
для выполнения антивирусной проверки требуется минимальное количество вычислительных ресурсов «виртуальной машины защиты» 120;
для выполнения антивирусной проверки требуется вычислительных ресурсов «виртуальной машины защиты» 120 меньше установленного;
- передачи средству формирования задач 114 информации о выбранном средстве проверки 121, которая содержит наиболее эффективное время начала выполнения антивирусной проверки выбранным средством проверки 121.
При этом в качестве выбранного средства проверки 121 может выступать:
- средство проверки, способное по меньшей мере выполнить антивирусную проверку файлов, определенных средством формирования задач 114, с помощью вычислительных ресурсов, доступных в установленный диапазон времени;
- средство проверки 121 с наинизшим вычисленным уровнем загрузки;
- средство проверки 121 с вычисленным уровнем загрузки ниже установленного порогового значения;
- в случае необходимости антивирусной проверки не менее двух файлов - из совокупности средств проверки 121, не менее двух средств проверки 121, чей суммарный вычисленный уровень загрузки ниже суммарного уровня загрузки оставшихся средств проверки 121.
Например, уровень загрузки средства проверки 121 может быть вычислен следующим способом: имеются 3 файла размером 10 МБ, 20 МБ и 50 МБ соответственно, для которых необходимо выполнить антивирусную проверку, средство проверки 121 предоставило параметры, которые описывают антивирусную проверку как сигнатурный анализ, занимаемый максимум 0.01 сек, а в качестве характеристики «виртуальной машины защиты» 120, на которой работает средство проверки 121, выступает объем доступной оперативной памяти, равный 60 МБ. Сигнатурный анализ означает, что файл будет размещен в оперативной памяти как есть, т.е. будет занимать такой же объем, как и его размер. Чтобы загрузка средства проверки 121 была максимальной, ему необходимо передать упомянутые 3 файла в два этапа: на первом - файл #1 и файл #3, на втором - файл #2. В результате антивирусная проверка всех трех файлов займет 0.02 сек, уровень загрузки средства проверки 121 составит 1 и 0.3(3) соответственно, а итоговая загрузка для упомянутых трех файлов - 0.6(6), что является наиболее оптимальным результатом, учитывая, что во время проверки файла #2 средство проверки 121 будет располагать вычислительными ресурсами, достаточными для обработки новых файлов. В данном случае уровень загрузки вычислялся как
FBUSY({F}, {C}, {P})=FILESIZE×SERVERTIME×MEMORYFREE.
Средство формирования задач 114 предназначено для:
- определения файлов «защищаемой виртуальной машины» 100, на которой работает средство «тонкий клиент» 110, для выполнения антивирусной проверки;
- передачи средству сбора 111 команды для проведения сбора характеристик вычислительных ресурсов «виртуальных машин защиты» 120 и параметров антивирусной проверки средств проверки 121;
- передачи определенных файлов средству проверки 121, информация о котором предоставляется средством выбора 113, согласно определенному средством выбора 113 времени проверки.
Например, в случае, когда выбрано средство проверки 121 «виртуальной машины защиты» 120, антивирусная проверка файла может быть выполнена сразу или через некоторое время. В случае, когда средство проверки 121 уже выполняет антивирусную проверку файлов, полученных от средства формирования задач 113 ранее, антивирусная проверка нового файла не будет выполняться, файл будет сохранен (например, на жестком диске «виртуальной машине защиты» 120) до тех пор, пока не будет закончена выполняемая антивирусная проверка, после чего файл будет загружен с жесткого диска в память, и средство проверки 121 выполнит антивирусную проверку. При описанной логике работы средства проверки 121 будет выполнено две времязатратные, но не обязательные (при правильной организации работы) операции - запись файла на диск и считывание файла с диска. Если же упомянутый файл отправить средству проверки 121 не сразу после выбора средства проверки 121, а несколько позже, когда средство проверки 121 выполнит предыдущие задачи, то антивирусная проверка файла будет выполнена быстрее.
Рассмотрим систему обнаружения вредоносных файлов на примере распределения 1000 файлов, общего объема 1 ГБ, «тонким клиентом» 110 «защищаемой виртуальной машины» 100 по трем «виртуальным машинам защиты» 120 (120.1, 120.2 и 120.3), чьи средства проверки 121 для выполнения антивирусной проверки используют сигнатурный анализ, эвристический анализ и анализ по белым и черным спискам соответственно. Каждый тип упомянутых выше способов анализа обладает своей эффективностью (0.6, 0.95 и 0.1 соответственно) и требует свои вычислительные ресурсы (200 МБ свободной оперативной памяти, процессора со скоростью работы не ниже 100 MFLOPS плюс 50 МБ свободной оперативной памяти и процессора со скоростью работы не ниже 10 MFLOPS плюс 10 МБ свободной оперативной