Системы и способы автоматической детекции устройств



Системы и способы автоматической детекции устройств
Системы и способы автоматической детекции устройств
Системы и способы автоматической детекции устройств
Системы и способы автоматической детекции устройств
Системы и способы автоматической детекции устройств
Системы и способы автоматической детекции устройств
Системы и способы автоматической детекции устройств
Системы и способы автоматической детекции устройств
Системы и способы автоматической детекции устройств
Системы и способы автоматической детекции устройств
Системы и способы автоматической детекции устройств
Системы и способы автоматической детекции устройств
Системы и способы автоматической детекции устройств
Системы и способы автоматической детекции устройств
Системы и способы автоматической детекции устройств
Системы и способы автоматической детекции устройств
Системы и способы автоматической детекции устройств
Системы и способы автоматической детекции устройств
Системы и способы автоматической детекции устройств
Системы и способы автоматической детекции устройств
Системы и способы автоматической детекции устройств
Системы и способы автоматической детекции устройств
Системы и способы автоматической детекции устройств
Системы и способы автоматической детекции устройств

Владельцы патента RU 2742824:

БИТДЕФЕНДЕР АйПиАр МЕНЕДЖМЕНТ ЛТД (CY)

Изобретение относится к области удаленного управления устройствами. Техническим результатом является обеспечение возможности автоматической детекции/обнаружения устройств, в частности клиентских устройств «Интернета вещей», таких как портативные устройства, устройства мобильной связи и интеллектуальные бытовые приборы, среди прочего. Прибор для детекции устройства содержит аппаратный процессор и память, причем аппаратный процессор конфигурирован для: анализа данных, полученных от клиентского устройства, соединенного с прибором для детекции устройства по локальной сети, для определения набора признаков клиентского устройства; в ответ, выбора категории устройств в соответствии с набором признаков; определения первой оценки в соответствии с первым поднабором из набора признаков; определения второй оценки в соответствии со вторым поднабором из набора признаков; объединения первой и второй оценок для создания агрегированной оценки; и в ответ на создание агрегированной оценки, определения, отнести ли клиентское устройство к категории устройств в соответствии с агрегированной оценкой; причем определение, отнести ли клиентское устройство к категории устройств, включает в себя: сравнение агрегированной оценки с третьей оценкой, и в ответ, определение, отнести ли клиентское устройство к категории устройств в соответствии с результатом сравнения. 3 н. и 18 з.п. ф-лы, 13 ил., 6 табл.

 

Родственные заявки

[0001] По настоящей заявке испрашивается приоритет по дате подачи предварительной патентной заявки США №62/315,834, поданной 31 марта 2016 года, с названием "Системы и способы автоматической детекции устройств", полное содержание которой включено в настоящий документ посредством ссылки.

УРОВЕНЬ ТЕХНИКИ

[0002] Изобретение относится к компьютерной безопасности и, в частности, к системам и способам автоматической детекции устройств и удаленного управления устройствами.

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

[0004] К коммуникационным сетям и интернету подключается все больше разнообразных устройств, неофициально именуемых "Интернетом вещей" (IoT). К таким устройствам относятся, среди прочего, смартфоны, умные часы, телевизоры и другие мультимедийные устройства, игровые консоли, бытовые приборы и различные датчики/исполнительные механизмы, такие как термостаты и интеллектуальные системы освещения. Поскольку все больше таких устройств выходят в сеть, они становятся мишенями для вредоносного программного обеспечения и действий хакеров. Таким образом, возрастает необходимость в охране таких устройств от вредоносных программ, а также в защите передачи данных к таким устройствам и от них.

[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] В нижеследующем описании подразумевается, что все описанные соединения между структурами могут быть непосредственными функциональными соединениями или опосредованными функциональными соединениями через промежуточные структуры. Набор элементов включает в себя один или более элементов. Подразумевается, что любое упоминание элемента относится по меньшей мере к одному элементу. Множество элементов включает в себя по меньшей мере два элемента. Если не указано иное, любое использование "ИЛИ" относится к неисключительному «или». Если не требуется иное, любые описанные этапы способа не обязательно должны выполняться в конкретном показанном порядке. Первый элемент (например, данные), полученный из второго элемента, включает в себя первый элемент, эквивалентный второму элементу, а также первый элемент, генерированный путем обработки второго элемента и, опционально, другие данные. Выполнение определения или решения в соответствии с параметром включает в себя выполнение определения или решения в соответствии с данным параметром и, опционально, в соответствии с другими данными. Если не указано иное, индикатор некоторой величины/данных может представлять собой саму величину/данные, или индикатор, отличный от самой величины/данных. Компьютерная безопасность включает в себя защиту пользователей и оборудования от непреднамеренного или несанкционированного доступа к данным и/или аппаратному оборудованию, от непреднамеренной или несанкционированной модификации данных и/или аппаратного оборудования, а также от разрушения данных и/или аппаратного оборудования. Компьютерная программа представляет собой последовательность процессорных команд, выполняющих задачу. Компьютерные программы, описанные в некоторых вариантах осуществления настоящего изобретения, могут быть автономными программными объектами или подобъектами (например, подпрограммами, библиотеками) других компьютерных программ. Два устройства считаются соединенными с одной и той же локальной сетью или принадлежащими ей, если их сетевые адреса принадлежат одной и той же подсети, и/или когда они оба имеют один и тот же широковещательный адрес. Локальная сеть - это сеть, имеющая свое локально управляемое коммуникационное аппаратное оборудование. Туннель - это виртуальное соединение "точка-точка" между двумя объектами, соединенными с коммуникационной сетью. Машиночитаемые носители включают в себя энергонезависимые носители, такие как магнитные, оптические и полупроводниковые запоминающие носители (например, жесткие диски, оптические диски, флэш-память, динамическая память с произвольным доступом (DRAM)), а также линии связи, такие как токопроводящие кабели и волоконно-оптические линии. Согласно некоторым вариантам осуществления, а настоящем изобретении предложены, помимо прочего, компьютерные системы, содержащие аппаратное оборудование (например, один или более микропроцессоров), запрограммированное для выполнения способов, описанных в данном документе, а также машиночитаемые носители, кодирующие команды для выполнения способов, описанных в данном документе.

[0024] Нижеследующее описание поясняет изобретение на примерах вариантов его осуществления, необязательно с наложением ограничений.

[0025] На фиг. 1-А-В показаны примерные конфигурации 10a-b сети согласно некоторым вариантам осуществления настоящего изобретения, в которых множество клиентских систем 12a-f соединены между собой по локальной сети 14 и дополнительно соединены с расширенной сетью 16, такой как Интернет. Клиентские системы 12a-f могут представлять собой любое электронное устройство, имеющее процессор, память и коммуникационный интерфейс. Примеры клиентских систем 12a-f включают в себя, среди прочего, персональные компьютеры, ноутбуки, планшетные компьютеры, мобильные телекоммуникационные устройства (например, смартфоны), медиаплееры, телевизоры, игровые консоли, бытовые приборы (например, холодильники, термостаты, интеллектуальные системы отопления и/или освещения) и переносные устройства (например, умные часы, спортивное и фитнес-оборудование). Локальная сеть 14 может содержать локальную вычислительную сеть (LAN). Примерные локальные сети 14 могут включать в себя, среди прочего, домашнюю сеть и корпоративную сеть.

