Способ ограничения области автоматического выбора виртуальной машины защиты
METHOD FOR LIMITING THE SCOPE OF AUTOMATIC SELECTION OF A VIRTUAL PROTECTION MACHINE

Область техники
Изобретение относится к средствам облачных компьютерных технологий, а более конкретно к средствам управления виртуальными машинами, в частности к системе и способу создания набора виртуальных машин защиты (ВМЗ) для автоматического выбора ВМЗ для соединения агента виртуальной машины.
Уровень техники
Неотъемлемой частью компьютерных технологий являются так называемые облачные технологии. Облачные технологии используют виртуальные машины, которые в свою очередь функционально аналогичны физическим машинам. В одном из вариантов реализации виртуальная машина (ВМ) является программной средой, которая внутри физической машины (например, компьютера или сервера) виртуализирует вычислительную среду, обеспечивающую работу операционной системы в виде другого компьютера. Несколько виртуальных машин могут формировать виртуальную среду. Виртуальная среда - это совокупность виртуальных машин, исполняющихся под управлением гипервизора (или нескольких) на одной или более физических машин (также именуемая как «хост-машина»). В этом случае виртуальные машины будут использовать одни и те же вычислительные ресурсы хост-машины, управление которыми обеспечивается с помощью гипервизора (монитора виртуальных машин).
Виртуальная машина, как и любое физическое компьютерное устройство (например, персональный компьютер), также уязвима для вредоносного программного обеспечения (ПО). Следовательно, существует необходимость в использовании антивирусной системы для их защиты, которая предназначена для обнаружения и удаления вредоносного ПО. В то же время реализация антивирусной системы в виртуальной среде имеет несколько особенностей. Одной из которых является то, что виртуальные машины не имеют физического жесткого диска (от англ. hard disk drive (HDD)) и используют выделенное им пространства жесткого диска хост-машины, на которой создана. Поэтому операции ввода/вывода, выполняемые на виртуальных машинах, приводят к существенной нагрузке процессора хост-машины и могут даже привести к продолжительному зависанию как самих ВМ при выполнении задач, так и хост-машины. Следовательно, существует необходимость во всяческом снижении количества и объема операций ввода/вывода, выполняемых на виртуальных машинах.
Поэтому при реализации антивирусной системы для защиты виртуальной среды была создана распределенная антивирусная система, которая позволяет разделить появляющиеся задачи по защите виртуальных машин от вредоносного ПО. Такая антивирусная система может состоять, например, из следующих компонентов: виртуальной машины, выполняющей задачи антивирусной проверки (также именуемая как виртуальная машина защиты, ВМЗ), и агентов, размещенных на каждой ВМ, которые необходимо защитить, в сети. Агенты выполняют как функции контроля ВМ, так и функции взаимодействия с ВМЗ для передачи данных с последующим получением результатов анализа данных от ВМЗ и указаний на совершения необходимых действий на ВМ в зависимости от результатов.
Кроме того, для виртуальных инфраструктур, состоящих из двух и более хост-машин, используется технология, позволяющая снизить нагрузку на вычислительные ресурсы одной хост-машины за счет миграции ВМ на другую хост-машину, которая является менее загруженной, при этом может появиться потребность в переподключении ВМ к другой ВМЗ.
Вообще задача подключения агента к нужной ВМЗ является не простой, т.к. она должна учитывать сразу множество критериев и ограничений, которые могут возникнуть. Например таких, как: правила работы виртуальных машин в той или иной виртуальной среде, в частности правила взаимодействия как самих ВМ между собой, так и с ВМЗ; политики безопасности, связанные как с пользовательскими ограничениями, так и с корпоративными ограничениями; границы размещения ВМ в сети и область их взаимодействия; и так далее. Так, например, возможна ситуация, когда согласно требованиям политики безопасности компании клиента данные разных групп ВМ не должны находится в одной точке, т.е. в одной базе данных или на одной виртуальной машине защиты. Еще одним моментом является ситуация, кода при использовании автоматического выбора виртуальной машины защиты для подключения, ВМ может произвести подключение к ВМЗ, которая расположена в другом кластере или дата-центре, хотя это может быть и запрещено политиками безопасности. Кроме того, маршрутизация между ВМ и ВМЗ, если они находятся в разных кластерах или дата-центрах, может быть организована так, что будет содержать маршруты по сетям в разных полушариях планеты, что усложняет работу. Таким образом, требуется решение, позволяющее обеспечить выполнение политик безопасности при выборе ВМЗ для подключения агентов, размещенных на ВМ, в частности, автоматизировать процесс ограничения области виртуальной среды для выбора ВМЗ при подключении как во время развертывания ВМ, так и при переподключении ВМ на другую ВМЗ, например, из-за миграции на другую хост-машину.
Стоит отметить, еще один момент. Антивирусной системе необходимо также учитывать следующее обстоятельство: при значительном количестве развертываемых ВМ в рамках одной хост-машины также постоянно возрастает нагрузка на ВМЗ, что может привести к ее отказу. Кроме того, также возможен сценарий, когда может произойти обрыв соединения между ВМ и ВМЗ. Поэтому антивирусная защита в рамках распределенного подхода защиты виртуальной среды, в частности, виртуальных машин, становится затруднительной, а то и вовсе не выполнимой. Поэтому для эффективного использования преимуществ распределенной антивирусной системы защиты необходимо обеспечивать и балансировку нагрузки на виртуальные машины защиты с учетом ограничений, связанных с областью выбора виртуальной машины защиты для подключения агентов виртуальных машин. Следовательно, существует потребность в создании и такого решения.
Настоящее изобретение позволяет более эффективно решать такую задачу как автоматизация ограничения области взаимодействия агента - ВМЗ, так и задачу балансировки нагрузки на ВМЗ с учетом автоматического ограничения области выбора ВМЗ.
Раскрытие сущности изобретения
Настоящее изобретение предлагает решение, нацеленное на развитие современных систем и способов управления виртуальными машинами. В частности, позволяет создать список виртуальных машин защиты (ВМЗ) с учетом заданных ограничений области взаимодействия агентов защиты виртуальных машин (ВМ) и ВМЗ для последующего автоматического выбора целевой ВМЗ для последующего соединения и обработки запросов на проверку данных ВМ. В частности, произвести балансировку нагрузки на виртуальные машины защиты с использованием ограничения области выбора виртуальной машины защиты для подключения агента, размещенного на виртуальной машине. Таким образом, предлагаемое решение позволит сформировать для каждого агента набор виртуальных машин защиты (ВМЗ), с которыми данный агент имеет право взаимодействовать, при этом учитываются ограничительные требования на взаимодействие как самих виртуальных машин между собой, так и с ВМЗ. Под ограничительными требованиями понимаются различные правила и политики безопасности, действующие в сети, в которой развертывается или мигрирует ВМ. Еще одной особенностью настоящего изобретения является возможность произвести балансировку нагрузки на виртуальные машины защиты с учетом ограничений, связанных с областью выбора виртуальной машины защиты для соединения с агентом виртуальной машины.
Технический результат настоящего изобретения заключается в обеспечении назначения заявленного изобретения, а именно, в автоматизации ограничения области взаимодействия виртуальных машин путем формирования списка виртуальных машин защиты для последующего выбора и подключения агента, расположенного на виртуальной машине.
В качестве одного варианта исполнения настоящего изобретения предлагается способ создания списка виртуальных машин защиты (ВМЗ) для выбора и последующего подключения к одной ВМЗ из указанного списка агентом, расположенным на виртуальной машине, при этом способ включает этапы, на которых: формируют список известных ВМЗ по крайней мере одним из следующих путей:
- путем выполнения соответствующей политики безопасности, в которой задан список адресов ВМЗ в сети, с последующим опросом каждой ВМЗ для получения ассоциированных с соответствующей ВМЗ меток и уровня области взаимодействия относительно агента ВМ,
- путем запроса к модулю интеграции с указанием требуемого агенту уровня области взаимодействия,
- путем широковещательного опроса в виртуальной среде;
исключают из сформированного списка те ВМЗ, которые не соответствуют области взаимодействия агента согласно ограничительным требованиям на взаимодействие с ВМЗ, где область взаимодействия определяет границы, в которых должны быть расположены ВМЗ для подключения, при этом границы характеризуются месторасположением в виртуальной инфраструктуре; опрашивают оставшиеся ВМЗ в упомянутом списке для определения соответствия меток ВМЗ и агента, и определения сетевой доступности к ВМЗ, после чего производится исключение из упомянутого списка тех ВМЗ, которые не доступны или метки не соответствуют меткам агента.
В другом варианте исполнения способа область взаимодействия делится на насколько уровней.
В еще одном варианте исполнения способа уровнями области взаимодействия по крайней мере являться:
- физическая машина, на которой развернута виртуальная машина,
- кластер, к которому принадлежит виртуальная машина,
- дата-центр, который объединяет кластеры гипервизоров.
В другом варианте исполнения способа дополнительными ограничительные требования на взаимодействие являются:
- требования, заданные пользователем через политики безопасности,
- требования, связанные с географическим месторасположением физической машины, на которой развернута виртуальная машина, на которой в свою очередь установлен агент,
- требования об обработке персональных данных как на виртуальных машинах, так и на виртуальной машине защите.
В еще одном варианте исполнения способа требования о персональных данных содержит ограничения, соответствующие закону о персональных данных той страны, на территории которой размещен сервер, на котором развернута виртуальная машина, на которой установлен агент.
В другом варианте исполнения способа дополнительно производят выбор ВМЗ из сформированного списка, и агент подключается к выбранной ВМЗ.
В еще одном варианте исполнения способа выбор ВМЗ из списка ВМЗ производят случайным образом с учетом текущей загрузки виртуальных машин защиты из указанного списка.
В другом варианте исполнения способа выбирают наиболее оптимальную ВМЗ из списка ВМЗ для подключения.
В еще одном варианте исполнения способа определяют с помощью модуля интеграции местоположение агента в виртуальной инфраструктуре на основании идентификатора виртуальной машины, в которой установлен агент, и составляют список ВМЗ согласно определенному местоположению агента.
В другом варианте исполнения способа шаги способа выполняются либо самим агентом, либо модулем интеграции.
В еще одном варианте исполнения способа применяют созданный список для выбора ВМЗ для подключения агента во время балансировки нагрузки на ВМЗ, размещенный в виртуальной сети.
В другом варианте исполнения способа агентом, расположенным на виртуальной машине, является антивирусный агент, предназначенный для контроля виртуальной машины, сбора информации и взаимодействия с ВМЗ при проведении антивирусной проверки как самой виртуальной машины, так и данных, хранимых на указанной виртуальной машине.
Краткое описание чертежей
Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:
Фиг. 1 показывает пример виртуальной инфраструктуры, для которой предназначена настоящее изобретение.
Фиг. 2 иллюстрирует пример формирования меток для виртуальных машин с целью использования при создании набора виртуальных машин защиты, отражающий ограничения область выбора ВМЗ.
Фиг. 3 показывает схему алгоритма работы способа создания набора виртуальных машин защиты (ВМЗ) для выбора и последующего подключения к одной ВМЗ из указанного списка агентом, расположенным на виртуальной машине с учетом ограничения области автоматического выбора виртуальной машины защиты на основании меток и месторасположения ВМЗ.
Фиг. 4 показывает алгоритм работы способа балансировки нагрузки на виртуальные машины защиты с применением способа, представленного при описании Фиг. 3.
Фиг. 5 иллюстрирует пример компьютерной системы общего назначения, на котором может быть реализовано заявленное изобретение.
Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено приложенной формуле.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Приведенное описание предназначено для помощи специалисту в области техники для исчерпывающего понимания изобретения, которое определяется только в объеме приложенной формулы.
При описании фигур был использован следующий подход при нумерации: когда в описании встречается номер объекта, в котором нет буквенной части, то описываемое суждение относится ко всем объектам, которые содержат данную часть в номере. Например, физическая машина 100 означает, что при описании имеется виду все физические машины: 100а, 100б … 100n. Если же при описании объекта приводится полная нумерация, то описание относится к конкретному объекту на фигуре (например, физическая машина 100а или виртуальная машина 120а).
Настоящее изобретение предназначено для автоматического ограничения области взаимодействия агентов, размещенных на виртуальных машинах, с виртуальными машинами защиты (ВМЗ) путем автоматизированного создания списка виртуальных машин защиты для последующего выбора ВМЗ и подключения агента, расположенного на виртуальной машине, к по крайней мере одной ВМЗ из созданного списка. Под списком понимается упорядоченный набор виртуальных машин защиты. Данный подход позволяет обеспечить выполнение различных ограничений, которые связанны со взаимодействием виртуальных машин и виртуальных машин защиты. Указанные ограничения содержаться как правило в правилах или политиках безопасности, которые в свою очередь были установлены пользователями. Кроме того, настоящее изобретение также позволяет произвести балансировку нагрузки ВМЗ с учетом действующих ограничений на взаимодействия ВМ и ВМЗ с помощью способа создания списка доступных ВМЗ для каждой ВМ.
На Фиг. 1 показан пример виртуальной инфраструктуры, в которой используется настоящее изобретение. Под виртуальной инфраструктурой понимается совокупность виртуальных машин 120 и 130, а также системы связи и управления ими. Количество виртуальных машин может исчисляться значительным числом (от нескольких до сотен). Наличие значительного количества виртуальных машин (ВМ) требует и соответствующего объема вычислительных ресурсов. Поэтому виртуальные машины могут быть созданы как на одной физической машине (например, на физической машине 100а), так и множестве физических машин 100а-100n, которые могут быть объединены в кластеры. Кластер - совокупность физических машин (или гипервизоров), которые объединены по соответствующим признакам или свойствам. Например, одни кластер будет объединять физические машины, которые размещены в одном дата-центре или которые относятся к одной корпоративной сети какой-либо организации. Виртуальные машины в свою очередь могут быть объединены в группы при необходимости. Та или иная группа виртуальных машин может быть сформирована по самым различным признакам, такими как: маска названия ВМ, IP-адрес, географическое расположение, выполняемая функция, признаки наличия угрозы и т.п. Например одна группа объединяет виртуальные машины, в том числе и ВМЗ, которые состоят в корпоративной сети конкретной организации; другая группа объединяет ВМ, которые производят аналогичный тип обработки данных; третья группа - объединяет ВМ по назначению или функциональности. В качестве примера на Фиг. 1 представлены объединения физических машин 100 в кластеры, так и группа, в которую объединены ВМ 120 и ВМЗ 130. Стоит отметить, что в общем случае гипервизор тоже может быть реализован как виртуальная машина.
В качестве физической машины может выступать как персональный компьютер (компьютер), так и сервер, пример которых описан на Фиг. 5. Стоит отметить, что расположение самих физических машин может быть различным: начиная от компьютеров, физически расположенных в одном месте (например, в офисе, дата-центре и т.п.), и заканчивая размещением физических машин в различных дата-центрах, имеющие различное географическое расположение. Например, одна виртуальная инфраструктура, состоящая из нескольких сотен виртуальных машин, которые развернуты на нескольких десятках физических машинах, которые в свою очередь распределены между несколькими дата-центрами, расположенными на разных территориях, например, территориях таких стран как: Россия, США и Германия. В качестве упрощения для дальнейшего описания на Фиг. 1 представленные физические машины состоят в одном дата-центре, но при реализации изобретения такое ограничение отсутствует.
В одном из вариантов реализации антивирусная защита виртуальных машин реализуется путем размещения антивирусного агента 140 (далее - агента) на каждой виртуальной машине 120 и развертывания по меньшей мере одной виртуальной машины защиты 130 на каждой физической машине 100, при этом требуется устанавливать соединение между агентами 140 и ВМЗ 130 для взаимодействия. Кроме того, производится и контроль нагрузки на ВМЗ с целью ее балансировки. Стоит отметить, что ВМЗ 130 по сути своей является такой же ВМ 120, а отличие связано лишь с ее назначением и функциональными задачами. Также при развертывании ВМ 120 они могут выполнять функции и задачи как персонального компьютера, так и сервера.
В одном из вариантов реализации агент 140 является средством, которое выполняет функцию непрерывной антивирусной защиты виртуальной машины 120 с помощью имеющегося функционального обеспечения, например, путем контроля происходящих событий в операционной системе виртуальной машины 120. Под функциональным обеспечением понимаются различные методы антивирусной проверки, которые как правило не являются трудоемкими методами с точки зрения использования вычислительных ресурсов, таких как процессор и жесткий диск. Все трудоемкие задачи антивирусной проверки агент 140 направляет на виртуальную машину защиты 130, с которой соединен.
В одном из вариантов реализации виртуальная машина защиты 130 для выполнения трудоемких задач антивирусной проверки содержит, по меньшей мере, модуль сканирования (не показаны на Фиг. 1). Модуль сканирования - программное обеспечение, предназначенное для выполнения антивирусной проверки данных (файлы или их части), полученных от агента 140, установленного на виртуальной машине 120. В свою очередь модуль сканирования может содержать ряд других модулей, например, модуль анализа и антивирусную базу данных, для выполнения своего предназначения. Результат антивирусной проверки ВМЗ 130 направляется агенту 140, направившему запрос с соответствующей задачей антивирусной проверки.
В частном случае реализации ВМЗ 130 также может содержать еще ряд различных модулей. Примерами таких модулей могут являться модуль обновления антивирусных баз данных и модуль контроля за лицензиями. Стоит отметить, что модуль обновления антивирусных баз данных будет производить обновления версий антивирусных баз, как используемых при сканировании непосредственно на ВМЗ 130, так и используемых агентами 140, в зависимости от варианта реализации антивирусной защиты.
Кроме того, так как ВМЗ 130 имеет соединение одновременно с несколькими ВМ 120 (например, ВМЗ 130а соединена с ВМ 120а), то ВМЗ 130 также может содержать модуль планирования. Модуль планирования предназначен для формирования очереди проведения антивирусной проверки на ВМЗ 130 для случаев получения более одной задачи антивирусной проверки или проведения антивирусной проверки разными методами антивирусной проверки. Еще одной функцией средства планирования может являться назначение приоритета задачам антивирусной проверки при формировании очереди. Можно отметить, что очередь может формироваться как в соответствии со временем получения задач антивирусной проверки, так и в соответствии с приоритизацией задач антивирусной проверки. Приоритеты задачам антивирусной проверки могут назначаться в соответствии с требуемыми методами антивирусной проверки, например, если требуется проверка методом «on access scanning», то приоритет один, если же необходима проверка методом «on demand scanning)), то приоритет другой. Также приоритизация задач может строиться на основании запросов на начало проверки из ходя из приоритетов самих ВМ 120.
В еще одном частном случае реализации ВМЗ 130 содержит модуль интеграции (не показан на Фиг. 1). Модуль интеграции позволяет ВМЗ 130 получать информацию от гипервизора, взаимодействовать с другими ВМЗ 130 и рассылать информацию для ВМ 120. Гипервизор предоставляет модулю интеграции информацию, содержащую, по крайней мере, сведения о ВМ, которые контролируются им, и сведения о текущей нагрузке на вычислительные ресурсы физической машины 100, которые предоставлены ВМЗ 130. При взаимодействии виртуальных машин защиты 130 с модулем интеграции производится обмен информацией, которая содержит сведения, по крайней мере, об одном из: о месте размещения ВМЗ, о текущих соединениях с ВМ или нагрузке на текущий момент времени. Получаемую информацию модуль интеграции предоставляет по запросу ВМ. Передача информации может проводиться постоянно с заданной периодичностью, например, каждые 5-10 секунд. В зависимости от варианта реализации модуль интеграции может быть размещен как на одной из ВМЗ, так и на одной ВМ или физической машине.
Стоит отметить, что при наличии группы виртуальных машин, каждая группа виртуальных машин 120 содержит как минимум одну ВМЗ 130, что позволит достичь наилучшей работы при антивирусной защите ВМ, при этом группа виртуальных машин может быть, как разделена между несколькими физическими машинами, так и находиться в рамках одной физической машины. Некоторые примеры вариантов реализации представлены на Фиг. 1. Так, на одной физической машине размещаются две и более ВМЗ (например, на физической машине 100г размещены три ВМЗ 130г). Физическая машина 100в выделена только под ВМЗ 130в, которая будет связана с ВМ из других групп и/или кластеров физических машин. На физической машине 100а отсутствуют ВМЗ, поэтому группа ВМ 120а будет взаимодействовать с ВМЗ из других физических машин, например, с одной из ВМЗ 1306, развернутых на физической машине 1006, так как данные физические машины объединены в кластер.
Одним из вариантов использования виртуальных инфраструктур является создание корпоративных виртуальных сред, в рамках которых формируются виртуальные машины для создания рабочих мест пользователей. В таких виртуальных инфраструктурах при развертывании на какой-либо физической машине новой виртуальной машины или в случае миграции ВМ на другую физическую машину или в другой кластер, а то и в другой дата-центр, появляется задачи поиска, выбора и подключения ВМ к ВМЗ, при этом корпоративная среда будет накладывать ряд ограничительных требований, связанных с взаимодействием ВМ с ВМ и ВМЗ. Ряд таких ограничительных требований может быть связан с передачей данных с одной ВМ на другую ВМ и последующей их обработкой. В частном случае под данными понимаются персональные данные клиентов ВМ. Так, например, ограничительные требования характеризуют требования законодательства различных стран, регулирующие такую обработку данных. Например, федеральный закон №152-ФЗ «о персональных данных» и GDPR (General Data Protection Regulation).
Кроме того, в виртуальных инфраструктурах, особенно которые объединяют десятки ВМЗ и сотни ВМ, требуется выполнять и задачу балансировки нагрузки на ВМЗ с целью уменьшения вероятности перегрузки ВМЗ, которые развернуты в сети.
В то же время при использовании автоматического выбора ВМЗ, без учета ограничительных требований, агент ВМ использует полное множество доступных ВМЗ в сети, что приведет к затратам вычислительных ресурсов. Например, может подключиться к ВМЗ, расположение которой значительно удалено (в другом кластере или дата-центре), и в этом случае трафик от агента к ВМЗ будет выходить за периметр кластера, а то и дата-центра, в котором расположена ВМ, из-за чего возникает сложность маршрутизации данных и снижение скорости передачи данных. Кроме того, если ВМ принадлежит корпоративной инфраструктуре, то также могут накладываться различные запреты и ограничения, как на взаимодействие между ВМ, так и на месторасположения ВМ и физических машин, на которых развернуты ВМ и ВМЗ. Такие ограничения могут быть не учтены при использовании автоматического подключении без применения заявленного изобретения.
Еще одной особенностью ВМЗ является то, что различные задачи, например, задачи антивирусной проверки, могут быть разделены между различными ВМЗ, либо же могут быть установлены политики безопасности по ограничению взаимодействия ВМ с ВМЗ. Кроме того, разделение может производится по самим агентам 140 ВМ 120, т.е. определенный агент должен взаимодействовать только с определенной по крайней мере одной ВМЗ 130. В этом случае ВМ (агенты) и ВМЗ наделяются определенными критериями, которые требуется учитывать при подключении агентов ВМ к ВМЗ. В одном из вариантов реализации такими критериями являются метки (англ. tag), позволяющие определить возможность взаимодействия ВМ с ВМЗ и, следовательно, которую необходимо учитывать при подключении к ВМЗ. Пример использования меток представлен на Фиг. 2.
На Фиг. 2 представлен пример формирования меток для виртуальных машин с целью их использования при создании ограничительного списка ВМЗ для выбора и последующего подключения агентов, расположенных на виртуальных машинах, к ВМЗ из указанного списка.
На Фиг. 2 представлены множества ВМ, которые разделены на 3 зоны: Зона 1, Зона 2 и Зона 3. Предположим, что есть требования политик безопасности, что данные, обрабатываемые на виртуальных машинах из Зоны 1, не должны пересекаться с данными, обрабатываемыми в других зонах (Зоне 2 и Зоне 3). Для защиты всех ВМ были развернуты пять ВМЗ. Также предполагается, что две ВМЗ (ВМЗ 1 и ВМЗ 2) направлены на взаимодействие с виртуальными машинами из Зоны 1. Другие три ВМЗ (ВМЗ 3, ВМЗ 4 и ВМ35) представлены для защиты виртуальных машин из оставшихся зон (Зона 2 и Зона 3). Для обеспечения выполнения вышеуказанного требования политик безопасности необходимо руководствоваться следующими критериями:
1) расположение ВМ из разных зон отнести к разным группам управления (например, Зона 1 - «Группа1», Зона 2 - «Группа2» и Зона 3 - «Группа3»);
2) каждая группа определяется отдельной политикой безопасности, и будет наделена различными метками, например, в качестве метки для Группы1 - «Z1», для Группы2 - «Z2» и для Группы3 - «Z3»;
3) указанные ВМЗ распределены между разными группами, так:
a. ВМЗ, выделенные для защиты Зоны 1 в группу «ГруппаСвм1»;
b. ВМЗ, выделенные для защиты Зоны 2 и Зоны 3 в группу «ГруппуСвм2»;
4) для всех ВМЗ группы «ГруппаСвм1» назначена метка - «Z1»;
5) для всех ВМЗ группы «ГруппаСвм2» назначены метки - «Z2, Z3», где для Зоны 2 - метка «Z2», для Зоны 3 - метка «Z3».
Таким образом, группы имеют вид:
- Группа1 (в политике задана метка «Z1»): ВМ 1, ВМ 2 и ВМ 3;
- Группа2 (в политике задана метка «Z2»): ВМ 4 и ВМ 5;
- Группа3 (в политике задана метка «Z3»): ВМ 6, ВМ 7, ВМ 8 и ВМ 9;
- ГруппаСвм1 (в политике задана метка «Z1»): ВМЗ 1 и ВМЗ 2;
- ГруппаСвм2 (в политике заданы метки «Z1, Z2»): ВМЗ 3, ВМЗ 4 и ВМЗ 5.
В результате агенты 140 ВМ 120 при поиске ВМЗ 130 для выбора и взаимодействия должны будут учесть требования политик, т.е. соответствие меток. Например, виртуальные машины из Группы 1 имеют метку «Z1» поэтому агенты данных ВМ должны взаимодействовать с виртуальными машинами защиты, которые имеют такую же метку «Z1». В свою очередь агенты ВМ из Группы 2 и Группы 3 могут быть подключены к ВМЗ с метками «Z2» и «Z3». Следовательно, при создании списка ВМЗ для каждого агента необходимо учитывать указанные ограничительные требования политик.
В еще одном варианте реализации изобретения метки могут и указывать, например, на виды антивирусной проверки. Так, ВМЗ 1 может быть назначена дополнительная метка - ODS (сканирование по требованию), а ВМЗ 2 - НА (эвристический анализ). Следовательно, ВМ в зависимости от типа метки на ВМЗ будет подключаться к той или иной ВМЗ. Например, ВМ 1 потребовалось произвести сканирование по требованию. Согласно метки Z1 ВМ 1 имеет возможность взаимодействовать к двум ВМЗ (ВМЗ 1 и ВМЗ 2), но так как необходимо произвести проверку по требованию, то ВМ 1 взаимодействует с ВМЗ 1.
В другом варианте реализации метки могут назначаться, когда требуется ограничить и определенный круг ВМ для использования определенной ВМЗ.
Таким образом, каждая ВМЗ имеет свой перечень меток, на основании которых агенты ВМ производят выбор ВМЗ для подключения. Метки ВМЗ могут быть назначены как администратором через политики безопасности, действующие в виртуальной инфраструктуре, при создании ВМЗ, так и автоматически на основании дополнительных политик безопасности. Например, дополнительные политики безопасности могут учитывать требования к отказоустойчивости, безопасности, быстродействию взаимодействия ВМ и ВМЗ. Также возможно и изменения меток ВМЗ в процессе эксплуатации.
На Фиг. 3 представлен способ создания списка виртуальных машин защиты для выбора и последующего подключения к одной ВМЗ из указанного списка агентом, расположенным на новой виртуальной машине или виртуальной машине, которая производит миграцию, например, в другую виртуальную сеть или кластер, или физическую машины. Формирование подмножества ВМЗ путем создания списка позволят учесть ограничительные требования на взаимодействия между ВМ и ВМЗ. В качестве примера возможных ограничительных требований считаются требования, связанные с виртуальным расположением виртуальных машин, географическим расположением физических машин, на которых развернуты виртуальные машины и/или виртуальные машины защиты, корректностью подключения к ВМЗ на основании анализа меток, присвоенных ВМЗ 130 и ВМ 120.
В еще одном варианте реализации настоящее изобретение позволяет произвести выбор оптимальной ВМЗ 130 с точки зрения нагрузки при подключении агента 140 ВМ 120 к ВМЗ 130.
На Фиг. 3 представлен пример схемы реализации способа создания списка виртуальных машин защиты (ВМЗ) для выбора и последующего подключения к одной ВМЗ из указанного списка агентом, расположенным на виртуальной машине. Указанный способ позволяет ограничить области автоматического выбора виртуальной машины защиты для удовлетворения ограничительных требований политик безопасности, специфичных для различных клиентов и различных информационных инфраструктур (IT-инфраструктура).
Возможны два варианта выбора ВМЗ для подключения агента ВМ. Первый, когда агент ВМ еще не подключен ни к одной ВМЗ, т.е. ВМ только появилась в сети. Второй, когда агент подключен, но требуется выбрать новую ВМЗ, например, из-за миграции ВМ на другую физическую машину, необходимости сбалансировать нагрузку на подключенную ВМЗ или в случае разрыва связи с действующей ВМЗ. Поэтому необходимо сформировать список ВМЗ, который будет доступен и соответствовать действующим ограничительным требованиям при взаимодействии ВМ и ВМЗ.
Для создания списка ВМЗ на шаге 305 производят с помощью самого агента или модуля интеграции (в зависимости от реализации) формирование списка всех известных ВМЗ для агента ВМ. Для этого производится сбор информации обо всех ВМЗ, размещенных в виртуальной инфраструктуре, с помощью по крайней мере одного из следующих способов. Первый заключается в чтении соответствующей политики безопасности, в которой задан список адресов ВМЗ в сети, с последующим опросом каждой ВМЗ для получения ассоциированных с ним меток и заданного уровня области взаимодействия относительно агента ВМ. Второй заключается в направлении запроса к модулю интеграции с указанием требуемого агенту уровня области взаимодействия и получении от модуля интеграции списка известных ВМЗ. Третьим способом является способ широковещательного опроса всей виртуальной инфраструктуры, т.е. производится подключение к определенной широковещательной группе, в которую ВМЗ вещают информационные пакеты с определенной периодичностью. Также могут быть использованы и все одновременно указанные способы для создания списка всех известных ВМЗ.
На шаге 310 исключают с помощью самого агента или модуля интеграции из сформированного списка те ВМЗ, которые не соответствуют критериям ограничительных требований. Одним из таких критериев является ограничение по области, в рамках которой должно производится взаимодействие. Область взаимодействия определяет границы, в которых должны быть расположены ВМЗ, к которым агент может подключиться. Область взаимодействия делится на насколько уровней, например, уровнями области взаимодействия могут являться:
- физическая машина (хост-машина), на которой развернута виртуальная машина;
- кластер (по меньшей мере одна хост-машина), к которому принадлежит виртуальная машина;
- дата-центр, в котором размещена физическая машина, на которой содержится ВМ.
Другой критерий ограничительных требований может быть связан с ограничениями, назначенными администратором IT-инфраструктуры через различные системы управления, например, такой как «Kaspersky Security Center» компании «АО Лаборатория Касперского». IT-инфраструктура может быть централизованной, распределенной или смешанной. «Kaspersky Security Center» позволяет максимально упростить управление безопасностью ВМ через назначения единых политик безопасности. Например, политики безопасности могут одержать требования, в том числе и ограничительные требования, к маршрутам передачи данных, взаимодействию между ВМ, регулированию скорости передачи данных, стойкости канала взаимодействия и так далее.
Стоит отметить, что в случае формирования списка всех известных ВМЗ на шаге 305 через запрос к модулю интеграции, исключение по уровню области взаимодействия также производится с помощью модуля интеграции.
В зависимости от реализации настоящего изобретения уровни области взаимодействия, в которых должны быть расположены ВМЗ относительно агентов ВМ для подключения, характеризуются как виртуальным месторасположением, так и географическим месторасположением. Такой подход позволяет учесть ограничения политик безопасности, регулирующие передачу данных по сети и возможность или невозможность сбора информации с различных виртуальных машин на одной и той же ВМЗ. В частности, требования к обработке персональных данных. Требования к обработке персональных данных могут содержать ограничения, соответствующие закону о персональных данных той страны, на территории которой размещена физическая машина (хост-машина), на которой развернута виртуальная машина, на которой в свою очередь установлен агент или ВМЗ.
На шаге 315 опрашивают оставшиеся ВМЗ в упомянутом списке для определения сетевой доступности и соответствия меток ВМЗ 130 и агента 140 ВМ 120. Далее производят исключение из упомянутого списка тех ВМЗ, которые не доступны, или те ВМЗ, у которых назначенные метки не соответствуют меткам агента. Для этого для каждой ВМЗ из списка на этапе 320 производят проверку сетевой доступности. Если сетевой доступ к ВМЗ есть, то переходят к этапу 330, на котором производит совместимость меток ВМЗ 130 и агента 140 ВМ 120. В противном случае, если доступа к ВМЗ 130 нет, исключают ее на этапе 350. На этапе 330, если метки ВМЗ 130 и агента 140 ВМ 120 совпадают, то переходят к этапу 360. В противном случае, если метки не совпадают, переходят к этапу 350, на котором исключают ВМЗ 130 из списка.
На этапе 360 производят формирование итогового списка ВМЗ, который содержит ВМЗ 130, соответствующие ограничительным требованиям на взаимодействие с агентом 140 ВМ 120. Далее агент 140 произведет выбор и подключение к ВМЗ из списка.
В частном случае реализации агент при выборе и подключении к ВМЗ из сформированного списка после этапа 360 выбирает либо оптимальную, либо случайную ВМЗ из сформированного списка, при этом с учетом текущей загрузки виртуальных машин защиты. Так, например, если агент не подключен ни к одной ВМЗ, то из списка доступных ВМЗ выбираются не перегруженные ВМЗ, среди которых выбирается случайная ВМЗ для подключения.
В еще одном частном варианте реализации, если какая-либо ВМЗ из сформированного списка и ВМ, содержащая подключаемый агент, запущенны на одной и той же физической машине, то такая ВМЗ имеет наибольший приоритет для ее выбора и подключения. Так как такая ВМЗ является локальной ВМЗ, позволяющей наиболее оптимально взаимодействовать при прочих равных критериях оптимальности.
В другом частном случае реализации дополнительно производится ограничение итогового списка ВМЗ по его размеру, если количество ВМЗ, попавших в указанный список ВМЗ, превышает заданное значение. Что дополнительно позволяет уменьшить количество взаимодействий агентов ВМ с ВМЗ в процессе опроса текущей загрузки, тем самым и дополнительно уменьшить нагрузку на сеть. Например, ограничение размера списка ВМЗ может быть использовано, когда существует большая вероятность, что указанный список будет содержать сотни, а то и тысячи, ВМЗ. Также дополнительно может быт применена приоритизация ВМЗ при формировании итогового списка ВМЗ определенного размера.
В одном из вариантов при формировании списка ВМЗ, который ограничен размером, приоритизация ВМЗ для попадания ВМЗ в итоговый список ВМЗ может иметь по крайней мере один из следующих критериев:
- в списке ВМЗ должны быть из той же области взаимодействия, что и агент ВМ;
- в списке должны присутствовать только ВМЗ заданной или более узкой областей взаимодействия относительно агента;
- в списке ВМЗ должны присутствовать ВМЗ, расположенные на одном и том же гипервизоре, что и агент;
- в списке для каждого агента должны присутствовать наиболее разные ВМЗ из той же области взаимодействия, если область взаимодействия содержит больше ВМЗ, чем должен содержать список ВМЗ;
- в списке должно присутствовать не более заданного количества ВМЗ.
Фиг. 4 представлен алгоритм работы способа балансировки нагрузки на виртуальных машинах защиты с учетом ограничительных требований на взаимодействие виртуальных машин защиты и агентов, установленных на виртуальных машинах.
После подключения к ВМЗ из сформированного списка ВМЗ агент периодически пересматривает выбор ВМЗ. Интервал пересмотра настраиваемый или определяется опытным путем. Это позволят балансировать нагрузку на ВМЗ не допуская перегрузки ВМЗ. При этом балансировка нагрузки ВМЗ позволяет как снизить нагрузку на те ВМЗ, нагрузка которых выше определенного уровня относительно средней нагрузки по всем ВМЗ, так и увеличить нагрузку тех ВМЗ, нагрузка которых меньше определенного уровня относительно средней нагрузки по всем ВМЗ.
Для балансировки нагрузки ВМЗ необходимо определять нагрузку каждой ВМЗ. Для каждой ВМЗ производится подсчет рейтинга нагрузки. Рейтинг нагрузки определяется суммой из нескольких метрик, которые имеют определенные веса. Примерами метрик являются следующие:
- количество защищенных агентов;
- среднее время ожидания (задержка, вызванная ожиданием в очереди удаленного взаимодействия, в миллисекундах);
- время пинга (задержка сети, миллисекунды);
- средняя загрузка ЦП и ввода-вывода (косвенный индикатор задержки, вызванной антивирусной обработкой).
При возникновении необходимости балансировки агент выполняет следующие шаги. Необходимость может возникнуть как на основании рейтинга нагрузки, так и на основании заданного периодического пересмотра балансировки.
На шаге 410 определяют список доступных ВМЗ, применяя способ создания списка ВМЗ, представленный при описании Фиг. 3, для актуализации списка ВМЗ, с которыми может взаимодействовать агент. Для этого:
- составляет список известных ВМЗ;
- исключает из списка недоступные по сети ВМЗ;
- исключает из списка те ВМЗ, которые не имеют требуемой метки;
- исключает из списка те ВМЗ, которые не соответствуют области взаимодействия агента согласно ограничительным требованиям на взаимодействие.
На шаге 420 определяют текущую загрузку каждой ВМЗ, которая содержится в сформированном списке ВМЗ на шаге 410, в том числе и текущей ВМЗ, к которой подключен агент. Для этого агент либо получает соответствующие сведения о ВМЗ от модуля интеграции, либо сам опрашивает каждый ВМЗ из сформированного списка.
В случае, если на этапе 425 загрузка текущей ВМЗ, к которой подключен агент, соответствует уровню относительно средней нагрузки по всем ВМЗ, то возвращаются к шагу 410 через установленный промежуток времени (интервал). В противном случае, если выявлена перегрузку или недогрузка ВМЗ, то переходят к шагу 430. Перегруженной ВМЗ является такая ВМЗ, у которой нагрузка выше определенного уровня относительно средней нагрузки по всем ВМЗ. Недогруженной ВМЗ является такая ВМЗ, у которой нагрузка меньше определенного уровня относительно средней нагрузки по всем ВМЗ. Стоит отметить, что определенный уровень средней нагрузки указывает на определенный диапазон значений. Либо же при сравнении со средней нагрузкой применяются поправочные коэффициенты для учета явления гистерезиса. Стоит отметить, что этап 425 является дополнительным этапом и может быть исключен.
На шаге 430 производят выбор оптимальной ВМЗ с учетом текущей загрузки и вычисляют необходимость переподключения к выбранной ВМЗ. На шаге 450 производят соединение с выбранной ВМЗ, если на шаге 440 определена необходимость переподключения. В противном случае, подключение к текущей ВМЗ остается, и переходят к шагу 410 через установленный интервал. Кроме того, в одном из вариантов реализации также после переподключения к оптимальной ВМЗ переходят к шагу 410 через установленный интервал.
В одном из вариантов реализации выбор оптимальной ВМЗ из списка для подключения к ней заключается в следующем. На основе информации о нагрузке каждой ВМЗ из списка доступных ВМЗ формируется матрица, где строки описывают ВМЗ-источники, а столбцы описывают ВМЗ-приемники. Пересечение строки и столбца описывает вероятность переподключения агента с ВМЗ-источника на ВМЗ-приемник. Матрица вероятностей переподключения пересчитывается каждый раз, когда рассматривается необходимость переподключения агента. На основании матрицы вероятностей переподключения принимается решение о необходимости переподключения агента с текущей ВМЗ на оптимальную ВМЗ.
Имея сформированную матрицу вероятностей переподключения, агент находит строку, соответствующую своей ВМЗ, и используя генератор псевдослучайных чисел (ГПСЧ, англ. pseudorandom number generator) с равномерным распределением выбирает одну из ВМЗ-приемников согласно соответствующим вероятностям. Если сумма вероятностей в строке матрицы вероятностей переподключения не равна 1, то возможен вариант, что агент не будет переподключаться. Если была выбрана ВМЗ-приемник, то она является оптимальной. Агент запускает процедуру переподключения на выбранную ВМЗ.
В частном случае реализации матрица вероятностей переподключения заполняется согласно следующим правилам:
1) Агенты мигрируют в первую очередь с наиболее загруженной ВМЗ на наименее загруженную ВМЗ.
2) Агенты не переподключаются с тех ВМЗ, загрузка которых менее минимального значения для переподключения (значение назначаемое или вычисляется в виде средней нагрузки по всем ВМЗ). В одном из вариантов реализации, в качестве минимального значения загрузки текущей ВМЗ для переподключения используется наибольшее из двух значений: заданный минимальный порог загрузки или рассчитанный средний уровень загрузки по всем ВМЗ.
3) Если загрузка ВМЗ, к которой подключен агент, выше средней загрузки по всем ВМЗ из списка ВМЗ, но ВМЗ не является перегруженной, то агенты, подключенные к такой ВМЗ будут переподключаться только к недогруженным ВМЗ.
4) За одну итерацию переподключается только заданная часть от общего числа агентов, требуемых к переподключению.
Далее приведен частный вариант построения агентом 140 матрицы вероятностной переподключения.
Сначала формируются:
- вектор ВМЗ-источников, сортированный по убыванию загрузки ВМЗ,
- вектор ВМЗ-приемников, сортированный по возрастанию нагрузки ВМЗ,
- вектор текущей загрузки ВМЗ, i-й элемент которого равен текущей загрузке i-й ВМЗ из вектора ВМЗ-приемников.
Далее вычисляется среднее значение вектора текущей загрузки, с помощью которого вычисляются уровни нагрузки для перегруженных и недогруженных ВМЗ.
После чего, формируется матрица вероятностей переподключения размером в N строк и М столбцов, где N соответствует длине вектора ВМЗ-источников, а М соответствует длине вектора ВМЗ-приемников. Матрица инициализируется нулями.
Для каждого элемента в векторе ВМЗ-источников рассчитывается загрузка ВМЗ, которая должна быть определена для каждой ВМЗ-источника. Нагрузка с ВМЗ не снижается (т.е. вся строка в матрице остается нулевой), если выполняется одно из следующих условий:
- нагрузка распространения меньше или равна 0,
- нагрузка для рассчитываемой ВМЗ-источника меньше минимальной загрузки для переподключения с нее,
- нагрузка для рассчитываемой ВМЗ-источника меньше уровни нагрузки для перегруженных ВМЗ и минимальная расчетная нагрузка больше или роввна уровню нагрузки для недогруженных ВМЗ.
Для каждого элемента в векторе текущей нагрузки вычисляется нагрузка, которую можно переместить на соответствующую ВМЗ-приемник. Если величина нагрузки меньше или равна нулю, то переходят к следующему элементу вектора текущей нагрузки, при этом элемент вектора текущей нагрузки увеличивается, а нагрузка в векторе ВМЗ-источников уменьшается на соответствующую величину. Далее рассчитывается требуемая вероятность миграции, которая обеспечит перенос нужного объема нагрузки, при этом учитываются коэффициенты скорости переподключения. Результирующая вероятность записывается в матрицу вероятностей переподключения в соответствующую ячейку. Результатом выполнения данной процедуры являются: вектор ВМЗ-источников, вектор ВМЗ-приемников и матрица вероятностей переподключения, которая указывает на вероятность переподключения с ВМЗ-источников на ВМЗ-приемники.
Процедура выбора ВМЗ из списка согласно вектору вероятностей, заключается в следующем. Непосредственно выбор ВМЗ для подключения на основе вектора вероятностей осуществляется с применением генератора псевдослучайных чисел с равномерным распределением. Вектор вероятностей получается в результате формирования списка ВМЗ и вычисления вероятности подключения к каждой из них.
Пусть S - вектор ВМЗ, а Р - вектор вероятностей (строка матрицы вероятностей переподключения), при этом P[i] задает вероятность подключения к S[i].
Создается случайное число от 0 до 1: rnd = random (0, 1).
Далее находится такое наименьшее k, для которого (Р[0]+Р[1]+…+P[k]) >= rnd, где k - это искомый индекс ВМЗ-приемника для переподключения. Индекс в векторе ВМЗ-приемников.
Если такое k не найдено, то переподключении на другую ВМЗ не осуществляется. Если k найдено, то агент должен подключиться к ВМЗ S[k].
Фиг. 5 представляет пример компьютерной системы 20 общего назначения, которая может быть использована как компьютер клиента (например, персональный компьютер) или сервер, представленные на Фиг. 1. Компьютерная система 20 содержит центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26, содержит основные процедуры, которые обеспечивают передачу информации между элементами компьютерной системы 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.
Компьютерная система 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных компьютерной системы 20.
Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.
Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканнер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например, колонками, принтером и т.п.
Компьютерная система 20 способна работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа компьютерной системы 20, представленного на Фиг. 5. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях компьютерная система (персональный компьютер) 20 подключена к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, согласующиеся с сущностью и объемом настоящего изобретения.