СИСТЕМА И СПОСОБ ОБЕСПЕЧЕНИЯ БЕЗОПАСНОСТИ КОНЕЧНЫХ ТОЧЕК
ENDPOINT SECURITY SYSTEM AND METHOD

Связанные с изобретением патентные заявки
[0001] По настоящей заявке испрашивается приоритет по дате подачи предварительных заявок на патент США №62/090,547 "Systems and Methods for Securing Network Endpoints", поданной 11 декабря 2014, №62/180,390 "Systems and Methods for Automatic Device Detection, Device Management, and Remote Assistance", поданной 16 июня 2015, и №62/217,310 "Systems and Methods for Automatic Network Service Takeover", поданной 11 сентября 2015, полное содержание которых включено в настоящий документ посредством ссылки.
Уровень техники
[0002] Настоящее изобретение относится к системе и способу защиты конечных сетевых точек от угроз компьютерной безопасности, а также к системе и способу автоматического обнаружения устройства и удаленного управления устройством.
[0003] Вредоносное программное обеспечение, также известное как вредоносные программы, поражает большое количество компьютерных систем по всему миру. Во множестве своих форм, таких как компьютерные вирусы, эксплойты и шпионские программы, вредоносные программы представляют собой серьезный риск для миллионов компьютерных пользователей, подвергая их, среди прочего, опасности потери данных и конфиденциальной информации, хищения идентификационных данных, а также снижению производительности.
[0004] В настоящее время к коммуникационным сетям и к Интернету подключено большое количество устройств, неофициально именуемых "Интернет вещей" (IоТ - Internet of Things). К таким устройствам относятся, среди прочего, смартфоны, умные часы, телевизоры и прочие мультимедийные устройства, игровые консоли, бытовые приборы и различные бытовые датчики, например, термостаты. По мере того как все больше таких устройств выходят в сеть, они становятся целями для угроз безопасности. Таким образом, возрастает необходимость в защите таких устройств от вредоносных программ, а также в защите данных, передаваемых от таких устройств и к ним.
[0005] Кроме того, быстрое распространение подобных интеллектуальных устройств в домашних и офисных средах ведет к возрастающей проблеме управления устройствами и сетями. Когда каждое устройство использует отдельный интерфейс конфигурирования и требует отдельных настроек подключения, управление большим количеством подобных устройств может стать обременительным, особенно для обычного пользователя домашнего ПК, не обладающего опытом администрирования сети. Таким образом, растет интерес к разработке систем и способов автоматического обнаружения и конфигурирования устройства с особенным акцентом на безопасность.
Раскрытие сущности изобретения
[0006] Настоящее изобретение в одном из своих аспектов относится к сетевому регулятору, содержащему аппаратный процессор и запоминающее устройство, причем аппаратный процессор сконфигурирован так, чтобы автоматически перенимать сетевую службу у маршрутизатора, при этом сетевой регулятор соединен с маршрутизатором по локальной сети, причем сетевая служба включает в себя назначение сетевых адресов для множества клиентских систем, соединенных с локальной сетью. Аппаратный процессор дополнительно сконфигурирован так, чтобы, в ответ на перенятие сетевой службы, перехватывать запрос от клиентской системы из множества клиентских систем на доступ к ресурсу, расположенному вне локальной сети. Аппаратный процессор дополнительно сконфигурирован так, чтобы, в ответ на перехват упомянутого запроса, передавать индикатор запроса в удаленный сервер безопасности для анализа, при этом сервер безопасности сконфигурирован так, чтобы определять, представляет ли доступ к упомянутому ресурсу угрозу компьютерной безопасности для клиентской системы.
[0007] В другом своем аспекте настоящее изобретение относится к серверу безопасности, содержащему по меньшей мере один аппаратный процессор и запоминающее устройство, при этом упомянутый по меньшей мере один аппаратный процессор сконфигурирован так, чтобы получать от сетевого регулятора, соединенного с удаленной сетью, индикатор запроса клиентской системой, соединенной с удаленной сетью, на доступ к ресурсу, расположенному вне удаленной сети. Упомянутый по меньшей мере один аппаратный процессор дополнительно сконфигурирован так, чтобы, в ответ на получение индикатора запроса, определять, представляет ли доступ к упомянутому ресурсу угрозу компьютерной безопасности для клиентской системы. Сетевой регулятор сконфигурирован так, чтобы автоматически перенимать сетевую службу у маршрутизатора, соединенного с сетевым регулятором по удаленной сети, причем сетевая служба включает в себя назначение сетевых адресов для множества клиентских систем, соединенных с удаленной сетью. Сетевой регулятор дополнительно сконфигурирован так, чтобы, в ответ на перенятие сетевой службы, перехватывать упомянутый запрос, и, в ответ на перехват запроса, передавать индикатор запроса в сервер безопасности.
[0008] В другом своем аспекте настоящее изобретение относится к долговременному машиночитаемому носителю, на котором хранятся команды, которые при их исполнении по меньшей мере одним аппаратным процессором сетевого регулятора обеспечивают то, что сетевой регулятор автоматически перенимает сетевую службу у маршрутизатора, причем сетевой регулятор соединен с маршрутизатором по локальной сети, при этом сетевая служба включает в себя назначение сетевых адресов для множества клиентских систем, соединенных с локальной сетью. Кроме того, исполнение этих команд обеспечивают то, что сетевой регулятор в ответ на перенятие сетевой службы перехватывает запрос от клиентской системы из множества клиентских систем на доступ к ресурсу, расположенному вне локальной сети. Исполнение упомянутых команд дополнительно обеспечивает то, что сетевой регулятор в ответ на перехват упомянутого запроса передает индикатор запроса в удаленный сервер безопасности для анализа, при этом сервер безопасности сконфигурирован так, чтобы определять, представляет ли доступ к упомянутому ресурсу угрозу компьютерной безопасности для клиентской системы.
Краткое описание чертежей
[0009] Вышеупомянутые аспекты и преимущества настоящего изобретения более ясны из нижеследующего подробного описания со ссылками на чертежи, где:
[0010] на фиг. 1-А показан пример конфигурации из клиентских систем, соединенных между собой посредством локальной сети, и сетевого регулятора, защищающего клиентские системы от угроз компьютерной безопасности, согласно некоторым вариантам осуществления настоящего изобретения;
[0011] на фиг. 1-В показана альтернативная конфигурация из клиентских систем и сетевого регулятора согласно некоторым вариантам осуществления настоящего изобретения;
[0012] на фиг. 2 показан набор удаленных серверов, взаимодействующих с сетевым регулятором, согласно некоторым вариантам осуществления настоящего изобретения;
[0013] на фиг. 3 показан пример аппаратной конфигурация клиентской системы согласно некоторым вариантам осуществления настоящего изобретения;
[0014] на фиг. 4 показан пример аппаратной конфигурации сетевого регулятора согласно некоторым вариантам осуществления настоящего изобретения;
[0015] на фиг. 5 показан пример аппаратной конфигурация устройства администрирования согласно некоторым вариантам осуществления настоящего изобретения;
[0016] на фиг. 6 показан пример набора компонентов программного обеспечения, исполняемых в защищенной клиентской системе согласно некоторым вариантам осуществления настоящего изобретения;
[0017] на фиг. 7 показан пример набора компонентов программного обеспечения, исполняемого в сетевом регуляторе согласно некоторым вариантам осуществления настоящего изобретения;
[0018] на фиг. 8 показан пример программного обеспечение, исполняемого в маршрутизаторе согласно некоторым вариантам осуществления настоящего изобретения;
[0019] на фиг. 9 показан пример программного обеспечения, исполняемого на устройстве администрирования согласно некоторым вариантам осуществления настоящего изобретения;
[0020] на фиг. 10 показан пример последовательности этапов, выполняемых сетевым регулятором согласно некоторым вариантам осуществления настоящего изобретения;
[0021] на фиг. 11 показан пример обмена данными между маршрутизатором, сетевым регулятором и сервером конфигурирования, осуществляемый при выполнении процедуры перенятия сетевых служб, согласно некоторым вариантам осуществления настоящего изобретения;
[0022] на фиг. 12 показан пример последовательности этапов, выполняемых сетевым регулятором при выполнении процедуры перенятия сетевых служб, согласно некоторым вариантам осуществления настоящего изобретения;
[0023] на фиг. 13 показан альтернативный пример обмена данными, выполняемый при перенятии сетевых служб, согласно некоторым вариантам осуществления настоящего изобретения;
[0024] на фиг. 14 показан пример последовательности этапов, выполняемых сетевым регулятором совместно с сервером конфигурирования для осуществления перенятия сетевых служб, согласно некоторым вариантам осуществления настоящего изобретения;
[0025] на фиг. 15 показан обмен данными между маршрутизатором, сетевым регулятором и клиентской системой, осуществляемый в другом примере процедуры перенятия сетевых служб, согласно некоторым вариантам осуществления настоящего изобретения;
[0026] на фиг. 16 показан другой пример последовательности этапов, выполняемых сетевым регулятором при выполнении процедуры перенятия сетевых служб, согласно некоторым вариантам осуществления настоящего изобретения;
[0027] на фиг. 17 показан пример обмена данными между клиентской системой, сетевым регулятором и сервером конфигурирования в качестве части процесса установки специфического для устройства агента;
[0028] на фиг. 18 показан пример последовательности этапов, выполняемых сетевым регулятором при выполнении процедуры установки агента, согласно некоторым вариантам осуществления настоящего изобретения;
[0029] на фиг. 19-А показан вариант осуществления настоящего изобретения, в котором часть сетевого трафика сканируется на сервере безопасности согласно некоторым вариантам осуществления настоящего изобретения;
[0030] на фиг. 19-В показан вариант осуществления настоящего изобретения, в котором часть сетевого трафика сканируется сетевым регулятором согласно некоторым вариантам осуществления настоящего изобретения;
[0031] на фиг. 20 показан пример обмена данными между клиентской системой, сетевым регулятором и сервером конфигурирования в качестве части процесса конфигурирования вспомогательного агента виртуальной частной сети (VPN) и безопасного соединения для защищенной клиентской системы, согласно некоторым вариантам осуществления настоящего изобретения;
[0032] на фиг. 21 показан пример последовательности этапов, выполняемых клиентской системой для обеспечения работы агента VPN, согласно некоторым вариантам осуществления настоящего изобретения.
Осуществление изобретения
[0033] В нижеследующем описании следует понимать, что все упоминаемые соединения между структурами могут представлять собой прямые функциональные соединения или косвенные функциональные соединения промежуточных структур. Набор элементов содержит один или более элементов. Любой упоминаемый элемент следует понимать как по меньшей мере один элемент. Множество элементов включает в себя по меньшей мере два элемента. Если не указано иное, любые описанные этапы способа не обязательно выполняются в конкретном приведенном порядке. Первый элемент (например, данные), полученный из второго элемента, охватывает первый элемент, эквивалентный второму элементу, а также первый элемент, сгенерированный посредством обработки второго элемента и, опционально, другие данные. Определение или решение в соответствии с некоторым параметром включает в себя определение или решение в соответствии с этим параметром и, опционально, согласно другим данным. Если не указано иное, индикатор некоторой величины или некоторых данных может представлять собой саму величину или сами данные, или индикатор, отличный от самой величины или самих данных. Компьютерная безопасность включает в себя защиту пользователей и аппаратного оборудования от непреднамеренного или несанкционированного доступа к данным и/или аппаратному оборудованию, от непреднамеренной или несанкционированной модификации данных и/или аппаратного оборудования, а также от повреждения данных и/или аппаратного оборудования. Компьютерная программа представляет собой последовательность процессорных команд, выполняющих некоторую задачу. Компьютерные программы, описанные применительно к некоторым вариантам осуществления настоящего изобретения, могут представлять собой автономные программные объекты или подобъекты (например, подпрограммами, библиотеками) других компьютерных программ. Два устройства называются связанными с одной и той же локальной сетью или принадлежат ей, если их сетевые адреса принадлежат одной и той же подсети и/или когда они оба имеют один и тот же широковещательный адрес. Туннелем называется виртуальное соединение типа "точка-точка" между двумя объектами, соединенными с коммуникационной сетью. Машиночитаемые носители включают в себя долговременные носители, такие как магнитные, оптические и полупроводниковые запоминающие носители (например, жесткие диски, оптические диски, флэш-память, DRAM), а также линии связи, такие как токопроводящие кабели и волоконно-оптические линии. Согласно некоторым вариантам осуществления настоящее изобретение обеспечивает возможность создания, в частности, компьютерных систем, содержащих аппаратное оборудование (например, один или более микропроцессоров), запрограммированное на выполнение описываемых способов, и машиночитаемых носителей, кодирующие команды для выполнения описанных здесь способов.
[0034] Нижеследующее описание иллюстрирует варианты осуществления изобретения посредством примера и не обязательно посредством ограничения.
[0035] На фиг. 1-А-В показаны примеры конфигураций 10а-b сети согласно некоторым вариантам осуществления настоящего изобретения, в которых множество клиентских систем 12a-f соединены друг с другом по локальной сети 14 и дополнительно соединены с расширенной сетью 16, такой как Интернет. Клиентские системы 12a-f могут представлять собой любое электронное устройство, содержащее процессор, запоминающее устройство и коммуникационный интерфейс. Примеры клиентских систем 12a-f включают в себя, среди прочего, персональные компьютеры, ноутбуки, планшетные компьютеры, мобильные телекоммуникационные устройства (например, смартфоны), медиаплееры, телевизоры, игровые консоли, бытовую технику (например, холодильники, термостаты, интеллектуальные системы отопления и/или освещения), и носимые устройства (например, умные часы, спортивное и фитнес-оборудование). Локальная сеть 14 может содержать локальную вычислительную сеть (LAN). Примеры локальных сетей 14 могут включать в себя, среди прочего, домашнюю сеть и корпоративную сеть.
[0036] Маршрутизатор 19 содержит электронное устройство, обеспечивающее возможность коммуникации между клиентскими системами 12a-f и/или доступа клиентских систем 12a-f к расширенной сети 16. В некоторых вариантах осуществления маршрутизатор 19 выполняет функции шлюза между локальной сетью 14 и расширенной сетью 16, и предоставляет набор сетевых служб для клиентских систем 12a-f. Если не указано иное, термин "сетевые службы" используется в данном документе для обозначения служб, обеспечивающих взаимную коммуникацию клиентских систем 12a-f, а также коммуникацию между клиентскими системами 12a-f и другими объектами. Такие службы могут включать в себя, например, распределение параметров конфигурирования сети (например, сетевых адресов) в клиентских системах 12a-f и маршрутную коммуникацию между задействованными конечными точками. Примеры сетевых служб приводят в исполнение протокол динамического конфигурирования хоста (DHCP).
[0037] На фиг. 1-А-В дополнительно показан сетевой регулятор 18, соединенный с локальной сетью 14. В некоторых вариантах осуществления сетевой регулятор 18 содержит сетевое устройство, сконфигурированное с возможностью выполнять различные службы для клиентских систем 12a-f. К таким службам относятся, в частности, службы компьютерной безопасности (например, средства защиты от вредоносных программ, обнаружение вторжений, средства защиты от шпионских программ и так далее), управление устройствами (например, удаленное конфигурирование клиентских систем 12a-f), службы родительского контроля, службы безопасности связи (например, виртуальная частная сеть - VPN), а также удаленная техническое обеспечение (например, устранение неисправностей устройств и/или сетей).
[0038] В типичном способе использования в соответствии с некоторыми вариантами осуществления настоящего изобретения сетевой регулятор 18 вводят в локальную сеть, уже сконфигурированную и управляемую маршрутизатором 19. В некоторых вариантах осуществления при установке регулятор 18 перенимает сетевые службы, например DHCP, у маршрутизатора 19, и устанавливает себя в положение шлюза между локальной сетью 14 и расширенной сетью 16, чтобы по меньшей мере часть трафика между клиентскими системами 12a-f и расширенной сетью 16 проходила через сетевой регулятор 18 (как показано на фиг. 1-А). Размещение сетевого регулятора 18 в положение шлюза может быть предпочтительным, поскольку в некоторых вариантах осуществления регулятор 18 предоставляет службы компьютерной безопасности путем перенаправления, по меньшей мере, некоторой части трафика (например, запросов HTTP) от клиентских систем 12a-f на защищенный сервер. Наличие регулятора 18 в положении шлюза может упростить перехватывание такого трафика.
[0039] В некоторых вариантах осуществления, как например в показанном на фиг. 1-В примере, маршрутизатор 19 может продолжать работать в качестве шлюза для локальной сети 14 после установки регулятора 18, однако в таких случаях сетевой регулятор 18 предпочтительно располагают между клиентскими системами 12a-f и имеющимся шлюзом (то есть маршрутизатором 19) так, чтобы регулятор 18 относился к той же локальной сети, что и клиентские системы 12a-f. Такое положение является предпочтительным, поскольку в некоторых вариантах осуществления сетевой регулятор 18 сконфигурирован с возможностью взаимодействовать с удаленным сервером для определения типа каждой клиентской системы (например, смартфона или ПК) и, в ответ доставлять зависящий от конкретного устройства вспомогательный агент в некоторые из клиентских систем 12a-f. Конфигурации, в которых регулятор 18 не является членом локальной сети 14 (например, когда регулятор 18 размещен между маршрутизатором 19 и расширенной сетью 16), могут в некоторой степени усложнить обнаружение такого устройства и доставку агента.
[0040] В некоторых вариантах осуществления клиентские системы 12a-f контролируются, управляются и/или конфигурируются удаленно пользователем/администратором с использованием программного обеспечения, исполняемого на устройстве 20 администрирования, соединенном с расширенной сетью 16 (например, сетью Интернет). Примеры устройств 20 администрирования включают в себя, среди прочего, смартфоны и персональные компьютерные системы. Устройство 20 может отображать графический пользовательский интерфейс (GUI), позволяющий пользователю удаленно конфигурировать клиентские системы 12a-f и/или управлять их работой, например, для установки опций конфигурирования и/или для получения уведомлений о связанных с безопасностью событиях, происходящих на соответствующих клиентских системах.
[0041] В некоторых вариантах осуществления сетевой регулятор 18 выполнен с возможностью взаимодействовать с набором удаленных компьютерных систем для выполнения различных служб для клиентских систем 12a-f. Примеры удаленных компьютерных систем включают в себя сервер 50 безопасности и сервер 52 конфигурирования, показанные на фиг. 2. Серверы 50 и 52 могут содержать отдельные машины или кластеры из множества соединенных друг с другом компьютерных систем. В некоторых вариантах осуществления сетевой регулятор 18 перенаправляет часть или весь трафик, поступающий в клиентские системы 12a-f и/или от них к серверу 50 безопасности. Затем сервер 50 может выполнять операцию обнаружения угрозы (например, обнаружение вредоносных программ, блокирование доступа к вредоносным или мошенническим веб-сайтам, предотвращение вторжений и так далее) для защиты клиентских систем 12a-f от угроз компьютерной безопасности. Сервер 50 безопасности может быть дополнительно соединен с базой 55 данных событий, содержащей множество записей безопасности, причем каждая запись безопасности включает в себя данные, указывающие на событие безопасности, а также индикатор связи между соответствующим событием и защищенной клиентской системой.
[0042] Одно из преимуществ маршрутизации трафика в защищенную клиентскую систему или от нее через сервер 50 безопасности заключается в том, что это позволяет соответствующей клиентской системе выйти за пределы локальной сети 14, получая при этом преимущества от защиты. Такие конфигурации подробно описаны ниже.
[0043] В некоторых вариантах осуществления сервер 52 конфигурирования выполнен с возможностью взаимодействовать с устройством 20 администрирования для конфигурирования настроек управления устройствами и/или безопасности регулятора 18, маршрутизатора 19 и/или защищенной клиентской системы 12. Сервер 52 может быть соединен с возможностью коммуникации с базой 54 данных подписок и с базой 56 данных характеристик устройств. База 54 данных подписок может хранить множество записей подписки, при этом каждая запись подписки указывает на набор клиентских систем под управлением устройства, согласно некоторым вариантам осуществления настоящего изобретения. В одном из вариантов осуществления каждая запись подписки однозначно связана с отдельным сетевым регулятором 18. В таком варианте осуществления все клиентские системы 12, сконфигурированные и/или обслуживаемые иным образом с использованием соответствующего сетевого регулятора (например, клиентские системы 12a-f, соединенные с локальной сетью 14 на фиг. 1-А), связаны с одной и той же записью подписки. Каждая запись подписки может включать в себя индикатор периода подписки и/или набор параметров подписки, описывающих, например, требуемый уровень безопасности или выбор служб, на которые выполнена подписка. Подписки могут управляться на основании соглашения об уровне служб (SLA).
[0044] В некоторых вариантах осуществления база 56 данных характеристик устройств содержит набор записей, указывающих на конфигурируемые характеристики каждой из клиентских систем 12 и/или текущие настройки конфигурирования для каждой клиентской системы. База 56 данных может дополнительно содержать полный набор записей, пригодных для определения типа устройства клиентской системы 12. Такие записи могут включать в себя элементы, соответствующие различным типам устройств (например, маршрутизаторы, смартфоны, носимые устройства и так далее), маркам и моделям, от разных производителей, которые используют различные операционные системы (например, Windows или Linux). Примеры таких элементов могут содержать, среди прочего, индикаторы того, использует ли устройство соответствующего типа конкретный сетевой протокол для коммуникации (например, HTTP, Bonjour), индикатор макета интерфейса входа в систему, предоставляемого соответствующим типом устройства, и так далее.
[0045] На фиг. 3-4-5 показаны примеры аппаратных конфигураций клиентской системы 12, сетевого регулятора 18 и устройства 20 администрирования соответственно. Без потери общности показанные конфигурации соответствуют компьютерным системам (фиг. 3-4) и смартфону (фиг. 5). Аппаратные конфигурации других систем (например, планшетных компьютеров) может отличаться от конфигураций, показанных на фиг. 3-4-5. Каждый из процессоров 22, 122 и 222 содержит физическое устройство (например, микропроцессор, многоядерную интегральную схему, выполненную на полупроводниковой подложке), сконфигурированное для исполнения вычислительных и/или логических операций с набором сигналов и/или данных. Блоки 24, 124 и 224 запоминающего устройства могут содержать энергозависимые машиночитаемые носители (например, оперативное запоминающее устройство RAM), хранящие сигналы данных, к которым, соответственно, осуществляют доступ процессоры 22, 122 и 222 или которые генерируются этими процессорами в ходе выполнения операций.
[0046] Устройства 26, 226 могут включать в себя, среди прочего, компьютерные клавиатуры, мыши и микрофоны, включая соответствующие аппаратные интерфейсы и/или адаптеры, позволяющие пользователю вводить данные и/или команды в соответствующую систему. Устройства 28, 228 вывода могут включать в себя, среди прочего, устройства отображения, такие как мониторы и динамики, а также аппаратные интерфейсы/адаптеры, такие как графические карты, позволяющие соответствующей системе передавать данные пользователю. В некоторых вариантах осуществления устройства ввода и вывода совместно используют общий элемент аппаратного обеспечения (например, сенсорный экран). Устройства 32, 132 и 232 хранения включают в себя машиночитаемые носители, обеспечивающие возможность долговременного хранения, чтения и записи команд программного обеспечения и/или данных. Примеры устройств хранения включают в себя магнитные и оптические диски, устройства флэш-памяти, а также съемные носители, такие как CD- и/или DVD-диски и дисководы.
[0047] Сетевые адаптеры 34, 134 позволяют клиентской системе 12 и сетевому регулятору 18 соответственно подключаться к электронной коммуникационной сети, такой как локальная сеть 14, и/или к другим устройствам/компьютерным системам. Коммуникационные устройства 40 (фиг. 5) позволяют устройству 20 администрирования соединяться с расширенной сетью 16 (например, Интернет) и могут включать в себя телекоммуникационное аппаратное обеспечение (излучатели/приемники электромагнитных волн, антенна и так далее). В зависимости от типа устройства и от конфигурации, устройство 20 администрирования может дополнительно включать в себя устройство 42 геолокации (например, приемник GPS) и набор датчиков 136 (например, датчики движения, оптические датчики и так далее).
[0048] Контроллер-концентраторы 30, 130, 230 представляют собой множество системных, периферийных шин и/или шин набора микросхем и/или все другие схемы, обеспечивающие возможность коммуникации между процессором каждой соответствующей системы и остальными аппаратными компонентами. В примере клиентской системы 12 (фиг. 3) концентратор 30 может содержать контроллер памяти, контроллер ввода/вывода (I/O) и контроллер прерываний. В зависимости от производителя аппаратного оборудования некоторые из таких контроллеров могут быть объединены в одну интегральную схему и/или могут быть интегрированы с процессором.
[0049] На фиг. 6 показан пример компонентов программного обеспечения, исполняемого в клиентской системе 12, согласно некоторым вариантам осуществления настоящего изобретения. Такое программное обеспечение может включать в себя операционную систему (OS) 40, обеспечивающую возможность взаимодействия между аппаратным оборудованием клиентской системы 12 и набором приложений программного обеспечения, исполняемых в соответствующей клиентской системе. Приложения программного обеспечения включают в себя вспомогательный агент 41, сконфигурированный для предоставления различных служб соответствующей клиентской системе, таких как службы безопасности, службы управления устройствами, службы родительского контроля, службы безопасной связи (например, виртуальная частная сеть - VPN) и так далее. В некоторых вариантах осуществления вспомогательный агент 41 сконфигурирован так, чтобы осуществлять доступ и/или изменять набор настроек конфигурирования клиентской системы 12 (например, параметры конфигурирования сети, параметры управления электропитанием, параметры безопасности, специфические для устройства параметры, такие как требуемая температура для термостата с удаленным управлением, или выбор ламп в случае устройства управления домашним освещением с удаленным управлением и так далее). В некоторых вариантах осуществления установка агента 41 в клиентской системе 12 инициируется и/или обеспечивается посредством сетевого регулятора 18, как раскрыто более подробно далее.
[0050] На фиг. 7 показан набор компонентов программного обеспечения, исполняемых в сетевом регуляторе, согласно некоторым вариантам осуществления настоящего изобретения. Такие компоненты могут включать в себя, среди прочего, модуль 42 обнаружения устройства и модуль 43 DHCP. В некоторых вариантах осуществления модуль 43 предоставляет службы DHCP для локальной сети 14. Такие службы могут включать в себя доставку информации конфигурации протокола Интернет (IP) клиентам, запрашивающим доступ к локальной сети 14 и/или к расширенной сети 16. Модуль 42 обнаружения устройства может быть сконфигурирован для взаимодействия с удаленным сервером конфигурирования для обнаружения типа устройства клиентской системы 12, как описано ниже. В некоторых вариантах осуществления регулятор 18 дополнительно выполняет модуль 44 нарушения работы сети, сконфигурированный так, чтобы обеспечивать перенятие сетевых служб, как подробно описано ниже.
[0051] На фиг. 8 показан пример набора компонентов программного обеспечения, исполняемого на маршрутизаторе 19, согласно некоторым вариантам осуществления настоящего изобретения. Такие компоненты программного обеспечения могут включать в себя операционную систему 140 и набор приложений, который включает в себя сервер 45 DHCP. Сервер 45 может быть использован для распределения параметров конфигурирования сети (например, IP-адресов) по клиентским системам 12а-f для настройки локальной сети 14.
[0052] На фиг. 9 показан пример набора компонентов программного обеспечения, исполняемого на устройстве 20 администрирования (например, на смартфоне), согласно некоторым вариантам осуществления настоящего изобретения. Такие компоненты программного обеспечения могут включать в себя операционную систему 240 и набор приложений. Приложения включают в себя приложение 46 администрирования, сконфигурированное так, чтобы позволить пользователю удаленно конфигурировать клиентские системы 12a-f. конфигурирование систем 12a-f может включать в себя, среди прочего, конфигурирование настроек безопасности, специфических для клиента, конфигурирование параметров сетевого доступа, специфических для клиента (например, скорости соединения и так далее), и запуск задач обслуживания (например, обновления программного обеспечения, операции очистки диска и так далее). Приложение 46 администрирования может отображать графический пользовательский интерфейс (GUI) 48 администрирования для пользователя устройства 20 администрирования.
[0053] На фиг. 10 показана последовательность этапов, выполняемых сетевым регулятором 18 согласно некоторым вариантам осуществления настоящего изобретения. Такая последовательность может выполняться, например, при установке сетевого регулятора 18 или когда регулятор 18 впервые вводят в локальную сеть 14. На этапе 300 регулятор 18 автоматически обнаруживает маршрутизатор 19, в данном случае представляющий собой поставщика сетевых служб. В некоторых вариантах осуществления регулятор 18 затем перенимает некоторые из сетевых служб у маршрутизатора 19. Такое перенятие может включать в себя отключение или деактивацию иным образом некоторых функциональных возможностей маршрутизатора 19 и замену маршрутизатора 19 в качестве поставщика, по меньшей мере, части сетевых служб, связанных с локальной сетью 14. В альтернативном варианте осуществления перенятие служб может содержать предоставление альтернативного набора сетевых служб в дополнение к тем, которые управляются маршрутизатором 19, без фактической деактивации последнего. В некоторых вариантах осуществления этап 302 дополнительно содержит установку сетевого регулятора 18 в положении шлюза между локальной сетью 14 и расширенной сетью 16 так, что по меньшей мере часть сетевого трафика между клиентскими системами 12a-f и расширенной сетью 16 проходит через регулятор 18.
[0054] В последовательности этапов 304-306 сетевой регулятор 18 может автоматически обнаруживать устройства, принадлежащие локальной сети 14 (то есть клиентские системы 12a-f), и распределять специфические для устройства вспомогательные агенты 41, по меньшей мере, по некоторым клиентским системам 12a-f. На следующем этапе 308 выполняют набор служб компьютерной безопасности для клиентских систем 12a-f. Этапы 300-308 описаны более подробно ниже.
Перенятие сетевых служб
[0055] В некоторых вариантах осуществления настоящего изобретения службы DHCP маршрутизатора 19 могут быть отключены или деактивированы иным образом сетевым регулятором 18. Этот эффект может быть получен несколькими способами, некоторые из которых приведены в качестве примера ниже. Службы DHCP используются в данном документе только в качестве примера; описанные ниже системы и способы могут быть адаптированы для перенятия других сетевых служб.
[0056] В одном примере сценария, известном как перегрузка DHCP, сетевой регулятор 18 может использовать модуль 44 нарушения работы сети для имитации множества фиктивных устройств и для запроса сетевых адресов для каждого фиктивного устройства у маршрутизатора 19. Количество таких фиктивных устройств может быть выбрано так, чтобы полностью занять доступный пул IP-адресов, предоставленных для аренды сервером 45 DHCP маршрутизатора 19. Таким образом, не смотря на то, что сервер 45 продолжает работать, он больше не может предоставлять IP-адреса для клиентских систем в локальной сети 14. В некоторых вариантах осуществления настоящего изобретения сетевой регулятор 18 может затем использовать модуль 43 DHCP для трансляции своего собственного предложения аренды DHCP, эффективно инициируя использование клиентскими системами 12a-f регулятора 18 в качестве стандартного сервера DHCP и устройства шлюза для по меньшей мере части трафика между клиентскими системами 12a-f и расширенной сетью 16.
[0057] Другой пример группы способов перенятия службы DHCP включает в себя автоматическое обнаружение имеющегося поставщика служб DHCP (например, маршрутизатора 19) и отключение соответствующего устройства, например, посредством автоматического реконфигурирования его параметров сети и/или других функциональных параметров. В одном таком сценарии используется сетевой регулятор 18, взаимодействующий с сервером 52 конфигурации, как показано на фиг. 11-12.
[0058] В некоторых вариантах осуществления на этапе 320 запрашивают, а затем получают разрешение от пользователя на реконфигурирование маршрутизатора 19. Соответствующий пользователь может являться владельцем или администратором регулятора 18 и/или локальной сети 14, как указано, например, в базе 54 данных подписки, поддерживаемой сервером 52 конфигурирования (фиг. 2). Получение разрешения может включать в себя, например, отправку уведомления в устройство 20 администрирования, что может быть выполнено посредством регулятора 18 или сервера 52 конфигурирования. GUI 48 администрирования устройства 20 может затем отобразить поле ввода, позволяющее пользователю указать, разрешает ли он/она реконфигурировать параметры маршрутизатора 19. Этап 320 может дополнительно включать в себя получение идентификационных реквизитов для входа в систему (например, имени пользователя, пароля и так далее) для маршрутизатора 19 либо непосредственно от пользователя через устройство 20 администрирования, либо из записи подписки, хранящейся в базе 54 данных.
[0059] На этапе 322 сетевой регулятор 18 собирает указывающую на тип устройства информацию о маршрутизаторе 19, например, посредством анализа данных, полученных от маршрутизатора 19 во время обмена запросами/ответами DHCP. Такие данные могут включать в себя, среди прочего, адрес управления доступом к среде (MAC адрес) маршрутизатора 19 и аутентификационный заголовок. В некоторых вариантах осуществления сетевой регулятор 18 может дополнительно пытаться отобразить интерфейс входа в систему маршрутизатора 19 и дополнительно извлечь указывающие на тип устройства данные из соответствующего интерфейса (например, определить, является ли интерфейсом документ HTML или нет, и определить сетевой адрес соответствующего интерфейса). Некоторые варианты осуществления регулятора 18 выполнены с возможностью извлекать определенные визуальные элементы соответствующего интерфейса, например, посредством алгоритма обработки изображений.
[0060] Указывающие на тип устройства данные 61 затем отправляют на сервер 52 конфигурирования (этап 324), который выполнен с возможностью идентифицировать тип устройства маршрутизатора 19 (например, его производителя, модель, семейство, подсемейство, версию прошивки и так далее) согласно этим данным и/или согласно данным, хранящимся в базе 56 данных характеристик устройств (фиг. 2). Затем сервер 52 конфигурирования может сконфигурировать попытку 60 входа в систему, рассчитанную на конкретный тип устройства маршрутизатора 19 на основании указывающих на тип устройства данных, полученных от регулятора 18, и может передавать в регулятор 18 данные попытки входа в систему.
[0061] В некоторых вариантах осуществления сетевой регулятор 18 может циклично повторять этапы 326-334 в процессе повторяющейся методом проб и ошибок попытки выполнить подключению к маршрутизатору 19. На этапах 328-330 отображают интерфейс входа в систему маршрутизатора 19 и передают данные 60 попытки входа в систему и/или пользовательские учетные данные в маршрутизатор 19. Индикатор того, был ли успешным вход в систему, отправляют обратно на сервер 52 (этап 332); индикатор успешности может быть использован для дополнительной идентификации типа устройства маршрутизатора 19.
[0062] После успешного входа в систему, на этапе 336 сетевой регулятор 18 может получить набор команд 63 конфигурирования маршрутизатора от сервера 52 конфигурирования, при этом команды 63 специально созданы в соответствии с идентифицированным типом маршрутизатора и направлены на деактивацию маршрутизатора 19, или, по меньшей мере, некоторых сетевых служб маршрутизатора 19. Примеры команд 63 конфигурирования маршрутизатора могут, среди прочего, обеспечивать то, что маршрутизатор 19 завершит работу, перезапустится, отобразит интерфейс конфигурирования и изменит настройку конфигурирования. Другой пример команды 63 конфигурирования включает в себя запрос HTTP, сконфигурированный для предоставления интерфейса конфигурирования маршрутизатора 19. В некоторых вариантах осуществления команды 63 могут обеспечивать автоматическое заполнение набора полей предоставленного интерфейса. В некоторых вариантах осуществления команды 63 содержат набор значений параметров для заполнения набора полей интерфейса конфигурирования маршрутизатора 19.
[0063] На этапе 338 сетевой регулятор 18 может передавать команды 63 конфигурирования в маршрутизатор 19. Для завершения перенятия служб DHCP у маршрутизатора 19, регулятор 18 может использовать модуль 43 DHCP (фиг. 7) для трансляции своего собственного предложения аренды DHCP клиентским системам 12a-f.
[0064] В некоторых вариантах осуществления сетевой регулятор 18 может передавать другой набор команд маршрутизатору 19 в случае, если владелец/администратор регулятора 18 решает удалить регулятор 18. В одном таком примере регулятор 18 может давать инструкции маршрутизатору 19 вернуться к настройкам, действовавшим до установки сетевого регулятора 18.
[0065] На фиг. 13-14 показан альтернативный способ перенятия сетевых служб сетевым регулятором 18 в соответствии с некоторыми вариантами осуществления настоящего изобретения. Показанный способ представляет собой разновидность способа, описанного выше применительно к фиг. 11-12. Вместо использования сетевого регулятора 18 для активного реконфигурирования сетевых настроек и/или (для частичного) отключения маршрутизатора 19, в способе, показанном на фиг. 13-14, такие действия выполняются непосредственно сервером 52 конфигурирования, в то время как регулятор 18 используется в качестве прокси или реле. В некоторых вариантах осуществления выполняется удаленная конфигурация маршрутизатора 19 с использованием туннелей, то есть безопасных соединений/каналов связи типа "точка-точка".
[0066] В ответ на установку внутри локальной сети 14, сетевой регулятор 18 может передать сообщение регистрации серверам 50-52, включая уникальные идентификационные индикаторы для соответствующего сетевого регулятора, маршрутизатора 19 и клиентских систем, соединенных с соответствующей локальной сетью. Таким образом, серверы 50-52 могут выборочно идентифицировать каждое отдельное устройство и связывать каждую клиентскую систему 12 и маршрутизатор 19 с подпиской и/или с соответствующим сетевым регулятором. Этот процесс регистрации с помощью сервера 52 конфигурирования позволяет серверу 52 принимать соединения между туннелями от регулятора 18.
[0067] В ответ на получение от пользователя разрешения на реконфигурирование локальной сети (этап 340), сетевой регулятор 18 может открыть коммуникационный туннель 69, соединяющий регулятор 18 с сервером 52. Пример туннеля включает в себя туннель протокола безопасной оболочки (SSH), то есть, туннель, настроенный с использованием версии протокола SSH. В некоторых вариантах осуществления сетевой регулятор 18 использует стратегию переадресации портов для перенаправления сетевого трафика, полученного через туннель 69, на маршрутизатор 19, и/или для перенаправления сообщений, полученных от маршрутизатора 19, на сервер 52 через туннель 69. Такая переадресация портов может быть достигнута с использованием любого известного способа в области сетевых технологий, например, с использованием проксирования, клиента SOCKS, трансляции сетевых адресов (NAT) и так далее
[0068] Таким образом, некоторые варианты осуществления сервера 52 конфигурирования посредством переадресации портов могут удаленно конфигурировать маршрутизатор 19 через туннель 69. Такое удаленное конфигурирование может включать в себя некоторые из операций, описанных выше применительно к фиг. 11-12, такие как определение типа устройства маршрутизатора 19, отправка команд конфигурирования на маршрутизатор 19 и так далее.
[0069] В ответ на определение типа устройства маршрутизатора 19, сервер 52 может отправить запрос 68 туннеля в регулятор 18, при этом запрос туннеля обеспечивает то, что сетевой регулятор 18 настраивает туннель 69 (этап 346). Туннель может быть сконфигурирован посредством переадресации портов так, что сообщение, отправленное сервером 52 в регулятор 18, будет перенаправлено на маршрутизатор 19. На этапе 348 сервер 52 может затем передавать данные входа в систему и/или команды конфигурирования маршрутизатора по туннелю 69, чтобы передать маршрутизатору 19 команду на отключение или реконфигурирование иным образом службы DHCP маршрутизатора 19.
[0070] На фиг. 15-16 показан еще один способ перенятия сетевых служб у маршрутизатора 19 согласно некоторым вариантам осуществления настоящего изобретения. При введении в локальную сеть 14 регулятора 18 он может отправить запрос 70 адреса текущему поставщику сетевых служб (например, маршрутизатору 19) с запросом сетевого адреса (этап 350). В ответ маршрутизатор 19 может вернуть в регулятор 18 предложение 72 адреса. Запрос 70 и возврат 72 могут образовывать часть стандартного протокола назначения адресов, например DHCP. Этап 352 может дополнительно включать в себя принятие предложение 72 адреса и конфигурирование сетевого регулятора 18 для использования соответствующего сетевого адреса и/или других параметров сети (например, шлюз, DNS-сервер и так далее).
[0071] Затем на этапе 354 регулятор 18 может получить разрешение человека-оператора на выполнение процедуры перенятия сетевых служб (описано выше применительно к фиг. 12). В ответ на получение разрешения, на этапе 356 сетевой регулятор 18 может определить целевой набор сетевых адресов в соответствии с параметрами полученного ранее предоставления 72 адресов. В некоторых вариантах осуществления, в которых используется DHCP, предоставление 72 включает в себя индикатор пула адресов (например, диапазон значений адресов), управляемых и/или доступных для назначения текущим поставщиком сетевых служб. Регулятор 18 может выбрать целевой набор сетевых адресов из соответствующего пула адресов. В некоторых вариантах осуществления целевой набор включает в себя все адреса пула. В других вариантах осуществления целевой набор включает в себя все адреса пула, за исключением адреса, назначенного в настоящий момент маршрутизатору 19.
[0072] На этапе 358 конфигурируют сетевой регулятор 18 для использования всех адресов целевого набора. В некоторых вариантах осуществления этап 358 включает в себя создание набора фиктивных устройств (псевдонимов) и назначение поднабора целевого набора сетевых адресов каждому такому фиктивному устройству. Затем, в течение последовательности этапов 360-366, сетевой регулятор 18 может применять механизм обнаружения конфликтов адресов (ACD), чтобы последовательно принудительно инициировать освобождение клиентами 12a-f их сетевых адресов, назначенных в настоящий момент. Между тем, регулятор 18 может использовать модуль 36 DHCP для предоставления клиентским системам 12a-f нового набора сетевых адресов и/или других параметров конфигурирования, завершая, таким образом, процедуру перенятия сетевых служб.
[0073] Пример механизма ACD описан в Требованиях к обнаружению конфликтов адресов IPv4 для комментариев (RFC5227), опубликованных рабочей группой сети Apple, Inc., в июле 2008 года. Описанный механизм ACD требует, чтобы, в качестве части назначения сетевого адреса (возникающего, например, при первоначальном предоставлении аренды сетевого адреса или при продлении аренды для соответствующего сетевого адреса), каждый клиент и/или их соответствующий поставщик сетевых служб проверяли, доступен ли соответствующий сетевой адрес, то есть не используется ли он уже другим устройством. Такие проверки могут, среди прочего, использовать инструменты и/или механизмы, описанные в Протоколе разрешения адресов (ARP) и Протоколе обнаружения соседей (NDP). Пример проверки включает в себя отправку детектора соответствующим клиентом и/или поставщиком (например, специально сконфигурированный сетевой пакет, ping, arping и так далее) на сетевой адрес, подвергаемый проверке в настоящий момент. Если клиент и/или поставщик, отправивший детектор, не получают ответа на соответствующий детектор, соответствующий адрес считается доступным и может быть (повторно) назначен соответствующему клиенту. Напротив, если клиент и/или поставщик получает ответ на соответствующий детектор, соответствующий адрес считается занятым и более (повторно) не назначается соответствующему клиенту.
[0074] Механизм ACD, описанный выше, используется в некоторых вариантах осуществления сетевого регулятора 18 для перенятия, как показано на фиг. 15-16. В последовательности этапов 360-362 регулятор 18 может прослушивать детекторы 64а-b доступности адреса, отправленные соответственно клиентской системой 12 и/или маршрутизатором 19. В ответ на обнаружение такого детектора на этапе 364 определяют, соответствует ли детектируемый адрес любому из членов целевого набора сетевых адресов, определенных на этапе 356. Если нет, регулятор 18 возвращается к прослушиванию детекторов доступности адреса.
[0075] Если детектируемый адрес соответствует члену целевого набора адресов, на этапе 366 регулятор 18 может вернуть ответ 66а-b детектора отправителю соответствующего детектора, при этом ответ детектора сконфигурирован для указания того, что соответствующий сетевой адрес недоступен. В некоторых вариантах осуществления этап 366 содержит фиктивное устройство (псевдоним), созданное сетевым регулятором 18, отправляющим ответ детектора, сконфигурированный с помощью деталей соответствующего фиктивного устройства. Если клиентская система 12 сконфигурирована так, чтобы поддерживать обнаружение конфликтов, получение такого детектора возврата может обеспечить то, что клиентская система 12 прекратит использование соответствующего сетевого адреса и запросит новый адрес. Такие новые запросы будут завершаться неуспешно для всех адресов в целевом наборе адресов, поскольку они будут вызывать повторное выполнение этапов 360-366. Посредством повторения последовательности этапов 360-366 для каждой клиентской системы 12a-f, сетевой регулятор 18 может, таким образом, последовательно отключать сетевые службы, предоставляемые маршрутизатором 19, и принудительно инициировать использование клиентскими системами 12a-f нового набора сетевых адресов, выданных регулятором 18.
Автоматическое обнаружение устройства и предоставление агента
[0076] Установив себя в качестве шлюза и/или поставщика сетевых служб для локальной сети 14, сетевой регулятор 18 может начать распределение вспомогательных агентов 41 (например, показано на фиг. 6) по клиентским системам 12a-f, соединенным с локальной сетью 14. На фиг. 17 показан пример обмена данными между клиентской системой 12, сетевым регулятором 18 и сервером 52 конфигурирования клиента согласно некоторым вариантам осуществления настоящего изобретения, при этом обмен происходит во время обнаружения устройства и предоставления агента. Такие обмены могут происходить при установке сетевого регулятора 18, а также при первоначальном введении новой клиентской системы в локальную сеть 14.
[0077] Пример последовательности этапов, выполняемых сетевым регулятором 18 для доставки специфичного для устройства вспомогательного агента, показан на фиг. 18. В некоторых вариантах осуществления регулятор 18 может ожидать запросы на соединение от локальных клиентских систем (этап 400). Пример запроса на соединение содержит запрос HTTP. Если клиентская система 12 пытается получить доступ к адресу в расширенной сети 16, регулятор 18 может принудительно инициировать установку соответствующей клиентской системой вспомогательного агента 41. В некоторых вариантах осуществления регулятор 18 может перенаправить текущий запрос сетевого доступа к серверу 52 конфигурирования, который может служить в качестве средства 75 установки агента для соответствующей клиентской системы (фиг. 17). В альтернативном варианте осуществления настоящего изобретения регулятор 18 может получить установщик 75 агента от сервера 52, и затем принудительно отправить установщик 75 в соответствующую клиентскую систему.
[0078] В некоторых вариантах осуществления установщик 75 сконфигурирован так, чтобы побуждать клиентскую систему 12 (или устройство 20 администрирования) отображать пользователю интерфейс подтверждения, запрашивая у пользователя согласие на установку агента 41. Установщик 75 может дополнительно запрашивать у пользователя подтверждение того, что пользователь согласен с условиями соответствующей подписки (например, как указано в SLA). Если пользователь изъявляет согласие, установщик 75 может установить и запустить агент 41. В некоторых вариантах осуществления установщик 75 и/или сетевой регулятор 18 могут зарегистрировать соответствующую клиентскую систему с помощью сервера 52 конфигурирования клиента (этап 418 на фиг. 18). Такая регистрация может включать в себя выполняемое сервером 52 связывание соответствующей клиентской системы с записью подписки, прикрепленной к сетевому регулятору 18.
[0079] Принимая во внимание большое разнообразие устройств, подключаемых в настоящее время к коммуникационным сетям и к сети Интернет, может быть предпочтительным, чтобы вспомогательные агенты 41, доставляемые в защищенные клиентские системы 12a-f, были адаптированы к типу устройства каждой клиентской системы (например, смартфону, планшету, умным часам, работающим под управлением ОС Windows или iOS и так далее). Примеры этапов 400-406 (фиг. 18) иллюстрируют пример способа определения типа устройства клиентской системы 12. Сетевой регулятор 18 может получать указывающие на тип устройства данные путем извлечения индикатора пользовательского агента из запроса HTTP (индикатор пользовательского агента обычно содержит информацию как о типе браузера, так и об операционной системе отправителя запроса HTTP). Регулятор 18 может дополнительно обнаруживать набор приложений, протоколов и/или служб, используемых соответствующими клиентскими системами, например, посредством сканирования соответствующих служб и/или протоколов (этап 404). Такое сканирование может включать в себя отправку детектора в конкретный порт соответствующей клиентской системы и прослушивание ответа. Обнаруженные протоколы и службы могут включать в себя, среди прочего, Bonjour, простой протокол сетевого управления (SNMP) и Network Mapper (Nmap). Сетевой регулятор 18 может затем локально определить тип устройства клиентской системы 12 в соответствии с этими данными, указывающими на тип устройства, используя набор правил, дерево решений и/или алгоритм машинного обучения. В альтернативном варианте осуществления настоящего изобретения указывающие на тип устройства данные отправляются на сервер 52 конфигурирования (этап 406), который идентифицирует тип устройства в соответствии с полученными данными и согласно информации, хранимой в базе 56 данных характеристик устройств. Например, сервер 52 может попытаться сопоставить характеристики клиентской системы 12 с различными элементами базы 56 данных, причем каждый такой элемент может соответствовать определенному типу устройства (возможно, включая различные версии продукта, различные операционные системы и так далее). Обнаружение устройства может выполняться итеративным образом: сервер 52 может выполнять предварительное определение типа устройства в соответствии с доступной информацией о клиентской системе. В ответ на предварительное определение сервер 52 может запрашивать дополнительные указывающие на тип устройства данные о клиентской системе из сетевого регулятора 18. Последовательно все большее количество данных, указывающих на тип устройства, отправляется на сервер 52 конфигурирования, пока будет достигнута достоверная идентификация типа устройства клиентской системы 12. Если тип устройства был успешно идентифицирован, сервер 52 может отправить уведомление регулятору 18. В ответ на получение уведомления (этап 408) регулятор 18 может перенаправить запрос на сетевое соединение, перехваченный на этапе 400, в приложение средства установки агента.
[0080] Альтернативный сценарий обнаружения устройства и/или предоставления агента может задействовать туннелирование, осуществляемое способом, сходным с описанным выше применительно к автоматическому обнаружению маршрутизатора 19 (фиг. 13-14). В одном таком примере регулятор 18 открывает коммуникационный туннель (например, туннель SSH), соединяющий регулятор 18 с сервером 52. Соответствующий туннель может быть сконфигурирован с помощью переадресации портов, чтобы сообщения, полученные от сервера 52, перенаправлялись сетевым регулятором 18 в соответствующую клиентскую систему 12. Сервер 52 может затем непосредственно доставить установщик агента в клиентскую систему 12 через туннель, и может дополнительно вызвать установку клиентской системой 12 соответствующего агента. Сервер 52 также может использовать туннель SSH для получения информации, указывающей на тип устройства, из клиентской системы 12 с использованием любого из вышеописанных способов.
[0081] Может быть предусмотрено большое разнообразие вспомогательных агентов с использованием систем и способов, описанных в данном документе. Пример вспомогательного агента 41, сконфигурированный для обеспечения служб безопасности, может выполнять оценку безопасности клиентской системы 12 (например, локальное сканирование на вредоносные программы), и может отправлять данные оценки безопасности на сервер 52 конфигурирования или сервер 50 безопасности. Сервер (серверы) затем может (могут) пересылать индикатор безопасности в устройство 20 администрирования для отображения пользователю/администратору. Примеры индикаторов безопасности, отображаемых
пользователю/администратору, могут включать в себя, среди прочего, индикатор того, является ли конкретный объект программного обеспечения (например, операционная система), исполняемый на клиентской системе 12, актуальным, и индикатор силы пароля, используемого для защиты клиентской системы 12. Другие примеры действий, выполняемых агентом безопасности, включают в себя обновление программного обеспечения и/или правил безопасности для соответствующей клиентской системы. В некоторых вариантах осуществления агент 41 сконфигурирован для фильтрации сетевого трафика в клиентскую систему 12 или из нее с использованием алгоритма проверки сетевых пакетов для определения того, например, подвержена ли клиентская система 12 вредоносной атаке. Ниже детально описаны дополнительные функциональные возможности вспомогательного агента, обеспечивающего службы компьютерной безопасности.
[0082] Пример вспомогательного агента 41, сконфигурированного для обеспечения служб безопасной связи, включает в себя агент виртуальной частной сети (VPN). Такие агенты могут защищать клиентскую систему 12, если клиентская система 12 покидает локальную сеть 14 (например, если пользователь уходит из дома со своим мобильным телефоном). Такой агент может взаимодействовать с сетевым регулятором 18 и/или сервером 52 конфигурирования, чтобы открыть безопасный коммуникационный туннель и/или настроить VPN между соответствующей клиентской системой и сервером 50 безопасности (что более подробно описано ниже).
[0083] Пример вспомогательного агента 41, сконфигурированный для обеспечения служб родительского контроля, может контролировать использование клиентской системы 12 и передавать шаблоны использования привилегированному пользователю (например, родителю) через устройство 20 администрирования. Агент 41 может дополнительно предотвращать осуществление доступа клиентской системой 12 к определенным удаленным ресурсам (например, IP-адресам, веб-сайтам и так далее) или использование ею некоторых локально установленных приложений (например, игр). Такая блокировка может быть применена принудительно на постоянной основе или согласно специфическому для пользователя графику.
[0084] Пример вспомогательного агента 41, сконфигурированный для предоставления удаленной технической помощи, может автоматически сконфигурировать и/или открывать канал безопасной связи (например, туннель SSH) между клиентской системой 12 и сервером 52 конфигурирования. Команды конфигурирования и/или устранения неисправностей могут затем передаваться от сервера 52 в клиентскую систему 12, опционально без явного участия или помощи пользователя клиентской системы 12.
[0085] Некоторые клиентские системы, такие как бытовые приборы, переносные устройства и так далее, могут быть выполнены без возможности установки вспомогательного агента, как указано выше. Однако такие устройства могут включать в себя встроенные агенты конфигурирования и/или управления устройствами, обеспечивающие активацию удаленной команды соответствующих устройств. Некоторые варианты осуществления настоящего изобретения могут использовать имеющиеся агенты управления и специфичные для устройства протоколы и/или способы связи для передачи обновлений значений параметров в такие устройства. Даже для таких устройств корректная идентификация типа устройства позволяет серверу 52 конфигурирования надлежащим образом форматировать и передавать команды конфигурирования в соответствующие клиентские системы. Для облегчения определения типа устройства таких клиентских систем, сетевой регулятор 18 может либо активно синтаксически анализировать сообщения, получаемые от соответствующей клиентской системы, либо выполнять перемаршрутизацию соответствующих сообщений на сервер 52 конфигурирования.
[0086] В некоторых вариантах осуществления настоящего изобретения сетевой регулятор 18 может регулировать доступ клиентской системы 12 к расширенной сети 16 при успешной установке вспомогательного агента 41. Как показано на фиг. 18 (этап 416), в некоторых вариантах осуществления клиентской системе может быть разрешено осуществить доступ к расширенной сети 16 только в ответ на установку агента. Такие конфигурации могут усилить безопасность клиентской системы 12 и/или локальной сети 14.
Управление устройством
[0087] Когда вспомогательные агенты 41 являются функциональными, они могут быть использованы для выполнения различных задач управления устройством, например, для удаленного конфигурирования соответствующих клиентских систем 12a-f. Примеры задач конфигурирования включают в себя, среди прочего, включение или выключение клиентской системы (например, постановка на охрану или снятие с охраны домашней системы безопасности, включение и выключение света), настройку значения функционального параметра клиентской системы (например, настройка требуемой температуры на интеллектуальном термостате), конфигурирование сетевых функций и/или функций безопасности (например, блокирование или разрешение доступа некоторых клиентских систем к сети 14, конфигурирование параметров брандмауэра, конфигурирование приложений и/или функций родительского контроля), выполнение обновлений программного обеспечения для компонентов, исполняющихся в соответствующей клиентской системе, и выполнения задач технической помощи/устранения неисправностей, связанных с соответствующей клиентской системы.
[0088] В некоторых вариантах осуществления пользователь/администратор может удаленно управлять клиентской системой 12 через графический пользовательский интерфейс (GUI) 48 администрирования, отображаемый устройством 20 администрирования (например, смартфон, на котором выполняется приложение администрирования). После регистрации сетевого регулятора 18 с помощью сервера 52 конфигурирования, сервер 52 может однозначно связать регулятор 18 и устройство 20 администрирования с подпиской. Соответствующая подписка также позволяет однозначно связать регулятор 18 с набором клиентских систем 12a-f, защищенных соответствующим сетевым регулятором. Таким образом, пользователь устройства 20 администрирования может иметь возможность выбрать конкретную клиентскую систему для удаленного управления из GUI 48 администрирования при помощи сервера 52 конфигурирования. Фактическое управление устройством (например, настройка значений параметров) может включать в себя передачу данных и/или команд конфигурирования между устройством 20 администрирования и соответствующей клиентской системой.
[0089] В некоторых вариантах осуществления передача данных/команд конфигурирования в целевую клиентскую систему задействует вариант систем и способов, описанных выше применительно к конфигурирования маршрутизатора 19 (фиг. 13-14) и обнаружения устройства. В ответ на получение запроса управления устройством от устройства 20 администрирования, сервер 52 может отправить уведомление в сетевой регулятор 18, при этом уведомление побуждает регулятор 18 и/или целевую клиентскую систему открыть коммуникационный туннель (например, туннель SSH) между сервером 52 и регулятором 18 и/или между сервером 52 и целевой клиентской системой. Туннель может быть сконфигурирован с помощью переадресации портов, как описано выше. Такой туннель затем может быть использован для передачи команд конфигурирования от сервера 52 в целевую клиентскую систему, при этом соответствующие команды созданы, например, для изменения настроек конфигурирования соответствующей клиентской системы. В некоторых вариантах осуществления такие команды конфигурирования исполняются вспомогательным агентом 41. Если целевая клиентская система не имеет вспомогательного агента или она не может установить такой агент, то команды конфигурирования ориентируются на собственное управляющее программное обеспечение соответствующего устройства.
[0090] В одном из примеров приложения пользователь может запросить техническую помощь/устранение неисправностей конкретной целевой клиентской системы, используя описанные выше способы. Техническая помощь может осуществляться при этом автоматически, без дальнейшего участия соответствующего пользователя. В качестве части устранения неисправностей, некоторые варианты осуществления сервера 52 могут обеспечивать установку целевая клиентской системой специализированного вспомогательного агента, сконфигурированного для решения конкретной технической проблемы.
Защита компьютерной безопасности
[0091] На фиг. 19-А-В показаны примеры вариантов осуществления настоящего изобретения, в которых сетевой регулятор 18 взаимодействует с сервером 50 безопасности для защиты клиентских систем 12a-f от угроз компьютерной безопасности, таких как вредоносные программы, рекламные программы, шпионские программы и вторжения в сеть. В варианте осуществления, показанном на фиг. 19-А, сетевой регулятор 18 выполняет перемаршрутизацию части или всего трафика данных (в данном случае показанным, как сетевой пакет 80) между защищенной клиентской системой 12 и компьютерной системой, внешней по отношению к локальной сети, через сервер 50 безопасности. Такая перемаршрутизация может быть, например, достигнута путем установки сетевого регулятора 18 в качестве шлюза между локальной сетью 14 и расширенной сетью 16, и использования регулятора 18 для перехвата сетевого трафика и его активного перенаправления на сервер 50. В некоторых вариантах осуществления настоящего изобретения, как показано на фиг. 19-А, обнаружение угрозы выполняется сервером 50 безопасности с использованием любого способа, известного в данной области техники (например, посредством анализа сетевых пакетов 80 для определения того, содержат ли они вредоносные программы или указывают ли они на вторжение в сеть).
[0092] В некоторых вариантах осуществления, как показано на фиг. 19-В, обнаружение угрозы выполняется посредством сетевого регулятора 18. Такое локальное обнаружение может включать в себя, например, фильтрацию содержимого пакета. Регулятор 18 может поддерживать алгоритмы обнаружения вредоносных программ в актуальном состоянии путем загрузки набора параметров 82 фильтра (например, сигнатур, указывающих на наличие вредоносных программ) с сервера 50 безопасности. Некоторые варианты осуществления могут сочетать обнаружение угрозы в регуляторе 18 с обнаружением угрозы на сервере 50 безопасности. В одном таком примере сетевой регулятор 18 может выполнять предварительный анализ трафика данных, используя, например, сравнительно малозатратные способы. Затем регулятор 18 может отправлять подозрительные сетевые пакеты для дальнейшего анализа на сервер 50.
[0093] Перемаршрутизация трафика через сервер 50 безопасности (фиг. 19-А) может обладать несколькими преимуществами перед выполнением локального анализа безопасности (фиг. 19-В). Сервер 50 может включать в себя несколько специализированных высокопроизводительных компьютерных систем и, таким образом, может выполнять интенсивный с точки зрения вычислений анализ трафика, такой как углубленная проверка пакетов, намного эффективнее регулятора 18. Установка таких возможностей в сетевом регуляторе 18 может существенно увеличить стоимость, сложность и поверхность атаки регулятора 18. Еще одно преимущество наличия централизованного анализа данных заключается в том, что такие конфигурации устраняют необходимость в распределении обновлений сигнатур, идентифицирующих вредоносные программы, и других данных, используемых при анализе сетевых пакетов, на большое количество распределенных сетевых регуляторов 18. Централизованные системы безопасности, как правило, также лучше оборудованы для реагирования на новые обнаруженные угрозы.
[0094] Пример использования таких систем и способов компьютерной безопасности включает в себя блокирование доступа защищенной клиентской системы к вредоносным или мошенническим веб-страницам. В одном таком примере запрос на доступ к удаленному ресурсу (например, запрос HTTP из защищенной клиентской системы) перехватывают и анализируют для определения того, представляет ли доступ к удаленному ресурсу, веб-странице и так далее риск для компьютерной безопасности. В таком анализе может использоваться любой известный в данной области техники способ, например, сопоставление адреса соответствующего ресурса с черным списком известных вредоносных или мошеннических веб-страниц, анализ макета соответствующей веб-страницы и так далее Анализ может быть выполнен на сервере 50 безопасности (например, в конфигурации, как показано на фиг. 19-А) или на сетевом регуляторе 18 (например, как показано на фиг. 19-В). Если в результате анализа установлено, что осуществление доступа к удаленному ресурсу не представляет собой риск для компьютерной безопасности, соответствующей клиентской системе предоставляется доступ к соответствующему удаленному ресурсу. Если доступ считается рискованным, запрашивающая клиентская система может быть заблокирована от осуществления доступа к соответствующему ресурсу. В дополнение к блокированию доступа некоторые варианты осуществления сервера 50 безопасности отправляют уведомление о событии в устройство 20 администрирования, информируя пользователя/администратора сетевого регулятора 18 о том, что произошло событие безопасности. Уведомление может включать в себя индикатор клиентской системы, задействованной в соответствующем событии, и индикатор типа события (например, доступ к мошенническому веб-сайту).
[0095] Другой пример применения системы компьютерной безопасности согласно некоторым вариантам осуществления настоящего изобретения показан на фиг. 20-21. Как показано выше, клиентская система может быть защищена от компьютерных угроз безопасности, будучи соединенной с сетевым регулятором 18 по локальной сети 14. Выход из сети 14 (как это происходит, например, когда пользователь уходит из дома со своим мобильным телефоном) может, тем не менее, подвергнуть соответствующую клиентскую систему различным рискам безопасности. В некоторых вариантах осуществления гарантируется, что, после регистрации для защиты с помощью регулятора 18 и сервера 52 конфигурирования, соответствующая клиентская система будет защищена в любой момент времени.
[0096] Для достижения такой защиты в некоторых вариантах осуществления устанавливают вспомогательный агент 41 на соответствующей клиентской системе (например, мобильный телефон, планшетный компьютер), при этом вспомогательный агент 41 сконфигурирован для управления виртуальной частной сетью (VPN), соединяющей соответствующую клиентскую систему с сервером 50 безопасности. Если соответствующая клиентская система имеет встроенный агент VPN, некоторые варианты осуществления могут выбирать конфигурирование имеющегося агента VPN вместо установки вспомогательного агента 41. Соединение VPN (туннель) с сервером 50 безопасности может быть инициировано, например, когда соответствующая клиентская система покидает локальную сеть 14. Путем обеспечения соединения с сервером 50 безопасности даже вдали от локальной сети 14, некоторые варианты осуществления могут продолжать использовать способы компьютерной безопасности, описанные выше (например, осуществлять перемаршрутизацию трафика через сервер 50 безопасности) для защиты соответствующей клиентской системы.
[0097] На фиг. 20 показан пример обмена данными между клиентской системой 12, сетевым регулятором 18 и сервером 52 конфигурирования, причем обмен происходит в виде части работы вспомогательного агента VPN и связанного безопасного соединения с сервером 50 безопасности. На фиг. 21 показан пример последовательности этапов, выполняемых клиентской системой 12, обеспечивающей работу вспомогательного агента VPN, согласно некоторым вариантам осуществления настоящего изобретения.
[0098] Вспомогательный агент VPN, исполняемый в клиентской системе 12, может получать параметры 88 соединения для создания туннеля VPN с сервером 50 безопасности от сервера 52 конфигурирования. Такие параметры могут быть адаптированы под тип устройства клиентской системы 12, как описано выше. В некоторых вариантах осуществления последовательность этапов 502-504 определяет, является ли клиентская система 12 в настоящий момент частью локальной сети 14 (то есть локальной сети, обслуживаемой сетевым регулятором 18). Этап 502 может выполняться в соответствии с любым способом, известным в данной области техники, например, путем обеспечения потока keepalive-сообщений 84 между регулятором 18 и соответствующей клиентской системой. Хотя клиентская система 12 остается соединенной с локальной сетью 14, клиентская система 12 может использовать регулятор 18 в качестве шлюза для осуществления доступа к внешней сети 16, будучи защищенной от угроз компьютерной безопасности в соответствии с вышеописанными способами.
[0099] Если клиентская система 12 обнаруживает, что она больше не соединена с локальной сетью 14, на этапе 510 агент VPN, исполняемый в клиентской системе 12, может открыть туннель 90 VPN к серверу 50 безопасности, конфигурируя туннель 90 в соответствии с параметрами 88 VPN. После этого клиентская система 12 может использовать туннель 90 VPN для коммуникации, такой как просмотр информации в Интернете, обмен сообщениями и так далее. В альтернативных вариантах осуществления сетевой регулятор 18 может определять, что клиентская система 12 покинула локальную сеть 14, и в ответ уведомлять сервер 50 безопасности. Затем сервером 50 может быть инициировано создание туннеля 90.
[0100] Если клиентская система 12 снова оказывается вблизи сетевого регулятора 18 (например, если пользователь возвращается домой со своим мобильным телефоном), клиентская система 12 может обнаружить предоставление сетевых служб (например, предоставление DHCP) от сетевого регулятора 18. При получении такого предоставления для соединения с локальной сетью 14, на последовательности этапов 514-516 вспомогательный агент VPN, исполняемый в соответствующей клиентской системе, может закрыть туннель 90 VPN и соединиться с локальной сетью 14.
[0101] Примеры систем и способов, описанные в этом документе, позволяют защитить множество клиентских систем от угроз компьютерной безопасности, таких как вредоносные программы и сетевое вторжение. Помимо защиты обычных компьютерных систем, описанные системы и способы в частности подходят для защиты неоднородной экосистемы интеллектуальных устройств, соединенных с Интернетом, таких как устройства, широко известные в массовой культуре как Интернет вещей (IoT). Примеры таких устройств включают в себя, среди прочего, носимые устройства (например, умные часы, браслеты для фитнеса, интерактивные украшения), бытовые развлекательные устройства (телевизоры, медиаплееры, игровые консоли), бытовую технику (холодильники, термостаты, интеллектуальные осветительные системы, системы домашней безопасности). Некоторые варианты осуществления позволяют, например, защищать все электронные устройства в доме, используя унифицированное интегрированное решение.
[0102] Некоторые варианты осуществления включают в себя сетевой регулятор, сконфигурированный для установки и управления локальной сетью, соединяющей между собой множество защищенных клиентских систем. Сетевой регулятор может установить себя в положение шлюза между локальной сетью и расширенной сетью, такой как Интернет.В некоторых вариантах осуществления защита достигается посредством того, что сетевой регулятор выполняет перемаршрутизацию, по меньшей мере, части трафика данных, обмениваемого между защищенной клиентской системой и объектом вне локальной сети, через удаленный сервер безопасности. Затем трафик может быть просканирован на наличие вредоносных программ, при этом может быть заблокирован доступ к опасным ресурсам (например, вредоносным или мошенническим сайтам).
[0103] Некоторые варианты осуществления гарантируют, что защита от угроз компьютерной безопасности продолжается, даже если соответствующая клиентская система покидает локальную сеть. Например, если пользователь уходит из дома со своим мобильным телефоном, для телефона обеспечивается сохранение защиты. В некоторых вариантах осуществления такая защита достигается путем автоматического обнаружения, что защищенная клиентская система покинула локальную сеть и, в ответ, путем автоматической активации туннеля (например, соединение VPN "точка-точка") к серверу безопасности, при этом туннель используется для переноса трафика данных в/из соответствующего устройства, когда устройство находится вдали от локальной сети.
[0104] В некоторых вариантах осуществления сетевой регулятор однозначно связан с подпиской на службу, что обеспечивает возможность унифицированного управления безопасностью и другими аспектами для всех защищенных клиентских систем, например, для всех интеллектуальных устройств внутри дома. Событие безопасности, такое как попытка защищенной клиентской системы осуществить доступ к мошенническому веб-сайту, таким образом, может быть автоматически связано с учетной записью подписки и сообщено контактному лицу/администратору соответствующей учетной записи. Сообщение о событиях безопасности может включать в себя отправку уведомления устройству администрирования (например, мобильному телефону) администратора. В некоторых вариантах осуществления такие уведомления централизуются сервером безопасности и группируются для каждого пользователя и/или для каждого устройства. Графический пользовательский интерфейс (GUI), исполняющийся на устройстве администрирования, может отображать информацию о каждом событии безопасности, статистических данных и так далее Таким образом, некоторые варианты осуществления настоящего изобретения обеспечивают централизованное решение для управления компьютерной безопасностью для большого количества абонентов/учетных записей, причем каждая такая учетная запись связана с ее собственной неоднородной группой устройств.
[0105] Помимо гарантии защиты клиентских систем, соединенных с локальной сетью, некоторые варианты осуществления обеспечивают унифицированное решение для автоматического конфигурирования, устранения неисправностей/технической помощи и удаленного управления защищенными клиентскими системами. Некоторые варианты осуществления устанавливают вспомогательный агент на каждом защищенном устройстве, причем этот вспомогательный агент взаимодействует с удаленными серверами для получения данных конфигурации и/или исполняемого кода. Пользователь/администратор клиентской системы может удаленно управлять соответствующим устройством через пользовательский интерфейс, отображаемый на устройстве администрирования (например, мобильном телефоне). Такое управление может включать в себя, например, настройку рабочих параметров (требуемая температура в доме, настройка родительского контроля и так далее), применение обновлений программного обеспечения и устранение неисправностей.
[0106] Некоторые варианты осуществления настоящего изобретения специально разработаны для удобства использования без необходимости в специальных знаниях компьютерной инженерии или администрирования сети. Например, при установке сетевой регулятор может автоматически перенимать некоторые сетевые службы от имеющегося маршрутизатора, чтобы стать стандартным поставщиком доступа в Интернет для локальной сети.
[0107] Специалисту в данной области техники понятно, что приведенные выше варианты осуществления изобретения могут быть изменены различными способами без отхода от объема изобретения. Соответственно, объем изобретения должен определяться нижеследующей формулой изобретения и ее законными эквивалентами.