[0026] Маршрутизатор 19 содержит электронное устройство, обеспечивающее возможность коммуникации между клиентскими системами 12a-f и/или доступа клиентских систем 12a-f к расширенной сети 16. В некоторых вариантах осуществления маршрутизатор 19 действует как шлюз между локальной сетью 14 и расширенной сетью 16, и обеспечивает набор сетевых служб для клиентских систем 12a-f. Термин «шлюз» используется в данном документе для обозначения устройства, конфигурированного так, что по меньшей мере часть коммуникационного трафика между клиентскими системами 12a-f и расширенной сетью 16 проходит через устройство шлюза. Если не указано иное, термин «сетевые службы» используется в данном документе для обозначения служб, обеспечивающих взаимную коммуникацию клиентских систем 12a-f, а также коммуникацию между клиентскими системами 12a-f и другими объектами. Такие службы могут включать в себя, например, распределение параметров конфигурации сети (например, сетевых адресов) по клиентским системам 12a-f и коммуникацию маршрутизации между участвующими конечными точками. Примерные сетевые службы могут включать в себя протокол динамического конфигурирования хоста (DHCP). Службы DHCP обычно используются для доставки информации о конфигурации межсетевого протокола (IP) клиентам, запрашивающим доступ к локальной сети 14 и/или к расширенной сети 16.

[0027] На фиг. 1-А-В дополнительно показан прибор 18 для детекции устройства, соединенный с локальной сетью 14. В некоторых вариантах осуществления прибор 18 для детекции устройства содержит электронное устройство (например, компьютерную систему), конфигурированное для выполнения различных служб клиентских систем 12a-f. Такие службы включают в себя, среди прочего, службы компьютерной безопасности (например, защита от вредоносных программ, детекция вторжений, защита от шпионских программ и т.д.), управление устройствами (например, удаленное конфигурирование клиентских систем 12a-f), службы родительского контроля, службы безопасной связи (например, виртуальная частная сеть (VPN)) и удаленная техническая помощь (например, устранение неисправностей устройств и/или сетей).

[0028] В некоторых вариантах осуществления прибор 18 для детекции устройства дополнительно конфигурирован для выполнения автоматических операций обнаружения/детекции устройства. Термины "обнаружение устройства" и "детекция устройства" в данном документе взаимозаменяемы. Детекция устройства включает в себя определение типа устройства, соединенного с локальной сетью 14, например, любой из клиентских систем 12a-f, маршрутизатора 19. Иными словами, детекция устройства включает в себя автоматическое отнесение соответствующего устройства к категории устройств в соответствии с доступной информацией о соответствующем устройстве. В некоторых вариантах осуществления категория устройств содержит кортеж характеристик устройства {C1, C2, …, Cn}, который может включать в себя, например, категорию изделий (например, персональный компьютер, планшетный компьютер, принтер, умные часы, домашняя развлекательная система, термостат и т.д.), производителя (например, Samsung®, Nest®, Sonos® и т.д.), аппаратную модель (например, iPad® 2, MacBook® Air®, Galaxy® S6 и т.д.) и версию программного обеспечения (например, Windows®, iOS® 8, Android® Marshmallow и т.д.). Некоторые варианты осуществления допускают значения характеристик типа 'неизвестен' и/или 'неприменим', как в {'планшетный компьютер', 'неизвестен', 'Android'}. Действия по детекции устройства могут выполняться на приборе 18, сервере 52 конфигурирования или могут быть разделены между прибором 18 и сервером 52 конфигурирования. Способы, описанные в данном документе, могут также исполняться одной из клиентских систем 12a-f.

[0029] В типичном сценарии согласно некоторым вариантам осуществления настоящего изобретения прибор 18 для детекции устройства вводится в локальную сеть, уже конфигурированную и управляемую маршрутизатором 19. Прибор 18 может затем постепенно обнаруживать устройства, соединенные с локальной сетью, например, клиентские системы 12a-f и/или маршрутизатор 19. В некоторых вариантах осуществления прибор 18 дополнительно принимает на себя сетевые службы, такие как DHCP от маршрутизатора 19, и реконфигурирует сеть 14, чтобы разместить прибор 18 в положение шлюза между локальной сетью 14 и расширенной сетью 16, так что по меньшей мере часть трафика между клиентскими системами 12a-f и расширенной сетью 16 проходит через прибор 18 для детекции устройства (см. фиг. 1-А). Размещение прибора 18 в положении шлюза может быть предпочтительным по соображениям безопасности, поскольку такое положение облегчает перехват и анализ трафика между клиентскими системами и удаленной стороной.

[0030] В некоторых вариантах осуществления, таких как пример с фиг. 1-В, маршрутизатор 19 может продолжать работать в качестве шлюза локальной сети 14 после установки прибора 18, однако в таких случаях прибор 18 для детекции устройства предпочтительно размещен между клиентскими системами 12a-f и существующим шлюзом (т.е. маршрутизатором 19), так что прибор 18 принадлежит к той же локальной сети, что и клиентские системы 12a-f. Такое положение является предпочтительным, поскольку оно облегчает доставку специфичных для устройства вспомогательных агентов в некоторые из клиентских систем 12a-f.

[0031] В некоторых вариантах осуществления клиентские системы 12a-f контролируются, управляются и/или конфигурируются удаленно пользователем/администратором с использованием программного обеспечения, исполняемого на устройстве 20 администрирования, соединенном с расширенной сетью 16 (например, Интернет). Примерные устройства 20 администрирования включают в себя, среди прочего, смартфоны и персональные компьютерные системы. Устройство 20 может предоставлять графический пользовательский интерфейс (GUI), позволяющий пользователю удаленно конфигурировать и/или управлять работой клиентских систем 12a-f, например, для установки опций конфигурирования и/или для получения уведомлений о событиях, происходящих на соответствующих клиентских системах.

[0032] В некоторых вариантах осуществления прибор 18 для детекции устройства взаимодействует с набором удаленных компьютерных систем, чтобы выполнять различные службы для клиентских систем 12a-f. Примерные удаленные компьютерные системы включают в себя сервер 50 безопасности и сервер 52 конфигурирования, показанные на фиг. 2. Серверы 50 и 52 могут содержать отдельные машины или кластеры из множества соединенных друг с другом компьютерных систем. В некоторых вариантах осуществления прибор 18 для детекции устройства конфигурирован для перенаправления части или всего трафика, поступающего в клиентские системы 12a-f и/или от них к серверу 50 безопасности. В таких конфигурациях сервер 50 безопасности может выполнять операции детекции угрозы (например, детекция вредоносных программ, блокирование доступа к вредоносным или мошенническим веб-сайтам, предотвращение вторжений и т.д.) для защиты клиентских систем 12a-f от угроз компьютерной безопасности. Сервер 50 безопасности может быть дополнительно соединен с базой 55 данных событий, содержащей множество записей безопасности. В одном примере каждая такая запись безопасности включает в себя данные, указывающие событие безопасности, происходящее на защищенной клиентской системе, а также индикатор связи между соответствующим событием и соответствующей клиентской системой.

[0033] В некоторых вариантах осуществления сервер 52 конфигурирования взаимодействует с прибором 18 для детекции и/или устройством 20 администрирования, чтобы конфигурировать настройки управления устройствами и/или настройки безопасности прибора 18, маршрутизатора 19 и/или клиентской системы 12. Сервер 52 может быть соединен с возможностью коммуникации с базой 54 абонентских данных и с базой 56 данных признаков устройства. База 54 абонентских данных может хранить множество записей подписки, при этом каждая запись подписки указывает набор клиентских систем под управлением устройства согласно некоторым вариантам осуществления настоящего изобретения. В одном варианте осуществления каждая запись подписки связана лишь с одним прибором 18 для детекции устройства. В таких вариантах осуществления все клиентские системы, конфигурированные и/или обслуживаемые иным образом с помощью соответствующего прибора для детекции устройства (например, клиентские системы 12a-f, соединенные с локальной сетью 14 на фиг. 1-А), связаны с одной и той же записью подписки. Каждая запись подписки может включать в себя индикатор периода подписки и/или набор параметров подписки, описывающих, например, требуемый уровень безопасности или выбор служб, на которые выполнена подписка. Подписки могут управляться в соответствии с соглашением об уровне служб (SLA).

[0034] В некоторых вариантах осуществления база 56 данных признаков устройства содержит набор записей, указывающих конфигурируемые признаки каждой клиентской системы 12 и/или текущие настройки конфигурации каждой клиентской системы. База данных 56 может дополнительно содержать обширную информационную базу данных признаков устройства, содержащую множество записей. В одном примерном варианте осуществления каждая запись представляет устройство и может содержать множество полей, указывающих, среди прочего, категорию изделий устройства (например, маршрутизатор, смартфон и т.д.), аппаратную модель, производителя, операционную систему (например, Windows®, Linux®). Другие поля могут соответствовать различным признакам устройства, например, использует ли соответствующее устройство конкретный сетевой протокол для коммуникации (например, HTTP, Bonjour®), индикатор макета интерфейса входа, отображаемого соответствующим типом устройства, пользовательские агенты, используемые соответствующим устройством, и т.д.

[0035] На фиг. 3-4-5 показаны примерные аппаратные конфигурации клиентской системы 12, прибора 18 для детекции устройства и сервера 52 конфигурирования, соответственно. Клиентская система 12 может представлять собой, например, любую из клиентских систем 12a-f с фиг. 1. Без потери общности показанные конфигурации соответствуют компьютерным системам. Аппаратная конфигурация других клиентских систем (например, планшетные компьютеры, умные часы) может отличаться от конфигурации с фиг. 3. Каждый из процессоров 22, 122 и 222 содержит физическое устройство (например, микропроцессор, многоядерную интегральную схему, выполненную на полупроводниковой подложке), конфигурированное для исполнения вычислительных и/или логических операций с набором сигналов и/или данных. Блоки 24, 124 и 224 памяти содержат энергозависимые машиночитаемые носители (например, память с произвольной выборкой (RAM)), хранящие данные/сигналы, к которым осуществляют доступ процессоры 22, 122 и 222, соответственно, или которые генерируются данными процессорами в ходе выполнения операций.

[0036] Устройства 26 ввода могут включать в себя, среди прочего, компьютерные клавиатуры, мыши и микрофоны, включая соответствующие аппаратные интерфейсы и/или адаптеры, позволяющие пользователю вводить данные и/или команды в соответствующую систему. Устройства 28 вывода могут включать в себя, среди прочего, устройства отображения, такие как мониторы и динамики, а также аппаратные интерфейсы/адаптеры, такие как графические карты, позволяющие соответствующей системе передавать данные пользователю. В некоторых вариантах осуществления устройства ввода и вывода совместно используют общий элемент аппаратного оборудования (например, сенсорный экран). Устройства 32, 132 и 232 хранения включают в себя машиночитаемые носители, обеспечивающие возможность энергонезависимого хранения, чтения и записи программных команд и/или данных. Примерные устройства хранения включают в себя магнитные и оптические диски, устройства флэш-памяти, а также съемные носители, такие как CD- и/или DVD-диски и дисководы.

[0037] Сетевые адаптеры 34, 134 и 234 позволяют клиентской системе 12, прибору 18 для детекции устройства и серверу 52 конфигурирования, соответственно, соединяться с электронной коммуникационной сетью, такой как сети 14, 16, и/или к другим устройствам/компьютерным системам.

[0038] Контроллер-концентраторы 30, 130, 230 в общем случае представляют собой множество системных, периферийных шин и/или шин набора микросхем и/или любые другие схемы, обеспечивающие возможность коммуникации между процессором каждой соответствующей системы и остальными аппаратными компонентами. В примерной клиентской системе 12 (фиг. 3) концентратор 30 может содержать контроллер памяти, контроллер ввода/вывода (I/O) и контроллер прерываний. В зависимости от производителя аппаратного оборудования некоторые из таких контроллеров могут быть объединены в одну интегральную схему и/или могут быть интегрированы с процессором.

[0039] На фиг. 6 показаны примерные компоненты программного обеспечения, исполняемые в клиентской системе 12 согласно некоторым вариантам осуществления настоящего изобретения. Такое программное обеспечение может включать в себя операционную систему (ОС) 40, предоставляющую интерфейс между аппаратным оборудованием клиентской системы 12 и набором приложений программного обеспечения, исполняемых в соответствующей клиентской системе. Примеры операционных систем включают в себя, среди прочего, Microsoft® Windows®, MacOS®, iOS® и Android. Приложения программного обеспечения могут включать в себя, среди прочего, обработку текста, графику, игры, браузер и коммуникационные приложения. В некоторых вариантах осуществления приложения программного обеспечения, исполняемые в клиентской системе 12, включают в себя вспомогательный агент 41, конфигурированный для предоставления различных служб соответствующей клиентской системе, таких как службы управления устройством и/или службы безопасности (например, средства защиты от вредоносных программ). В одном примере вспомогательный агент 41 конфигурирован так, чтобы осуществлять доступ и/или модифицировать набор опций конфигурирования клиентской системы 12 (например, параметры конфигурирования сети, параметры управления электропитанием, параметры безопасности, специфические для устройства параметры, такие как требуемая температура в случае термостата с удаленным управлением, или выбор ламп в случае устройства управления домашним освещением с удаленным управлением и т.д.). В некоторых вариантах осуществления установка агента 41 в клиентской системе 12 инициируется и/или обеспечивается прибором 18 для детекции устройства.

[0040] На фиг. 7 показан набор компонентов программного обеспечения, исполняемых на приборе 18 для детекции устройства согласно некоторым вариантам осуществления настоящего изобретения. Такие компоненты могут включать в себя, среди прочего, модуль 42 детекции устройства и модуль 43 DHCP, предоставляющий службы DHCP для локальной сети 14. Такие службы могут включать в себя доставку информации о конфигурации IP клиентам, запрашивающим доступ к локальной сети 14 и/или к расширенной сети 16. Модуль 42 детекции устройства может включать в себя механизм 45 категоризации и может быть конфигурирован для взаимодействия с сервером 52 конфигурирования для автоматического определения типа устройства клиентской системы 12, как подробно показано ниже. В некоторых вариантах осуществления прибор 18 дополнительно исполняет модуль 44 прерывания работы сети, конфигурированный так, чтобы брать контроль над сетевыми службами от маршрутизатора 19. В частном примере, в ответ на определение категории устройств маршрутизатора 19 прибор 18 может использовать модуль 44 прерывания работы, чтобы отключить или иным образом нейтрализовать DHCP-сервер маршрутизатора 19 для взятия контроля над сетевыми службами от маршрутизатора 19. В одном таком примере прибор 18 для детекции устройства может передавать последовательность команд маршрутизатору 19, причем данная последовательность команд создана, чтобы вызвать сбой или отключение DHCP-сервера маршрутизатора. В другом примере прибор 18 может побуждать маршрутизатор 19 предоставить интерфейс конфигурирования, и может передать набор значений параметров конфигурации в соответствующий интерфейс, вызывая, таким образом, отключение DHCP-сервера маршрутизатора. Данный набор команд и/или значений параметров конфигурации может быть выбран в соответствии с детектированной категорией маршрутизатора 19.

[0041] На фиг. 8 показано примерное программное обеспечение, исполняемое на сервере 52 конфигурирования согласно некоторым вариантам осуществления настоящего изобретения. Такое программное обеспечение может включать в себя механизм 145 категоризации на стороне сервера и запросчик 47 базы данных. Механизм 145 может дополнять действия обнаружения/детекции устройства механизма 45, исполняемого на приборе 18 для детекции устройства. Запросчик 47 базы данных может быть конфигурирован для избирательного извлечения данных из базы 56 данных признаков устройства по запросу механизма (механизмов) 45 и/или 145 категоризации.

[0042] На фиг. 9 показана примерная конфигурация механизма 45 категоризации согласно некоторым вариантам осуществления настоящего изобретения. Механизм 145, исполняемый на сервере 52, может иметь сходную конфигурацию. Механизм 45 получает, в качестве ввода, набор указывающих категорию данных 60 клиентской системы и выводит индикатор 72 категории, указывающий тип устройства соответствующей клиентской системы (например, мобильный телефон, работающий под управлением iOS® версии 9.2). Указывающие категорию данные 60 содержат различные типы данных, используемых для определения типа устройства клиентской системы, т.е. для отнесения устройства к категории устройств. Такие данные могут быть логическими (например, указывать, имеет ли соответствующее устройство конкретный признак или нет), числовыми (например, как в сетевом адресе), строкового типа (например, как в именах хостов и в полях пользовательского агента) и т.д. Некоторые примерные данные 60 включают в себя:

a) Идентификаторы ID аппаратного оборудования, такие как адрес управления доступом к среде (MAC) и/или номер международного идентификатора мобильного оборудования (IMEI) соответствующей клиентской системы. МАС-адрес имеет длину 48 бит и обычно указывает производителя соответствующего устройства. Например, первые 24 бита МАС-адреса всех устройств Nest® представляют собой 18:В4:30. Сочетание МАС-адреса со сведениями о том, какого типа устройства изготавливает соответствующий производитель (в случае Nest®, IP-камеры, термостаты и детекторы дыма), может позволить эффективно идентифицировать тип устройства соответствующей клиентской системы.

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

c) Параметры DHCP, такие как имя поставщика, идентификационная метка и имя хоста соответствующей клиентской системы. Идентификационная метка DHCP - это массив значений параметров, которые характерны для некоторых DHCP-клиентов. Например, '1,3,6' распространено для устройств из категории Интернет вещей (IoT). Имя поставщика DHCP содержит идентификатор конкретной реализации DHCP клиентской системы. Например, 'MSFT' является общим именем поставщика для клиента DHCP Windows. Имя хоста может быть вручную задано пользователем, но оно часто содержит имя по умолчанию, установленное изготовителем. Некоторые шаблоны данных имен хостов по умолчанию могут идентифицировать соответствующую клиентскую систему как принадлежащую к определенной категории устройств. Например, имена хостов по умолчанию, начинающиеся с префикса 'NP-', являются общими для медиаплееров Roku®.

d) Индикаторы пользовательского агента, извлеченные из заголовка HTTP-запроса. Индикаторы пользовательского агента включают в себя набор идентификаторов для модели, операционной системы или браузера/приложения, выдавшего соответствующий запрос. Например, общий шаблон для браузеров представляет собой "Mozilla/[версия] ([информация о системе и браузере]) [платформа] ([детали платформы])".

e) Индикаторы службы многоадресной системы доменных имен (mDNS). mDNS - это служба нулевой конфигурации, разрешающая имена хостов в IP-адреса в отсутствие обычного сервера доменных имен. Несколько устройств используют mDNS для предложения набора сервисов и портов. Дополнительная указывающая категорию информация может быть получена из поля ТЕКСТ. Службы mDNS популярны среди устройств Apple, принтеров или сетевых хранилищ. Например, большинство принтеров предлагают службу 'printer' по mDNS.

f) Параметры простого протокола сетевого управления (SNMP). SNMP - это сетевой протокол для обмена информацией управления между соединенными устройствами. Устройство с трансляциями SNMP-сервера и идентификатором объекта (OID), пример которого воспроизводится ниже:

Iso(1). org(3). dod(6). internet(1). private(4). transition(868). products(2). chassis(4). card(1). slotCps(2). -cpsSlotSummary(1). cpsModuleTable(1). cpsModuleEntry(1). cpsModuleModel(3). 3562. 3

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

[0043] В некоторых вариантах осуществления данные 60 обрабатываются для извлечения набора признаков устройства, причем каждый признак содержит набор пары атрибут-значение соответствующего устройства. Примерные признаки включают в себя признак DHCP, признак MAC и признак пользовательского агента, среди прочего. Признак устройства может быть определен в соответствии с множеством элементов данных (например, путем объединения множества значений атрибутов, как в "атрибут: значение 1 ИЛИ значение2 И НЕ значение3" и т.д.).

[0044] В некоторых вариантах осуществления механизм 45 категоризации (фиг. 9) содержит диспетчер 62 данных, множество синтаксических анализаторов 64а-с данных и агрегатор 70 оценок, связанный с синтаксическими анализаторами 64а-с данных. Каждый синтаксический анализатор 64а-с может определять набор вердиктов в соответствии с набором указывающих категорию данных 60 или набором признаков клиентского устройства. Каждый вердикт указывает возможную категорию устройств клиентской системы 12. Примеры вердиктов включают в себя "клиентская система 12 - это маршрутизатор от Apple®", "клиентская система 12 - это устройство Android", и "клиентская система 12 - это планшетный компьютер от неизвестного производителя под управлением Windows Mobile® 6.5".

[0045] Каждый синтаксический анализатор 64а-с может дополнительно определять оценку, сопутствующую каждому вердикту. В некоторых вариантах осуществления оценка указывает степень, с которой клиентская система 12 является репрезентативной для соответствующей категории. Например, оценка может количественно определять, насколько клиентская система 12 репрезентативна для умных часов или устройства Apple®, или устройства под управлением Android®. Более высокие оценки могут указывать более высокую репрезентативность для соответствующей категории (например, что устройство является типичным членом категории). Степень репрезентативности для категории может включать в себя, среди прочего, степень членства клиентской системы 12 в соответствующей категории, уровень правдоподобия или достоверности, что клиентская система 12 принадлежит соответствующей категории, и мера сходства между клиентской системой 12 и соответствующей категорией. Оценки могут быть логическими (1/0, ДА/НЕТ) или непрерывно меняться внутри набора границ. В одном примере каждая оценка масштабируется к числу от 0 до 100.

[0046] В некоторых вариантах осуществления каждый синтаксический анализатор 64а-с конфигурирован для получения, в качестве ввода, отдельного поднабора указывающих категорию данных или отдельного поднабора признаков устройства. Например, синтаксический анализатор 64а может обрабатывать данные/признаки DHCP, синтаксический анализатор 64b может синтаксически анализировать текстовые строки пользовательского агента, извлеченные из HTTP-запросов, и т.д. В другом примере синтаксический анализатор 64а обрабатывает первое поле типа данных пользовательского агента, синтаксический анализатор 64b обрабатывает второе поле пользовательского агента и т.д. Отдельные поднаборы признаков необязательно являются взаимоисключающими; некоторые отдельные поднаборы признаков могут иметь частичное перекрытие. Диспетчер 62 данных может быть конфигурирован для выборочной отправки каждого типа указывающих категорию данных в синтаксические анализаторы 64а-с, использующие соответствующий тип/признак данных в качестве ввода. В альтернативном варианте осуществления различные синтаксические анализаторы 64а-с могут обрабатывать один и тот же набор признаков, но могут применять различные алгоритмы для создания специфичных для синтаксического анализатора вердиктов и/или значений оценки. В одном таком примере один синтаксический анализатор обрабатывает данные mDNS в соответствии с набором эвристических правил, при этом другой синтаксический анализатор обрабатывает данные mDNS с использованием нейронной сети.

[0047] Когда категории устройств содержат множество характеристик {C1, C2, …, Cn}, где n>1, некоторые синтаксические анализаторы выдают массив пар вердикт/оценка, причем каждый элемент массива представляет собой отдельную комбинацию характеристик. В одном таком примере, в котором характеристики категории содержат {категория, OS}, где поле 'категория' может принимать значения {phone, PC}, причем поле OS может принимать значения {Windows, Android, iOS}, оценки могут быть визуализированы в виде двумерной матрицы:

где обозначает оценку, указывающую, насколько клиентская система 12 является репрезентативной для смартфона под управлением Windows®, тогда как i нумерует синтаксические анализаторы. В целом, такие массивы являются редкими, поскольку на практике встречаются не все возможные комбинации характеристик устройства. Например, в настоящее время на рынке нет принтеров на системе Android, так что вердикт {printer, Android} может отсутствовать или может быть настолько редким, что его использование не может быть оправдано.

[0048] Некоторые варианты осуществления извлекают знания из обширного массива записей, представляющих устройства различных видов (смартфоны, термостаты, ноутбуки, маршрутизаторы, принтеры и т.д.). Данные признаков устройства могут быть получены из технической документации и/или из тестирования, при этом они могут быть получены автоматически или людьми-операторами. Данные признаков устройства могут храниться в базе 56 данных признаков устройства. Записи массива могут быть группированы по категориям в соответствии с различными критериями. Такое группирование может быть выполнено людьми-операторами или может быть достигнуто автоматически с использованием таких методов, как контролируемое или неконтролируемое обучение.

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

[0050] Примерный синтаксический анализатор, конфигурированный для обработки данных DHCP, может работать следующим образом. На первом этапе детекции синтаксический анализатор пытается сопоставить как идентификационную метку DHCP, так и поставщика DHCP клиентской системы 12 с массивом устройств. Если сопоставление успешно, соответствующий вердикт (вердикты) передается в агрегатор 70 оценок с максимальной оценкой (например, 100). Если нет точного сопоставления для обоих полей, выполняется попытка сопоставить только идентификационную метку DHCP. Для предотвращения поддержки некорректных вердиктов оценка каждого вердикта, полученная путем сопоставления идентификационной метки DHCP, выбирается в соответствии с мерой сходства (например, межстрочное расстояние, такое как расстояние Левенштейна) между поставщиком DHCP соответствующего вердикта и поставщиком DHCP клиентской системы 12.

[0051] В некоторых вариантах осуществления агрегатор 70 оценок централизует, сравнивает и/или объединяет вердикты 68а-с, созданные отдельными синтаксическими анализаторами 64а-с, для вывода окончательного вердикта для соответствующей клиентской системы. Окончательный вердикт однозначно относит клиентское устройство 12 к категории устройств. Для объединения отдельных вердиктов агрегатор 70 оценок может использовать любой способ, известный в данной области техники. В одном примерном варианте осуществления окончательный вердикт выбирается в виде вердикта, имеющего наивысшую оценку среди множества типов данных и/или синтаксических анализаторов:

где обозначает оценку, связанную с вердиктом v и определенную в соответствии с типом данных или признаком i, причем S обозначает набор всех типов данных/признаков, и Ω обозначает набор всех вердиктов (индикаторы категории). В альтернативном варианте осуществления обозначает оценку, определенную синтаксическим анализатором i для вердикта v.

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

[0053] Альтернативный вариант осуществления определяет окончательный вердикт в соответствии с агрегированной оценкой, вычисленной для каждого вердикта v, в виде комбинации отдельных оценок , полученных в соответствии с различными типами данных/признаками, в соответствии с различными алгоритмами, и/или вычисленных с помощью различных синтаксических анализаторов 64а-с. В одном таком примере агрегированная оценка вычисляется в соответствии с взвешенной суммой отдельных оценок:

где обозначает агрегированную оценку, вычисленную для вердикта v, причем обозначает численный вес, связанный с типом данных/признаком i и/или с синтаксическим анализатором, который создал оценку . Если все весы равны, формула [3] соответствует вычислению агрегированной оценки в виде среднего значения набора отдельных оценок.

[0054] В некоторых вариантах осуществления вес представляет собой индикатор надежности соответствующего синтаксического анализатора и/или типа данных при получении корректного отнесения к категории. Некоторые типы данных (например, данные пользовательского агента, имя хоста) могут быть скорее неспецифическими или могут приводить к ложным вердиктам с относительно высокими оценками. Для предотвращения таких ситуаций соответствующие типы данных и/или синтаксические анализаторы, использующие соответствующие типы данных, могут получать более низкий вес , чем другие, более надежные данные/типы или синтаксические анализаторы. В некоторых вариантах осуществления вес может дополнительно варьироваться в соответствии с вердиктом: , где обозначает релевантность источника данных и/или синтаксического анализатора i для соответствующего вердикта v. Некоторые типы данных могут более релевантны для некоторых вердиктов, чем другие. Например, данные mDNS могут быть более релевантными для детекции принтеров, чем данные имени хоста. Хотя такая информация о надежности/релевантности уже может быть включена до некоторой степени в оценки, в некоторых вариантах осуществления используются веса, специфические для вердикта и/или синтаксического анализатора, в качестве способа для решения проблемы с оценками и, таким образом, для получения однозначного отнесения к категории.

[0055] В одном примере специфических для вердикта и/или синтаксического анализатора весов, Ecobee, Inc. (префикс MAC 44:61:32) и Sonos, Inc. (префикс MAC b8:е9:37) производят очень небольшое количество устройств, которые, таким образом, могут быть однозначно идентифицированы с использованием МАС-адреса. Таким образом, синтаксический анализатор/тип данных MAC может получать относительно высокий вес при агрегации оценок для вердиктов Ecobee и/или Sonos. В другом примере для устройств Nest® пустое имя хоста обычно указывает IP-камеру. Некоторые варианты осуществления могут, таким образом, связывать относительно высокие веса с вердиктами Nest и синтаксическими анализаторами имени хоста. В еще одном примере устройство Apple®, данные mDNS которого показывают сетевую службу типа "airport.tcp", скорее всего, является маршрутизатором. Таким образом, более высокие веса могут быть связаны с синтаксическими анализаторами mDNS и вердиктами Apple®. Сходным образом, устройство Amazon®, имеющее идентификационную метку DHCP "1,3,6,12,15,28,42", скорее всего, является устройством чтения электронных книг Kindle®. Таким образом, в некоторых вариантах осуществления может применяться относительный вес при агрегировании оценок для вердиктов Amazon и синтаксических анализаторов DHCP.

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

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

где М(.) обозначает модулирующую функцию. Один примерный вариант осуществления с использованием вариации формулы [4] вычисляет агрегированную оценку в соответствии с наибольшей и наименьшей из отдельных оценок:

В другом примерном вычислении наибольшая и наименьшая отдельные оценки не учитываются, и агрегированная оценка вычисляется как среднее значение оставшихся оценок. В другом примерном варианте осуществления агрегированную оценку можно определять в виде медианы набора отдельных оценок. В еще одном примере М представляет собой инъективную функцию (например, постоянно увеличивающуюся). Вариации, например, показанные в формулах [4] и [5], затрагивают проблему неоднозначного отнесения к категории: после применения формулы [1] или [2] может существовать множество потенциальных вердиктов с по существу сходными агрегированными оценками. На практике это означает, что механизмы 45, 145 категоризации не могут определять уникальную категорию для соответствующего устройства. В некоторых вариантах осуществления, таким образом, прибегают к модуляции оценки для решения этой проблемы. Некоторые функции М, например, дополнительно поддерживают надежные синтаксические анализаторы при попытке решения проблемы с агрегированной оценкой.

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

[0059] В некоторых вариантах осуществления с фиг. 9 синтаксические анализаторы 64а-с и/или агрегатор 70 оценок могут получать набор значений 66 параметров синтаксического анализа и/или набор значений 67 параметров агрегации в качестве ввода для вычисления отдельных оценок и/или, соответственно, агрегированной оценки . В варианте осуществления, в котором синтаксический анализатор содержит нейронную сеть, значения 66 параметров синтаксического анализа могут включать в себя, например, набор весов нейронной сети соответствующего синтаксического анализатора. Значения параметров агрегации могут включать в себя, среди прочего, веса . В примерном примере варианте осуществления значения 66 и/или 67 параметров хранятся в базе 56 данных признаков устройства и выборочно извлекаются из нее. Путем сохранения таких значений параметров независимо от программного обеспечения для синтаксического анализатора и агрегации оценок, некоторые варианты осуществления облегчают оптимизацию и/или улучшение механизмов 45, 145.

[0060] На фиг. 10 показана примерная последовательность этапов, выполняемых механизмом 45 категоризации согласно некоторым вариантам осуществления настоящего изобретения. Детекция устройства может выполняться итеративно, поскольку не все указывающие категорию данные 60 могут быть доступны сразу. Некоторые типы данных могут быть относительно легко получены, тогда как другие могут потребовать относительно длительных процедур, таких как обмен приветственными сообщениями, согласования параметров конфигурации сети, аутентификация и т.д. Таким образом, в некоторых вариантах осуществления синтаксические анализаторы 64а-с работают независимо друг от друга, причем каждый синтаксический анализатор отвечает на получение указывающих категорию данных/признаков соответствующего вида.

[0061] После введения в локальную сеть 14, на последовательности этапов 400-401 некоторые варианты осуществления прибора 18 для детекции устройства могут начать собирать указывающие категории данные 60 от клиентских систем 12a-f и/или маршрутизатора 19. Сбор данных 60 может зависеть от типа соответствующих данных. Например, прибор 18 для детекции устройства может извлекать индикатор пользовательского агента из HTTP-запроса, полученного от клиентской системы. Некоторые устройства транслируют предложение сетевых служб; путем перехвата таких сообщений прибор 18 может определять, какие службы и/или протоколы поддерживаются соответствующими устройствами. Прибор 18 может дополнительно использовать инструмент обнаружения служб, такой как Network Mapper (NMap). Для сбора данных о сетевых протоколах и службах, таких как Bonjour® и SNMP, некоторые варианты осуществления прибора 18 отправляют зонд в конкретный порт клиентской системы и прослушивают ответ. Если данные 60 доступны, диспетчер 42 данных может идентифицировать тип соответствующих данных и выборочно пересылать данные 60 в синтаксический анализатор (анализаторы), использующий соответствующий тип данных в качестве ввода (этапы 402-404). На этапе 406 соответствующий синтаксический анализатор (анализаторы) определяет набор потенциальных вердиктов и соответствующие оценки. На последовательности этапов 408-410 агрегатор 70 оценок определяет набор агрегированных оценок и выбирает окончательный вердикт. Окончательный вердикт может затем составлять вывод механизма 45. В некоторых вариантах осуществления отнесение клиентской системы 12 к категории, как указано окончательным вердиктом, может изменяться во времени. По мере того, как все больше данных 60, указывающих категорию, становятся доступными, другие синтаксические анализаторы могут начать предоставлять потенциальные вердикты и оценки, которые затем могут быть объединены агрегатором 70 с ранее вычисленными отдельными или агрегированными оценками.

[0062] В альтернативном варианте осуществления, как показано на фиг. 11, по меньшей мере часть процедуры детекции устройства выполняется на сервере 52 конфигурирования. Указывающие категорию данные 60, собираемые прибором 18 для детекции устройства, могут быть переданы в сервер 52 конфигурирования, идентифицирующий тип устройства в соответствии с полученными данными и также в соответствии с информацией, хранящейся в базе 56 данных признаков устройства. Такая детекция устройства может быть итеративной: сервер 52 может выполнять предварительное определение типа устройства в соответствии с доступными в настоящее время данными о соответствующей клиентской системе. В ответ на предварительное определение, сервер 52 может запрашивать дополнительные указывающие тип устройства данные о соответствующем клиенте от прибора 18 для детекции устройства. На сервер 52 конфигурации отправляется больше указывающих категорию данных, пока не будет достигнуто успешное отнесение клиентской системы 12 к категории. Некоторые варианты осуществления делят задачи детекции устройства между механизмами 45 и 145. В одном таком примере каждый механизм может вычислять набор потенциальных вердиктов и/или оценки. Затем оценки могут быть агрегированы либо на приборе 18, либо на сервере 52 для создания окончательного вердикта.

[0063] Информация, полученная путем детекции/обнаружения устройства, может быть использована различными способами. Несколько примеров включают в себя подгонку набора сетевых служб к каждому клиентскому устройству, установку на каждом устройстве специфичных для устройства агентов программного обеспечения, анализ уязвимостей компьютерной безопасности каждого устройства и предоставление специфичного для устройства набора опций конфигурирования пользователю каждого клиентского устройства (удаленное управление).

[0064] Примерное применение некоторых вариантов осуществления настоящего изобретения относится к предоставлению специфичного для устройства программного обеспечения. На фиг. 12 показана примерная последовательность этапов, выполняемых прибором 18 для детекции устройства для доставки вспомогательного агента в клиентскую систему 12 (см., например, вспомогательный агент 41 на фиг. 6). В некоторых вариантах осуществления прибор 18 ожидает запросы на соединение от локальных клиентских систем. Примерный запрос на соединение содержит запрос HTTP. Когда клиентская система 12 пытается получить доступ к адресу в локальной сети 14 или расширенной сети 16, прибор 18 может перехватить запрос и в ответ может отправить индикатор категории клиентской системы 12 в сервер 52 конфигурирования. Сервер 52 может ответить уведомлением, которое может включать в себя индикатор местоположения (например, путь, IP-адрес) установщика агента, выбранного в соответствии с категорией отнесенной клиентской системы 12. В ответ на получение уведомления прибор 18 для детекции устройства может перенаправить запрос HTTP в местоположение установщика агента. В альтернативном варианте осуществления прибор 18 может получить установщик агента от сервера 52, и затем принудительно отправить установщик в соответствующую клиентскую систему.

[0065] В некоторых вариантах осуществления установщик агента конфигурирован так, чтобы побуждать систему 12 (или устройство 20 администрирования) предоставить пользователю интерфейс подтверждения, запрашивая у пользователя согласие на установку агента 41. Установщик может дополнительно запросить у пользователя подтверждение, что пользователь согласен с условиями соответствующей подписки (например, как указано в SLA). Если пользователь указывает согласие, установщик может установить и исполнить агент 41. В некоторых вариантах осуществления установщик агента и/или прибор 18 для детекции устройства может зарегистрировать соответствующую клиентскую систему с помощью сервера 52 конфигурирования клиента, причем регистрация, связывающая соответствующую клиентскую систему с записью подписки, прикреплена к прибору 18 для детекции устройства.

[0066] Может быть предусмотрено большое разнообразие вспомогательных агентов с использованием систем и способов, описанных в данном документе. Примерный вспомогательный агент 41, конфигурированный для предоставления служб безопасности, может выполнять анализ безопасности клиентской системы 12 (например, локальное сканирование на вредоносные программы), и может отправлять данные анализа безопасности в сервер 52 конфигурирования или сервер 50 безопасности. Сервер (серверы) может затем пересылать индикатор безопасности в устройство 20 администрирования для отображения пользователю/администратору. Примерные индикаторы безопасности, отображаемые пользователю/администратору, могут включать в себя, среди прочего, индикатор, является ли конкретный объект программного обеспечения (например, операционная система), исполняемый на клиентской системе 12, актуальным, и индикатор силы пароля, используемого для защиты клиентской системы 12. Другие примеры действий, выполняемые агентом безопасности, включают в себя обновление программного обеспечения и/или правил безопасности для соответствующей клиентской системы. В некоторых вариантах осуществления агент 41 конфигурирован для фильтрации сетевого трафика в клиентскую систему 12 и из нее с использованием алгоритма проверки сетевых пакетов, чтобы определить, например, подвержена ли клиентская система 12 вредоносной атаке.

[0067] Примерный вспомогательный агент 41, конфигурированный для обеспечения служб безопасной связи, включает в себя агент виртуальной частной сети (VPN). Такие агенты могут защищать клиентскую систему 12, если клиентская система 12 покидает локальную сеть 14 (например, если пользователь уходит из дома со своим мобильным телефоном). Такой агент может взаимодействовать с прибором 18 для детекции устройства и/или с сервером 52 конфигурирования, чтобы открыть безопасный коммуникационный туннель и/или настроить VPN между соответствующей клиентской системой и сервером 50 безопасности (более подробно ниже).

[0068] Примерный вспомогательный агент 41, конфигурированный для предоставления служб родительского контроля, может контролировать использование клиентской системы 12 и передавать образцы использования привилегированному пользователю (например, родителю) через устройство 20 администрирования. Агент 41 может дополнительно предотвращать доступ клиентской системы 12 к определенным удаленным ресурсам (например, IP-адреса, веб-сайты и т.д.) или использование ею некоторых локально установленных приложений (например, игр). Такая блокировка может быть применена принудительно на постоянной основе или в соответствии со специфическим для пользователя графиком.

[0069] Примерный вспомогательный агент 41, конфигурированный для предоставления удаленной технической помощи, может автоматически конфигурировать и/или открывать канал безопасной связи (например, туннель SSH) между клиентской системой 12 и сервером 52 конфигурирования. Команды конфигурирования и/или устранения неисправностей могут быть затем переданы от сервера 52 в клиентскую систему 12, возможно без явного участия или помощи со стороны пользователя клиентской системы 12.

[0070] Некоторые клиентские системы, такие как бытовые приборы, переносные устройства и т.д., могут быть выполнены без возможности установки вспомогательного агента, как указано выше. Однако такие устройства могут включать в себя встроенные агенты конфигурирования и/или управления устройствами, обеспечивающие возможность удаленного управления соответствующими устройствами. Некоторые варианты осуществления настоящего изобретения могут использовать существующие агенты управления и специфичные для устройства протоколы и/или способы связи для передачи обновлений значений параметров в такие устройства. Даже для таких устройств корректная идентификация категории устройств позволяет серверу 52 конфигурирования надлежащим образом форматировать и передавать команды конфигурирования в соответствующие клиентские системы. Для облегчения отнесения к категории таких клиентских систем прибор 18 для детекции устройства может либо активно синтаксически анализировать сообщения, полученные от соответствующей клиентской системы, либо выполнять перемаршрутизацию соответствующих сообщений на сервер 52 конфигурирования.

[0071] Некоторые варианты осуществления настоящего изобретения обеспечивают возможность автоматической детекции/обнаружения устройства, в частности клиентских устройств "Интернета вещей", таких как портативные устройства, устройства мобильной связи и интеллектуальные бытовые приборы, среди прочего. Такие клиентские устройства обычно конфигурированы для соединения с сетью, например, с беспроводной локальной вычислительной сетью или линией BLUETOOTH®. Некоторые варианты осуществления настоящего изобретения специально разработаны для удобства использования и, таким образом, без необходимости в специальных знаниях компьютерной инженерии или администрирования сети.

[0072] В некоторых вариантах осуществления прибор для детекции устройства соединен с той же локальной сетью, что и детектированные устройства. Примерные действия детекции/обнаружения включают в себя, среди прочего, определение категории изделий каждого клиентского устройства (например, телефон, часы, умный телевизор, принтер, маршрутизатор, термостат и т.д.) и определение других признаков устройства, таких как марка и модель клиентского устройства, тип/версия операционной системы (OS), используемой клиентским устройством, тип аппаратного компонента, установленного на клиентском устройстве и т.д. Описанные в данном документе способы не ограничиваются прибором для детекции устройства. Детекция устройства может быть выполнена клиентскими системами 12a-f, маршрутизатором 19 и/или удаленным сервером.

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

[0074] В одном примере отнесения к категории прибор 18 получает следующие указывающие категорию данные о клиентском устройстве (Таблица 1):

[0075] Синтаксический анализатор, использующий МАС-адрес, возвращает пары вердикт/оценка, проиллюстрированные в Таблице 2. Как видно по таблице, детекция на основе MAC дает неоднозначные результаты без явного преимущества.

[0076] Второй набор пар вердикт/оценка вычисляется другим синтаксическим анализатором, использующим данные DHCP, и агрегируется с парами вердикт/оценка Таблицы 2. Результаты агрегации показаны в Таблице 3. Добавление вердикта идентификационной метки DHCP к вердикту MAC существенно уменьшило неоднозначность.

[0077] Третий набор пар вердикт/оценка был вычислен другим синтаксическим анализатором на основе данных mDNS. Агрегация оценок вердикта mDNS с парами вердикт/оценка в Таблице 3 дает результат, показанный в Таблице 4, который показывает однозначное и корректное отнесение клиентской системы 12 к категории маршрутизатора.

[0078] Пример ситуации, в которой использование одного источника данных/признака осуществляет некорректное отнесение к категории, показан ниже. Устройство предоставляет указывающие категорию данные, показанные в Таблице 5. Стандартная система обнаружения устройства может заключить, либо в соответствии с данными 'пользовательского агента', либо с данными хоста, что соответствующий клиент является устройством Android. Однако, попытка развернуть приложение, основанное на Android, для этого клиента завершится неудачно, поскольку это устройство на самом деле является телевизором Amazon Kindle Fire, использующим специальную операционную систему, условно основанную на Android. Корректное отнесение к категории может быть достигнуто путем объединения источников данных пользовательского агента, DHCP, mDNS и MAC.

[0079] В другом примере клиентская система предоставляет указывающие категорию данные, показанные в таблице 6. Используя только данные mDNS, стандартная система обнаружения устройства может заключить, что это устройство является принтером, поскольку службы IPP и IPPS в основном используются принтерами. Однако, MAC указывает устройство Apple®, a Apple® в настоящее время не выпускает принтеры. Одно лишь использование данных имен хостов не может гарантировать успешную детекцию, так как имена хостов могут быть произвольно выбраны пользователем. Однако объединение данных MAC, имен хостов и пользовательского агента позволяет компенсировать вводящую в заблуждение информацию, предоставленную данными mDNS, для выполнения корректного отнесения к категории: персональный компьютер, работающий под управлением OS X®.

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

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

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

в ответ, выбора категории устройств в соответствии с набором признаков;

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

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

объединения первой и второй оценок для создания агрегированной оценки; и

в ответ на создание агрегированной оценки, определения, отнести ли клиентское устройство к категории устройств в соответствии с агрегированной оценкой;

причем определение, отнести ли клиентское устройство к категории устройств, включает в себя:

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

в ответ, определение, отнести ли клиентское устройство к категории устройств в соответствии с результатом сравнения.

2. Прибор по п. 1, причем агрегированная оценка определена как:

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

3. Прибор по п. 2, причем вес определен также в соответствии с категорией устройств.

4. Прибор по п. 2, причем вес определен также в соответствии с первой оценкой.

5. Прибор по п. 1, причем агрегированная оценка определена как:

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

6. Прибор по п. 1, причем аппаратный процессор дополнительно конфигурирован для:

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

в ответ, объединения агрегированной оценки и третьей оценки для создания корректированной агрегированной оценки; и

в ответ на создание корректированной агрегированной оценки, определения, отнести ли клиентское устройство к категории устройств в соответствии с корректированной агрегированной оценкой.

7. Прибор по п. 1, причем отнесение клиентского устройства к категории устройств включает в себя указание категории изделий клиентского устройства и операционной системы клиентского устройства.

8. Прибор по п. 1, причем аппаратный процессор дополнительно конфигурирован для:

отнесения клиентского устройства к категории устройств; и

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

9. Прибор по п. 1, причем аппаратный процессор дополнительно конфигурирован для:

отнесения клиентского устройства к категории устройств; и

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

10. Прибор по п. 1, причем аппаратный процессор дополнительно конфигурирован для:

отнесения клиентского устройства к категории устройств;

составления набора команд в соответствии с категорией устройств, причем исполнение команд вызывает прерывание работы сервера протокола динамического конфигурирования хоста (DHCP), исполняемого на клиентском устройстве; и

в ответ на составление набора команд, передачи набора команд клиентскому устройству.

11. Способ, содержащий применение по меньшей мере одного аппаратного процессора прибора для детекции устройства для:

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

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

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

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

применения по меньшей мере одного аппаратного процессора для объединения первой и второй оценок для создания агрегированной оценки; и

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

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

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

12. Способ по п. 11, в котором агрегированную оценку определяют как:

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

13. Способ по п. 12, в котором вес определяют также в соответствии с категорией устройств.

14. Способ по п. 12, в котором вес определяют также в соответствии с первой оценкой.

15. Способ по п. 11, в котором агрегированную оценку определяют как:

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

16. Способ по п. 11, дополнительно включающий в себя этапы, на которых:

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

в ответ, применяют по меньшей мере один аппаратный процессор для объединения агрегированной и третьей оценок для создания корректированной агрегированной оценки;

и

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

17. Способ по п. 11, в котором отнесение клиентского устройства к категории устройств включает в себя указание категории изделий клиентского устройства и операционной системы клиентского устройства.

18. Способ по п. 11, дополнительно включающий в себя этапы, на которых:

применяют по меньшей мере один аппаратный процессор для отнесения клиентского устройства к категории устройств; и

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

19. Способ по п. 11, дополнительно включающий в себя этапы, на которых:

применяют по меньшей мере один аппаратный процессор для отнесения клиентского устройства к категории устройств; и

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

20. Способ по п. 11, дополнительно включающий в себя этапы, на которых:

применяют по меньшей мере один аппаратный процессор для отнесения клиентского устройства к категории устройств;

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

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

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

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

в ответ, выбирать категорию устройств в соответствии с набором признаков;

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

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

объединять первую и вторую оценки для создания агрегированной оценки; и

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

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

в ответ, определение, отнести ли клиентское устройство к категории устройств в соответствии с результатом сравнения.



 

Похожие патенты:

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

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

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

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

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

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

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

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

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

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

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