RU2772072C1 - METHOD FOR USING A MODEL OF THE IoT APPARATUS TO DETECT ANOMALIES IN THE OPERATION OF THE APPARATUS - Google Patents

METHOD FOR USING A MODEL OF THE IoT APPARATUS TO DETECT ANOMALIES IN THE OPERATION OF THE APPARATUS Download PDF

Info

Publication number
RU2772072C1
RU2772072C1 RU2021106669A RU2021106669A RU2772072C1 RU 2772072 C1 RU2772072 C1 RU 2772072C1 RU 2021106669 A RU2021106669 A RU 2021106669A RU 2021106669 A RU2021106669 A RU 2021106669A RU 2772072 C1 RU2772072 C1 RU 2772072C1
Authority
RU
Russia
Prior art keywords
devices
data
hub
iot
network
Prior art date
Application number
RU2021106669A
Other languages
Russian (ru)
Inventor
Антон Владимирович Тихомиров
Иван Иванович Татаринов
Сергей Валерьевич Коноплев
Original Assignee
Акционерное общество "Лаборатория Касперского"
Filing date
Publication date
Application filed by Акционерное общество "Лаборатория Касперского" filed Critical Акционерное общество "Лаборатория Касперского"
Application granted granted Critical
Publication of RU2772072C1 publication Critical patent/RU2772072C1/en

Links

Images

Abstract

FIELD: information security.
SUBSTANCE: described result is achieved by using a method for using a model of the IoT apparatus to detect anomalies in the operation of the apparatus, wherein a new apparatus is determined; the data on the apparatus is obtained to generate a profile; a convolution of the apparatus is created based on the profile; a convolution similar to the created convolution is selected from a convolution database; if a known model is available, then the already known model of behaviour of the apparatus, linked with the selected convolution, is used; otherwise, data is collected in the profile of the apparatus in order to create and train a model of the apparatus and subsequently use the trained model, wherein the use of the model involves detecting anomalies in the operation of the apparatus.
EFFECT: implemented possibility of detecting anomalies in the operation of the apparatus by using a model of the IoT apparatus (hereinafter the apparatus).
1 cl, 22 dwg, 12 tbl

Description

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

Изобретение относится к технологиям, а более конкретно, к способам обеспечения информационной безопасности для IoT-устройств.The invention relates to technologies, and more specifically, to methods for ensuring information security for IoT devices.

Уровень техникиState of the art

В настоящее время всё большее количество устройств оказывается подключено к сети Интернет - начиная с компьютеров и смартфонов пользователей и заканчивая более обыденными вещами, такими как телевизоры или холодильники. В случае подключения новых типов устройств к сети Интернет, они зачастую “приобретают” приставку «Smart» (например, Smart TV). При подключении Smart-устройств к сети Интернет пользователи получают возможность управления работой указанных устройств, в том числе обновления самих устройств, наблюдения за статусом работы устройства (например, холодильника) и интегрирования самого устройства в рамках так называемой концепции “умный дом” (англ. Smart house). Подобная концепция позволяет управлять подобными “умными” вещами (устройствами) из одной точки, проверяя статус работы таких вещей, настраивать их под свои личные нужды. Концепция “умного дома” включает и другую концепцию под названием Интернет вещей (англ. Internet of Things, IoT), которая подразумевает взаимодействие вышеуказанных вещей уже без прямого участия человека. Nowadays, an increasing number of devices are connected to the Internet - from computers and smartphones of users to more mundane things such as TVs or refrigerators. In the case of connecting new types of devices to the Internet, they often “acquire” the “Smart” prefix (for example, Smart TV). When Smart devices are connected to the Internet, users get the ability to manage the operation of these devices, including updating the devices themselves, monitoring the status of the device (for example, a refrigerator) and integrating the device itself within the framework of the so-called “smart home” concept (English Smart house). Such a concept allows you to control such "smart" things (devices) from one point, checking the status of such things, adjusting them to your personal needs. The concept of "smart home" includes another concept called the Internet of Things (English Internet of Things, IoT), which implies the interaction of the above things without the direct participation of a person.

В настоящее время пользователями широко используются маршрутизаторы, которые позволяют создавать беспроводные (smart-устройства также работают и по проводным сетям) сети, которые в свою очередь позволяют подключать другие умные вещи к сети Интернет. В настоящее время многие роутеры поддерживают возможность создания так называемых неоднородных (гетерогенных) сетей. В качестве примера можно привести сеть из устройств (“умных” вещей), часть из которых соединена с роутером через беспроводную сеть Wi-Fi, а другая часть - через Bluetooth.Currently, users are widely using routers that allow you to create wireless (smart devices also work over wired networks) networks, which in turn allow you to connect other smart things to the Internet. Currently, many routers support the ability to create so-called heterogeneous (heterogeneous) networks. An example is a network of devices (“smart” things), some of which are connected to the router via a wireless Wi-Fi network, and the other part via Bluetooth.

Неудивительно, что с ростом количества устройств, которые имеют возможность сетевого взаимодействия, начало расти и количество попыток злонамеренного использования подобных устройств. При получении доступа с правами администратора к роутеру появляется возможность анализировать сетевой трафик, который идет через роутер. При получении доступа к таким устройствам, как “умные часы” (англ. smart watch), появляется возможность также проверять данные на связанных (англ. paired) с этими часами смартфонах. Все эти действия могут привести к краже данных, их подмене или повреждению.Not surprisingly, with the growth in the number of devices that have the ability to network, the number of attempts to maliciously use such devices began to grow. When you gain access with administrator rights to the router, it becomes possible to analyze the network traffic that goes through the router. When you gain access to devices such as smart watches, you can also check data on paired smartphones. All these actions can lead to data theft, spoofing or damage.

Злонамеренное использование подобных IoT-устройств осуществляется с помощью вредоносных программ, кол-во которых также растет. Ввиду того, что подобные устройства зачастую не имеют высокопроизводительной вычислительной платформы (как правило, это небольшие платформы на базе архитектуры ARM) и работают под управлением малофункциональной операционной системы (ОС), которая использует малое количество ресурсов, то использование каких-либо политик безопасности или антивирусных приложений является избыточным. Также проблема усугубляется тем, что создатели вредоносных приложений только приступили к исследованию возможностей использования подобных устройств, что в свою очередь приводит к тому, что антивирусные компании не успевают реагировать на новые угрозы. Malicious use of such IoT devices is carried out with the help of malware, the number of which is also growing. Due to the fact that such devices often do not have a high-performance computing platform (as a rule, these are small platforms based on the ARM architecture) and run a low-functional operating system (OS) that uses a small amount of resources, the use of any security policies or anti-virus applications is redundant. The problem is also exacerbated by the fact that the creators of malicious applications have only just begun to explore the possibilities of using such devices, which in turn leads to the fact that antivirus companies do not have time to respond to new threats.

Также IoT-устройства могут порождать большой объём трафика за счет своего количества, чем пользуются создатели ботнетов. В качестве примера можно привести ботнет Hide'n'Seek, который использует p2p-инфраструктуру, что ещё больше затрудняет его обнаружение. Also, IoT devices can generate a large amount of traffic due to their quantity, which is used by the creators of botnets. An example is the Hide'n'Seek botnet, which uses a p2p infrastructure, making it even more difficult to detect.

Стоит отметить, что повсеместное использование IoT-устройств может сопровождаться вторжением в личную жизнь людей. С одной стороны, человек может доверять устройствам управление данными (в том числе сбор и анализ данных), которые могут прямо или косвенно являться его личной информацией - пульс, расход калорий (“умный” фитнес-браслет), частота звонков (“умные” часы), температура и влажность в доме (“умные” приборы, такие как термометр и гигрометр с обратной связью) и другие. Хотя от использования информации от таких устройств напрямую зависит уровень и качество сервиса, не все пользователи согласны на передачу информации, тем более что злоумышленники также могут получить подобную информацию.It is worth noting that the widespread use of IoT devices can be accompanied by an invasion of people's privacy. On the one hand, a person can trust devices to manage data (including data collection and analysis), which can directly or indirectly be his personal information - heart rate, calorie consumption (“smart” fitness bracelet), call frequency (“smart” watch ), temperature and humidity in the house (“smart” devices such as a thermometer and a hygrometer with feedback), and others. Although the level and quality of service directly depends on the use of information from such devices, not all users agree to the transfer of information, especially since attackers can also receive such information.

Одной из последних проблем можно назвать также вопросы безопасности, связанные с функционированием “умной” техники в рамках “умного” дома. Например, недопустимо, чтобы температура воздуха поднималась выше 23-25 градусов Цельсия в теплое время года, даже если настройки позволяют поднять температуру выше. Кроме того, этим могут воспользоваться и злоумышленники, выведя из строя ряд датчиков и сменив настройки.One of the latest problems can also be called security issues related to the functioning of “smart” technology within the framework of a “smart” home. For example, it is unacceptable for the air temperature to rise above 23-25 degrees Celsius during the warm season, even if the settings allow you to raise the temperature higher. In addition, attackers can also take advantage of this by disabling a number of sensors and changing the settings.

Подобные проблемы могут быть катастрофическими в том случае, если используются уязвимости для индустриального Интернета вещей (англ. Industrial Internet of Things, IIoT). В это определение входит многоуровневая система, включающая в себя датчики и контроллеры, установленные на узлах и агрегатах промышленного объекта, средства передачи, визуализации и анализа собираемых данных. Если один из подобных узлов будет скомпрометирован, то вполне возможен отказ в обслуживании не одного устройства или набора устройств в доме, но даже изменение работы или отказ критически важной инфраструктуры в рамках целого города (например, системы управления городским траффиком или работы городских камер). В качестве примера использования таких уязвимостей можно привести такие атаки, как Stuxnet и Duqu. (1 https://www.kaspersky.ru/about/press-releases/2014_stuxnet-v-detaliakh, 2 https://www.securitylab.ru/news/tags/Duqu/)Such problems can be catastrophic if vulnerabilities for the Industrial Internet of Things (IIoT) are exploited. This definition includes a multi-level system that includes sensors and controllers installed on the nodes and assemblies of an industrial facility, means of transmitting, visualizing and analyzing the collected data. If one of these nodes is compromised, then it is quite possible that not one device or set of devices in the house will be denied service, but even a change in the operation or failure of critical infrastructure within an entire city (for example, city traffic management systems or city cameras). An example of exploitation of such vulnerabilities is attacks such as Stuxnet and Duqu. ( 1 https://www.kaspersky.ru/about/press-releases/2014_stuxnet-v-detaliakh, 2 https://www.securitylab.ru/news/tags/Duqu/)

Известны патентные публикации, которые раскрывают возможные решения по обеспечению информационной безопасности, связанной с IoT-устройствами. Например, в публикации US20180041546 раскрывается дизайн безопасности для IoT-систем на основании желаемых пользователем характеристик. Публикация US20180040172 раскрывает мониторинг взаимодействия машины с IoT-устройством и анализ возможных информационных рисков. Однако в приведенных публикациях не раскрывается комплексный подход для решения задач информационной безопасности вкупе с обеспечением безопасности и корректной работы IoT-устройств, а также обеспечения необходимого уровня конфиденциальности.Patent publications are known that disclose possible solutions for ensuring information security associated with IoT devices. For example, US20180041546 discloses security design for IoT systems based on user desired characteristics. Publication US20180040172 discloses monitoring the interaction of a machine with an IoT device and analyzing possible information risks. However, these publications do not disclose an integrated approach to solving information security problems, coupled with ensuring the security and correct operation of IoT devices, as well as ensuring the necessary level of confidentiality.

Анализ предшествующего уровня техники позволяет сделать вывод о неэффективности и в некоторых случаях о невозможности применения предшествующих технологий, недостатки которых решаются настоящим изобретением, а именно способом использования модели IoT-устройства для определения аномалий в работе устройства. An analysis of the prior art allows us to conclude that the previous technologies are ineffective and, in some cases, impossible to use, the disadvantages of which are solved by the present invention, namely, the method of using an IoT device model to determine anomalies in the operation of the device.

Раскрытие изобретенияDisclosure of invention

Технический результат настоящего изобретения заключается в назначении изобретения.The technical result of the present invention lies in the purpose of the invention.

Согласно одному из вариантов реализации указанный результат достигается с помощью способа использования модели IoT-устройства (далее - устройство) для определения аномалий в работе устройства, включает этапы: определяют новое устройство; получают данные об устройстве для формирования профиля; создают свертку устройства на основании профиля; выбирают из базы данных свёрток свёртку схожую с созданной свёрткой; если существует известная модель, то используют уже известную модель поведения устройства, связанную с выбранной свёрткой, в ином случае собирают данные в профиле устройства для создания и обучения модели устройства и последующего использования обученной модели, при этом использование модели предполагает определение аномалий в работе устройства.According to one of the implementation options, the specified result is achieved using the method of using the IoT device model (hereinafter referred to as the device) to determine anomalies in the operation of the device, includes the following steps: determine a new device; receive data about the device for forming a profile; creating a device rollup based on the profile; choose from the database of convolutions a convolution similar to the created convolution; if there is a known model, then the already known device behavior model associated with the selected convolution is used, otherwise, data is collected in the device profile to create and train the device model and then use the trained model, while using the model involves identifying anomalies in the device operation.

Краткое описание чертежейBrief description of the drawings

Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:Additional objects, features and advantages of the present invention will become apparent from reading the following description of an embodiment of the invention with reference to the accompanying drawings, in which:

На Фиг. 1 приведена схема IoT-экосистемы (инфраструктуры).On FIG. 1 shows a diagram of the IoT ecosystem (infrastructure).

Фиг. 2 иллюстрирует IoT-устройство, которое может быть защищено с помощью установленной защищенной ОС.Fig. 2 illustrates an IoT device that can be secured with a secure OS installed.

Фиг. 3 показывает пример схемы IoT-экосистемы (инфраструктуры), в которую добавлены элементы, которые обеспечивают необходимый уровень безопасности на разных уровнях.Fig. 3 shows an example diagram of an IoT ecosystem (infrastructure) to which elements have been added that provide the necessary level of security at different levels.

Описание основной функциональности хаба 310 иллюстрируется на Фиг. 4.A description of the main functionality of the hub 310 is illustrated in FIG. 4.

Фиг. 5 иллюстрирует разбиение на домены (по безопасности).Fig. 5 illustrates the partitioning into domains (by security).

Фиг. 6 иллюстрирует разбиение на домены (по функциональности).Fig. 6 illustrates the division into domains (by functionality).

Фиг. 7 показывает разбиение на домены (по иерархии).Fig. 7 shows the division into domains (hierarchically).

Фиг. 8 показывает построение карты сети с помощью хаба 310.Fig. 8 shows the construction of a network map using a hub 310.

Фиг. 9 иллюстрирует способ работы хаба 310 при подключении нового устройства. Fig. 9 illustrates how hub 310 operates when a new device is connected.

На Фиг. 10 отображен способ использования хаба 310 в рамках исследования уязвимостей для IoT-устройств.On FIG. 10 depicts how the hub 310 is used as part of an IoT device vulnerability study.

Фиг. 11 иллюстрирует создание и использование правил для IoT-устройств.Fig. 11 illustrates the creation and use of rules for IoT devices.

Фиг. 12 отображает схему шифрования и токенизации данных пользователей, передаваемых с IoT-устройств.Fig. 12 shows the scheme for encrypting and tokenizing user data transmitted from IoT devices.

Фиг. 13 отображает способ создания профиля устройства, обучения и использования обученной модели устройства для прогнозирования поведения устройства.Fig. 13 depicts a method for creating a device profile, training, and using the trained device model to predict device behavior.

Фиг. 14а-в отображают построение профиля сети из IoT-устройств с помощью хаба 310 в течение промежутка времени.Fig. 14a-c show the construction of a network profile of IoT devices using hub 310 over a period of time.

Фиг. 15 отражает способ построения профиля сети.Fig. 15 reflects how the network profile is constructed.

Фиг. 16 показывает настройку устройств в зависимости от типа сети.Fig. 16 shows the setup of devices depending on the type of network.

Фиг. 17 отображает использование модели для оценки степени износа устройств.Fig. 17 depicts the use of the model to estimate the degree of wear of devices.

На Фиг. 18 отображен пример изменения (шейпинга) трафика с целью сгладить пики, которые могут указывать на определенные действия пользователя.On FIG. 18 shows an example of changing (shaping) traffic in order to smooth out peaks that may indicate certain user actions.

Фиг. 19 отображает применение политик обработки личных данных.Fig. 19 displays the application of personal data processing policies.

Фиг. 20 представляет пример компьютерной системы общего назначения, с помощью которой может быть реализовано настоящее изобретение.Fig. 20 is an example of a general purpose computer system with which the present invention may be implemented.

Описание вариантов осуществления изобретенияDescription of embodiments of the invention

Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, необходимыми для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.The objects and features of the present invention, methods for achieving these objects and features will become apparent by reference to exemplary embodiments. However, the present invention is not limited to the exemplary embodiments disclosed below, but may be embodied in various forms. The gist of the description is nothing but the specific details necessary to assist a person skilled in the art in a thorough understanding of the invention, and the present invention is defined within the scope of the appended claims.

Введем несколько определений, которые будут использоваться в рамках настоящей заявки на изобретение.We introduce several definitions that will be used in the framework of this application for the invention.

“Умные” вещи (IoT-устройства, далее будут использоваться оба термина) - повседневные вещи, такие как часы, уличные фонари и прочие источники освещения, камеры наблюдения, холодильники, диктофоны, браслеты, пульсометры, термостаты и другие, которые имеют доступ в Интернет (или локальную сеть) через различные виды проводных и беспроводных соединений, такие как Wi-Fi или Bluetooth. Данные устройства создают сетевые соединения, получают и обрабатывают входящий трафик, имеют интерфейс для взаимодействия (API, англ. Application Programmable Interface), что позволяет не только следить за параметрами вещи (устройства), но также настраивать её. Кроме того, к IoT-устройствам можно отнести и ряд сетевых устройств, такие как усилители сигнала или медиаприставки. “Smart” things (IoT devices, both terms will be used below) - everyday things such as watches, street lights and other sources of lighting, surveillance cameras, refrigerators, voice recorders, bracelets, heart rate monitors, thermostats and others that have Internet access (or local area network) through various types of wired and wireless connections such as Wi-Fi or Bluetooth. These devices create network connections, receive and process incoming traffic, have an interface for interaction (API, English Application Programmable Interface), which allows not only to monitor the parameters of a thing (device), but also to configure it. In addition, a number of network devices, such as signal amplifiers or media set-top boxes, can be attributed to IoT devices.

IoT-устройства находят своё применение в различных областях, таких как: автотранспорт (англ. automotive), потребительские товары (например, умные часы), объекты инфраструктуры (различные датчики, например датчик влажности или датчик температуры), медицина (например, кардиостимулятор с возможностью отправки данных о своей работе на локальный сервер), умный дом (англ. smart home/building) и другие. Зачастую IoT-устройства объединяются в инфраструктуру, которая позволяет выполнять задачи на уровне не только отдельного человека или домохозяйства, но и на уровне городов или государств. IoT devices find their application in various fields, such as: automotive (English automotive), consumer goods (for example, smart watches), infrastructure facilities (various sensors, for example, a humidity sensor or a temperature sensor), medicine (for example, a pacemaker with the ability to sending data about their work to a local server), smart home (English smart home / building) and others. Often, IoT devices are combined into an infrastructure that allows you to perform tasks at the level of not only an individual or household, but also at the level of cities or states.

Компрометация/кража/повреждение IoT-устройств могут привести к различным последствиям для всей инфраструктуры. Ниже выделены характеристики, на которые влияет повреждение IoT-устройства.Compromise / theft / damage to IoT devices can lead to various consequences for the entire infrastructure. The characteristics that are affected by IoT device damage are highlighted below.

Целостность (англ. integrity) - насколько повреждение одного или нескольких IoT-устройств влияет на целостность работы всей инфраструктуры. Integrity - how much damage to one or more IoT devices affects the integrity of the entire infrastructure.

Доступность (англ. availability) - насколько повреждение одного или нескольких IoT-устройств влияет на доступность работы как самого устройства, так и нескольких связанных с ним устройств (инфраструктуры). Availability - how much damage to one or more IoT devices affects the availability of both the device itself and several devices associated with it (infrastructure).

Конфиденциальность (англ. confidentiality) - влияние компрометации или кражи одного или нескольких IoT-устройств на доступ к личной информации пользователя(-ей). Confidentiality is the impact of compromise or theft of one or more IoT devices on access to personal information of the user(s).

“Умные” вещи могут использовать различные виды сетевых протоколов и стандартов, такие как беспроводные (например, 2G, 3G, LTE, WiFi, BlueTooth, ZigBee, LoRa), или проводные (например, Ethernet), или иные протоколы, такие как BACnet, Modbus, SNMP, RS232, RS422, RS485.Smart things can use different kinds of network protocols and standards such as wireless (e.g. 2G, 3G, LTE, WiFi, BlueTooth, ZigBee, LoRa) or wired (e.g. Ethernet) or other protocols such as BACnet, Modbus, SNMP, RS232, RS422, RS485.

Обмен данными между самими IoT-устройствами может быть реализован с помощью широкой номенклатуры протоколов обмена данными. В качестве примера можно привести HTTP, веб-сокеты, MQTT (Message Queue Telemetry Transport), CoAP (Constrained Application Protocol), XMPP (Extensible Messaging and Presence Protocol), SNMP (Simple Network Management Protocol), AliJoyn и другие. Поддержка этих протоколов, как правило, реализуется в рамках средств разработки (англ. SDK, Software Development Kit), которые используются при создании программной части IoT-устройств. Data exchange between the IoT devices themselves can be implemented using a wide range of data exchange protocols. Examples include HTTP, Web Sockets, MQTT (Message Queue Telemetry Transport), CoAP (Constrained Application Protocol), XMPP (Extensible Messaging and Presence Protocol), SNMP (Simple Network Management Protocol), AliJoyn and others. Support for these protocols, as a rule, is implemented within the development tools (SDK, Software Development Kit), which are used to create the software part of IoT devices.

Одной из проблем IoT-устройств является широкое разнообразие самих устройств и вариантов их применения. Люди могут использовать персональный шагомер (например, в составе “умных” часов, англ. smartwatch), в машине могут использоваться разнообразные датчики и блоки (англ. ECU, Electronic Control Unit), в доме могут работать датчики температуры, давления и других параметров, использоваться системы видеонаблюдения и “умные” замки (в качестве примера можно привести August Smart Lock, который позволяет отпирать замок с помощью смартфона), а на промышленном предприятии разнообразные датчики используются для контроля всего процесса производства. One of the problems of IoT devices is the wide variety of devices themselves and their applications. People can use a personal pedometer (for example, as part of a “smart” watch, English smartwatch), a variety of sensors and units (English ECU, Electronic Control Unit) can be used in a car, sensors for temperature, pressure and other parameters can work in the house, video surveillance systems and smart locks are used (August Smart Lock, which allows you to unlock the lock using a smartphone, is an example), and in an industrial plant, a variety of sensors are used to control the entire production process.

Уже упомянутые проблемы с безопасностью IoT-устройств связаны с большим разнообразием устройств, используемых интерфейсов, а также наличием уязвимостей нулевого дня3. (3 https://www.anti-malware.ru/threats/zero-day)The security issues already mentioned for IoT devices are related to the wide variety of devices, interfaces used, and the presence of zero-day vulnerabilities 3 . ( 3 https://www.anti-malware.ru/threats/zero-day)

Настоящее изобретение предлагает решение проблем безопасности для IoT-устройств на разных уровнях:The present invention proposes a solution to security problems for IoT devices at different levels:

• на уровне самого устройства,• at the level of the device itself,

• на уровне сети, • at the network level,

• на уровне инфраструктуры.• at the infrastructure level.

Наибольшим уровнем защищенности будет обладать IoT-инфраструктура, которая обладает реализацией указанных решений на каждом из указанных уровней.The IoT infrastructure, which has the implementation of the indicated solutions at each of the indicated levels, will have the highest level of security.

На уровне самого устройства может быть также несколько реализаций решения для обеспечения информационной безопасности в зависимости от аппаратно-программных возможностей. Это может быть защищенная ОС (англ. secure operating system), легковесный клиент или полноценное антивирусное приложение. At the level of the device itself, there may also be several implementations of the information security solution, depending on the hardware and software capabilities. It can be a secure operating system, a lightweight client, or a full-fledged antivirus application.

Кроме того, в рамках инфраструктуры IoT-устройств также рассматривается вопрос построения доверия (англ. root of trust). Так как различные элементы (узлы) инфраструктуры могут быть как доверенными, так и недоверенными, то следует строить всю систему безопасности исходя из подобных знаний, ограничивая доступ со стороны недоверенных элементов.In addition, within the infrastructure of IoT devices, the issue of building trust (English root of trust) is also considered. Since various elements (nodes) of the infrastructure can be both trusted and untrusted, the entire security system should be built on the basis of such knowledge, restricting access from untrusted elements.

Еще одним немаловажным моментом является тот факт, что вся IoT-инфраструктура не является статичной - в нее могут добавляться новые устройства, изменяться старые и т.д. Таким образом, встает проблема прогнозирования возможных угроз и выделения уязвимых устройств.Another important point is the fact that the entire IoT infrastructure is not static - new devices can be added to it, old ones can change, etc. Thus, the problem arises of predicting possible threats and identifying vulnerable devices.

Собирая данные об устройстве, можно определять его тип, а также по собранным данным обучать и использовать уже модели машинного обучения для такого типа устройств для прогнозирования их использования. В качестве примера можно привести IP-камеры, которые выходят на рынок по несколько моделей в год даже от одного производителя, что требует глубокого анализа с точки зрения информационной безопасности, так как новые модели могут иметь как старые, так и новые уязвимости. By collecting data about a device, you can determine its type, and use the collected data to train and use machine learning models for this type of device to predict their use. An example is IP cameras that enter the market with several models a year, even from the same manufacturer, which requires a deep analysis in terms of information security, since new models can have both old and new vulnerabilities.

Одни и те же IoT-устройства могут использоваться в разных инфраструктурах, поэтому к одним и тем же устройствам могут применяться разные требования. Например, для температурных датчиков для дома и для промышленного предприятия используются разные допуски по отношению к параметрам использования.The same IoT devices can be used in different infrastructures, so different requirements may apply to the same devices. For example, temperature sensors for the home and for the industrial plant have different tolerances in relation to usage parameters.

Еще одна проблема - использование различных устройств в разных условиях - температура, влажность, давление, перегрузки и т.д. Требуется учитывать данные условия для прогнозирования выхода из строя или иных проблем (в том числе и связанных с безопасностью). Для ряда приложений, которые требуют принятия решений в режиме реального времени, в частности для IIoT, время реакции на событие/инцидент в таких средах измеряется в миллисекундах и секундах, задержки, связанные с отправкой данных, или ввиду износа определенных частей недопустимы. Например, износ может быть связан с программно-аппаратной платформой IoT-устройства - переполнение кэша, повышение нагрузки с течением времени, некорректная работа элементов питания. Таким образом, дополнительно требуется прогнозировать время работы IoT-устройств с целью определения возможных отказов до их фактического наступления.Another problem is the use of different devices in different conditions - temperature, humidity, pressure, overload, etc. These conditions must be taken into account to predict failure or other problems (including those related to safety). For a number of applications that require real-time decision making, in particular for IIoT, the response time to an event / incident in such environments is measured in milliseconds and seconds, delays associated with sending data or due to wear of certain parts are unacceptable. For example, wear and tear may be associated with the hardware and software platform of an IoT device - cache overflow, load increase over time, incorrect operation of batteries. Thus, it is additionally required to predict the operation time of IoT devices in order to determine possible failures before they actually occur.

Еще один аспект (но отнюдь не самый маловажный) - обеспечение конфиденциальности. Построение общей политики конфиденциальности, которая используется на всех элементах сети для контроля личных данных пользователя (или пользователей), а также критических (конфиденциальных) данных предприятия, учреждения, инфраструктуры, приобретает в последнее время всё большую актуальность.Another aspect (but by no means the least important) is privacy. Building a common privacy policy, which is used on all network elements to control the personal data of the user (or users), as well as critical (confidential) data of an enterprise, institution, infrastructure, has recently become increasingly important.

Описание экосистемы IoT-устройств(общее)Description of the ecosystem of IoT devices (general)

На Фиг. 1 приведена схема IoT-экосистемы (инфраструктуры). IoT-устройства 110 могут быть как носимыми устройствами для людей (смартфон, умные часы и т.д.), различными предметами быта с возможностью автоматизации и подключения к сети Интернет, датчиками внутри машины или дома, так и различными датчиками на предприятии. Устройства 110 получают, обрабатывают и передают информацию (например, данные о температуре) либо другим таким же устройствам 110 (например, умные часы могут быть сопряжены со смартфоном) или через шлюз 120. Шлюз 120 может быть домашним роутером или иным сетевым устройством (концентратор, коммутатор), предназначенным для передачи данных по сети к платформе 130. Шлюз 120 может поддерживать различные протоколы передачи данных, например, для некоторых устройств 110 используется протокол ZigBee (например, “умные” розетки), а для соединения с платформой 130 используется Ethernet-соединение через интернет-провайдера. On FIG. 1 shows a diagram of the IoT ecosystem (infrastructure). IoT devices 110 can be wearable devices for people (smartphone, smart watch, etc.), various household items with the ability to automate and connect to the Internet, sensors inside a car or home, and various sensors in an enterprise. Devices 110 receive, process, and transmit information (for example, temperature data) either to other similar devices 110 (for example, a smartwatch can be paired with a smartphone) or through a gateway 120. Gateway 120 can be a home router or other network device (hub, switch) designed to transmit data over the network to platform 130. Gateway 120 may support various data transfer protocols, for example, some devices 110 use the ZigBee protocol (for example, smart plugs), and an Ethernet connection is used to connect to platform 130 through an internet provider.

Под платформой 130 понимается один или несколько серверов обработки данных, которые, как правило, называются облачными сервисами (англ. cloud service / infrastructure). В рамках платформы 130 работают приложения 140, которые позволяют обрабатывать и интерпретировать данные с устройств 110. Пользователи могут использовать отдельные устройства 150 (это могут быть смартфоны, персональные компьютеры и т.д.) для управления устройствами 110 либо напрямую, либо через приложения 140. Как правило, один или несколько шлюзов 120 с подключенными устройствами 110 и 150 образуют персональную сеть (англ. PAN, Personal Area Network). В одном из вариантов реализации внутри подобной сети может быть размещена платформа 130 или ее часть.Platform 130 refers to one or more data processing servers, which are usually referred to as cloud services (English cloud service / infrastructure). Within the platform 130, applications 140 operate that allow the processing and interpretation of data from devices 110. Users can use individual devices 150 (this can be smartphones, personal computers, etc.) to control devices 110 either directly or through applications 140. Typically, one or more gateways 120 with connected devices 110 and 150 form a personal area network (PAN, Personal Area Network). In one implementation, platform 130 or a portion of it may be hosted within such a network.

В качестве примера можно привести платформу умного дома от компании Xiaomi4 (4 https://xiaomi-mi.us/mi-smart-home/). Устройствами 110 могут быть лампы освещения Yeelight Smartbulb, сетевой фильтр Mi Smart Power Plug, средство управления Mi Smart Remote Center. Для обработки данных с указанных устройств используется собственная платформа 130 Mi Eco Cloud, которая позволяет использовать различные приложения 140 (в том числе и сторонние) для обработки данных и управления устройствами 110.An example is the smart home platform from Xiaomi 4 ( 4 https://xiaomi-mi.us/mi-smart-home/). Devices 110 can be Yeelight Smartbulb lights, Mi Smart Power Plug surge protector, Mi Smart Remote Center control tool. To process data from these devices, its own platform 130 Mi Eco Cloud is used, which allows you to use various 140 applications (including third-party ones) to process data and manage 110 devices.

Рассмотрим различные аспекты безопасности на разных уровнях - от устройств 110 до приложений 140. Consider various aspects of security at different levels - from devices 110 to applications 140.

На уровне устройств 110 может быть затратно (как по ресурсам, так и по времени) или даже невозможно построить аутентификацию, использующую PKI (Public Key Infrastructure), например, из-за отсутствия аппаратной поддержки (или низкой производительности программной поддержки) функций шифрования устройствами 110.At the device level 110, it can be expensive (both in terms of resources and time) or even impossible to build authentication using PKI (Public Key Infrastructure), for example, due to the lack of hardware support (or poor software support performance) of the encryption functions of devices 110 .

Важно отметить, что помимо данных, получаемых от устройств 110, также следует помнить о конфиденциальности при использовании и хранении данных. В качестве примера можно привести больницу, где врач записывает показания медицинских аппаратов о состоянии больных. Аппараты - они же устройства 110 - передают личные данные пользователей (пациентов) через сетевые устройства (шлюзы) 120 в платформу 130. Но такие данные, как местонахождение (геолокация) врача, который перемещался по больнице, и время его нахождения в определенных местах, также являются важной информацией, так как они могут раскрывать часть личной информации самих пользователей на основе ряда предположений о здоровье больных. А использование методов обработки больших данных (англ. big data analysis) позволяет делать и более продвинутые предположения исходя из анализа подобных метаданных.It is important to note that, in addition to the data received from the devices 110, privacy should also be kept in mind when using and storing data. An example is a hospital where a doctor records the readings of medical devices about the condition of patients. Devices - they are also devices 110 - transmit personal data of users (patients) through network devices (gateways) 120 to platform 130. But such data as the location (geolocation) of a doctor who moved around the hospital, and the time he was in certain places, also are important information, as they may disclose some of the personal information of the users themselves, based on a number of assumptions about the health of patients. And the use of big data processing methods (English big data analysis) allows you to make more advanced assumptions based on the analysis of such metadata.

Отображенная на Фиг. 1 схема инфраструктуры может быть динамической. Часть устройств 110 может относиться, например, к датчикам в составе автомобиля или иного другого транспортного средства. В качестве датчиков могут выступать как различные блоки (ECU), так и иные устройства, например средства телематики, которые передают данные о передвижении автомобиля в страховую компанию, которая в свою очередь использует свои приложения 140 для обработки получаемых данных в рамках предоставляемой платформы 130. Таким образом, нельзя говорить, что инфраструктура является чем-то постоянным и/или гомогенной структурой, а может изменяться в течение времени или под действием сторонних факторов или событий.Shown in FIG. 1 infrastructure scheme can be dynamic. Part of the devices 110 may relate, for example, to sensors in a car or other vehicle. The sensors can be either various units (ECUs) or other devices, such as telematics, which transmit data on the movement of the car to the insurance company, which in turn uses its applications 140 to process the received data within the framework of the provided platform 130. Thus Thus, one cannot say that the infrastructure is something permanent and / or homogeneous structure, but can change over time or under the influence of external factors or events.

Выделим ключевые моменты информационной безопасности IoT-устройств 110:Let's highlight the key points of information security of IoT devices 110:

• Безопасность самого устройства: определение конфигурации устройства, обеспечение целостности данных, выявление уязвимостей.• Security of the device itself: determining the configuration of the device, ensuring data integrity, identifying vulnerabilities.

• Безопасность сети: предотвращение атак на сеть и управление нагрузкой на сеть.• Network Security: Prevent network attacks and manage network load.

• Безопасность платформы: обеспечение целостности и конфиденциальности данных, обслуживание IoT-устройств.• Platform security: ensuring the integrity and confidentiality of data, servicing IoT devices.

• Безопасность приложений, работающих в рамках платформы: обеспечение целостности данных пользователей и обеспечение корректной работы самих приложений.• Security of applications running within the platform: ensuring the integrity of user data and ensuring the correct operation of the applications themselves.

• Безопасность процесса работы и взаимодействия IoT-устройств с платформой.• Security of the work process and interaction of IoT devices with the platform.

Для обеспечения безопасности на разных уровнях производится:To ensure security at different levels, the following is performed:

• анализ существующих угроз и разработка средств и методов противодействия,• analysis of existing threats and development of means and methods of counteraction,

• анализ защищаемых систем, выявление слабых мест и предсказание (моделирование) на основе этого возможных угроз и векторов атак.• analysis of protected systems, identification of weaknesses and prediction (modeling) based on this possible threats and attack vectors.

Под атакой подразумевается использование уязвимости или иных недостатков (например, слабый пароль) в программно-аппаратной части устройства 110, шлюза 120, платформы 130 или приложения 140 с целью получения возможности несанкционированного доступа к функциональным возможностям или данным указанных устройств/приложений.An attack refers to exploiting a vulnerability or other weakness (e.g., a weak password) in the firmware of device 110, gateway 120, platform 130, or application 140 in order to gain unauthorized access to the functionality or data of said devices/applications.

В качестве угроз рассматриваются:Threats are considered:

• Нарушение целостности (англ. integrity) данных. Под нарушением целостности понимается модификация, удаление или подмена данных. Например, программы-вымогатели, которые шифруют данные пользователя (к примеру, электронные документы или изображения) для последующего шантажа. • Data integrity violation. Integrity violation refers to the modification, deletion or substitution of data. For example, ransomware that encrypts user data (for example, electronic documents or images) for subsequent blackmail.

• Вторжение (англ. intrusion). Примером является сетевая атака, целью которой является получение доступа к одному из устройств сети. • Intrusion (English intrusion). An example is a network attack, the purpose of which is to gain access to one of the network devices.

• Эскалация привилегий, например получение прав доступа уровня root / administrator. Подобную атаку осуществляют с помощью эксплуатирования уязвимостей, в том числе и использованием уязвимостей нулевого дня (англ. 0-day или zero day).• Privilege escalation, such as gaining root / administrator access. Such an attack is carried out by exploiting vulnerabilities, including the use of zero-day vulnerabilities (eng. 0-day or zero day).

• Утечка данных. С этим связана кража данных пользователей, которые могут храниться на устройствах 110, в том числе и персональные (например, данные о перемещении человека или его жизненные показатели).• Data leakage. Related to this is the theft of user data that may be stored on devices 110, including personal data (for example, data on the movement of a person or his vital signs).

• Прерывание работы сервисов. Например, остановка или некорректная работа приложений 140. Подобные атаки могут быть осуществлены с помощью атак “отказ в обслуживании” на сервис 130.• Interruption of services. For example, stopping or malfunctioning applications 140. Such attacks can be carried out using denial of service attacks on the service 130.

• Использование вычислительных ресурсов. Например, превращение атакованной системы в элемент бот-сети (англ. botnet), используемой, к примеру, для выполнения DDOS-атак, или выполнение расчётов на атакованной системе, таких как вычисление (майнинг) криптовалют. • Use of computing resources. For example, turning the attacked system into a botnet element used, for example, to perform DDOS attacks, or performing calculations on the attacked system, such as calculating (mining) cryptocurrencies.

Для обеспечения защиты от подобных угроз на устройствах 110 необходима поддержка аутентификации X.509 и возможность проверки цифровых подписей. Также требуется поддержка одного или нескольких стандартов шифрования для передачи и хранения данных. В идеальном случае со стороны устройств должна быть поддержка системы обнаружения вторжений (англ. IDS, intrusion detection system), а также удаленное администрирование настроек безопасности. To protect against such threats, devices 110 need to support X.509 authentication and the ability to verify digital signatures. It also requires support for one or more encryption standards for data transmission and storage. In the ideal case, devices should support an intrusion detection system (IDS, intrusion detection system), as well as remote administration of security settings.

Примером легкой (англ. lightweight) или встроенной (англ. embedded) операционной системы на устройствах 110 может быть Huawei LiteOS разработки компании Huawei.An example of a lightweight or embedded operating system on devices 110 would be Huawei LiteOS developed by Huawei.

Для шлюзов 120 выделяют следующие возможности:Gateways 120 have the following options:

• фильтрация передаваемого контента и определение сетевых протоколов для обмена данными с устройствами 110;• filtering transmitted content and determining network protocols for communicating with devices 110;

• поддержка списка запрещенных устройств (англ. black list) для устройств 110, чтобы обеспечивать изоляцию уязвимых или ненадежных (неизвестных) устройств;• maintaining a blacklist for devices 110 to provide isolation of vulnerable or untrusted (unknown) devices;

• поддержка IDS.• IDS support.

Для платформы 130 можно выделить следующие необходимые для обеспечения защиты особенности:For platform 130, the following security features can be distinguished:

• поддержка таких сетевых экранов, как Distributed Firewall (DFW), Web Application Firewall (WAF);• support for firewalls such as Distributed Firewall (DFW), Web Application Firewall (WAF);

• изоляция данных от разных устройств 110;• isolation of data from different devices 110;

• поддержка обеспечения конфиденциальности;• privacy support;

• поддержка сторонних API для дополнительного обеспечения информационной безопасности.• support for third-party APIs for additional information security.

После описания необходимых возможностей у платформы и шлюзов для проверки трафика IoT-устройств следует рассмотреть возможные угрозы для подобных устройств 110, а также возможные требования для предотвращения подобных угроз.After describing the necessary capabilities of the platform and gateways to inspect IoT device traffic, consider possible threats to such devices 110, as well as possible requirements for preventing such threats.

Угрозы (описание)Threats (description)

В рамках настоящих примеров все приведенные IoT-устройства, для которых приведены примеры атак, отсылаются к устройствам 110 на Фиг. 1.Within the scope of the present examples, all given IoT devices for which examples of attacks are given are referred to devices 110 in FIG. one.

Пример 1Example 1

August Smart Lock. August Smart Lock.

Данное IoT-устройство представляет “умный” замок, который активируется (т.е. изменяет состояние “открыт/заперт”) при наличии поблизости доверенного устройства через Bluetooth-протокол (точнее, Bluetooth Low Energy, BLE). На доверенном устройстве используется специальное приложение, которое посылает команды по блокировке/разблокировке замка. Дополнительно приложение связывается через сеть с серверами August, через которые и задают права доступа к замку. This IoT device represents a “smart” lock that is activated (i.e. changes the state “open / locked”) when there is a nearby trusted device via the Bluetooth protocol (more precisely, Bluetooth Low Energy, BLE). The trusted device uses a special application that sends commands to lock/unlock the lock. Additionally, the application communicates via the network with the August servers, through which they set access rights to the castle.

Для коммуникации используются уникальные сессионные ключи и AES-шифрование. Сам замок может хранить до 256 ключей шифрования, при этом нулевой ключ является неизменяемым ключом. Эти ключи используются в оффлайн-режиме (когда нет соединения с серверами August).For communication, unique session keys and AES encryption are used. The lock itself can store up to 256 encryption keys, with the null key being the immutable key. These keys are used offline (when there is no connection to the August servers).

По протоколу Bluetooth передается информация об аутентификации телефона, правах доступа, о том, кто разблокировал/заблокировал замок. Пользователи делятся на два типа - OWNERS (хозяева) и GUESTS (гости), для которых различается процедура установки соединения. The Bluetooth protocol transmits information about phone authentication, access rights, who unlocked/locked the lock. Users are divided into two types - OWNERS (hosts) and GUESTS (guests), for which the connection setup procedure is different.

Одна из известных атак происходит на сервера August путем изменения переменных при запросах, такая атака позволяет изменять права доступа или получать права доступа GUESTS для любых замков.One of the known attacks occurs on the August server by changing variables on requests, such an attack allows you to change access rights or get GUESTS access rights for any locks.

Другой тип атак основан на работе замка в оффлайн режиме, когда замок не получил от серверов August информации об отзыве прав доступа. Для “умных” замков может быть произведена следующая атака: для определенного смартфона делается отзыв на права доступа, но этот смартфон переключается в оффлайн режим (т.е. нет соединения с сетью), из-за чего облачный сервис не может подтвердить отзыв прав доступа с этого смартфона. Cмартфон всё ещё может использоваться для доступа к этому замку, хотя права были отозваны. Такая атака называется атакой на согласованность состояний (англ. state consistency attack).Another type of attack is based on the operation of the lock in offline mode, when the lock has not received information about the revocation of access rights from the August servers. For “smart” locks, the following attack can be made: for a certain smartphone, access rights are revoked, but this smartphone switches to offline mode (i.e. there is no network connection), due to which the cloud service cannot confirm the revocation of access rights from this smartphone. A smartphone can still be used to access this lock, although the rights have been revoked. Such an attack is called a state consistency attack.

Еще одной атакой является фаззинг (англ. fuzzing) управляющих команд, например добавлением случайной последовательности байт после кода (англ. opcode) команды, что приводит умный замок в состояние ошибки и заставляет его открыться.Another attack is fuzzing control commands, for example by adding a random sequence of bytes after the command opcode, which puts the smart lock in an error state and forces it to open.

При краже телефона владельца возможен доступ при работе опции auto-unlock. If the owner's phone is stolen, access is possible when the auto-unlock option is enabled.

Еще одна атака использует сниффинг BLE-трафика.Another attack uses BLE traffic sniffing.

Таким образом, для защиты от приведенных выше атак требуются: контроль доступа к устройствам при их работе в оффлайн-режиме, проверка трафика между устройствами.Thus, to protect against the above attacks, it is required to: control access to devices when they work in offline mode, check traffic between devices.

Пример 2Example 2

Умный дом, в составе которого имеются “умная” лампочка Philips Hue, выключатель Belkin WeMo, датчик дыма Nest Protect.A smart home that includes a Philips Hue smart bulb, a Belkin WeMo switch, and a Nest Protect smoke detector.

Nest Protect использует защищенный протокол аутентификации (такой как SSO, Single Sign On) со своими серверами, используя OAuth 2.0 токен для обмена информацией, которая потом попадает на телефон пользователя.Nest Protect uses a secure authentication protocol (such as SSO, Single Sign On) with its servers, using an OAuth 2.0 token to exchange information that is then sent to the user's phone.

В качестве атак может выступать отслеживание сетевых пакетов, атаки на учетные записи (англ. credential attacks) и загрузка вредоносного ПО на само устройство (например, Nest Protect). Поскольку сниффинг трафика злоумышленником не даст результатов, так как соединение зашифровано, а прав на установку ПО по умолчанию нет, поэтому остается атака на учетную запись. Attacks can include sniffing network packets, attacks on accounts (English credential attacks), and downloading malware onto the device itself (for example, Nest Protect). Since traffic sniffing by an attacker will not give results, since the connection is encrypted, and there are no rights to install software by default, so the attack on the account remains.

Другой вариант атаки на Nest Protect включает replay-атаки, когда коррелируется размер сетевых пакетов с изменением работы самого устройства. Например, исследователями было установлено5 (5 B. Copos, K. Levitt, M. Bishop, and J. Rowe, “Is Anybody Home? Inferring Activity From Smart Home Network Traffic,” 2016 IEEE Security and Privacy Workshops (SPW), 2016), что пакеты размерами 1663, 1631, 1711, 1786 и 1819 изменяли состояние Nest Protect, что делает возможным повторную отправку (или комбинирование) таких пакетов для изменения состояния устройства (например, отключение).Another version of the attack on Nest Protect includes replay attacks, when the size of network packets is correlated with a change in the operation of the device itself. For example, researchers have found 5 ( 5 B. Copos, K. Levitt, M. Bishop, and J. Rowe, “Is Anybody Home? Inferring Activity From Smart Home Network Traffic,” 2016 IEEE Security and Privacy Workshops (SPW), 2016 ) that packets of sizes 1663, 1631, 1711, 1786 and 1819 changed the state of Nest Protect, which makes it possible to resend (or combine) such packets to change the state of the device (for example, shutdown).

Для идентификации датчика Nest Protect следует считать на нем QR-код (обычно с помощью смартфона). Затем пользователю следует ввести дополнительную информацию (например, пароль WLAN). Для первоначальной настройки используется канал Bluetooth. Затем связь с датчиком выполняется уже через WLAN, несколько датчиков Nest Protect могут связываться между собой тоже через WLAN, но также и через протокол 802.15.4 (ZigBee, WirelessHART, MiWi и другие протоколы), если WLAN выйдет из строя.To identify the Nest Protect sensor, read the QR code on it (usually using a smartphone). The user then needs to enter additional information (such as the WLAN password). Bluetooth is used for initial setup. Then communication with the sensor is already carried out via WLAN, several Nest Protect sensors can communicate with each other also via WLAN, but also via the 802.15.4 protocol (ZigBee, WirelessHART, MiWi and other protocols) if the WLAN fails.

Для Philips Hue первичная авторизация происходит с помощью GET- и PUT-запросов, в которых передается информация о самом устройстве (лампочке). Напрямую к такой лампочке (точнее, к управляющему чипу) невозможно подключиться со смартфона. Для этого используется специальное устройство (хаб), которое отправляет команды самим лампочкам через Zigbee-протокол.For Philips Hue, primary authorization occurs using GET and PUT requests, in which information about the device itself (light bulb) is transmitted. It is impossible to connect directly to such a light bulb (more precisely, to the control chip) from a smartphone. For this, a special device (hub) is used, which sends commands to the bulbs themselves via the Zigbee protocol.

На Philips Hue может быть произведена replay атака - например, включение или выключение лампочки. Используется порт 80 для прослушивания запросов, которые имеют JSON-формат. Также хаб для Philips Hue может рассылать широковещательные запросы на все лампочки Philips Hue, что также является возможным вектором атаки.A replay attack can be made on Philips Hue, such as turning a light bulb on or off. Port 80 is used to listen for requests that are in JSON format. Also, the Philips Hue hub can broadcast requests to all Philips Hue bulbs, which is also a possible attack vector.

Belkin WeMо использует SOAP-протокол для коммуникации между устройством и выключателем. Аутентификации нет, как и шифрования соединения. Belkin WeMo uses the SOAP protocol to communicate between the device and the switch. There is no authentication, as well as connection encryption.

Ответ от устройства приходит в таком виде:The response from the device comes in the following form:

Figure 00000001
Figure 00000001

Что позволяет злоумышленникам прослушивать и подменять данные, отправлять различные команды при знании параметров устройства.This allows attackers to eavesdrop and spoof data, send various commands if they know the device parameters.

WeMo использует OpenWrt - операционную систему на базе Linux. WeMo uses OpenWrt, a Linux-based operating system.

Первоначальное определение устройства происходит с помощью протокола UDP через включение горячей точки (англ. hotspot) на устройстве (SSDP/UDP мультикаст пакет), затем устройство обнаруживается с помощью приложения на смартфоне. Через серию HTTP-запросов получают MAC-адрес, серийный номер, имя устройства, описание функциональности. Всё это хранится в XML-файлах на самом устройстве, к которым также можно получить доступ. The device is initially detected using the UDP protocol by enabling a hotspot on the device (SSDP / UDP multicast package), then the device is detected using the application on the smartphone. Through a series of HTTP requests, the MAC address, serial number, device name, and description of functionality are obtained. All this is stored in XML files on the device itself, which can also be accessed.

Далее устройство получает пароль от сети WiFi и уже соединяется с приложением на смартфоне через существующую WiFi-сеть. Обмен командами осуществляется через SOAP-протокол. Команды указаны в заголовке SOAPAction.Next, the device receives a password from the WiFi network and is already connected to the application on the smartphone through the existing WiFi network. Commands are exchanged via the SOAP protocol. The commands are specified in the SOAPAction header.

Кроме того, WeMo-приложения для смартфона (для управления умными устройствами) имеют уязвимости. Еще один вариант атаки - эмуляция устройства, когда приложение на смартфоне видит эмулируемое устройство.In addition, WeMo smartphone applications (to control smart devices) have vulnerabilities. Another attack option is device emulation, when an application on a smartphone sees an emulated device.

С помощью эмулируемого устройства можно украсть пользовательский пароль от личного кабинета WeMo. После получения пароля к WiFi-сети можно красть различные пользовательские данные.With the help of an emulated device, you can steal the user password from the WeMo personal account. After obtaining the password to the WiFi network, various user data can be stolen.

Для анализа приложения WeMo злоумышленники могут использовать ряд приложений, такие как «apktool», «dex2jar» и «jd-gui». To analyze the WeMo application, attackers can use a number of applications such as "apktool", "dex2jar" and "jd-gui".

Для защиты конфиденциальности для Nest Protect требуется блокировать/фильтровать отправку данных на сервер логирования.To protect privacy, Nest Protect requires blocking/filtering data being sent to the logging server.

Таким образом, для описанных выше устройств уже существует сильная защита, для некоторых ее нет вовсе. Требуется выделение пула устройств, для которых не предусмотрено мер по информационной защите, и их дополнительная настройка или защита извне.Thus, for the devices described above, strong protection already exists, for some it does not exist at all. It is required to allocate a pool of devices for which there are no measures for information protection, and their additional configuration or protection from the outside.

В качестве других примеров угроз можно привести хаб для управления светом LinkHub (в котором исследователи отметили отсутствие шифрования, передачу данных в открытом виде), умную лампочку Lifx Bulb (недостаточный уровень авторизации), устройство для передачи аудиопотоков Muzo Cobblestone (отсутствие шифрования) и другие аналогичные устройства. Производители подобных устройств постоянно выпускают обновления прошивок, но в силу ряда причин (отсутствие соединения, нежелание пользователей, программные ошибки) часть устройств может иметь устаревшую программную часть, которая содержит уязвимости. Other examples of threats include the LinkHub light control hub (in which the researchers noted the lack of encryption, data transmission in the clear), the Lifx Bulb smart light bulb (insufficient authorization level), the Muzo Cobblestone audio streaming device (lack of encryption) and other similar devices. Manufacturers of such devices constantly release firmware updates, but due to a number of reasons (lack of connection, unwillingness of users, software errors), some devices may have outdated software that contains vulnerabilities.

Лампочки TP-Link Smart LED Light Bulb подвержены replay-атакам. Такие атаки заключаются в том, что перехватывается сетевой пакет с командой, дублируется и отправляется снова, таким образом устройство получает две команды сразу. Например, для подобной лампочки включение и выключение осуществляются одной и той же командой и использование такой атаки приведет к тому, что лампочка, например, будет только мигать, но не будет включаться. Это раздражает пользователей, что сказывается на QoS (англ. Quality of Service). Одним из простых вариантов защиты является использование счётчика при отправке команд, что не позволит дублировать одну и ту же команду дважды. Также TP-Link Smart LED Light Bulb и Philips Hue подвержены MITM-атакам (Man in the Middle).TP-Link Smart LED Light Bulbs are susceptible to replay attacks. Such attacks consist in the fact that a network packet with a command is intercepted, duplicated and sent again, so the device receives two commands at once. For example, for such a light bulb, turning on and off are carried out by the same command, and using such an attack will cause the light bulb, for example, to only blink, but not turn on. This annoys users, which affects QoS (English Quality of Service). One simple protection option is to use a counter when sending commands, which will not allow you to duplicate the same command twice. Also TP-Link Smart LED Light Bulb and Philips Hue are subject to MITM attacks (Man in the Middle).

Для термостата Vine Wifi Thermostat данные шифруются с помощью TLS 1.2 только между смартфоном и сервером, а вот в WiFi-сети при передаче данных к самому термостату шифрования нет, и можно, например, поменять расписание использования термостата, которое выглядит следующим образом (JSON-формат):For the Vine Wifi Thermostat, data is encrypted using TLS 1.2 only between the smartphone and the server, but in the WiFi network there is no encryption when transferring data to the thermostat itself, and you can, for example, change the schedule for using the thermostat, which looks like this (JSON format ):

Figure 00000002
Figure 00000002

Figure 00000003
Figure 00000003

Figure 00000004
Figure 00000004

Обновление до версии 1.3.1 и более поздней решает данную проблему. Таким образом, для ряда устройств решением проблем выступает обновление прошивки.Upgrading to version 1.3.1 and later resolves this issue. Thus, for a number of devices, a firmware update is a solution to problems.

Можно привести примеры по утечке данных со стороны IoT-устройств. По активности трафика для устройства Sense Sleep Monitor можно отслеживать, когда пользователь спит, что является косвенной утечкой персональных данных. Камера Nest Cam Indoor активно отправляет трафик только когда в зоне видимости кто-то появляется (т.е. определяется движение).You can give examples of data leakage from IoT devices. Traffic activity for the Sense Sleep Monitor device can track when the user is sleeping, which is an indirect leak of personal data. The Nest Cam Indoor camera actively sends traffic only when someone appears in the line of sight (i.e. motion is detected).

Еще одной проблемой является построение иерархии IoT-устройств, которая заключается в том, что одно или несколько IoT-устройств подключаются к другому IoT-устройству, которое в свою очередь подключается к еще одному IoT-устройству. И только последнее IoT-устройство связано непосредственно с шлюзом 120. Another problem is building a hierarchy of IoT devices, which is that one or more IoT devices connect to another IoT device, which in turn connects to another IoT device. And only the last IoT device is connected directly to the gateway 120.

В качестве примера можно привести набор лампочек (например, Osram Lightify или GE Link), которые связаны по ZigBee-протоколу с хабом, работающим по стандарту Zigbee Light Link. Сам хаб может управляться через отдельное устройство, которое также объединяет и иные IoT-устройства, формируя управляющие элементы. Таким образом, часть IoT-устройств может быть скрыта при попытке инвентаризации всех устройств в рамках сети, потому что ими нельзя управлять напрямую. Это также порождает проблему, связанную с тем, что злоумышленники могут получить контроль над одним из IoT-устройств.An example is a set of light bulbs (for example, Osram Lightify or GE Link), which are connected via the ZigBee protocol to a hub operating according to the Zigbee Light Link standard. The hub itself can be controlled through a separate device, which also combines other IoT devices, forming control elements. Thus, some IoT devices can be hidden when trying to inventory all devices within the network, because they cannot be managed directly. This also creates the problem that attackers can take control of one of the IoT devices.

Хаб LightwaveRF предназначен для управления IoT-устройствами, например, связанными с освещением (умными лампочками). Уязвимость заключается в том, что каждые 15 минут устройство проверяет наличие новых прошивок на сервере через незашифрованный канал по протоколу Trivial File Transfer Protocol (TFTP). Атака типа MITМ позволяет подменить прошивку, что позволит злоумышленнику получить контроль над устройством. Кроме того, появится возможность отправки команд для управления освещением.The LightwaveRF hub is designed to control IoT devices, such as those related to lighting (smart bulbs). The vulnerability lies in the fact that every 15 minutes the device checks for new firmware on the server through an unencrypted channel using the Trivial File Transfer Protocol (TFTP). A MITM attack allows you to change the firmware, which will allow an attacker to gain control over the device. In addition, it will be possible to send commands to control lighting.

Также в дальнейшем в заявке будет рассмотрен вопрос по контролю физического доступа к умным вещам, так как используя инженерные порты (например, закрытый по умолчанию USB-порт) злоумышленник может взять под контроль устройство.Also, in the future, the application will consider the issue of controlling physical access to smart things, since using engineering ports (for example, a USB port that is closed by default), an attacker can take control of the device.

Еще одним вариантом атаки на IoT-устройства является перехват и подмена трафика между платформой 130, где установлены приложения 140, с которыми и происходит обмен данными от IoT-устройств. Подобные атаки можно делать с помощью методов спуфинга ARP-протокола (англ. ARP spoofing), а также подменой DNS-записей, что позволяет перенаправлять трафик на вредоносные устройства или сетевые узлы и эмулировать ответ от приложений 140 в облачном сервисе 130. В ряде случаев трафик может быть даже не зашифрован, а пользователи могут использовать слабые пароли (например, 1234 или qwerty) для доступа к личному кабинету в рамках приложения 140, что позволяет злоумышленникам производить перебор паролей и получать доступ.Another option for attacking IoT devices is to intercept and spoof traffic between platform 130, where applications 140 are installed, with which data is exchanged from IoT devices. Such attacks can be done using ARP spoofing methods (ARP spoofing), as well as DNS spoofing, which allows you to redirect traffic to malicious devices or network nodes and emulate the response from applications 140 in the cloud service 130. In some cases, traffic it may not even be encrypted, and users may use weak passwords (such as 1234 or qwerty) to access their personal account within application 140, which allows attackers to brute-force passwords and gain access.

Кроме IoT-устройств, которые выполняют определенные функции (например, термостат или освещение), есть также IoT-устройства, которые управляют другими IoT-устройствами - так называемые контроллеры. Их основные функции:In addition to IoT devices that perform certain functions (such as a thermostat or lighting), there are also IoT devices that control other IoT devices - the so-called controllers. Their main functions:

• создание сцен для каждой комнаты с помощью графического интерфейса;• creating scenes for each room using a graphical interface;

• настройка таймеров и уведомлений о нештатных ситуациях;• setting up timers and emergency notifications;

• управление домашней автоматизацией с мобильного телефона или планшета через внешнюю точку доступа;• control of home automation from a mobile phone or tablet via an external access point;

• множество готовых сценариев для безопасности, комфорта, климатических расписаний и энергосбережения.• many ready-made scenarios for safety, comfort, climate schedules and energy saving.

Однако подобные контроллеры (в качестве примера можно привести Mi Casa Verde Vera Lite) могут иметь уязвимости. Упомянутый контроллер соединяется с серверами MiCasaVerde через SSH-протокол. Сам контроллер умеет исполнять скрипты, написанные на языке Lua. Для указанного контроллера имеют место нижеперечисленные уязвимости.However, such controllers (for example, Mi Casa Verde Vera Lite) may have vulnerabilities. The mentioned controller connects to the MiCasaVerde servers via the SSH protocol. The controller itself can execute scripts written in Lua. The following vulnerabilities exist for the specified controller.

• Отключенная по умолчанию аутентификация при доступе к панели управления контроллера.• Authentication disabled by default when accessing the controller's control panel.

• Добавление бэкдора с помощью следующей команды:• Adding a backdoor with the following command:

Figure 00000005
Figure 00000005

• Обход путей (англ. Path traversal) позволяет получить доступ к таким файлам, как файл пользователей (/etc/lighttpd.users), а также хеши паролей (/etc/passwd).• Path traversal allows access to files such as the user file (/etc/lighttpd.users) and password hashes (/etc/passwd).

• Недостаточные проверки прав доступа. Например, для пользователей с правами доступа Guest в интерфейсе есть возможности для сохранения настроек, которые такие пользователи менять не должны.• Insufficient permission checks. For example, for users with Guest access rights, the interface has options to save settings that such users should not change.

• Отсутствие подписи для прошивок.• Lack of signature for firmware.

• Пользователи с правами Guest могут создавать резервные файлы, которые содержат важную информацию (например, список пользователей и хеши паролей).• Users with Guest privileges can create backup files that contain important information (such as a list of users and password hashes).

• Отсутствие проверок на выполнение Lua-кода (т.е. можно выполнить потенциально вредоносный код).• Lack of Lua code execution checks (ie potentially malicious code can be executed).

• CSRF-уязвимости. • CSRF vulnerabilities.

• Некоторые библиотеки имеют уязвимости к переполнению буфера (англ. buffer overflow).• Some libraries have buffer overflow vulnerabilities.

Также существует проблема физического доступа. Например, злоумышленник может получить физический доступ к одному из IoT-устройств и может сбросить его настройки (например, для Nest Thermostat достаточно зажать кнопку питания на 10 секунд, другие устройства также могут быть легко сброшены к заводским настройкам), вывести из строя его функционал, изменить настройки и даже использовать устройство для слежения за пользователем. Например, один из вариантов использования умных камер включает отправку кадров на один из адресов злоумышленника. Для умных замков, к которым злоумышленник получил доступ, один из вариантов использования включает предоставление доступа к дому в определенные часы, когда самих хозяев нет дома. There is also the issue of physical access. For example, an attacker can gain physical access to one of the IoT devices and can reset its settings (for example, for Nest Thermostat, it is enough to hold down the power button for 10 seconds, other devices can also be easily reset to factory settings), disable its functionality, change settings and even use the device to track the user. For example, one use case for smart cameras involves sending frames to one of the attacker's addresses. For smart locks that have been accessed by an attacker, one use case involves providing access to a house during certain hours when the owners themselves are not at home.

Таким образом, требуются дополнительные решения для отслеживания возможных вариантов взлома IoT-устройств.Thus, additional solutions are required to track possible hacking of IoT devices.

Перечислим основные уязвимости, упомянутые выше.We list the main vulnerabilities mentioned above.

• Отсутствие аутентификации или слабая аутентификация (использование коротких или слабых паролей).• No or weak authentication (use of short or weak passwords).

• Отсутствие шифрования при передаче важных данных (например, паролей).• Lack of encryption when transferring sensitive data (eg passwords).

• Слабая защищенность устройств при работе в оффлайн-режиме.• Weak protection of devices when working in offline mode.

• Плохая реализация приложений для управления IoT-устройствами. Например, приложения могут хранить ключи шифрования в открытом виде.• Poor implementation of IoT device management applications. For example, applications can store encryption keys in clear text.

• Недостаточная проверка легитимности отправляемых к устройствам команд. Некоторые устройства могут быть сброшены к заводским настройкам, используя всего одну команду (англ. ‘reset to factory default’) без какой-либо проверки.• Insufficient verification of the legitimacy of commands sent to devices. Some devices can be reset to factory settings using just one command (eng. 'reset to factory default') without any verification.

• Отсутствие проверок базовых физических параметров, таких как сила сигнала. Например, даже если устройство рассчитано на передачу сигналов на 2-3 метра, верхняя граница этого параметра может быть в десять раз выше - до 30 метров, что позволяет злоумышленникам совершать атаки с улицы или из другого дома.• No checks on basic physical parameters such as signal strength. For example, even if the device is designed to transmit signals at 2-3 meters, the upper limit of this parameter can be ten times higher - up to 30 meters, which allows attackers to attack from the street or from another house.

• Возможность доступа к данным приложения на смартфонах, которые управляют IoT-устройствами. Например, можно извлечь ключ шифрования трафика между смартфоном и умным замком. Кроме того что можно получить возможность управления, под атаку также попадают и личные данные пользователей.• Ability to access application data on smartphones that control IoT devices. For example, you can extract the traffic encryption key between a smartphone and a smart lock. In addition to being able to gain control, personal data of users also fall under the attack.

• Отсутствие проверок прошивок для устройств. Если IoT-устройство не поддерживает проверку цифровой подписи для файла прошивки, то существует возможность изменить легальную прошивку на аналогичную с бекдором.• Lack of firmware checks for devices. If the IoT device does not support digital signature verification for the firmware file, then it is possible to change the legal firmware to the one with the backdoor.

• Наличие дополнительных сервисов / служб, которые работают на IoT-устройстве и которые не несут полезной нагрузки для пользователя, но могут быть использованы злоумышленниками для получения доступа к устройству. Примером могут служить сервисы телеметрии, которые отправляют данные на сервера производителя или другим сторонам.• The presence of additional services / services that run on the IoT device and which do not carry a payload for the user, but can be used by attackers to gain access to the device. An example would be telemetry services that send data to the manufacturer's servers or other parties.

Используя эти уязвимости, злоумышленник может проводить как “классические атаки”, вроде кражи ключей шифрования, DoS-атаки, перезагрузки и сброса оборудования, так и специфичные именно для определенных IoT-устройств - например, для умных лампочек можно проводить так называемые blink-атаки, когда сами лампочки часто и хаотично мигают, что раздражает окружающих (что сказывается на QoS).Using these vulnerabilities, an attacker can carry out both “classic attacks”, such as theft of encryption keys, DoS attacks, reboots and resets of equipment, and specific ones specifically for certain IoT devices - for example, so-called blink attacks can be carried out against smart light bulbs, when the bulbs themselves flash frequently and chaotically, which annoys others (which affects QoS).

Таким образом, требуется создание окружающей инфраструктуры, которая позволит избежать их использования со стороны злоумышленников.Thus, the creation of the surrounding infrastructure is required, which will avoid their use by intruders.

Хаб (общее описание)Hub (general description)

На Фиг. 3 изображен пример схемы IoT-экосистемы (инфраструктуры), в которую добавлены элементы, которые предназначены для обеспечения необходимого уровня безопасности на разных уровнях. Помимо устройств 110 в сети также могут быть защищенные устройства 320, которые отличаются от обычных устройств наличием защищенной ОС (будут рассмотрены в рамках описания Фиг. 2). Подобные устройства имеют достаточный уровень защиты уже по умолчанию и дополнительно могут быть гибко настроены с целью повышения уровня информационной защиты, обеспечения конфиденциальности и соблюдения безопасности использования устройств.On FIG. 3 shows an example of an IoT ecosystem (infrastructure) diagram, to which elements have been added that are designed to provide the required level of security at different levels. In addition to devices 110, there may also be secure devices 320 in the network, which differ from conventional devices in having a secure OS (to be discussed in the context of the description of FIG. 2). Such devices have a sufficient level of protection already by default and can additionally be flexibly configured in order to increase the level of information protection, ensure confidentiality and ensure the safety of using devices.

Кроме того, в системе также присутствуют хабы безопасности 310, а также приложение безопасности 330, работающее на стороне платформы 130. Хабы безопасности 310 являются сетевыми устройствами и могут работать как аналог шлюзов 120, так и работать с зеркалированным трафиком от шлюзов 120. Такие варианты реализации позволяют хабу 310 перехватывать трафик, анализировать трафик, который проходит через хаб (режим работы прокси), получать зеркалированный трафик с других сетевых устройств. Приложение безопасности 330 может быть антивирусным приложением, которое проверяет как данные, которые хранятся в рамках инфраструктуры 130, так и работающие приложения 140. Примером подобного приложения является McAfee VirusScan Enterprise или Security Solutions for Amazon Web Services (AWS). In addition, security hubs 310 are also present in the system, as well as a security application 330 running on the side of platform 130. Security hubs 310 are network devices and can operate as an analogue of gateways 120, and work with mirrored traffic from gateways 120. Such implementations allow the hub 310 to intercept traffic, analyze the traffic that passes through the hub (proxy mode), receive mirrored traffic from other network devices. Security application 330 may be an antivirus application that checks both data stored within infrastructure 130 and running applications 140. An example of such an application is McAfee VirusScan Enterprise or Security Solutions for Amazon Web Services (AWS).

Далее рассматривается каждый из элементов:Each of the elements is discussed below:

• защищенное устройство 320,secure device 320,

• хаб безопасности 310,security hub 310,

• приложение безопасности 330.security application 330.

Фиг. 2 иллюстрирует IoT-устройство, которое может быть защищено с помощью защищенной операционной системы (ОС). Примером защищенной операционной системы является Kaspersky OS6 (6 https://os.kaspersky.com/). Примером устройства может служить роутер.Fig. 2 illustrates an IoT device that can be secured with a secure operating system (OS). An example of a protected operating system is Kaspersky OS 6 ( 6 https://os.kaspersky.com/). An example of a device is a router.

На Фиг. 2 отображены основные элементы - приложения 240, ядро операционной системы 230, блок принятия решений 220 и настройки безопасности 210 (политики безопасности, англ. Security Policies). Настройки безопасности 210 могут быть созданы заранее и, как правило, включают набор правил, регулирующих взаимодействия приложений как с ресурсами устройства, так и с другими приложениями. Затем эти настройки загружаются в блок принятия решений 220, который используется ядром ОС 230 для проверки всех запросов со стороны приложений 240. Подобные решения описаны в патентах US10361998 и US9774568.On FIG. 2 shows the main elements - applications 240, the kernel of the operating system 230, the decision block 220 and security settings 210 (security policies, eng. Security Policies). Security settings 210 may be pre-created and typically include a set of rules governing how applications interact with both device resources and other applications. These settings are then loaded into decision block 220, which is used by the OS kernel 230 to validate all requests from applications 240. Such decisions are described in US10361998 and US9774568.

Настройки (они же политики безопасности) могут быть основаны как с использованием ролей (англ. role-based), так и на обязательном контроле доступа (англ. mandatory access control), временной логике доступа (англ. temporal logic) и любых других известных из уровня техники. Чем более проработанной является политика, тем больше возможностей для контроля приложений может быть предоставлено через ядро ОС и блок принятия решений. Settings (they are also security policies) can be based both on the use of roles (English role-based), and on mandatory access control (English mandatory access control), temporary access logic (English temporal logic) and any other known from the level of technology. The more sophisticated the policy, the more application control can be provided through the OS kernel and decision block.

Еще один вариант предусматривает установку отдельного гипервизора (не отображен на Фиг. 2), который будет обеспечивать безопасность функционирования одной или нескольких гостевых ОС на устройстве. Примером такого гипервизора можно привести решения, описанные в патенте US10162964. Another option involves installing a separate hypervisor (not shown in Fig. 2), which will ensure the security of one or more guest operating systems on the device. An example of such a hypervisor is the solutions described in US10162964.

Подобная защита с использованием защищенной ОС предоставляет также возможности для безопасной загрузки устройства (англ. secure boot) и безопасных обновлений приложений (англ. secure update). Для безопасной загрузки через политики безопасности будет инициирована проверка цифровой подписи самой ОС и ее ключевых модулей (например, драйверов) еще до их фактической загрузки в память, что позволит избежать возможной компрометации данных и загрузки вредоносных модулей. Для безопасных обновлений приложений сначала происходит загрузка самих обновлений во временное хранилище на устройстве, затем происходит их проверка (она также может включать проверку цифровой подписи обновления), и лишь затем будет запущен доверенный процесс обновления, который обновит приложения и их данные. Кроме того, политики безопасности позволяют проводить аудит работающих приложений (через журналирование выполняемых операций) с помощью любых известных из уровня техники методик. Сами настройки могут передаваться на устройство со стороны хаба безопасности 310. Such protection using a secure OS also provides opportunities for secure device boot (eng. secure boot) and secure application updates (eng. secure update). For secure boot, through security policies, the digital signature verification of the OS itself and its key modules (for example, drivers) will be initiated even before they are actually loaded into memory, which will avoid possible data compromise and loading of malicious modules. For secure app updates, the updates themselves are first downloaded to temporary storage on the device, then they are verified (which may also include verification of the digital signature of the update), and only then the trusted update process will be launched, which will update the applications and their data. In addition, security policies allow you to audit running applications (through logging of performed operations) using any of the techniques known from the prior art. The settings themselves can be transferred to the device from the security hub 310.

Кроме того, на защищенном устройстве 320 используется список разрешенных приложений (англ. whitelist), содержащий приложения, которые могут быть установлены и запущены на устройстве, а также приложения, которые отсутствуют на устройстве, но с которыми разрешено данному устройству взаимодействовать удалённо. Подобный список используется при реализации политики Default Deny, когда разрешена установка и запуск только приложений из списка разрешенных приложений. В ином случае, когда разрешен запуск приложений не только из данного списка, защищенная ОС позволяет журналировать вызовы системных функций для отслеживания возможных вредоносных действий. Подобный функционал известен в компьютерной безопасности и называется «Контроль приложений» (англ. application control). Список разрешенных приложений обновляется через хаб 310. Правила взаимодействия приложений включают контроль системных вызовов. Системные вызовы включают по меньшей мере одно из: межпроцессные взаимодействия, доступ к оборудованию (драйверам).In addition, a whitelist is used on the secure device 320, containing applications that can be installed and run on the device, as well as applications that are not on the device, but with which this device is allowed to interact remotely. A similar list is used when implementing the Default Deny policy, when only applications from the list of allowed applications are allowed to install and run. Otherwise, when it is allowed to launch applications not only from this list, the protected OS allows you to log calls to system functions to track possible malicious actions. Such functionality is known in computer security and is called Application Control. The list of allowed applications is updated via hub 310. Application interaction rules include system call control. System calls include at least one of: inter-process communication, access to hardware (drivers).

Дополнительно с хаба 310 загружается политика использования вычислительных ресурсов устройства 320. Например, политика содержит список разрешенных к использованию портов ввода-вывода, а также условия их использования. Это позволяет исключить ситуацию, когда злоумышленник использует инженерные порты (например, USB-порт) для получения доступа к устройству - в таких случаях защищенная ОС отключает питание таких портов. Additionally, the policy for using the computing resources of the device 320 is loaded from the hub 310. For example, the policy contains a list of I / O ports allowed for use, as well as the conditions for their use. This eliminates the situation when an attacker uses engineering ports (for example, a USB port) to gain access to the device - in such cases, the protected OS turns off the power of such ports.

Рассмотрим случай, когда в сети используется недоверенное устройство. Есть ряд способов обеспечения достаточного уровня безопасности всей IoT-инфраструктуры:Consider the case when an untrusted device is used on the network. There are a number of ways to ensure a sufficient level of security for the entire IoT infrastructure:

• Запрет на передачу незашифрованных данных по сети;• A ban on the transmission of unencrypted data over the network;

• Запрет на использование IoT-протоколов, которые имеют известные уязвимости, или ограничение их использования;• Ban on the use of IoT protocols that have known vulnerabilities or limit their use;

• Выявление и противодействие DDoS-атакам;• Detection and counteraction to DDoS attacks;

• Использование политик безопасности, использующих разрешающие (англ. whitelist) и запрещающие (англ. blacklist) списки устройств, а также установленных приложений;• The use of security policies that use allowing (English whitelist) and prohibiting (English blacklist) lists of devices, as well as installed applications;

• Использование методов митигации (снижения рисков) уязвимостей в используемых протоколах (в тех случаях, если невозможно не использовать данную версию протокола);• Using methods to mitigate (reduce risks) vulnerabilities in the protocols used (in cases where it is impossible not to use this version of the protocol);

• Изоляция отдельных сегментов сети;• Isolation of individual network segments;

• Поиск и обнаружение аномалий в трафике, использование сетевых экранов;• Search and detection of anomalies in traffic, use of firewalls;

• Использование сильных паролей, реализация менеджера паролей для управления паролями. Замена паролей по умолчанию для IoT-устройств;• Use of strong passwords, implementation of a password manager to manage passwords. Replacing default passwords for IoT devices;

• Приоритет использования проводных протоколов передачи данных над беспроводными;• Priority of using wired data transfer protocols over wireless ones;

• Проверка IoT-устройств на возможность физического взлома и доступа к закрытым функциям (например, инженерным портам);• Checking IoT devices for the possibility of physical hacking and access to closed functions (for example, engineering ports);

• Отключение небезопасных или неиспользуемых функций IoT-устройств;• Disabling unsafe or unused features of IoT devices;

• Замена небезопасных IoT-устройств на обычные (англ. dumb) устройства. Например, умные лампочки могут быть заменены на обычные, если первые подвержены replay-атакам;• Replacing insecure IoT devices with dumb devices. For example, smart bulbs can be replaced with regular ones if the former are susceptible to replay attacks;

• Журналирование событий на разных уровнях - как на уровне отдельных устройств, так и на уровне сети.• Event logging at different levels - both at the level of individual devices and at the network level.

Так как IoT-устройства используются в различных областях деятельности (начиная от личного использования, заканчивая применением в разных сферах промышленного производства), то требования к одному и тому же устройству могут кардинально отличаться в зависимости от области применения. Например, температурный датчик, используемый в рамках умного дома, может иметь допустимую погрешность в 0.1°С и работать в небольшом диапазоне температур (например, от -10°C до +40°С), в то время как температурный датчик, используемый в производстве, должен будет иметь погрешность в 0.01°С и работать в более широком диапазоне температур. Более того, на промышленные датчики налагаются более жесткие требования по передаче показаний (например, работа в режиме реального времени), скорости работы, отзывчивости на внесение изменений со стороны пользователей и другим параметрам. Since IoT devices are used in various fields of activity (from personal use to use in various areas of industrial production), the requirements for the same device can vary dramatically depending on the field of application. For example, a temperature sensor used within a smart home may have an allowable error of 0.1°C and operate in a small temperature range (for example, from -10°C to +40°C), while a temperature sensor used in production , should have an error of 0.01°C and work over a wider temperature range. Moreover, industrial sensors are subject to more stringent requirements for the transmission of readings (for example, real-time operation), speed of operation, responsiveness to changes by users and other parameters.

Хабом безопасности 310 может быть как отдельное устройство (в качестве которого может выступать персональный компьютер, ноутбук или телефон), так и сетевое оборудование (например, роутер). Описание основной функциональности иллюстрируется на Фиг. 4. В качестве примера хаба 310 можно привести Kaspersky IoT Secure Gateway. The security hub 310 can be either a standalone device (which can be a personal computer, laptop, or phone) or network equipment (such as a router). The description of the main functionality is illustrated in Fig. 4. An example of a hub 310 is Kaspersky IoT Secure Gateway.

В еще одном варианте реализации хабом 310 может выступать компьютер, на котором установлен антивирус с возможностью управления настройками безопасности для IoT-устройств.In another implementation, the hub 310 can be a computer that has an antivirus installed with the ability to manage security settings for IoT devices.

Основные функции хаба 310:The main functions of the hub 310:

• инвентаризация всех IoT устройств 110,• inventory of all IoT devices 110,

• выделение защищенных IoT-устройств 320 из списка устройств 110,• selection of secure IoT devices 320 from the list of devices 110,

• определение связей между IoT-устройствами 110,• defining links between IoT devices 110,

• организация безопасного взаимодействия IoT-устройств 110 с приложениями 140 на платформе 130,• organization of secure interaction of IoT devices 110 with applications 140 on the platform 130,

• организация безопасного взаимодействия IoT-устройств 110 с компьютерами 150.• organization of secure interaction of IoT devices 110 with computers 150.

Под компьютером 150 подразумевается любой персональный компьютер, планшет, мобильный телефон (смартфон), сервер или иное устройство, которое имеет приложения для взаимодействия с IoT-устройствами 110 и/или установленными на этих устройствах приложениями. В качестве примера можно привести сервер для хранения данных с умных веб-камер и управлениями ими. Еще одним примером является смартфон (например, под управлением ОС Android) с установленными приложениями (например, Mi Home) для управления роботом-пылесосом (например, Roborock Sweep One). Также смартфон 150 может иметь прямое соединение с IoT-устройством 110, например, используя Bluetooth LE. В дальнейшем в рамках заявки под устройством 150 будут называться любые устройства, такие как смартфоны, персональные компьютеры или серверы.Computer 150 refers to any personal computer, tablet, mobile phone (smartphone), server, or other device that has applications for interacting with IoT devices 110 and/or applications installed on these devices. An example is a server for storing data from smart webcams and managing them. Another example is a smartphone (e.g. Android OS) with installed applications (e.g. Mi Home) to control a robot vacuum cleaner (e.g. Roborock Sweep One). Also, the smartphone 150 may have a direct connection with the IoT device 110, for example, using Bluetooth LE. Device 150 will be referred to throughout the application as any device such as smartphones, personal computers, or servers.

Предпочтительным вариантом реализации хаба 310 является роутер или иное сетевое устройство по причине наличия большого количества возможностей соединений. Для связи с компьютерами 150 используется обычное Ethernet-соединение или WiFi. Для связи с IoT-устройствами 110 есть поддержка таких протоколов, как BlueTooth, ZigBee, LoRa, BACnet, Modbus, SNMP, RS232, RS422, RS485, OPC UA и другие. The preferred implementation of the hub 310 is a router or other network device due to the large number of connectivity options. To communicate with computers 150, a conventional Ethernet or WiFi connection is used. For communication with IoT devices 110, there is support for protocols such as BlueTooth, ZigBee, LoRa, BACnet, Modbus, SNMP, RS232, RS422, RS485, OPC UA and others.

Для организации безопасного взаимодействия IoT-устройств хаб 310 имеет следующие возможности:To organize secure interaction between IoT devices, hub 310 has the following features:

• проверка сетевого трафика, использование IDS для обнаружения аномалий;• checking network traffic, using IDS for anomaly detection;

• выявление уязвимостей IoT-устройств (например, связанных с прошивкой IoT-устройства);• identifying vulnerabilities in IoT devices (for example, those related to IoT device firmware);

• инвентаризация IoT-устройств с целью разделения различных IoT-устройств в отдельные подсегменты (кластеры) для управления;• inventory of IoT devices in order to separate various IoT devices into separate sub-segments (clusters) for management;

• анализ передаваемых объектов, таких как файлы, с помощью антивирусной проверки, в том числе и с использованием виртуальной машины (англ. sandbox);• analysis of transmitted objects, such as files, using anti-virus scanning, including using a virtual machine (sandbox);

• использование облачных антивирусных технологий, таких как Kaspersky Security Network, Symantec SONAR и других;• use of cloud anti-virus technologies such as Kaspersky Security Network, Symantec SONAR and others;

• возможность доставки и установки обновлений для IoT-устройств.• the ability to deliver and install updates for IoT devices.

Еще одной важной функцией хаба 310 является фильтрация данных, которые передаются на сторону платформы 130 приложениям 140, с целью обеспечения необходимого уровня конфиденциальности данных пользователей. Например, для проверки передаваемых данных телеметрии должна присутствовать поддержка таких протоколов как MQTT и MQTT over TLS. Более подробно функции обеспечения конфиденциальности будут рассмотрены ниже.Another important function of the hub 310 is the filtering of data that is transmitted to the side of the platform 130 applications 140, in order to ensure the required level of user data privacy. For example, to check the transmitted telemetry data, there must be support for protocols such as MQTT and MQTT over TLS. The privacy features will be discussed in more detail below.

Еще одной важной функцией хаба 310 является хранение ключей шифрования. IoT-устройства могут поддерживать PKI или иметь собственные механизмы шифрования передаваемых данных. Во втором случае, хаб 310 будет хранить ключи шифрования после установления связи с самим IoT-устройством. В одном из вариантов реализации хаб 310 работает как прокси-сервер, когда устройства 110 подключаются по безопасному каналу сначала с хабом 310, после чего хаб 310 создает отдельное подключение к сервису (платформе) 130. Один из вариантов реализации включает поддержку VPN со стороны хаба 310.Another important function of the hub 310 is the storage of encryption keys. IoT devices can support PKI or have their own mechanisms for encrypting transmitted data. In the second case, the hub 310 will store the encryption keys after establishing a connection with the IoT device itself. In one implementation, hub 310 acts as a proxy server where devices 110 connect securely to hub 310 first, after which hub 310 creates a separate connection to service (platform) 130. One implementation includes VPN support from hub 310 .

Все вышеперечисленные функции хаба 310 работают при полной инвентаризации IoT-устройств, когда об этих устройствах известно максимально возможное количество информации, чтобы можно было эффективно выполнять необходимые функции по обеспечению информационной безопасности. All of the above functions of the hub 310 work with a complete inventory of IoT devices, when the maximum possible amount of information is known about these devices so that the necessary information security functions can be effectively performed.

Инвентаризация IoT-устройств (по безопасности)Inventory of IoT devices (for security)

Одним из вариантов инвентаризации является классификация устройств по уровню обеспечения информационной безопасности. Для этого необходимо учитывать параметры, связанные с возможностью идентификации устройства, проверки его безопасной загрузки, использования защищенных соединений и надежных портов, поддержка шифрования для хранимых данных, возможность своевременного обновления, работа с сертификатами, поддержка централизованных политик безопасности и многое другое. Приведем примеры классификации подобных устройств.One of the inventory options is the classification of devices according to the level of information security. To do this, it is necessary to take into account the parameters related to the ability to identify the device, check its safe boot, use secure connections and reliable ports, support for encryption for stored data, the ability to update in a timely manner, work with certificates, support for centralized security policies, and much more. Let us give examples of the classification of such devices.

Все IoT-устройства можно разнести в различные классы по соблюдению (комплаенсу) таких ключевых параметров как целостность, доступность и конфиденциальность. Например, следующая таблица иллюстрирует различные классы IoT-устройств:All IoT devices can be classified into different classes according to compliance with such key parameters as integrity, availability and confidentiality. For example, the following table illustrates the different classes of IoT devices:

Таблица 17 (7 IoT Security Compliance Framework, © 2017 IoT Security Foundation)Table 1-7 ( 7 IoT Security Compliance Framework, © 2017 IoT Security Foundation )

Уровень безопасностиSecurity Level КлассClass ЦелостностьIntegrity ДоступностьAvailability КонфиденциальностьConfidentiality Класс 0Class 0 БазовыйBase БазовыйBase БазовыйBase Класс 1Class 1 СреднийAverage СреднийAverage БазовыйBase Класс 2Class 2 СреднийAverage ВысокийTall СреднийAverage Класс 3Class 3 ВысокийTall ВысокийTall ВысокийTall Класс 4Class 4 Очень ВысокийVery tall ВысокийTall ВысокийTall

Класс 0 характеризует устройства, потеря контроля над которыми или их компрометация приведет к едва заметному урону информационной безопасности отдельного человека или организации. В качестве примера можно привести утечку данных о температуре внутри холодильника. Более высокие классы описывают устройства, чья порча или вывод из строя могут принести более существенный урон для людей и организаций, в том числе класс 4 предполагает, что потеря контроля над устройством приведет к травмам (или даже жертвам) или катастрофическим последствиям для инфраструктуры (например, датчики на промышленных предприятиях или системы жизнеобеспечения в больницах).Class 0 characterizes devices, the loss of control over which or their compromise will lead to a subtle damage to the information security of an individual or organization. An example is the temperature data leak inside a refrigerator. Higher classes describe devices whose corruption or failure can cause more significant damage to people and organizations, including class 4 suggests that loss of control over the device will lead to injury (or even death) or catastrophic consequences for infrastructure (for example, sensors in industrial plants or life support systems in hospitals).

Рассмотрим уровни безопасности для целостности (англ. integrity), доступности (англ. availability) и конфиденциальности. Целостность информации - термин в информатике, означающий, что данные не были изменены при выполнении какой-либо операции над ними, будь то передача, хранение или отображение. В телекоммуникации целостность данных часто проверяют, используя хеш-сумму сообщения, вычисленную алгоритмом MAC. Доступность информации - состояние информации, при котором субъекты, имеющие права доступа, могут реализовывать их беспрепятственно. К правам доступа относятся: право на чтение, изменение, хранение, копирование, уничтожение информации, а также права на изменение, использование, уничтожение ресурсов.Consider security levels for integrity, availability, and confidentiality. Information integrity is a term in computer science that means that data has not been changed during any operation performed on it, whether it be transmission, storage or display. In telecommunications, data integrity is often checked using the hash sum of the message computed by the MAC algorithm. Availability of information - the state of information in which subjects with access rights can exercise them freely. Access rights include: the right to read, change, store, copy, destroy information, as well as the right to change, use, destroy resources.

Базовый - неисправность устройств может привести к незначительной угрозе целостности, снижению доступности и потере личных данных.Basic - Device failure can result in minor integrity issues, reduced availability, and loss of personal data.

Средний - неисправность устройств может привести к ограниченной угрозе целостности, снижению доступности и потере личных данных.Medium - Device failure can result in a limited integrity threat, reduced availability, and loss of personal data.

Высокий - неисправность устройств может привести к серьезной угрозе целостности, снижению доступности и потере личных данных.High - Failure of devices can result in a severe threat to integrity, reduced availability, and loss of personal data.

Как уже говорилось выше, одно и то же устройство может быть отнесено к разным классам в зависимости от того, где оно будет применятся. Например, усилитель WiFi-сигнала для личного использования может быть отнесен к классу 0, но его применение в больнице приведет к тому, что класс устройства будет 3 из-за требования к конфиденциальности и доступности.As mentioned above, the same device can be assigned to different classes depending on where it will be used. For example, a WiFi extender for personal use might be class 0, but a hospital use would result in a class 3 device due to privacy and accessibility requirements.

Проверка соблюдения ключевых параметров или комплаенса (англ. compliance) для устройства.Checking compliance with key parameters or compliance for the device.

Аппаратная частьHardware

Неизменяемый процесс Secure Boot, установлен по умолчаниюImmutable Secure Boot process, installed by default класс 1class 1 Процесс отладки (дебаггинга, англ. debugging) только после аутентификацииDebugging process (debugging) only after authentication класс 1class 1 Защита от взлома (тамперинга)Protection against breaking (tampering) класс 1class 1 Физическая защита от взлома, добавление меток, которые указывают на взлом (англ. tamper evident measures)Physical protection against tampering, adding tags that indicate tampering (English tamper evident measures) класс 2class 2 Защита от обратной разработки (reverse engineering)Protection against reverse engineering (reverse engineering) класс 3class 3 Лишние порты доступа (USB, RS232 и др.) недоступныExtra access ports (USB, RS232, etc.) are not available класс 1class 1 Недоступность режима тестирования (test points) Unavailability of test mode (test points) класс 2class 2 Невозможность копирования (скачивания с устройства) прошивкиImpossibility of copying (downloading from the device) firmware класс 1class 1 Контроллер в CPU (англ. CPU watchdog) для отслеживания неавторизованной попытки остановки CPUController in the CPU (eng. CPU watchdog) to monitor unauthorized attempts to stop the CPU класс 1class 1 Генератор случайных чисел (true random numbers)Random number generator (true random numbers) класс 1class 1 Генератор случайных чисел в виде отдельного устройстваRandom number generator as a separate device класс 2class 2

Программная частьSoftware part

Возможность ограничения работы неавторизованного софта на платформеAbility to restrict the operation of unauthorized software on the platform класс 1class 1 Необходимость подписи апдейтовThe need to sign updates класс 1class 1 Шифрование образов ПОSoftware image encryption класс 2class 2 ПО работает только через разрешенные портыSoftware works only through allowed ports класс 2class 2 Защита от даунгрейда ПОSoftware downgrade protection класс 2class 2 Наличие tamper-resistant памяти для хранения корня доверия (root of trust)Availability of tamper-resistant memory to store the root of trust класс 2class 2 Образы ПО не содержат информации для отладки (англ. debug)Software images do not contain information for debugging (English debug) класс 2class 2 Защита ПО от side-channel-атакProtecting software from side-channel attacks класс 2class 2 Исходный код был проверен статическим анализаторомThe source code has been checked by a static analyzer класс 2class 2 Аудит процесса разработкиDevelopment process audit класс 2class 2 Ключи для подписи ПО хранятся в хранилище по стандарту FIPS-140 level 2Keys for signing software are stored in storage according to the FIPS-140 level 2 standard класс 2class 2 ПО проверяется фаззингом на входные данныеThe software is checked by fuzzing on the input data класс 2class 2 Поддержка частичной установки / загрузки патчейSupport for partial installation/download of patches класс 1class 1 При невозможности аутентифицировать апдейт, такое обновление возможно при физическом наличии пользователя (когда сам пользователь присоединился вручную, а не по сети)If it is impossible to authenticate the update, such an update is possible if the user is physically present (when the user himself joined manually, and not over the network) класс 1class 1 Работа с ключами по стандарту FIPS 140Working with FIPS 140 keys класс 1class 1

ОСOS

Обновленная ОС при поставке устройствUpdated OS upon delivery of devices класс 2class 2 Контроль доступа к файлам настроенFile access control configured класс 2class 2 Доступ к файлам паролей есть только у самого привилегированного аккаунтаOnly the most privileged account has access to password files класс 2class 2 Все ненужные для корректного функционирования устройства сервисы и приложения удаленыAll services and applications unnecessary for the correct functioning of the device have been removed. класс 2class 2 Приложения имеют низший приоритет при выполненииApplications have the lowest execution priority класс 2class 2 Все возможности обеспечения информационной безопасности данной ОС включеныAll information security features of this OS are included класс 1class 1 Настроен сетевой экранFirewall configured класс 1class 1 Незащищенные протоколы обмена не используются (например, HTTP)Unsecured communication protocols are not used (for example, HTTP) класс 1class 1 Все неиспользуемые порты закрытыAll unused ports are closed класс 1class 1 Все пароли по умолчанию сброшены (например, для Bluetooth PIN)All passwords are reset by default (e.g. for Bluetooth PIN) класс 1class 1 Для WiFi не используется WPA и TKIPWiFi does not use WPA and TKIP класс 1class 1 При использовании MQTT протокола используется TLS-шифрованиеWhen using the MQTT protocol, TLS encryption is used класс 1class 1 При использовании CoAP протокола используется DTLS-соединениеWhen using the CoAP protocol, a DTLS connection is used класс 1class 1 Используемые протоколы последних версий (Bluetooth 4.2, а не 4.0)Latest protocols used (Bluetooth 4.2, not 4.0) класс 1class 1

Аутентификация и авторизацияAuthentication and Authorization

Идентификатор устройства уникален и tamper resistantDevice ID is unique and tamper resistant класс 2class 2 Используется Secure NTPSecure NTP is used класс 2class 2 Пустой пароль нельзя задатьEmpty password cannot be set класс 1class 1 Рекомендации по паролям по стандарту NIST SP800-63bNIST SP800-63b password guidelines класс 1class 1 Анонимный доступ невозможенAnonymous access is not possible класс 1class 1

ШифрованиеEncryption

Используется настоящий (true) генератор случайных чисел (NIST SP 800-90A)Uses a true random number generator (NIST SP 800-90A) класс 2class 2 Используется отдельный процесс для создания, распространения и хранения ключей (по FIPS140-2)Uses a separate process to generate, distribute, and store keys (per FIPS140-2) класс 2class 2 Не используются незащищенные функции (такие как MD-5 или SHA-1)Unprotected functions (such as MD-5 or SHA-1) are not used класс 1class 1 Ключи хранятся в защищенном хранилище (tamper resistant)Keys are stored in secure storage (tamper resistant) класс 2class 2 Для асимметричного шифрования используются уникальные ключи для каждого устройстваAsymmetric encryption uses unique keys for each device класс 2class 2

(Веб) интерфейс устройства(Web) device interface

Для доступа используется Strong AuthenticationAccess uses Strong Authentication класс 2class 2 Обязательный выход по таймаутуMandatory exit on timeout класс 1class 1 Не хранить пароли в plain textDo not store passwords in plain text класс 1class 1 Проведен анализ уязвимостей (согласно топ 10 популярных атак по OWASP)Vulnerability analysis was carried out (according to the top 10 popular OWASP attacks) класс 1class 1 Данные валидируются при вводе логина-пароляData is validated when entering a login-password класс 1class 1 Уменьшение время действия сессииDecreasing session duration класс 1class 1 Проведены fuzzy-тестыFuzzy tests done класс 1class 1

Мобильное приложение (если используется для управления устройством)Mobile app (if used to manage the device)

Пароль для устройства по стандарту 3GPP TS33.1173GPP TS33.117 device password класс 2class 2 Взаимодействие с продуктовым сервером только через защищенное соединениеInteraction with the product server only through a secure connection класс 1class 1 Хранение паролей по стандарту FIPS140-2Password storage according to the FIPS140-2 standard класс 1class 1 Валидация вводимых в приложение данныхValidation of data entered into the application класс 1class 1

КонфиденциальностьConfidentiality

Минимальное хранение личных данных пользователейMinimum storage of personal data of users класс 1class 1 Личные данные шифруютсяPersonal data is encrypted класс 1class 1 Только авторизованные пользователи имеют доступ к персональным даннымOnly authorized users have access to personal data класс 1class 1 Анонимизация личных данныхAnonymization of personal data класс 1class 1 Поставщик услуг реализует Data retention policyThe service provider implements a Data retention policy класс 1class 1 Информирование пользователей о том, какая информация собирается с пользователейInforming users about what information is collected from users класс 1class 1 Существует проверка удаления личных данныхThere is a verification of deletion of personal data класс 1class 1 Продукт имеет комплаенс с местными законами по защите персональных данных (т.е. адаптирован под регион)The product complies with local laws on the protection of personal data (i.e. adapted to the region) класс 1class 1 Производитель устройства должен предоставить пользователю возможность настройки, хранения и удаления личных данныхThe device manufacturer must provide the user with the ability to configure, store and delete personal data класс 1class 1 Производитель также должен предоставить уведомление об ответственности пользователей за сохранность их данныхThe manufacturer must also provide a notice of users' responsibility for the safety of their data. класс 1class 1

Облачный сервис (приложение 140 в рамках платформы 130) Cloud service (application 140 within platform 130)

Все облачные сервисы имеют up-to-date ПОAll cloud services have up-to-date software класс 2class 2 Идентификация веб-серверов отключенаWeb Server Authentication Disabled класс 1class 1 HTTP trace отключенHTTP trace disabled класс 1class 1 Валидный TLS сертификатValid TLS certificate класс 1class 1 Веб-сервисы не имеют публично известных уязвимостей (CVE …)Web services do not have publicly known vulnerabilities (CVE...) класс 1class 1 Отключена возможность повторных TLS-подключений (repeated negotiations of TLS connections)Disabled repeated negotiations of TLS connections класс 1class 1 Неиспользуемые порты отключены (закрыты)Unused ports are disabled (closed) класс 1class 1 Поддержка только валидных клиентских сертификатовSupport for valid client certificates only класс 2class 2 Пустые или дефолтные пароли не поддерживаются или сброшеныBlank or default passwords are not supported or reset класс 1class 1 Максимальное количество неудачных попыток входа ограничено по 3GPP TS33.117The maximum number of failed login attempts is limited by 3GPP TS33.117 класс 2class 2 Доступ к привилегированным функциям ограниченAccess to privileged functions is limited класс 1class 1 Анонимный доступ разрешен только для публичной части сервисовAnonymous access is allowed only for the public part of the services класс 1class 1 Облачные стандарты безопасности соответствуют Cloud Security Alliance [ref 18], NIST Cyber Security Framework [ref 21] или UK Government Cloud Security Principles [ref 24]Cloud security standards comply with Cloud Security Alliance [ref 18], NIST Cyber Security Framework [ref 21] or UK Government Cloud Security Principles [ref 24] класс 2class 2

Вышеприведенные классы отражают комплаенс по отношению к одной из таких характеристик, как целостность, доступность и конфиденциальность. Общий класс устройства может быть вычислен по разным метрикам - например, исходя из наименьшего класса одной из характеристик. The above classes reflect compliance with respect to one of such characteristics as integrity, availability and confidentiality. The overall device class can be calculated from various metrics - for example, based on the lowest class of one of the characteristics.

Как уже отмечалось в описании Фиг. 4, ключевой функцией хаба 310 является инвентаризация всех IoT-устройств 110 и выделение из списка этих устройств определенных групп - доменов. Устройства 110 разбиваются на домены на основании ряда характеристик (будут рассмотрены ниже) - прежде всего, связанных с требованием к информационной безопасности самих устройств. As already noted in the description of FIG. 4, the key function of the hub 310 is the inventory of all IoT devices 110 and the selection of certain groups - domains - from the list of these devices. Devices 110 are divided into domains based on a number of characteristics (discussed below) - primarily related to the information security requirement of the devices themselves.

В одном из вариантов реализации безопасность определяется на основании информации о классе комплаенса устройства. Если устройство имеет класс 3, то его можно отнести к безопасным устройствам, в то время как устройство класса 0 следует считать небезопасным. In one embodiment, security is determined based on the device's compliance class information. If a device has a class 3, then it can be classified as a safe device, while a class 0 device should be considered unsafe.

В одном из вариантов реализации хаб 310 собирает информацию о классе IoT-устройства 110 непосредственно от самого устройства. В еще одном варианте реализации класс IoT-устройства 110 может быть определен на основании характеристик IoT-устройства 110. Характеристики IoT-устройства 110 могут быть получены после обмена данными с указанным устройством по сети - например, на этапе подключения IoT-устройства 110 к хабу 310.In one implementation, the hub 310 collects class information about the IoT device 110 directly from the device itself. In yet another implementation, the class of the IoT device 110 can be determined based on the characteristics of the IoT device 110. The characteristics of the IoT device 110 can be obtained after communicating with the specified device over the network - for example, at the stage of connecting the IoT device 110 to the hub 310 .

Например, при подключении к Hue Light Bulb, используя HTTP запросы типа GET и PUT, можно получить следующий ответ после авторизации:For example, when connecting to Hue Light Bulb using HTTP requests such as GET and PUT, you can get the following response after authorization:

Figure 00000006
Figure 00000006

Figure 00000007
Figure 00000007

Полученные данные позволяют определить параметры конкретной модели данного устройства. Как правило, IoT-устройства передают следующие данные для идентификации: серийный номер и/или идентификатор, временная метка, класс устройства, идентификатор заводского ключа, который использовался для создания идентификатора, публичный ключ и другие данные.The data obtained allows you to determine the parameters of a particular model of this device. As a rule, IoT devices transmit the following data for identification: serial number and / or identifier, timestamp, device class, identifier of the factory key that was used to create the identifier, public key and other data.

На Фиг.5 отображена схема разбиения IoT-устройств на домены информационной безопасности на основании полученных от них данных. Хаб 310 разбивает все IoT-устройства, по меньшей мере, на три домена:Figure 5 shows a diagram of the partitioning of IoT devices into information security domains based on the data received from them. Hub 310 splits all IoT devices into at least three domains:

• Доверенные устройства 510. Например, это могут быть защищенные IoT-устройства 320. В еще одном варианте реализации к домену доверенных устройств 510 относятся все устройства с уровнем комплаенса 2 или выше.Trusted devices 510. For example, these could be secure IoT devices 320. In yet another implementation, the trusted device domain 510 includes all devices with a compliance level of 2 or higher.

• Небезопасные IoT-устройства 520. К подобным устройствам относятся те, которые имеют известные уязвимости, являются источниками вредоносной активности (например, с них распространяются вредоносные программы типа сетевые черви). База данных уязвимостей может использовать информацию с CVE (Common Vulnerabilities and Exposures). В еще одном варианте реализации к небезопасным устройствам 510 относятся все устройства с уровнем комплаенса 1.• Insecure IoT devices 520. Such devices include those that have known vulnerabilities, are sources of malicious activity (for example, they spread malware such as network worms). The vulnerability database can use information from CVE (Common Vulnerabilities and Exposures). In yet another implementation, insecure devices 510 include all compliance level 1 devices.

• Недоверенные устройства 530. Данные IoT-устройства могут не иметь известных уязвимостей, но, исходя из класса комплаенса (который определен, например, как класс 0), они не могут быть отнесены к доверенным устройствам 510 и даже небезопасным 520. Untrusted devices 530. These IoT devices may not have known vulnerabilities, but based on the compliance class (which is defined as class 0, for example), they cannot be classified as trusted devices 510 or even insecure 520.

В качестве доверенных устройств 510 могут выступать не только защищенные IoT-устройства 320, но также IoT-устройства, чья спецификация позволяет считать их надежными в плане информационной безопасности. Например, если от IoT-устройства была получена информация о том, что оно содержит программно-аппаратную часть, которая удовлетворяет спецификации EAL4+8 (8 Например, чипы OPTIGA™ TPM) по стандарту Common Criteria, имеет только один работающий интерфейс связи с поддержкой шифрования и надежным вариантом аутентификации, то в таком случае данное IoT-устройство также будет отнесено к доверенным устройствам 510. Trusted devices 510 can be not only secure IoT devices 320, but also IoT devices whose specification allows them to be considered reliable in terms of information security. For example, if information was received from an IoT device that it contains firmware that meets the EAL4+ 8 specification ( 8 For example, OPTIGA™ TPM chips) according to the Common Criteria standard, has only one working communication interface with encryption support, and reliable authentication option, then this IoT device will also be classified as a trusted device 510.

В качестве еще одного примера доверенных устройств можно привести IoT-устройства, построенные с использованием Intel EPID платформы, которая позволяет использовать более надежную инфраструктуру ключей шифрования9 (9 http://www.intel.com/content/www/us/en/internet-of-things/iot-platform.html).Another example of trusted devices is IoT devices built using the Intel EPID platform, which allows for a stronger encryption key infrastructure 9 ( 9 http://www.intel.com/content/www/us/en/internet -of-things/iot-platform.html).

Еще одним вариантом отнесения IoT-устройства к доверенным 510 является возможность использования отдельного приложения безопасности 330. Предпочтительным вариантом реализации такого приложения является антивирусное приложение (например, Kaspersky Internet Security). Ключевыми функциями такого приложения является файловый сканер, сетевой экран (англ. firewall), поиск уязвимостей (англ. vulnerability scanner) и контроль приложений (англ. application control). Кроме того, приложение 330 поддерживает отдельный интерфейс для связи с хабом 310. Предпочтительным вариантом реализации приложения на хабе 310 является использование Kaspersky Security Center.Another option for classifying an IoT device as trusted 510 is the ability to use a separate security application 330. The preferred implementation of such an application is an antivirus application (for example, Kaspersky Internet Security). The key functions of such an application are a file scanner, a firewall, a vulnerability scanner, and application control. In addition, the application 330 maintains a separate interface for communicating with the hub 310. The preferred implementation of the application on the hub 310 is to use Kaspersky Security Center.

Одним из факторов, почему большая часть IoT-устройств относится либо к небезопасным устройствам 520 или недоверенным 530, является невозможность использования приложения безопасности 330 в силу ряда причин - отсутствие поддержки аппаратной платформы, недостаток вычислительных ресурсов, закрытость платформы и другие факторы.One of the factors why most IoT devices are either insecure devices 520 or untrusted 530 is the inability to use the security application 330 due to a number of reasons - lack of support for the hardware platform, lack of computing resources, closed platform and other factors.

Как уже отмечалось ранее, часть IoT-устройств может подключаться через другие IoT-устройства, не имея таким образом прямого подключения к хабу 310. В качестве примера можно привести ряд фотосенсоров, которые подключены к системам умного освещения дома, или температурные датчики, которые подключены к системе кондиционирования. Подобные датчики могут не иметь подключения к хабу 310, но в то же время обладают рядом известных уязвимостей, которые могут привести к некорректной работе этих (и других, связанных с ними) IoT-устройств. Некорректные показания температурных датчиков могут изменить работу кондиционера, из-за чего в помещении может нарушиться температурный режим. Для борьбы с replay-атаками можно использовать специальные счетчики на IoT-устройстве 110 и хабе 310, которые при передаче данных синхронно увеличивают свои значения, и при расхождении можно определить факт данной атаки.As noted earlier, some IoT devices can connect through other IoT devices, thus not having a direct connection to the 310 hub. air conditioning system. Such sensors may not be connected to the hub 310, but at the same time have a number of known vulnerabilities that can lead to incorrect operation of these (and other related) IoT devices. Incorrect readings of temperature sensors can change the operation of the air conditioner, due to which the temperature regime in the room may be disturbed. To combat replay attacks, you can use special counters on the IoT device 110 and hub 310, which synchronously increase their values during data transfer, and in case of discrepancy, you can determine the fact of this attack.

Кроме того, ряд IoT-устройств, таких как датчики движения, являются важными с точки зрения компьютерной безопасности, так как от корректной работы подобных сенсоров зависит работа и других IoT-устройств, как, например, умные замки, системы освещения и кондиционирования и другие.In addition, a number of IoT devices, such as motion sensors, are important from the point of view of computer security, since the operation of other IoT devices, such as smart locks, lighting and air conditioning systems, and others, depends on the correct operation of such sensors.

Также устройство пользователя (например, смартфон) 150 может иметь прямое соединение с IoT-устройством 110, например, используя Bluetooth LE. Таким образом, в таких случаях хаб 310 не используется как посредник, и подобные соединения могут компрометировать безопасность всей системы. В таких случаях предпочтительна установка антивирусного приложения на смартфон 150.Also, the user's device (eg, smartphone) 150 may have a direct connection to the IoT device 110, for example, using Bluetooth LE. Thus, in such cases, the hub 310 is not used as an intermediary, and such connections can compromise the security of the entire system. In such cases, it is preferable to install an anti-virus application on the smartphone 150.

Рассмотрим другие варианты разбиения групп IoT-устройств 110 на домены, не связанные с информационной безопасностью.Consider other options for partitioning groups of IoT devices 110 into domains that are not related to information security.

Разбиение на домены функциональностиBreakdown into functional domains

Кроме разбиения IoT-устройств на домены на основании характеристик информационной безопасности хаб 310 разбивает группы IoT-устройств на домены также и на основании их функциональности. Функциональность устройства определяет основное предназначение устройства.In addition to partitioning IoT devices into domains based on information security characteristics, hub 310 also partitions groups of IoT devices into domains based on their functionality. The functionality of the device determines the main purpose of the device.

Например, в рамках умного дома IoT-устройства могут быть разбиты на следующие домены (или классы):For example, within a smart home, IoT devices can be broken down into the following domains (or classes):

• освещение (датчики освещенности, умные лампы, автоматические шторы);• lighting (light sensors, smart lamps, automatic curtains);

• фильтрация и очистка воздуха (увлажнители, датчики влажности, обогреватели, поглотители запаха, термометры);• air filtration and purification (humidifiers, humidity sensors, heaters, odor absorbers, thermometers);

• канализация (датчики протечки воды, дозаторы, редукторы);• sewerage (water leakage sensors, dispensers, reducers);

• клининг (умные пылесосы);• cleaning (smart vacuum cleaners);

• безопасность (умные замки, датчики движения, датчики дыма, умные розетки, видеокамеры и системы слежения, датчики открытия окон и дверей, датчики утечки газа);• security (smart locks, motion sensors, smoke sensors, smart sockets, video cameras and tracking systems, window and door opening sensors, gas leakage sensors);

• связь (умные колонки, роутеры, усилители сигнала и другое коммуникационное оборудование);• communications (smart speakers, routers, signal amplifiers and other communication equipment);

• носимые устройства (транспондер для животного, браслеты для отслеживания давления, сна и других физиологических параметров).• wearable devices (transponder for an animal, bracelets for monitoring blood pressure, sleep and other physiological parameters).

На Фиг.6 приведен пример разбиения IoT-устройств по доменам функциональности. Можно видеть, что домены безопасности (Фиг. 5) и функциональности (Фиг. 6) могут быть различны, но также и пересекаться. Подобные разбиения позволяют строить различные топологии IoT-устройств в зависимости от необходимых задач. Figure 6 shows an example of partitioning IoT devices into functionality domains. It can be seen that the domains of security (FIG. 5) and functionality (FIG. 6) can be different but also overlap. Such partitions allow building different topologies of IoT devices depending on the required tasks.

Основной задачей при разбиении IoT-устройств на домены функциональности является обеспечение корректной работы этих устройств, в том числе и с учетом информационной безопасности (Фиг. 5). Например, необходимо, чтобы домен функциональности, связанный с безопасностью (например, умные замки и веб-камеры), работал как можно более надежно, что потребует дополнительного анализа данных устройств с точки зрения информационной безопасности. Таким образом, комплаенс для умного замка должен быть выше, чем для умной лампочки. The main task in dividing IoT devices into functional domains is to ensure the correct operation of these devices, including taking into account information security (Fig. 5). For example, the domain of security-related functionality (such as smart locks and webcams) needs to work as securely as possible, which will require additional analysis of device data from an information security perspective. Thus, the compliance for a smart lock should be higher than for a smart light bulb.

Определение типа функциональности IoT-устройства может быть выполнено при его первоначальном соединении с хабом 310. Хаб 310 обладает информацией о типе устройства на основании данных о его серийном номере и/или идентификаторе, классе устройства, идентификаторе заводского ключа. В другом варианте реализации хаб 310 делает запрос на сторону платформы 130, где одно из приложений 140 обслуживает запросы конкретного IoT-устройства. На основании информации о типе приложения 140 (например, приложение обеспечивает доступ к клининговым функциям) можно сделать вывод о том, что конкретное IoT-устройство относится к домену функциональности по клинингу. Информация о типе приложения может содержаться в данных о приложении в магазине приложений, таком как Google Play или Apple Store. Таким образом, определение функциональности выполняется в том числе и динамически, на основании данных, которые будут собираться с течением времени.Determination of the type of functionality of the IoT device can be performed when it is initially connected to the hub 310. The hub 310 has information about the type of device based on data about its serial number and/or identifier, device class, factory key identifier. In another implementation, the hub 310 makes a request to the side of the platform 130, where one of the applications 140 serves the requests of a particular IoT device. Based on the application type information 140 (for example, the application provides access to cleaning functions), it can be concluded that a particular IoT device belongs to the cleaning functionality domain. The application type information may be contained in the application data in an application store such as Google Play or the Apple Store. Thus, the definition of functionality is also performed dynamically, based on data that will be collected over time.

Разбиение устройств на домены владельцевPartitioning devices into owner domains

Еще одним вариантом разделения устройств на домены с помощью хаба 310 является использование меток по владельцам устройств и их настройка по использованию.Another option for dividing devices into domains using the hub 310 is to use labels by device owner and configure them by usage.

Примеры перечислены ниже.Examples are listed below.

• Отсутствует владелец (англ. no owner, unowned). Устройство не имеет владельца и не используется по назначению.• There is no owner (English no owner, unowned). The device has no owner and is not used for its intended purpose.

• Определенный владелец (англ. owned). Устройство имеет владельца, но не настроено для использования. • Certain owner (English owned). The device is owned but not configured for use.

• Включено (англ. provisioned). Устройство готово выполнять свою функциональность.• Enabled. The device is ready to perform its functionality.

• Зарегистрировано (англ. registered). Устройство распознано и известно хабу 310. • Registered. The device is recognized and known to hub 310.

• Контролируется (англ. controlled). Устройство включено с помощью хаба 310 в один из доменов безопасности.• Controlled (English controlled). The device is included using the hub 310 in one of the security domains.

• Настроено (англ. configured). Владелец настроил устройство для использования, хаб 310 применил необходимые политики безопасности в рамках доменов безопасности и функциональности. • Configured. The owner has configured the device for use, the hub 310 has applied the necessary security policies within the security and functionality domains.

• Работает (англ. operational). Устройство выполняет заложенный функционал в рамках пользовательских настроек.• Works (English operational). The device performs the inherent functionality within the user settings.

Например, при первом включении устройство не имеет владельца и передает в сеть свой идентификатор для подключения, после чего оно будет распознано с помощью хаба 310 (получит статус включенного устройства и устройство будет включено в домен безопасности недоверенных устройств), затем пользователь подключится к устройству либо через хаб 310, используя своё устройство, либо через приложение 140, после чего устройство обретёт владельца и будет зарегистрировано и включено в один из доменов безопасности. Затем пользователь настраивает устройство, и оно начинает работать в рамках наложенных политик безопасности.For example, when the device is turned on for the first time, it does not have an owner and transmits its connection identifier to the network, after which it will be recognized using hub 310 (it will receive the status of an enabled device and the device will be included in the security domain of untrusted devices), then the user will connect to the device either through hub 310 using your device, or through application 140, after which the device will acquire an owner and be registered and included in one of the security domains. Then the user sets up the device, and it begins to work within the imposed security policies.

Разбиение на домены по безопасности человеческой жизнедеятельности.Division into domains for the safety of human life.

Еще один вариант разбиения на домены подразумевает учет функциональности IoT-устройств с точки зрения безопасности для человеческой жизнедеятельности. Например, некорректно работающая (испорченная или взломанная) умная лампочка может быть отключена с помощью тумблера и не будет являться заметной угрозой безопасности человеческой жизнедеятельности, в то же время испорченный термостат может серьезно изменить температуру в помещении, что приведет к неудобству (изменение QoS). Использование умных замков, которые имеют уязвимости и которые могут быть использованы злоумышленниками для того, чтобы украсть ценные вещи в помещении, является еще большой проблемой и угрозой. Злонамеренное использование различных датчиков, используемых в промышленном оборудовании или на узлах критической инфраструктуры (например, на АЭС), может привести к серьезным авариям и жертвам. Another option for splitting into domains involves taking into account the functionality of IoT devices in terms of security for human life. For example, a malfunctioning (damaged or hacked) smart light bulb can be turned off using a toggle switch and will not pose a noticeable threat to the safety of human life, while a broken thermostat can seriously change the temperature in the room, which will lead to inconvenience (change in QoS). The use of smart locks that have vulnerabilities that can be used by intruders in order to steal valuables indoors is another big problem and threat. Malicious use of various sensors used in industrial equipment or in critical infrastructure nodes (for example, nuclear power plants) can lead to serious accidents and casualties.

Таким образом, можно составить градацию устройств по степени их влияния на безопасность человеческой жизнедеятельности. Данная таблица отражает примерное разделение:Thus, it is possible to make a gradation of devices according to the degree of their influence on the safety of human life. This table reflects an approximate division:

Уровень безопасностиSecurity level Степень влиянияDegree of influence 00 Отсутствует или минимальная. Пример - датчик освещенностиNone or minimal. Example - light sensor 1one Небольшая
Пример - ряд бытовой техники, такая как умный пылесос, реостат и другие элементы умного дома
small
An example is a range of household appliances such as a smart vacuum cleaner, a rheostat and other smart home elements.
22 Важная
Пример - умные замки, центральные узлы управления умными вещами
Important
Example - smart locks, central control units for smart things
33 Критическая
Управление элементами критической инфраструктуры, элементы обеспечения человеческой жизнедеятельности (например, электрокардиостимулятор)
critical
Management of critical infrastructure elements, elements of human life support (for example, a pacemaker)

Разбиение по доменам устройства, его настройка Partitioning by device domains, its configuration

После того, как устройство будет отнесено к определенному домену (информационной безопасности, функциональности, безопасности человеческой жизнедеятельности, владельцев), хаб 310 может применять политики безопасности, определяющие ограничения для IoT-устройств, на работу конкретного IoT-устройства в зависимости от принадлежности устройства к определенным доменам.After the device is assigned to a specific domain (information security, functionality, safety of human life, owners), the hub 310 can apply security policies that define restrictions for IoT devices to the operation of a particular IoT device, depending on whether the device belongs to certain domains.

Как уже было отмечено выше, хаб 310 может накладывать следующие ограничения на IoT-устройства:As noted above, hub 310 can impose the following restrictions on IoT devices:

• использование шлюза для контроля трафика,• using a gateway to control traffic,

• отключение отдельных (небезопасных) IoT-устройств,• disabling individual (insecure) IoT devices,

• обновление прошивок IoT-устройств,• firmware update for IoT devices,

• обновление программного обеспечения IoT-устройств.• updating the software of IoT devices.

Ограничения могут быть наложены на основании репутации конкретного IoT-устройства. Репутация основывается как на статических данных об устройстве (например, идентификатор, данные о производителе), так и на его поведении (англ. behavior), что выражается в виде сетевого трафика, связанного с работой IoT-устройства. Таким образом, репутация является динамическим параметром. Даже если устройство при подключении может быть доверенным (не иметь уязвимостей, иметь необходимые классы комплаенса), при работе самого устройства могут возникнуть аномалии, связанные в том числе и использованием уязвимостей нулевого дня. Restrictions can be imposed based on the reputation of a particular IoT device. Reputation is based both on static data about the device (for example, identifier, manufacturer data) and on its behavior, which is expressed in the form of network traffic associated with the operation of the IoT device. Thus reputation is a dynamic parameter. Even if the device can be trusted when connected (have no vulnerabilities, have the necessary compliance classes), anomalies can occur during the operation of the device itself, including the use of zero-day vulnerabilities.

Кроме этого хаб 310 может производить начальную настройку IoT-устройств 110 при их первом включении и/или подключении к хабу 310. In addition, the hub 310 may perform initial configuration of the IoT devices 110 when they are first turned on and/or connected to the hub 310.

Примеры первоначальной настройки.Examples of initial setup.

Пример 1.Example 1

Умная лампочка. Smart light bulb.

Пользователь добавил новую лампочку Hue Light Bulb, которая при включении попыталась соединиться через ZigBee с хабом 310, который поддерживает данный вид протокола. После сбора идентификационной информации хаб 310 извлекает из базы данных информацию о том, что данное устройство относится к недоверенному классу устройства по информационной безопасности, относится к домену (классу) освещения по функциональности, не имеет владельца при первичной настройке и имеет нулевой уровень безопасности человеческой жизнедеятельности.The user added a new Hue Light Bulb, which, when turned on, tried to connect via ZigBee to a 310 hub that supports this type of protocol. After collecting the identification information, the hub 310 retrieves from the database information that this device belongs to an untrusted device class in terms of information security, belongs to the lighting domain (class) in terms of functionality, does not have an owner during initial configuration, and has a zero level of human life safety.

Исходя из определенных параметров, хаб 310 будет ожидать дальнейшей настройки умной лампы самим пользователем и не будет налагать никаких ограничений по трафику.Based on certain parameters, the hub 310 will wait for the user to further configure the smart lamp and will not impose any traffic restrictions.

Пример 2.Example 2

Система протечки воды. Набор из датчиков и контроллеров.Water leakage system. A set of sensors and controllers.

Устройство будет определено, как относящееся к недоверенному классу устройства по информационной безопасности, относящееся к домену (классу) канализации по функциональности, имеющее владельца (так как отправляет данные о своей работе на пользовательское устройство, например планшет) и имеющее первый класс безопасности человеческой жизнедеятельности.The device will be defined as belonging to an untrusted information security device class, belonging to the sewerage domain (class) in terms of functionality, having an owner (since it sends data about its work to a user device, such as a tablet) and having the first class of human life safety.

Хаб 310 в таком случае будет применять ряд правил фильтрации трафика, который направлен к контроллеру, а также периодически проверять целостность прошивки на тот случай, если программная прошивка контроллера была изменена с помощью других средств (например, через другой протокол в обход хаба 310).Hub 310 will then apply a set of rules to filter traffic that is directed to the controller, as well as periodically check the integrity of the firmware in case the controller firmware has been changed by other means (for example, through a different protocol bypassing the hub 310).

Пример 3.Example 3

Умные замки. Smart locks.

В данном случае будет определен доверенный класс устройства по информационной безопасности, устройство относится к домену (классу) безопасности по функциональности, имеет владельца (так как отправляет данные о своей работе на пользовательское устройство, например планшет) и второй класс безопасности человеческой жизнедеятельности.In this case, the trusted class of the device in terms of information security will be determined, the device belongs to the security domain (class) in terms of functionality, has an owner (since it sends data about its work to a user device, such as a tablet) and the second class of human life safety.

Так как устройство имеет доверенный класс с точки зрения информационной безопасности, то предполагается, что в настоящий момент времени злоумышленники не обладают возможностями по злонамеренному изменению функциональности и дополнительной настройки или контроля трафика не требуется. В то же время пассивное наблюдение необходимо для проверки работоспособности, ведь данное устройство имеет существенное влияние на человеческую жизнедеятельность. Один из вариантов такого контроля заключается в проверке периодической отправки служебного трафика со стороны умного замка, что указывает на его работоспособность. Если трафик перестал отправляться, то хаб 310 отправит нотификацию владельцу или даже заблокирует замки, если предусмотрены такие настройки пользователем. Since the device has a trusted class in terms of information security, it is assumed that at the moment, attackers do not have the ability to maliciously change functionality and additional configuration or traffic control is not required. At the same time, passive observation is necessary to check the performance, because this device has a significant impact on human life. One of the options for such control is to check the periodic sending of service traffic from the smart lock, which indicates its operability. If the traffic stops being sent, the hub 310 will send a notification to the owner or even block the locks if such settings are provided by the user.

Фиг. 9 иллюстрирует способ работы хаба 310 при подключении нового устройства. Fig. 9 illustrates how hub 310 operates when a new device is connected.

На этапе 910 хаб 310 определяет новое IoT-устройство 110. Это может быть сделано с помощью пассивного прослушивания трафика, через прямое подключение к хабу 310 (основная функциональность хаба 310 - это маршрутизатор), ввод данных со стороны пользователя.In step 910, the hub 310 defines a new IoT device 110. This can be done by passively listening to traffic, through a direct connection to the hub 310 (the main functionality of the hub 310 is a router), user input.

На этапе 920 производится сбор данных об устройстве с помощью хаба 310. В качестве данных могут выступать идентификатор и серия устройства, название устройства, данные о производителе, набор характеристик (например, параметры самого устройства), MAC-адрес и другие данные.At step 920, data about the device is collected using the hub 310. The data can be a device identifier and series, a device name, manufacturer information, a set of characteristics (for example, the parameters of the device itself), a MAC address, and other data.

На этапе 930 определяется домен информационной безопасности устройства. В частности, домены включают доверенные, недоверенные и небезопасные устройства. At block 930, the information security domain of the device is determined. Specifically, domains include trusted, untrusted, and insecure devices.

На этапе 940 определяется домен функциональности устройства. Доменами функциональности являются такие домены как: освещение (датчики освещенности, умные лампы, автоматические шторы), фильтрация и очистка воздуха (увлажнители, датчики влажности, обогреватели, поглотители запаха, термометры), канализация (датчики протечки воды, дозаторы, редукторы), клининг (умные пылесосы), безопасность (умные замки, датчики движения, датчики дыма, умные розетки, видеокамеры, датчики открытия окон и дверей, датчики утечки газа), связь (умные колонки, роутеры, усилители сигнала и другое коммуникационное оборудование), носимые устройства. Для автомобиля это могут быть другие домены функциональности - системы управления отдельными агрегатами (двигатель, тормоза, коробка переключения передач), подушки безопасности, адаптивные системы помощи и экстренного торможения, антизанос, мультимедиа, свет, подогрев.At block 940, a device functionality domain is determined. Functionality domains are such domains as: lighting (light sensors, smart lamps, automatic curtains), air filtration and purification (humidifiers, humidity sensors, heaters, odor absorbers, thermometers), sewerage (water leakage sensors, dispensers, reducers), cleaning ( smart vacuum cleaners), security (smart locks, motion sensors, smoke sensors, smart sockets, video cameras, window and door opening sensors, gas leak sensors), communications (smart speakers, routers, signal amplifiers and other communication equipment), wearable devices. For a car, these can be other domains of functionality - control systems for individual units (engine, brakes, gearbox), airbags, adaptive assistance systems and emergency braking, anti-skid, multimedia, light, heating.

На этапе 950 определяется домен устройства по безопасности человеческой жизнедеятельности. В частности, в одном из вариантов реализации используется разбиение как минимум на 4 домена с различной степенью влияния на безопасность человеческой жизнедеятельности. Этапы 930-950 могут выполняться как последовательно, так и одновременно по мере сбора (или наличию) необходимых данных.At step 950, a device domain for human safety is determined. In particular, in one of the implementation options, a partition is used at least into 4 domains with varying degrees of impact on the safety of human life. Steps 930-950 can be performed either sequentially or simultaneously as the necessary data is collected (or available).

На этапе 960 на основании определенных доменов на этапах 930-950 происходит настройка устройства. Хаб 310 может фильтровать трафик как от самого устройства, так и к нему (сетевой экран), отключить само устройство (например, небезопасное), обновить прошивку устройства или ПО на устройстве. В еще одном варианте реализации хаб 310 может отправить ряд команд для настройки устройства в том случае, если поддерживается протокол работы с данным устройством.At step 960, based on the determined domains at steps 930-950, the device is configured. Hub 310 can filter traffic both from the device itself and to it (firewall), disable the device itself (for example, insecure), update the device firmware or software on the device. In another implementation, the hub 310 can send a number of commands to configure the device if the protocol for working with this device is supported.

Настройка устройства 110 использует политики настройки устройств, которые зависят от определенных на этапах 930-950 доменов. Комбинация доменов информационной безопасности, функциональности и безопасности человеческой жизнедеятельности порождает трехмерную матрицу пересечений. Для упрощения представим пересечение доменов информационной безопасности и функциональности в виде таблицы ниже (пример):Device configuration 110 uses device configuration policies that depend on the domains defined in steps 930-950. The combination of domains of information security, functionality and safety of human life generates a three-dimensional matrix of intersections. To simplify, we present the intersection of information security and functionality domains in the form of a table below (example):

ОсвещениеLighting Фильтрация и очистка воздухаFiltration and purification of air БезопасностьSecurity Класс 0Class 0 Политика 1Policy 1 Политика 1Policy 1 Политика 7Policy 7 Класс 1Class 1 Политика 1Policy 1 Политика 2Politics 2 Политика 9Politics 9 Класс 2Class 2 Политика 2Politics 2 Политика 3Policy 3 Политика 13Politics 13 Класс 3Class 3 Политика 3Policy 3 Политика 10Politics 10 Политика 14Politics 14 Класс 4Class 4 Политика 9Politics 9 Политика 12Politics 12 Политика 15Politics 15

В зависимости от класса информационной безопасности и домена функциональности могут быть выбраны различные политики настройки устройства. Сама политика представляется в виде набора правил, которые выполняются либо на самом устройстве 110 (настройка самого устройства), либо с помощью хаба 310 (например, скачивание свежей прошивки). Правила в предпочтительном варианте реализации задаются в виде условия и действия (англ. If This Then That (IFTTT)).Depending on the information security class and functionality domain, different device configuration policies can be selected. The policy itself is presented as a set of rules that are executed either on the device 110 itself (configuring the device itself) or using the hub 310 (for example, downloading the latest firmware). Rules in the preferred implementation are specified as a condition and an action (Eng. If This Then That (IFTTT)).

Кроме того, каждая политика может быть дополнительно уточнена (по возможности) для конкретной модели устройства. Приведем пример.In addition, each policy can be further refined (if possible) for a specific device model. Let's take an example.

Например, если неизвестное IoT-устройство было определено как умная лампочка (т.е. относится к домену функциональности “Освещение”) и имеет класс 0 по информационной безопасности, то для этого устройства будет выбрана Политика 1 для последующей настройки, которая включает мониторинг трафика. Кроме того, были определены идентификатор и серия устройства, что позволило определить лампочку от производителя Philips, что предполагает расширенный набор настроек, например контроль настроек для данного устройства.For example, if an unknown IoT device was defined as a smart light bulb (i.e. belongs to the “Lighting” functionality domain) and has a class 0 for information security, then Policy 1 will be selected for this device for subsequent configuration, which includes traffic monitoring. In addition, the device identifier and series were determined, which made it possible to determine the light bulb from the Philips manufacturer, which implies an extended set of settings, such as controlling settings for a given device.

Еще одним примером может быть определение другого IoT-устройства в качестве умного замка, его следует отнести к домену функциональности Безопасность и в зависимости от класса информационной безопасности, например в рамках домашнего использования будет выбран класс 2, а в рамках промышленного предприятия - класс 4. В зависимости от этих классов будут выбраны различные политики настройки данного IoT-устройства (Политики 13 и 15 соответственно).Another example would be to define another IoT device as a smart lock, it should be assigned to the Security functionality domain and depending on the information security class, for example, class 2 will be selected within home use, and class 4 within an industrial enterprise. Depending on these classes, different configuration policies for this IoT device will be selected (Policies 13 and 15, respectively).

Помимо первоначальной настройки, хаб 310 дополнительно отслеживает активность самого IoT-устройства 110 в течение времени и меняет его настройки, а также накладываемые ограничения. Например, термостат должен передавать данные только по определенным адресам (например, производителя и статистика на google.com) и использовать только порты 9543, 11095, 80 и 443. Любые изменения - это аномалия, и такой реостат нужно перенести в другой домен информационной безопасности. In addition to the initial configuration, the hub 310 additionally monitors the activity of the IoT device 110 itself over time and changes its settings, as well as the imposed restrictions. For example, a thermostat should send data only to certain addresses (for example, manufacturer and statistics on google.com) and use only ports 9543, 11095, 80 and 443. Any changes are an anomaly, and such a rheostat should be transferred to another information security domain.

Хаб 310 поддерживает разбиение IoT-устройств на домены по другим характеристикам. Одной из них является местоположение устройства. Местоположение может быть определено:Hub 310 supports partitioning of IoT devices into domains according to other characteristics. One of them is the location of the device. The location can be determined:

• самим пользователем вручную, используя веб-интерфейс при присоединении к хабу 310;• by the user manually, using the web interface when joining the hub 310;

• на основании данных о силе беспроводного сигнала от IoT-устройства;• based on data on the strength of the wireless signal from the IoT device;

• на основании принадлежности IoT-устройств к одному из доменов по иерархии (Фиг. 7).• based on belonging of IoT devices to one of the domains in the hierarchy (Fig. 7).

Использование дополнительного разбиения на домены по другим характеристикам позволяет вводить дополнительные параметры в политики для настройки устройств. Например, учет местоположения позволяет понять, какие из IoT-устройств находятся вне дома и, соответственно, могут быть подвержены возможной атаке извне, что требует для данных устройств более высоких требований по информационной безопасности, а также более строгих политик по их настройке.Using additional domain partitioning by other characteristics allows you to enter additional parameters in policies to configure devices. For example, location accounting allows you to understand which of the IoT devices are outside the home and, accordingly, may be subject to a possible attack from the outside, which requires higher information security requirements for these devices, as well as stricter configuration policies.

Другой пример дополнительного разбиения на домены - это разбиение всех IoT-устройств на два домена по возможности анализа протоколов передачи данных от IoT-устройств. На домен, в котором находятся устройства, для которых есть возможность анализировать пакеты передаваемых данных, и, соответственно, вносить изменения и вообще контролировать трафик, накладываются отдельные политики настройки IoT-устройств.Another example of additional partitioning into domains is the partitioning of all IoT devices into two domains by the possibility of analyzing data transfer protocols from IoT devices. Separate policies for configuring IoT devices are imposed on the domain in which there are devices for which it is possible to analyze packets of transmitted data, and, accordingly, make changes and generally control traffic.

Использование хаба для контроля (настройки) устройстваUsing the hub to control (configure) the device

В рамках использования политик по настройке IoT-устройств хаб 310 производит настройку IoT-устройства 110.As part of the use of IoT device configuration policies, the hub 310 configures the IoT device 110.

На Фиг. 10 отображен способ использования хаба 310 в рамках исследования уязвимостей для IoT-устройств и последующей настройки. On FIG. 10 shows how the hub 310 is used as part of an IoT device vulnerability investigation and subsequent configuration.

К хабу 310 подключено по одному из протоколов передачи данных IoT-устройство 110. Кроме того, к хабу 310 присоединено устройство 150 (например, смартфон), на котором установлено приложение 1020 для настройки IoT-устройства 110. В качестве примера такого приложения можно привести Mi Home для управления умными вещами, такими как робот-пылесос или система освещения. Также хаб 310 обеспечивает взаимодействие с платформой (сервисом) 130 и приложениями 140. An IoT device 110 is connected to the hub 310 via one of the data transfer protocols. In addition, a device 150 (for example, a smartphone) is connected to the hub 310, on which an application 1020 is installed to configure the IoT device 110. An example of such an application is Mi Home to control smart things like a robot vacuum cleaner or a lighting system. The hub 310 also provides interaction with the platform (service) 130 and applications 140.

Из элементов, обеспечивающих информационную безопасность, на Фиг. 10 приведены приложение безопасности 330 (например, антивирус Kaspersky Internet Security), облачный сервис безопасности 1010 (например, Kaspersky Security Network) и база данных 1040, которая хранит информацию об известных уязвимостях для приложений 1020, а также устройствах 110. В одном из вариантов реализации база данных 1040 входит в состав приложения безопасности 330 и/или сервиса безопасности 1010. Кроме того, подобная база данных 1040 содержит правила настройки приложений 1020 и устройств 110.Of the elements that provide information security, in Fig. 10 shows a security application 330 (for example, Kaspersky Internet Security antivirus), a cloud-based security service 1010 (for example, Kaspersky Security Network), and a database 1040 that stores information about known vulnerabilities for applications 1020 as well as devices 110. In one embodiment, the database 1040 is included in the security application 330 and/or security service 1010. In addition, such a database 1040 contains rules for configuring applications 1020 and devices 110.

Небезопасным взаимодействием, которое нельзя контролировать с помощью хаба 130, является прямое взаимодействие приложения 1020 с приложением(-ями) 140, например через мобильную сеть. Также IoT-устройство 110 может взаимодействовать с другими IoT-устройствами через иные протоколы связи, не используя хаб 310. Примером подобного соединения является соединение между устройствами через протокол Bluetooth LE.An insecure interaction that cannot be controlled by the hub 130 is the direct interaction of the application 1020 with the application(s) 140, such as over a mobile network. Also, the IoT device 110 can communicate with other IoT devices through other communication protocols without using the hub 310. An example of such a connection is a connection between devices via the Bluetooth LE protocol.

Начало взаимодействия хаба 310 с IoT-устройством выглядит нижеописанным образом:The beginning of the hub 310 interaction with the IoT device looks like this:

• Обнаружение IoT-устройства 110 и определение его характеристик. Дополнительно хаб 310 получает информацию об ОС, которая установлена на IoT-устройстве 110 и приложениях (сервисах), которые там установлены и работают.IoT device 110 discovery and characterization. Additionally, the hub 310 receives information about the OS that is installed on the IoT device 110 and the applications (services) that are installed and running there.

• Определение возможных уязвимостей и рисков IoT-устройства 110 в базе данных 1040. Если данных нет, то происходит запрос в сервис безопасности 1010 и обновление базы данных 1040. • Identification of possible vulnerabilities and risks of the IoT device 110 in the database 1040. If there is no data, then a request is made to the security service 1010 and the database 1040 is updated.

• Определение возможного устройства (в данном случае - смартфона) 150, с которым взаимодействует IoT-устройство 110. В одном из вариантов реализации это осуществляется на основании информационного обмена между IoT-устройством 110 и смартфоном 150, на котором установлено приложение 1020.• Determination of a possible device (in this case, a smartphone) 150 with which the IoT device 110 communicates. In one embodiment, this is done based on the communication between the IoT device 110 and the smartphone 150 on which the application 1020 is installed.

• Определение возможных уязвимостей приложения 1020. В одном из вариантов реализации это осуществляется с помощью установленного приложения безопасности (антивируса) 330 и использования базы данных 1040. • Determination of possible vulnerabilities of the application 1020. In one implementation, this is done using the installed security application (antivirus) 330 and using the database 1040.

• Определение возможных небезопасных взаимодействий приложения 1020 с приложением(-ями) 140, например через мобильную сеть. Также IoT-устройство 110 может взаимодействовать с другими IoT-устройствами через иные протоколы связи, не используя хаб 310.• Determining possible insecure interactions between application 1020 and application(s) 140, such as over a mobile network. Also, the IoT device 110 can communicate with other IoT devices through other communication protocols without using the hub 310.

• На основании собранной информации хаб 310 определяет правила настройки IoT-устройства 110, приложения 1020, смартфона 150.• Based on the collected information, the hub 310 determines the rules for configuring the IoT device 110, application 1020, smartphone 150.

Пример.Example.

После определения робота-пылесоса в качестве IoT-устройства 110 определяется смартфон 150 на базе ОС Android, на котором установлено устаревшее приложение 1020 для управления роботом-пылесосом. Факт устаревшего приложения может быть получен во время работы этого приложения (при передаче версии приложения) или с помощью сторонних приложений, установленных на смартфоне 150. Смартфон 150 был изначально присоединен к хабу 310, который обеспечивает функции роутера в данной сети.Once the robot cleaner is identified as the IoT device 110, an Android smartphone 150 is identified on which the legacy application 1020 for controlling the robot cleaner is installed. The fact of an outdated application can be obtained while this application is running (by transferring the application version) or using third-party applications installed on the smartphone 150. The smartphone 150 was initially connected to the hub 310, which provides router functions in this network.

Хаб 310 извлекает из базы данных 1040 правила для обновления приложения 1020 до актуальной версии (например, через Google Play), а также скачивания новой прошивки для робота-пылесоса с платформы 130 и последующей установки. Сама прошивка должна быть проверена перед установкой на устройство с помощью следующих проверок:The hub 310 retrieves from the database 1040 the rules for updating the application 1020 to the current version (for example, via Google Play), as well as downloading new firmware for the robot cleaner from the platform 130 and then installing it. The firmware itself must be verified before being installed on the device using the following checks:

• проверка цифровой подписи и сертификата файла прошивки;• verification of the digital signature and certificate of the firmware file;

• проверка файла прошивки с помощью файлового сканера на наличие вредоносного кода;• checking the firmware file using a file scanner for malicious code;

• запуск исполняемого кода (если присутствует) в виртуальной машине.• running the executable code (if present) in the virtual machine.

В варианте реализации на Фиг. 10 в качестве приложения, которое установлено на хабе 310, выступает Kaspersky Security Center.In the embodiment of FIG. 10, the application installed on hub 310 is Kaspersky Security Center.

Один из вариантов подключения IoT-устройства 110 требует, чтобы в зоне действия Bluetooth-соединения находился смартфон 150, что позволяет убедиться в том, что именно аутентифицированный пользователь пытается добавить новое IoT-устройство.One option for connecting the IoT device 110 requires a smartphone 150 to be in range of the Bluetooth connection to ensure that the authenticated user is trying to add a new IoT device.

Определение мобильного устройства 150 поблизости может выполняться на основании показателя уровня принимаемого сигнала (англ. received signal strength indicator10) (https://en.wikipedia.org/wiki/Received_signal_strength_indication).The determination of the nearby mobile device 150 can be performed based on the received signal strength indicator 10 (https://en.wikipedia.org/wiki/Received_signal_strength_indication).

Хаб 310 может определить не только IoT-устройства, но и роутеры (которые также можно считать IoT-устройствами), к которым они подключены (если будет сетевая иерархия), и заодно перенастроить роутеры, если это будет возможно.Hub 310 can detect not only IoT devices, but also routers (which can also be considered IoT devices) to which they are connected (if there is a network hierarchy), and at the same time reconfigure routers, if possible.

Для корректной поддержки настроек по управлению IoT-устройствами хаб 310 использует профиль каждого устройства в отдельности (рассмотрено далее).To correctly support the settings for managing IoT devices, the hub 310 uses the profile of each device separately (discussed below).

Обнаружение устройства Device discovery

Обнаружение IoT-устройства может быть реализовано с помощью нескольких методов обнаружения.IoT device discovery can be implemented using several discovery methods.

Предпочтительный вариант реализации заключается в прямом подключении IoT-устройства 110 к хабу 310. Например, при подключении Hue Light Bulb будет передан следующий запрос через HTTP-протокол для авторизации:The preferred implementation is to directly connect the IoT device 110 to the hub 310. For example, when connecting the Hue Light Bulb, the following request will be sent via the HTTP protocol for authorization:

Figure 00000008
Figure 00000008

Используя информацию об известных (присутствующих в системе) устройствах, можно использовать сигнатурный метод обнаружения (например, регулярные выражения для поиска строк), который позволит определить, какое именно устройство подключается к хабу 310 в настоящий момент.Using information about known (present in the system) devices, you can use a signature detection method (for example, regular expressions to search for strings) that will allow you to determine which device is connecting to the hub 310 at the moment.

Дополнительная информация включает сетевую информацию - например, информацию о портах подключения. В качестве примера выключатель WeMo использует определенные порты - 49154 и 49153.Additional information includes network information - for example, information about connection ports. As an example, the WeMo switch uses specific ports - 49154 and 49153.

Запрос на авторизацию выглядит следующим образом:The authorization request looks like this:

Figure 00000009
Figure 00000009

Наложение сигнатуры с помощью хаба 310 с использованием сетевой информации позволит определить, что используется ряд продуктов WeMo, а используя данные по идентификаторам устройств - определить их тип.Signature overlay using hub 310 using network information will determine that a number of WeMo products are being used, and using data from device IDs, determine their type.

Другой вариант обнаружения устройств заключается в использовании анализа беспроводных сигналов с помощью хаба 310. Поэтапно такой анализ включает: Another option for device discovery is to use the analysis of wireless signals using the hub 310. In stages, such an analysis includes:

• определение частотной области сигналов (англ. frequency domain samples);• determination of the frequency domain of signals (eng. frequency domain samples);

• выделение в частотной области определенных зон сигнала (англ. spectrum tiles);• selection in the frequency domain of certain signal zones (eng. spectrum tiles);

• кластеризация сигналов в зоне;• clustering of signals in the zone;

• выделение уникальных сигналов в кластерах.• selection of unique signals in clusters.

При использовании нескольких антенн у хаба 310 (или при использовании нескольких хабов 310) появляется возможность обнаружения физического местоположения обнаруженного IoT-устройства 110 на основании силы сигнала относительно антенн/хабов. Отметим, что настоящее изобретение использует уже известные технологии обнаружения неизвестных устройств, такие как описанные в патенте US10567948.By using multiple antennas at the hub 310 (or by using multiple hubs 310), it becomes possible to discover the physical location of the discovered IoT device 110 based on signal strength relative to the antennas/hubs. Note that the present invention uses already known technologies for detecting unknown devices, such as those described in US10567948.

После обнаружения устройства можно использовать определенные идентификаторы для его идентификации и отслеживания - например, MAC-адрес или заводской идентификатор (DeviceId).Once a device is discovered, specific identifiers can be used to identify and track it, such as the MAC address or factory ID (DeviceId).

Профиль устройстваDevice Profile

После обнаружения IoT-устройства хаб 310 строит его профиль на основании собранных (и собираемых во время работы устройства) данных.After discovering an IoT device, the hub 310 builds its profile based on the data collected (and collected during device operation).

Определение возможных уязвимостей и рисков IoT-устройства включает построение профиля конкретного устройства (англ. device profile), который включает следующие параметры:Determination of possible vulnerabilities and risks of an IoT device includes building a device profile, which includes the following parameters:

• идентификатор устройства;• device identifier;

• данные о производителе, серии, версии прошивки;• information about the manufacturer, series, firmware version;

• MAC-адрес;• MAC address;

• данные по ОС и установленным приложениям (например, идентификаторы приложений, названия производителей, хеш-суммы файлов и др.);• data on OS and installed applications (for example, application identifiers, vendor names, file hash sums, etc.);

• использование протоколов (анализ безопасности передачи данных), характеристики трафика, например зашифрованный сетевой трафик считается безопасным;• use of protocols (data transfer security analysis), traffic characteristics, eg encrypted network traffic is considered secure;

• частота сетевой активности;• frequency of network activity;

• журнал доступа со стороны пользователей (в том числе и анонимных, если это разрешено), при этом доступ можно анализировать на основании пакетов данных или исходя из привязки пользователей к определенным мобильным устройствам 150, а анализ сетевых пакетов использует технологии DPI (англ. deep packet inspection);• user access log (including anonymous ones, if allowed), while access can be analyzed based on data packets or based on user binding to certain mobile devices 150, and network packet analysis uses DPI (deep packet) technologies inspection);

• известные уязвимости (хранимые в базе данных 1040);• known vulnerabilities (stored in database 1040);

• анализ радиочастотных характеристик (в заявке US2016127392A1 раскрывается анализ радиочастотных характеристик для определения возможных беспроводных атак). • RF analysis (US2016127392A1 discloses RF analysis to identify possible wireless attacks).

На основании данных из профиля рассчитывается уровень риска. Он может выражаться в шкале от 0 до 100, где 0 - гарантированно безопасное (доверенное) устройство, 100 - гарантированно недоверенное устройство, которое имеет выраженный вредоносный функционал. Разные параметры по-разному влияют на уровень риска. Например, информация о производителе может не влиять на уровень риска, а данные по установленным приложениям вносить до 80% от уровня риска.Based on the data from the profile, the risk level is calculated. It can be expressed on a scale from 0 to 100, where 0 is a guaranteed safe (trusted) device, 100 is a guaranteed untrusted device that has pronounced malicious functionality. Different parameters affect the level of risk in different ways. For example, information about the manufacturer may not affect the level of risk, while data on installed applications contribute up to 80% of the level of risk.

Также профиль может обновляться на основании нижеперечисленных событий.The profile can also be updated based on the following events.

• События с сенсоров. События на физическом уровне (physical layer) сетевой модели OSI или на уровне передачи данных (data layer). Например, передача данных через virtual LAN.• Events from sensors. Events at the physical layer (physical layer) of the OSI network model or at the data layer (data layer). For example, data transfer via virtual LAN.

• Сессионные события. Пакеты данных с сетевого (network layer) или транспортного уровня (transport layer).• Session events. Data packets from the network (network layer) or transport layer (transport layer).

• События уровня приложений. Пакеты данных на уровне сессии (session layer), уровня представления (presentation layer) или уровня приложений (application layer). Подобные пакеты генерируются при выполнении приложений (отправка и получение трафика).• Application layer events. Data packets at the session layer (session layer), presentation layer (presentation layer) or application layer (application layer). Such packets are generated when applications are running (sending and receiving traffic).

• События на уровне взаимодействия пользователей с устройством. Возникают, когда пользователь взаимодействует с устройством. Например, в процессе аутентификации.• Events at the level of user interaction with the device. Occurs when the user interacts with the device. For example, during the authentication process.

• События, связанные со статусами. Например, периодическая отправка данных о статусе устройства (что оно работает корректно).• Status related events. For example, periodically sending data about the status of the device (that it is working correctly).

• Информация о домене, в котором находится устройство. Домены включают домены функциональности, домены информационной безопасности, домены безопасности человеческой жизнедеятельности.• Information about the domain in which the device resides. Domains include functionality domains, information security domains, human life security domains.

Подобные события получают на стороне хаба 310 непрерывно, они группируются по устройствам.Such events are continuously received on the side of the hub 310, they are grouped by device.

Группировку можно делать с помощью алгоритмов машинного обучения, а именно: случайный лес, искусственная нейросеть, метод опорных векторов, а также алгоритмы бустинга для композиции упомянутых алгоритмов.Grouping can be done using machine learning algorithms, namely: random forest, artificial neural network, support vector machine, as well as boosting algorithms for the composition of the mentioned algorithms.

Шаблоны профиля устройства могут быть очищены от личных данных (например, геотеги или конкретные параметры устройств, в качестве примера можно привести диапазон температур для термостата) и переданы в облако для того, чтобы можно было использовать такой шаблон для похожих устройств других пользователей. В другом варианте реализации личные данные подвергаются хешированию без возможности обратного преобразования.Device profile templates can be stripped of personal data (such as geotags or specific device settings, such as a temperature range for a thermostat) and uploaded to the cloud so that the template can be used for other users' similar devices. In another implementation, the personal data is hashed without the possibility of reverse transformation.

Профиль IoT-устройства можно проверять в два этапа - сначала по трафику, потом - если обнаружены аномалии - на основании анализа работы самого IoT-устройства. Анализ можно выполнять как косвенно, так и напрямую - если на самом IoT-устройстве установлено приложение безопасности 330. Девиации от профиля также повышают уровень риска, но на небольшой период времени, чтобы не допустить ложных срабатываний.The profile of an IoT device can be checked in two stages - first by traffic, then - if anomalies are detected - based on an analysis of the operation of the IoT device itself. The analysis can be performed both indirectly and directly - if the security application 330 is installed on the IoT device itself. Deviations from the profile also increase the level of risk, but for a short period of time to prevent false positives.

Фиг. 13 отображает способ создания профиля устройства, а также обучение и использование обученной модели устройства для прогнозирования поведения устройства. На этапе 1310 происходит определение нового IoT-устройства с помощью хаба 310. Способы обнаружения устройства описаны ниже (Фиг. 8). На этапе 1320 происходит сбор данных об устройстве для формирования профиля устройства. Профиль может формироваться как сразу после обнаружения устройства, так и по прошествии времени, так как требуется собрать достаточно данных для определенных полей профиля (например, связанных с сетевой активностью).Fig. 13 depicts a method for creating a device profile, as well as training and using a trained device model to predict device behavior. At step 1310, a new IoT device is detected using the hub 310. Device discovery methods are described below (FIG. 8). At 1320, device data is collected to generate a device profile. The profile can be formed either immediately after the device is discovered, or after a period of time, as it is necessary to collect enough data for certain profile fields (for example, those related to network activity).

Профиль устройства преобразуется в данные, которые могут быть использованы для создания модели машинного обучения.The device profile is converted into data that can be used to create a machine learning model.

Например, выбирают следующие команды, которые были отправлены на устройство (перехваченные пакеты) или с самого устройства,

Figure 00000010
и параметры
Figure 00000011
(от англ. parameter):For example, select the following commands that were sent to the device (captured packets) or from the device itself,
Figure 00000010
and parameters
Figure 00000011
(from English parameter):

Figure 00000012
,
Figure 00000012
,

Figure 00000013
,
Figure 00000013
,

Figure 00000014
,
Figure 00000014
,

Figure 00000015
,
Figure 00000015
,

Figure 00000016
,
Figure 00000016
,

Figure 00000017
.
Figure 00000017
.

На основании выбранных команд и параметров формируют шаблоны поведения, содержащие по одной команде и одному параметру, описывающему упомянутую команду:Based on the selected commands and parameters, behavior templates are formed containing one command and one parameter each describing the said command:

Figure 00000018
,
Figure 00000019
,
Figure 00000020
,
Figure 00000021
,
Figure 00000022
,
Figure 00000018
,
Figure 00000019
,
Figure 00000020
,
Figure 00000021
,
Figure 00000022
,

Figure 00000023
,
Figure 00000024
,
Figure 00000015
,
Figure 00000023
,
Figure 00000024
,
Figure 00000015
,

Figure 00000017
,
Figure 00000014
.
Figure 00000017
,
Figure 00000014
.

Затем на основании сформированных шаблонов дополнительно формируют шаблоны поведения, содержащие по одному параметру и все команды, описываемые упомянутым параметром:Then, based on the generated templates, behavior templates are additionally formed containing one parameter each and all commands described by the mentioned parameter:

Figure 00000025
,
Figure 00000025
,

Figure 00000026
,
Figure 00000026
,

Figure 00000027
,
Figure 00000027
,

Затем на основании сформированных шаблонов дополнительно формируют шаблоны поведения, содержащие по несколько параметров и все команды, одновременно описываемые упомянутыми параметрами:Then, based on the generated templates, behavior templates are additionally formed containing several parameters and all commands simultaneously described by the mentioned parameters:

Figure 00000028
.
Figure 00000028
.

В еще одном варианте реализации параметры профиля поведения преобразуются следующим образом:In yet another implementation, the behavior profile parameters are converted as follows:

• в случае, если параметр профиля поведения может быть выражен в виде числа, - «числовой диапазон»• in case the behavior profile parameter can be expressed as a number, - "numerical range"

например, для параметра, представляющего собой

Figure 00000029
команды connect, тип упомянутого параметра может быть «численное значение от 0x0000 до 0xFFFF»,for example, for a parameter that is
Figure 00000029
connect command, the type of the mentioned parameter can be "a numerical value from 0x0000 to 0xFFFF",

• в случае, если параметр профиля поведения может быть выражен в виде строки, - «строка»• if the behavior profile parameter can be expressed as a string, - "string"

например, для параметра профиля поведения, представляющего собой команду connect, тип упомянутого элемента шаблона поведения может быть «строка размером менее 32 символов»,for example, for a behavior profile parameter that is a connect command, the type of the referenced behavior template element could be "string less than 32 characters"

• в случае, если параметр профиля поведения может быть выражен в виде данных, описываемых заранее заданной структурой данных, тип упомянутого параметра профиля поведения может быть «структура данных»• if the behavior profile parameter can be expressed as data described by a predetermined data structure, the type of the mentioned behavior profile parameter can be "data structure"

Ещё в одном из вариантов реализации дополнительно в профиль поведения в качестве параметров включаются токены, сформированные на основании лексического анализа упомянутых параметров с использованием по меньшей мере:In another embodiment, in addition to the behavior profile, as parameters, tokens are included that are generated based on the lexical analysis of the mentioned parameters using at least:

• заранее заданных правил формирования лексем,• predefined rules for the formation of lexemes,

• заранее обученной рекурсивной нейронной сети (англ. recurrent neural network).• pre-trained recursive neural network (English recurrent neural network).

Например, с помощью лексического анализа параметра For example, using parameter lexical analysis

‘c:\windows\system32\data.pass’ ‘c:\windows\system32\data.pass’

на основании правил формирования лексем:based on the rules for the formation of lexemes:

• если строка содержит путь к файлу, определить диск, на котором расположен файл;• if the string contains a path to a file, determine the disk where the file is located;

• если строка содержит путь к файлу, определить папки, в которых расположен файл;• if the string contains a path to a file, determine the folders where the file is located;

• если строка содержит путь к файлу, определить расширение файла;• if the string contains a path to a file, determine the file extension;

где в качестве лексем выступают:where the tokens are:

• пути к файлам;• paths to files;

• папки, в которых расположены файлы;• folders where files are located;

• имена файлов;• file names;

• расширения файлов;• file extensions;

могут быть сформированы токены:tokens can be generated:

«пути к файлам» →"file paths" →

‘c:\’,'c:\',

«папки, в которых расположены файлы» →"folders where the files are located" →

‘windows’,'windows',

‘system32’,'system32',

‘windows\system32’,'windows\system32',

«расширения файлов» →"file extensions" →

‘.pass’.'.pass'.

Ещё в одном примере с помощью лексического анализа параметровIn another example using parameter lexical analysis

‘181.39.82.8’, ‘181.39.72.38’, ‘181.39.14.213’ ‘181.39.82.8’, ‘181.39.72.38’, ‘181.39.14.213’

на основании правила формирования лексемы:based on the lexeme formation rule:

• если параметры представляют собой IP-адреса, определить битовую маску (или её аналог, выраженный через метасимволы), описывающую упомянутые IP-адреса (т.е. такую битовую маску M, для которой верно равенство

Figure 00000030
для всех упомянутых IP);• if the parameters are IP addresses, define a bitmask (or its equivalent, expressed in terms of metacharacters) describing the mentioned IP addresses (i.e., such a bitmask M that satisfies the equality
Figure 00000030
for all mentioned IPs);

может быть сформирован токен:a token can be generated:

‘181.39.*.*’.‘181.39.*.*’.

Ещё в одном примере из всех доступных параметров, в качестве которых выступают числа, формируют токены чисел в заранее заданных диапазонах:In another example, from all available parameters, which are numbers, tokens of numbers are formed in predefined ranges:

23, 16, 7224, 6125152186, 512, 2662162, 363627632, 737382, 52, 2625, 3732, 812, 3671, 80, 320023, 16, 7224, 6125152186, 512, 2662162, 363627632, 737382, 52, 2625, 3732, 812, 3671, 80, 3200

сортируют по диапазонам чисел:sorted by ranges of numbers:

от 0 до 9990 to 999

→ {16, 23, 52, 80, 512, 812}, → {16, 23, 52, 80, 512, 812},

от 1000 до 9999 from 1000 to 9999

→ {2625, 3200, 3671, 7224}, → {2625, 3200, 3671, 7224},

от 10000 from 10000

→ {737382, 2662162, 363627632, 6125152186}→ {737382, 2662162, 363627632, 6125152186}

Далее на этапе 1325 происходит создание свёртки профиля устройства. Свёртка создаётся одним из нескольких способов:Next, at step 1325, the device profile rollup is created. A convolution is created in one of several ways:

хеширование каждого поля профиля;hashing of each profile field;

хеширование всех полей профиля как единого целого (путем конкатенации);hashing of all profile fields as a whole (by concatenation);

использование гибких или нечётких свёрток (англ. fuzzy hash).use of flexible or fuzzy convolutions (English fuzzy hash).

Свёртка также гарантирует, что для персональных данных, связанных с определенным устройством, не допускается обратного преобразования, а следовательно, и восстановления данных после применения свёртки.Rollup also ensures that personal data associated with a particular device cannot be reverse-transformed and, therefore, data cannot be recovered after rollup has been applied.

В одном из вариантов реализации системы функция свёртки формируется методом метрического обучения (англ. metric learning), т.е. таким образом, чтобы расстояние между свёртками, полученными с помощью упомянутой функции свёртки для шаблонов поведения, имеющих степень схожести больше заранее заданного порогового значения, было меньше заранее заданного порогового значения, а для шаблонов поведения, имеющих степень схожести менее заранее заданного порогового значения, - больше заранее заданного порогового значения.In one of the options for implementing the system, the convolution function is formed by the metric learning method, i.e. so that the distance between convolutions obtained using the mentioned convolution function for behavior patterns having a degree of similarity greater than a predetermined threshold value is less than a predetermined threshold value, and for behavior patterns having a degree of similarity less than a predetermined threshold value, it is greater than a predetermined threshold.

Ещё в одном из вариантов реализации системы формирование функции свёртки от признакового описания шаблона поведения выполняется через автокодировщик (англ. autoencoder), при этом в качестве входных данных выступают параметры упомянутого признакового описания профиля поведения, а в качестве выходных данных - данные, имеющие коэффициент схожести с входными данными выше заранее заданного порогового значения.In another embodiment of the system, the formation of the convolution function from the indicative description of the behavior pattern is performed through an autoencoder, while the input data are the parameters of the indicative description of the behavior profile, and the output data is data having a coefficient of similarity with input data above a predetermined threshold.

Затем на этапе 1330 проверяется, известна ли данная свёртка устройства либо на стороне хаба 310, либо на стороне сервиса безопасности 1010 (например, Kaspersky Security Network). Последний вариант является предпочтительным, так как именно облачные сервисы безопасности имеют гораздо большие вычислительные мощности и обладают наиболее полной базой данных об известных объектах (как легитимных, так и вредоносных).Then, at step 1330, it is checked whether this device rollup is known either on the side of the hub 310 or on the side of the security service 1010 (eg, Kaspersky Security Network). The latter option is preferable, since it is cloud security services that have much greater computing power and have the most complete database of known objects (both legitimate and malicious).

Со свёрткой устройства ставится в соответствие модель устройства в виде обученного алгоритма машинного обучения, например случайный лес, искусственная нейросеть, метод опорных векторов. Модель описывает известное поведение устройства на основании входных параметров, связанных с профилем (например, сетевая активность). Модель позволяет предсказывать поведение устройства во времени, а при расхождении события - определять аномалии. Модель также может быть выбрана исходя из различных параметров, например скорости работы и эффективности.Device convolution is associated with a device model in the form of a trained machine learning algorithm, for example, random forest, artificial neural network, support vector machine. The model describes the known behavior of the device based on the input parameters associated with the profile (for example, network activity). The model allows you to predict the behavior of the device in time, and when the event diverges, to determine anomalies. The model can also be selected based on various parameters such as speed and efficiency.

Например, при выборе метода машинного обучения выносится решение, следует ли использовать в качестве модели обнаружения искусственную нейронную сеть или случайные леса, затем в случае выбора случайного леса выбирается разделяющий критерий для узлов случайного леса, или в случае выбора искусственной нейронной сети выбирается метод численной оптимизации параметров искусственной нейронной сети. При этом решение о выборе того или иного метода машинного обучения принимается на основании эффективности упомянутого метода при обнаружении вредоносных файлов (т.е. количества ошибок первого и второго рода, возникающих при обнаружении вредоносных файлов) с использованием входных данных (шаблонов поведения) заранее заданного вида (т.е. структуры данных, количества элементов шаблонов поведения, производительности вычислительного устройства, на котором выполняется поиск вредоносных файлов, доступных ресурсов вычислительного устройства и т.д.).For example, when choosing a machine learning method, a decision is made whether to use an artificial neural network or random forests as a detection model, then, in the case of choosing a random forest, a separating criterion for nodes of the random forest is chosen, or in the case of choosing an artificial neural network, a method of numerical optimization of parameters is chosen artificial neural network. In this case, the decision to choose one or another machine learning method is made based on the effectiveness of the mentioned method in detecting malicious files (i.e., the number of errors of the first and second kind that occur when malicious files are detected) using input data (behavior patterns) of a predetermined type (i.e., data structure, number of behavior pattern elements, performance of the computing device on which malicious files are searched, available resources of the computing device, etc.).

Ещё в одном примере метод машинного обучения модели обнаружения выбирают на основании по меньшей мере:In yet another example, a discovery model machine learning method is selected based on at least:

• перекрёстной проверки, скользящего контроля, кросс-валидации (англ. cross-validation, CV);• cross-validation, cross-validation, cross-validation (English cross-validation, CV);

• математического обоснования критериев AIC, BIC и т.д.;• mathematical substantiation of criteria AIC, BIC, etc.;

• A/B тестирования (англ. A/B testing, split testing);• A/B testing (English A/B testing, split testing);

• стекинга.• staking.

Ещё в одном примере в случае невысокой производительности вычислительного устройства выбирают случайные леса, в противном случае - искусственную нейронную сеть.In another example, in the case of low performance of the computing device, random forests are chosen, otherwise, an artificial neural network is chosen.

В одном из вариантов реализации системы выполняется машинное обучение заранее созданной необученной модели обнаружения (т.е. модели обнаружения, у которой параметры упомянутой модели не позволяют получить на основании анализа входных данных выходные данные с точностью выше заранее заданного порогового значения).In one implementation of the system, machine learning is performed on a pre-built untrained detection model (i.e., a detection model whose parameters of said model do not allow, based on the analysis of the input data, to obtain output data with an accuracy higher than a predetermined threshold value).

Ещё в одном из вариантов реализации системы в качестве метода машинного обучения модели обнаружения выступает по меньшей мере:In another implementation of the system, at least the following acts as a machine learning method for the detection model:

• градиентный бустинг на деревьях принятия решений (англ. decision-tree-based gradient boosting);• gradient boosting on decision trees (eng. decision-tree-based gradient boosting);

• деревья принятия решений (англ. decision trees);• decision trees;

• метод ближайших соседей kNN (англ. K-nearest neighbor method);• kNN nearest neighbor method (K-nearest neighbor method);

• метод опорных векторов (англ. support vector machine, SVM).• support vector machine (SVM).

Если свёртка известна, то на этапе 1340 на хаб 310 загружается известная модель, которая будет использована для проверки устройства на аномалии. Модели могут храниться как в базе данных, так и в виде отдельных файлов, которые содержат как описание самой модели, так и набор ее параметров (например, весов для нейросети).If the convolution is known, then at step 1340 a known model is loaded onto the hub 310, which will be used to check the device for anomalies. Models can be stored both in a database and as separate files that contain both a description of the model itself and a set of its parameters (for example, weights for a neural network).

В ином случае, на этапе 1350 продолжается сбор данных по устройству (дополняется профиль), которые затем будут использованы на этапе 1360 для построения модели поведения устройства. На этапе 1370 полученная модель вместе с идентифицирующей модель свёрткой устройства загружается в сервис безопасности 1010 и может использоваться в дальнейшем. Otherwise, at block 1350, data collection on the device continues (profile is completed), which will then be used at block 1360 to build a device behavior model. At step 1370, the resulting model, along with the model-identifying device rollup, is loaded into the security service 1010 and can be used further.

Рассмотрим пример. При появлении новых моделей умных вещей (например, умного робота-пылесоса) хаб 310 определит устройство как новое, создаст свёртку и отправит ее на сторону сервиса безопасности 1010, где данные по данному устройству пока отсутствуют. Хаб 310 продолжит собирать данные, создаст модель поведения устройства, куда войдут такие параметры как:Consider an example. When new models of smart things appear (for example, a smart robot vacuum cleaner), the hub 310 will detect the device as new, create a bundle and send it to the side of the security service 1010, where there is no data on this device yet. Hub 310 will continue to collect data, create a device behavior model, which will include parameters such as:

• первые 3 октета IP-адресов, куда отправляется трафик с устройства;• first 3 octets of IP addresses where traffic from the device is sent;

• средний размер пакетов отправляемых данных;• average size of sent data packets;

• частота отправки данных;• frequency of sending data;

• идентификатор серии устройства;• device series identifier;

• время и частота работы (в данном случае - уборка помещений);• time and frequency of work (in this case, cleaning the premises);

• другие данные.• other data.

Используя полученные данные, хаб 310 строит модель поведения данного устройства, которая затем будет загружена на сторону сервиса безопасности 1010.Using the received data, the hub 310 builds a model of the behavior of this device, which will then be uploaded to the side of the security service 1010.

В качестве выходных параметров для модели поведения используется состояние пылесоса - включен и активен (пылесосит комнаты), режим ожидания (пылесос подключен и ожидает команды или времени начала уборки), обновление прошивки, оффлайн (пылесос отключен от сети), коды ошибок.As output parameters for the behavior model, the state of the vacuum cleaner is used - switched on and active (vacuums the rooms), standby mode (the vacuum cleaner is connected and waiting for a command or time to start cleaning), firmware update, offline (the vacuum cleaner is disconnected from the network), error codes.

После обучения модели она может быть использована для определения аномалий при работе робота-пылесоса. Если согласно модели пылесос выполняет уборку в промежутке между 12 и 18 часами, когда в доме отсутствуют хозяева, но при этом он включается в 11 утра и отправляет пакеты данных на новый IP-адрес, то это может сигнализировать о том, что робот-пылесос был взломан (например, используя уязвимость), и выполнение обученной модели выдаст сигнал о том, что поведение пылесоса в настоящий момент отличается от того поведения, которое прогнозируется. Будет отправлен сигнал об аномалии как на хаб 310, так и на сервис безопасности 1010. Once the model has been trained, it can be used to detect anomalies in the operation of the robot cleaner. If, according to the model, the vacuum cleaner performs cleaning between 12 and 18 hours when there are no owners in the house, but at the same time it turns on at 11 am and sends data packets to a new IP address, then this may indicate that the robot vacuum cleaner was is hacked (for example, by exploiting a vulnerability), and running the trained model will signal that the vacuum cleaner's current behavior is different from the predicted behavior. An anomaly signal will be sent to both hub 310 and security service 1010.

Обученная модель может быть использована на похожих устройствах в будущем, т.е. может быть использована с помощью других хабов 310 в других сетях. Для этого обученная модель должна учитывать ряд параметров, которые могут зависеть от местоположения как IoT-устройства, так и хаба. Такими параметрами могут быть:The trained model can be used on similar devices in the future, i.e. can be used with other hubs 310 on other networks. To do this, the trained model must take into account a number of parameters that may depend on the location of both the IoT device and the hub. These options can be:

• IP-адреса сервисов, куда отправляются сетевые пакеты с IoT-устройства. Для разных регионов могут использоваться региональные серверы.• IP addresses of services where network packets are sent from the IoT device. Regional servers can be used for different regions.

• Временные метки. IoT-устройства работают в разных часовых поясах, что требуется учитывать при обучении модели. Например, может использоваться локальное время на хабе 310.• Timestamps. IoT devices operate in different time zones, which must be taken into account when training the model. For example, local time on hub 310 may be used.

• Геотеги.• Geotags.

Другой вариант обучения модели подразумевает игнорирование параметров, которые могут зависеть от регионального местоположения, но это возможно только в том случае, если подобные параметры (например, геотеги) не вносят существенного вклада (веса) при обучении модели. Another option for training the model involves ignoring parameters that may depend on the regional location, but this is only possible if such parameters (for example, geotags) do not make a significant contribution (weight) to the training of the model.

Если модель уже была создана ранее, то на этапе 1340 загружается уже готовая модель поведения устройства. После этого на этапе 1345 реализуется дополнительный этап в виде отслеживания работы модели, когда происходит сбор обратной связи (например, от пользователя) об ошибках работы модели. В случае робота-пылесоса это могут быть ошибочные срабатывания модели в том случае, когда устройство пытается загрузить обновления прошивки с новых региональных серверов, что приведет к тому, что модель выдаст аномальное поведение устройства. Пользователь может обратить на это внимание и либо отключить использование настоящей модели через интерфейс хаба 310, либо добавить IP-адреса региональных серверов в исключение. If the model has already been created earlier, then at step 1340, a ready-made device behavior model is loaded. After that, at step 1345, an additional step is implemented in the form of monitoring the performance of the model, when feedback is collected (for example, from the user) about errors in the operation of the model. In the case of a robot cleaner, this could be model false positives when the device tries to download firmware updates from new regional servers, which will cause the model to report anomalous device behavior. The user can take note of this and either disable the use of this model via the hub 310 interface, or add the IP addresses of the regional servers to the exception.

Обратная связь может быть реализована и автоматически. Например, в вышеприведенном случае IP-адреса новых региональных серверов могут быть проверены сервисом безопасности 1010 с помощью известных антивирусных технологий (например, проверка указанных адресов по базе данных IP-адресов, проверка цифровой подписи и другие проверки). Если окажется, что указанные IP-адреса являются доверенными, то модель поведения может быть переобучена с учетом новых параметров (данный этап не отображен).Feedback can also be implemented automatically. For example, in the above case, the IP addresses of the new regional servers can be checked by the security service 1010 using well-known antivirus technologies (eg, checking the specified addresses against a database of IP addresses, digital signature verification, and other checks). If it turns out that the specified IP addresses are trusted, then the behavior model can be retrained taking into account the new parameters (this stage is not shown).

Восстановление IoT-устройства из резервной копииRestoring an IoT device from a backup

Хаб 310 имеет возможность восстановления ряда IoT-устройств. Такие возможности включают:Hub 310 has the ability to restore a number of IoT devices. Such possibilities include:

• сброс настроек IoT-устройства до настроек по умолчанию (заводских);• Resetting the IoT device settings to the default (factory) settings;

• восстановление настроек IoT-устройства из резервной копии.• restoring IoT device settings from a backup.

Восстановление из резервной копии может быть выполнено через приложение 140, в котором сохранен профиль IoT-устройства 110, или с помощью сохранения настроек в файле прямо на хабе 310. Например, для Philips Hue все настройки хранятся в JSON-файле, который может быть импортирован на IoT-устройство с хаба 310. Restoring from a backup can be done through the application 140, which saved the profile of the IoT device 110, or by saving the settings in a file directly on the hub 310. For example, for Philips Hue, all settings are stored in a JSON file that can be imported to IoT device from hub 310.

В одном из вариантов реализации хаб 310 привязывает резервную копию IoT-устройства 110 к его идентификатору. В еще одном варианте реализации хаб 310 привязывает резервную копию к профилю устройства.In one embodiment, the hub 310 associates the backup copy of the IoT device 110 with its identifier. In yet another implementation, the hub 310 binds the backup to a device profile.

В одном из вариантов реализации хаб 310 сохраняет резервную копию IoT-устройства 110 на сервисе безопасности 1010 и использует ее в случае восстановления. In one implementation, the hub 310 stores a backup of the IoT device 110 on the security service 1010 and uses it in the event of a restore.

В одном из вариантов реализации хаб 310 сохраняет резервную копию прошивки IoT-устройства. При этом в случае восстановления (например, устройство перешло в режим аварийного загрузчика) хаб 310 также восстанавливает прошивку устройства, например известными командами, указанными в профиле устройства. In one implementation, the hub 310 stores a backup copy of the firmware of the IoT device. In this case, in case of recovery (for example, the device has switched to the emergency boot mode), the hub 310 also restores the device firmware, for example, using known commands specified in the device profile.

В одном из вариантов реализации в случае, если IoT-устройство сбоит (например, самопроизвольно перезагружается) чаще, чем на основании статистики или профиля устройства, хаб 310 принудительно создает резервную копию и высылает нотификацию пользователю, например посредством приложения 140. Перезагрузка может быть выявлена хабом 310, например, путем запроса к устройству, возвращающего текущее время работы (англ. uptime).In one implementation, in the event that an IoT device fails (e.g., spontaneously reboots) more often than based on statistics or device profile, hub 310 forces a backup and sends a notification to the user, for example, through application 140. A reboot can be detected by the hub 310, for example, by querying the device to return the current uptime.

Обнаружение похожих устройствSimilar Device Detection

Профиль устройства дополнительно используется для обнаружения похожих (например, cхожих по функционалу, по уровню безопасности/опасности) устройств с помощью хаба 310. Например, при выходе новой модели устройства многие параметры его работы остаются похожими (или полностью совпадающими) с параметрами старой модели. Такими параметрами являются:The device profile is additionally used to detect similar (for example, similar in functionality, security/danger) devices using the hub 310. For example, when a new device model is released, many of its operation parameters remain similar (or completely identical) to the parameters of the old model. These options are:

• идентификатор производителя;• manufacturer identifier;

• характеристики устройства, например новая версия умной лампочки также будет иметь параметры, идентичные старой модели (яркость, цветовая температура и другие параметры);• device characteristics, for example, a new version of a smart light bulb will also have parameters identical to the old model (brightness, color temperature and other parameters);

• используемый протокол обмена данными между устройством и облачным сервисом 130 и приложениями 140, частота сетевой активности и многие другие параметры, связанные с сетевым трафиком.• the communication protocol used between the device and the cloud service 130 and applications 140, the frequency of network activity, and many other parameters related to network traffic.

В одном из вариантов реализации при определении неизвестного устройства хаб 310 считывает идентификатор производителя и отправляет запрос в сервис безопасности 1010 на поиск похожих профилей устройств от данного производителя. Получив необходимые профили, хаб 310 строит профиль неизвестного устройства и сравнивает либо сам профиль, либо свёртку профиля с загруженными данными. В том случае, если определена похожесть профиля неизвестного устройства с профилем уже известного, хаб 310 считает неизвестное устройство таким же устройством, профиль которого был загружен с сервиса безопасности 1010. К данному устройству могут быть применены все политики настройки устройства.In one implementation, when determining an unknown device, the hub 310 reads the vendor ID and sends a request to the security service 1010 to look for similar device profiles from that vendor. Having received the necessary profiles, the hub 310 builds a profile of an unknown device and compares either the profile itself or the profile collapse with the downloaded data. In the event that the profile of an unknown device is determined to be similar to a profile of an already known one, the hub 310 considers the unknown device to be the same device whose profile was downloaded from the security service 1010. All device configuration policies can be applied to this device.

В одном из вариантов реализации хаб 310 вычисляет цифровой отпечаток IoT-устройства 110. In one implementation, the hub 310 computes the fingerprint of the IoT device 110.

В общем случае отпечаток содержит информацию о характеристиках устройства 110. Характеристиками устройства 110 являются:In general, the fingerprint contains information about the characteristics of the device 110. The characteristics of the device 110 are:

• идентификатор устройства 110;device ID 110;

• идентификатор операционной системы, под управлением которой работает устройство 110;• identifier of the operating system running the device 110;

• местоположение (геолокация или положение внутри сети) устройства 110;• location (geolocation or position within a network) of device 110;

• региональные характеристики прошивки устройства 110 (например, континент/страна/город);• regional characteristics of the device firmware 110 (eg, continent/country/city);

• программные способы аутентификации, имеющиеся на устройстве 110 (например, пароль, пин-код, рисунок для разблокировки экрана);• software authentication methods available on device 110 (eg, password, pin code, screen unlock pattern);

• наличие доступных каналов связи на устройстве 110 (имеет ли доступ по беспроводным интерфейсам передачи данных, например Wi-Fi, включена ли на устройстве передача данных посредством мобильных сетей и скольких мобильных сетей, включена ли передача данных по беспроводным интерфейсам);• the presence of available communication channels on the device 110 (does it have access via wireless data transfer interfaces, such as Wi-Fi, is data transfer enabled on the device via mobile networks and how many mobile networks, is data transfer enabled via wireless interfaces);

• прочие.• others.

Данные, собранные хабом 310 об устройстве 110, передаются сервису безопаcности 1010. The data collected by the hub 310 about the device 110 is transmitted to the security service 1010.

В общем случае сервис безопасности 1010 вычисляет вектор ключевых характеристик по отпечатку устройства 110 на основании данных, полученных от хаба 310.In general, the security service 1010 calculates a vector of key features from the fingerprint of the device 110 based on the data received from the hub 310.

В общем случае сервис безопасности 1010 выделяет ключевые характеристики, при этом ключевыми характеристиками являются характеристики, которые влияют на идентификацию устройства 110. В общем случае ключевые характеристики выделяются статистически в процессе работы системы. Например, характеристика «производитель LG» может являться ключевой характеристикой, так как влияет на идентификацию устройства 110.In general, the security service 1010 extracts key characteristics, where the key characteristics are characteristics that influence the identification of the device 110. In general, the key characteristics are extracted statistically during system operation. For example, the characteristic "manufacturer LG" may be a key characteristic, as it affects the identification of the device 110.

В одном из вариантов реализации сервис безопасности 1010 создает кластеры (выполняет кластеризацию) устройств 110 на основании по меньшей мере одной ключевой характеристики устройства 110, выделенной из отпечатка устройства 110. Упомянутая кластеризация в общем случае является обучением системы. В одном из вариантов реализации кластеризация выполняется на основании нескольких выделенных упомянутых ключевых характеристик устройства 110, которые в свою очередь являются вектором ключевых характеристик устройства 110. Таким образом, вектор ключевых характеристик содержит по крайней мере часть выделенных ключевых характеристик устройства. В результате для каждого хаба 310 сервис безопасности 1010 формирует набор кластеров, в которые входят ранее известные устройства 110 хаба 310. In one implementation, the security service 1010 creates clusters (performs clustering) of devices 110 based on at least one key characteristic of device 110 extracted from the fingerprint of device 110. Said clustering is generally system learning. In one embodiment, clustering is performed based on a few of the identified device key characteristics 110, which are in turn a vector of device key characteristics 110. Thus, the key characteristic vector contains at least a portion of the extracted device key characteristics. As a result, for each hub 310, the security service 1010 forms a set of clusters, which include previously known devices 110 of the hub 310.

Далее, сервис безопасности 1010, используя одну или несколько известных из уровня техники функций расстояния между векторами, вычисляет расстояние между вектором ключевых характеристик устройства 110, и вектором ключевых характеристик по меньшей мере одного устройства, известного сервису безопасности 1010, которое входит в состав вышеупомянутых созданных кластеров. Устройство 110 считается новым (неизвестным хабу 310), если вычисленное расстояние превышает пороговое значение. В целом для нового устройства 110 могут применяться базовые политики безопасности.Next, the security service 1010, using one or more of the vector distance functions known in the art, calculates the distance between the key feature vector of the device 110 and the key feature vector of at least one device known to the security service 1010 that is part of the aforementioned created clusters. . Device 110 is considered new (unknown to hub 310) if the calculated distance exceeds a threshold value. In general, basic security policies may apply for the new device 110.

Профиль сети Network profile

Помимо построения профилей IoT-устройств, хаб 310 также строит профиль всей сети.In addition to building profiles of IoT devices, hub 310 also builds a profile of the entire network.

Одним из вариантов сбора данных об IoT-устройствах в сети является пассивное прослушивание трафика. Например, для всех беспроводных протоколов хаб 310 может собирать пакеты данных и на основании анализа определять даже те IoT-устройства, которые не подключены к хабу 310 напрямую. Как говорилось ранее, подобными устройствами могут быть различные датчики (например, датчики освещенности или температуры), которые подключены к другому IoT-устройству. One option for collecting data about IoT devices on the network is to passively listen for traffic. For example, for all wireless protocols, hub 310 can collect data packets and, based on the analysis, even identify IoT devices that are not directly connected to hub 310. As mentioned earlier, such devices can be various sensors (for example, light or temperature sensors) that are connected to another IoT device.

Сбор трафика с помощью хаба 310 может быть реализован следующим образом (Фиг. 8). После включения хаба 310 на этапе 810, он включает все возможные протоколы передачи данных и на этапе 820 определяет все устройства, которые работают поблизости, на основании пассивного прослушивания трафика. Затем на этапе 830 все устройства отключаются (это можно сделать автоматически через отправку соответствующих команд, если хаб 310 имеет информацию о протоколах работы настоящих IoT-устройств), после чего они начинают включаться по очереди на этапе 840. Это делается специально для того, чтобы подтвердить аутентификацию всех IoT-устройств. Например, для устройств, поддерживающих IEEE 802.1X, это делается через EAPOL протокол. На этапе 850 строится полная карта из всех определенных IoT-устройств.The collection of traffic using the hub 310 can be implemented as follows (Fig. 8). After enabling the hub 310 at step 810, it turns on all possible data transfer protocols and at step 820 determines all devices that operate nearby based on passive listening for traffic. Then, at step 830, all devices are turned off (this can be done automatically by sending appropriate commands if the hub 310 has information about the protocols of the real IoT devices), after which they start turning on in turn at step 840. This is done specifically to confirm authentication of all IoT devices. For example, for devices that support IEEE 802.1X, this is done via the EAPOL protocol. At block 850, a complete map is built from all identified IoT devices.

На основании собранных данных можно построить как плоскую модель сети из всех обнаруженных IoT-устройств, так и иерархическую (проиллюстрировано на Фиг. 7). Последняя строится на основании известных данных об подчинении (иерархическом подключении) одних IoT-устройств другим IoT-устройствам. Например, если ряд умных лампочек и датчиков освещенности подключен по проприетарному протоколу (который не поддерживается хабом 310) к умному выключателю, который подключен уже к самому хабу 310, то можно использовать специальное правило, которое объединяет данные устройства в отдельный домен, относя затем этот домен как отдельный объект к домену функциональности в классе освещения. В другом варианте реализации хаб 310 объединяет несколько подобных устройств в одно логическое (виртуальное) устройство для упрощения контроля и проверки.Based on the collected data, it is possible to build both a flat network model of all detected IoT devices and a hierarchical one (illustrated in Fig. 7). The latter is built on the basis of known data about the subordination (hierarchical connection) of some IoT devices to other IoT devices. For example, if a number of smart bulbs and light sensors are connected via a proprietary protocol (which is not supported by the hub 310) to a smart switch that is already connected to the hub 310 itself, then you can use a special rule that combines these devices into a separate domain, then referring this domain as a separate object to the functionality domain in the lighting class. In another implementation, the hub 310 combines several of these devices into one logical (virtual) device for ease of monitoring and verification.

Фиг. 14а-в отображают построение профиля сети из IoT-устройств с помощью хаба 310 в течение промежутка времени. На Фиг. 14а отображено первичное подключение хаба 310 в сеть, во время которого он обнаруживает два IoT-устройства 110, например робот-пылесос и реостат. По прошествии некоторого времени (Фиг. 14б), к сети подключается мобильное устройство пользователя 150, а также обнаруживается IoT-устройство 110, которое является агрегатором других IoT-устройств 110. Подобными агрегаторами являются устройства типа HomeBridge или MajorDomo. Пунктирная стрелка отражает тот факт, что мобильное устройство 150 как появляется (подключается) в сети, так и исчезает, что связано с тем, что сам пользователь вместе со смартфоном 150 может покидать дом. Фиг. 14в отображает состояние сети спустя некоторый промежуток времени, когда одно из устройств было отключено от сети. Это может быть связано с рядом причин - устройство исчерпало свой ресурс, было перемещено, у него была обновлена прошивка (из-за чего оно теперь может обнаруживаться в сети как новое устройство).Fig. 14a-c show the construction of a network profile of IoT devices using hub 310 over a period of time. On FIG. 14a shows the initial connection of the hub 310 to the network, during which it detects two IoT devices 110, for example, a robot vacuum cleaner and a rheostat. After some time (Fig. 14b), the user's mobile device 150 connects to the network, and an IoT device 110 is detected, which is an aggregator of other IoT devices 110. Such aggregators are devices such as HomeBridge or MajorDomo. The dotted arrow reflects the fact that the mobile device 150 both appears (connects) to the network and disappears, which is due to the fact that the user himself, along with the smartphone 150, can leave the house. Fig. 14c displays the state of the network after a certain period of time, when one of the devices was disconnected from the network. This may be due to a number of reasons - the device has exhausted its resource, was moved, it had a firmware update (due to which it can now be detected on the network as a new device).

Профиль сети включает по меньшей мере:The network profile includes at least:

• как минимум одно устройство, его характеристику, свертку профиля устройства;• at least one device, its characteristics, device profile collapse;

• время жизни устройства в сети, частоту его появления;• lifetime of the device in the network, the frequency of its appearance;

• связи устройства с другими устройствами, при этом связь определяется на основании перехваченного трафика между устройствами (если применимо);• communications of the device with other devices, whereby the relationship is determined based on the intercepted traffic between the devices (if applicable);

• время появления устройства в сети;• time when the device appeared in the network;

• время работы устройства (время нахождения в сети).• operating time of the device (time spent in the network).

Информация о профиле сети сохраняется в одном из форматов данных, которые позволяют описывать объекты, например XML или JSON.Network profile information is stored in one of the data formats that allow you to describe objects, such as XML or JSON.

Формат записи об объекте имеет примерный вид:The format of the record about the object has an approximate form:

Figure 00000031
Figure 00000031

Фиг. 15 отражает способ построения профиля сети. На этапе 1510 происходит сбор данных с помощью хаба 310 об определенных (обнаруженных) устройствах. Затем на этапе 1520 хаб 310 создает профиль сети из определенных устройств, после чего на этапе 1530 продолжает собирать информацию об устройствах - о подключении новых, исчезновении старых, обновлении программной части известных устройств и т.д. На этапе 1540 профиль сети обновляется после каждого сбора информации на этапе 1530, т.е. этапы 1530-1540 повторяются постоянно по истечении заданного промежутка времени. Кроме того, на этапе 1530 информация об устройствах может обновляться не только периодично, но и на основании событий, например при внеплановом обновлении самого устройства (прошивки).Fig. 15 reflects how the network profile is constructed. At step 1510, data is collected by the hub 310 about certain (discovered) devices. Then, at step 1520, the hub 310 creates a network profile from certain devices, after which, at step 1530, it continues to collect information about devices - about connecting new ones, disappearing old ones, updating the software part of known devices, etc. In step 1540, the network profile is updated after each collection of information in step 1530, i. e. steps 1530-1540 are repeated continuously after a predetermined amount of time has elapsed. In addition, at step 1530, information about devices can be updated not only periodically, but also based on events, for example, during an unscheduled update of the device itself (firmware).

Полученный профиль сети хаб 310 загружает на сервис безопасности, при необходимости постоянно присылая обновления для данного профиля. В одном из вариантов реализации сам профиль хранится в виде файла XML или JSON, а все обновления хранятся отдельно в виде небольших файлов, которые описывают все изменения (англ. diff) для следующей версии файла. В другом варианте реализации профиль сети хранится в виде одного файла, а старые версии хранятся в резервном хранилище. The resulting network profile hub 310 uploads to the security service, if necessary, constantly sending updates for this profile. In one implementation, the profile itself is stored as an XML or JSON file, and all updates are stored separately as small files that describe all changes (English diff) for the next version of the file. In another implementation, the network profile is stored as a single file, and older versions are stored in backup storage.

Профили сети из различных источников позволяют вести статистику распространенности тех или иных устройств, делать статистические исследования по популярности производителей, оценивать уровень безопасности каждой сети в отдельности, а также по сравнению с другими сетями IoT-устройств. Network profiles from various sources allow you to keep statistics on the prevalence of certain devices, do statistical research on the popularity of manufacturers, assess the security level of each network individually, and also in comparison with other networks of IoT devices.

Одним из преимуществ использования такой информации является прогнозирование появления новых устройств в сети при подключении новых хабов в будущем. One of the advantages of using such information is to predict the appearance of new devices on the network when new hubs are connected in the future.

Например, исходя из статистики по всем доступным профилям сети, известно, что в 20% процентах всех сетей имеется хотя бы один робот-пылесос, который был подключен к хабу в течении первой недели. Кроме того, с вероятностью 40% в течении месяца к хабу подключается агрегатор для умных лампочек. Используя данную информацию, можно прогнозировать появление новых IoT-устройств в каждой сети по мере времени её жизни. Это позволяет:For example, based on statistics for all available network profiles, it is known that 20% percent of all networks have at least one robot vacuum cleaner that was connected to the hub during the first week. In addition, with a probability of 40% within a month, an aggregator for smart light bulbs is connected to the hub. Using this information, it is possible to predict the emergence of new IoT devices in each network as it lives. This allows:

• заранее загружать политики настройки устройств, которые еще не появились, но с большой вероятностью появятся в ближайшее время; • preload device configuration policies that have not yet appeared, but are likely to appear in the near future;

• заранее загружать анализаторы трафика для устройств, которые еще не появились, но с большой вероятностью появятся в ближайшее время;• pre-load traffic analyzers for devices that have not yet appeared, but are likely to appear in the near future;

• дополнительно загружать новые прошивки для устройств;• additionally download new firmware for devices;

• предлагать пользователю использовать те устройства, которые имеют больший класс информационной защиты;• offer the user to use those devices that have a higher class of information protection;

• предлагать пользователю те устройства, которые удовлетворяют заданному им уровню безопасности.• offer the user those devices that satisfy the level of security specified by him.

Профили сети можно сравнивать между собой - сравнение можно производить как через выделение изменений в файлах (англ. diff), так и используя сравнения свёрток профилей сети, а также используя сравнение энтропии данных, описывающих профили.Network profiles can be compared with each other - comparison can be made both by highlighting changes in files (eng. diff), and using comparisons of network profile convolutions, as well as using a comparison of the entropy of data describing profiles.

Свёртка профиля сети создаётся одним из нескольких способов:A network profile rollup is created in one of several ways:

• хеширование каждого поля профиля;• hashing of each profile field;

• хеширование всех полей профиля как единого целого (путем конкатенации);• hashing of all profile fields as a whole (by concatenation);

• использование гибких или нечётких свёрток (англ. fuzzy hash).• use of flexible or fuzzy convolutions (English fuzzy hash).

Используя методы кластеризации дополнительно строится один (или несколько - если центроидов кластеров будет выделено больше одного) усредненный профиль сети, который является центром кластера (центроид). Усредненный профиль сети включает наиболее популярные (часто встречающиеся) IoT-устройства. В еще одном варианте реализации усредненный профиль включает устройства, для которых максимально время использования, помноженное на количество устройств. В таком случае в профиль попадают устройства, которые не так часто встречаются, но работают дольше.Using clustering methods, one (or several - if more than one cluster centroids are allocated) is additionally constructed averaged network profile, which is the center of the cluster (centroid). The average network profile includes the most popular (frequently encountered) IoT devices. In yet another implementation, the average profile includes devices for which the maximum usage time multiplied by the number of devices. In this case, the profile includes devices that are not so common, but work longer.

Сравнение профиля сети с усредненным профилем дополнительно позволяет оценить, какой сеть станет через некоторый промежуток времени (например, через полгода). Например, при первом включении хаба 310 он определил только один робот-пылесос в качестве IoT-устройства, но загрузив информацию об усредненном профиле сети с сервиса безопасности 1010 и сравнив эти два профиля, хаб 310 загружает политики настройки устройств, которые еще не появились, но с большой вероятностью появятся в ближайшее время (например, это будут умные лампочки и метеостанция, умный холодильник, игровая приставка, телевизор и холодильник), анализаторы трафика для новых устройств (если необходимо), обновление прошивок.Comparison of the network profile with the average profile additionally allows us to estimate what the network will become after a certain period of time (for example, after six months). For example, when hub 310 is turned on for the first time, it identified only one robot vacuum cleaner as an IoT device, but by downloading information about the average network profile from security service 1010 and comparing these two profiles, hub 310 loads device configuration policies that have not yet appeared, but are likely to appear in the near future (for example, these will be smart bulbs and a weather station, smart refrigerator, game console, TV and refrigerator), traffic analyzers for new devices (if necessary), firmware updates.

Настройка устройства в зависимости от типа сетиConfiguring the machine according to the type of network

Построение профиля сети также позволяет определить, какие устройства взаимодействуют с хабом 310 и понять, какой это тип сети (устройств). Примеры типов сетей приведены ниже.Building a network profile also allows you to determine which devices interact with the hub 310 and understand what type of network (devices) it is. Examples of network types are shown below.

• Домашний (домашняя сеть). Преобладают устройства, которые предназначены для использования в домах, а именно - освещение, клининг, фильтрация воздуха, носимые устройства.• Home (home network). Devices that are designed for use in homes predominate, namely lighting, cleaning, air filtration, wearable devices.

• Общественный. Устройства используются в общественных местах, такие как парки, скверы и другие зоны, которые посещают большое количество человек.• Public. The devices are used in public places such as parks, squares and other areas that are visited by a large number of people.

• Индустриальный. Преобладают различные датчики и промышленные контроллеры, имеющие высокие требования к безопасности.• Industrial. Various sensors and industrial controllers with high safety requirements prevail.

• Транспорт. В качестве датчиков выступают блоки управления машины (англ. ECU).• Transport. Machine control units (eng. ECU) act as sensors.

• Медицинский. IoT-устройствами являются различные датчики жизнеобеспечения пациентов, также имеющие очень высокие требования к безопасности.• Medical. IoT devices are various life support sensors for patients, which also have very high security requirements.

Определение типа сети реализуется на основании данных об устройствах сети. Сетью является набор связанных в рамках одной сетевой инфраструктуры устройств, которые контролируются одним или несколькими хабами 310. Сетевая инфраструктура включает одну или несколько сетей (включая подсети).The definition of the network type is implemented based on data about network devices. A network is a set of connected devices within the same network infrastructure that are controlled by one or more hubs 310. The network infrastructure includes one or more networks (including subnets).

Например, хаб 310 определил следующие IoT-устройства:For example, hub 310 has identified the following IoT devices:

• умный пылесос Xiaomi Roborock Vaccum Cleaner,• smart vacuum cleaner Xiaomi Roborock Vaccum Cleaner,

• ряд лампочек Philips Hue,• a range of Philips Hue bulbs,

• хаб LightwaveRF.• LightwaveRF hub.

Тогда такая сеть является домашней (домашний тип).Then such a network is home (home type).

Для индустриальной сети хаб 310 определил следующие IoT-устройства:Hub 310 has defined the following IoT devices for the industrial network:

• преобразователи давления Danfoss 060G1100,• Danfoss 060G1100 pressure transducers,

• термостатические клапаны Danfoss AVTA 25 003N0032,• thermostatic valves Danfoss AVTA 25 003N0032,

• температурные сенсоры MBT 400 084N1025.• temperature sensors MBT 400 084N1025.

Для медицинской сети хаб 310 определил следующие IoT-устройства:Hub 310 has defined the following IoT devices for the medical network:

• температурный сенсор MAX30205,• temperature sensor MAX30205,

• оксигемометр MAX30101.• oximeter MAX30101.

Для каждого IoT-устройства используется дополнительная характеристика, которая определяет, в сетях какого типа используются данные IoT-устройства. Данные характеристики могут быть загружены с сервиса безопасности 1010 при запросе с хаба 310. В одном из вариантов реализации характеристика использования в сетях определяется на основании популярности использования IoT-устройства в определенных сетях.For each IoT device, an additional characteristic is used that determines what type of networks the IoT device data is used in. These characteristics can be downloaded from the security service 1010 when requested from the hub 310. In one implementation, the network usage characteristic is determined based on the popularity of using the IoT device on certain networks.

Например, если известно, что определенный сенсор используется в 94% случаев в домашних сетях, в 5% случаев используется в общественных сетях и лишь в 1% случаев используется в индустриальных сетях, то такой сенсор будет определен как используемый в домашних сетях.For example, if a particular sensor is known to be used 94% of the time on home networks, 5% of the time on public networks, and only 1% of the time on industrial networks, then that sensor would be identified as being used on home networks.

В еще одном варианте реализации тип сети определяется на основании используемых настроек (политик) безопасности. Например, пользователь, который заботиться об информационной безопасности, может использовать датчики промышленного типа и настраивать сеть таким образом, что такая сеть уже считается не домашней, а индустриальной, и работа с ней ведется на основании соответствующих алгоритмов (например, требования к криптостойкости алгоритмов совершенно другие).In yet another implementation, the network type is determined based on the security settings (policies) used. For example, a user who cares about information security can use industrial-type sensors and configure the network in such a way that such a network is no longer considered a home network, but an industrial one, and work with it is carried out on the basis of appropriate algorithms (for example, the requirements for cryptographic strength of algorithms are completely different ).

Большая часть сетей на практике является сетями смешанного типа - в одной и той же сети встречаются IoT-устройства, которые встречаются как в типичных домашних сетях, так и в индустриальных, медицинских или общественных. Это связано с различными аспектами: доступностью устройств на рынке, их стоимостью, функционалом и другими характеристиками. Most networks in practice are mixed networks - in the same network there are IoT devices that are found both in typical home networks and in industrial, medical or public networks. This is due to various aspects: the availability of devices on the market, their cost, functionality and other characteristics.

В одном из вариантов реализации пользователь (администратор) задаёт окончательный тип сети через веб-интерфейс хаба 310.In one implementation, the user (administrator) sets the final network type through the web interface of the hub 310.

В другом варианте реализации тип сети определяется с помощью правил. Примерами правил могут быть:In another implementation, the network type is determined using rules. Examples of rules might be:

ЕСЛИIF

(Количество IoT-устройств, используемых в индустриальных сетях) > 5(Number of IoT devices used in industrial networks) > 5

ИЛИOR

(Процент IoT-устройств, используемых в индустриальных сетях) > 15%(Percentage of IoT devices used in industrial networks) > 15%

ТОTHEN

Сеть - индустриальная Network - industrial

В зависимости от типа сети хаб 310 применяет различные политики для IoT-устройств при их настройке и управлении. Для таких типов сетей, как индустриальная или транспортная, требуется более строгое соблюдение стандартов информационной безопасности. Например, для умного замка, который обычно устанавливается в сети с типом домашняя, при установке в сеть, которая была определена как индустриальная, потребуется:Depending on the type of network, hub 310 enforces different policies for IoT devices when they are configured and managed. For such types of networks as industrial or transport, more strict adherence to information security standards is required. For example, for a smart lock, which is usually installed on a network with a type of home, when installed on a network that has been defined as industrial, you will need:

• использовать ключ шифрования длиной не менее 512 бит;• use an encryption key with a length of at least 512 bits;

• использовать более криптостойкий алгоритм шифрования чем AES;• use a stronger encryption algorithm than AES;

• блокировать с помощью хаба 310 отправку любого трафика на все сервера, которые не входят в список разрешенных (англ. whitelist).• using hub 310 to block sending any traffic to all servers that are not on the whitelist.

Для умных выключателей в таком случае также потребуется проводить контроль трафика с помощью хаба 310 при их установке в индустриальную сеть, чтобы избежать replay-атак. Кроме того, хаб 310 ведет список разрешенных устройств, откуда могут отправляться команды на умные выключатели.For smart switches, in this case, it will also be necessary to carry out traffic control using the 310 hub when they are installed in an industrial network in order to avoid replay attacks. In addition, hub 310 maintains a list of allowed devices from which commands can be sent to smart switches.

В одном из вариантов реализации хаб 310 может устанавливать смешанный тип сети. То есть применять правила для двух и более вышеописанных типов сетей. В случае, если правила переопределяют друг друга, хаб 310 выбирает правило, безопасность которого выше.In one embodiment, the hub 310 may set up a mixed network type. That is, apply the rules for two or more of the above types of networks. In case the rules override each other, the hub 310 selects the rule that is more secure.

Фиг. 16 показывает настройку устройств в зависимости от типа сети. На этапе 1610 собирают данные об устройствах с помощью хаба, при этом устройства подключены к хабу. На этапе 1620 определяют тип сети с помощью сервиса безопасности, куда отправляют информацию об определенных устройствах. В других вариантах реализации определение происходит на стороне хаба 310. На этапе 1630 определяют политики для настройки устройств в зависимости от определенной сети. На этапе 1640 применяют политики с помощью хаба 310 для контроля устройств.Fig. 16 shows the setup of devices depending on the type of network. At 1610, device data is collected using the hub, with the devices connected to the hub. At step 1620, the type of network is determined using the security service, where information about certain devices is sent. In other implementations, the determination occurs at the side of the hub 310. At 1630, policies are determined to configure devices depending on the defined network. At 1640, policies are applied with the device control hub 310.

Изменение сетевых пакетов для контроля устройстваChanging network packets for device control

Хаб 310 работает как сетевой экран для контроля сетевых пакетов, которые передаются на IoT-устройство 110 для изменения его параметров.The hub 310 acts as a firewall to control network packets that are sent to the IoT device 110 to change its settings.

Анализируемые параметры:Analyzed parameters:

• тип протокола (например, SMB или HTTPS);• protocol type (for example, SMB or HTTPS);

• сетевой адрес или доменное имя;• network address or domain name;

• номер порта;• port number;

• IPv4/IPv6;• IPv4/IPv6;

• идентификатор устройства от/к которому направлен трафик;• identifier of the device from/to which the traffic is directed;

• указание на приложение, которое осуществляет сетевой обмен.• an indication of the application that performs the network exchange.

На параметры можно накладывать регулярные выражения, что позволяет работать с диапазонами сетевых адресов и/или приложениями и устройствами.Parameters can be overlaid with regular expressions to work with network address ranges and/or applications and devices.

Фиг. 11 иллюстрирует создание и использование правил для IoT-устройств. При первом обнаружении и идентификации IoT-устройства 110 на этапе 1110 хаб 310 делает запрос по его метаданным (например, данным о производителе, идентификаторе, номере серии и т.д.) на сторону облачного сервиса безопасности 1010 (например, Kaspersky Security Network), где содержится информация о поддерживаемых протоколах, и которые будут загружены на этапе 1120 на хаб 310.Fig. 11 illustrates the creation and use of rules for IoT devices. At the first discovery and identification of the IoT device 110 at step 1110, the hub 310 makes a request for its metadata (for example, data about the manufacturer, identifier, serial number, etc.) to the side of the cloud security service 1010 (for example, Kaspersky Security Network), which contains information about the supported protocols, and which will be downloaded at step 1120 to the hub 310.

Например, для лампочки Hue Light Bulb известно, что передача и настройка параметров осуществляется с помощью GET/PUT запросов по HTTP-протоколу. Таким образом, при обнаружении подобного устройства на хаб 310 будет загружен модуль для анализа HTTP-протокола на этапе 1130. Анализ протоколов верхнего уровня соответствует седьмому уровню модели OSI (англ. Application level). Затем для данного модуля будут загружены правила, которые определяют разбор параметров именно для серии данных устройств. For example, for the Hue Light Bulb, it is known that the transfer and configuration of parameters is carried out using GET / PUT requests over the HTTP protocol. Thus, when such a device is detected, a module for analyzing the HTTP protocol will be loaded on the hub 310 at step 1130. The analysis of the upper layer protocols corresponds to the seventh level of the OSI model (English Application level). Then, for this module, rules will be loaded that determine the parsing of parameters specifically for a series of these devices.

После загрузки правил разбора параметров могут быть созданы правила для контроля IoT-устройства (его параметров) на этапе 1140. В одном из вариантов реализации это делает пользователь, который таким образом задает необходимый диапазон параметров IoT-устройства. Однако не все параметры могут поддерживаться в текущей версии протокола или устройства, часть параметров не может быть изменена по соображениям безопасности или в рамках самого дизайна устройств. Таким образом, более предпочтительным вариантом является автоматическая фильтрация параметров.After the parameter parsing rules are loaded, rules can be created to control the IoT device (its parameters) at step 1140. In one implementation, this is done by the user, who thus sets the required range of parameters of the IoT device. However, not all parameters can be supported in the current version of the protocol or device, some of the parameters cannot be changed for security reasons or within the framework of the device design itself. Thus, automatic parameter filtering is the preferred option.

В одном из вариантов реализации все параметры IoT-устройства 110 делятся на изменяемые и неизменяемые, что позволяет либо изменять, либо отбрасывать все сетевые пакеты для изменения неизменяемых параметров. In one implementation, all parameters of the IoT device 110 are divided into mutable and immutable, which allows you to either change or discard all network packets to change the immutable parameters.

Другой вариант реализации описывает диапазоны, в рамках которых могут быть изменены параметры IoT-устройства. Another implementation option describes the ranges within which the parameters of the IoT device can be changed.

Например, для Hue Light Bulb будут разрешены только следующие параметры:For example, Hue Light Bulb will only allow the following options:

On - true / falseOn-true/false

Sat - от 0 до 255Sat - from 0 to 255

Bri - от 0 до 255Bri - from 0 to 255

Hue - от 0 до 10000Hue - from 0 to 10000

PUT запрос для изменения этих параметров в указанных пределах будет корректно передан на IoT-устройство типа Hue Light Bulb.A PUT request to change these parameters within the specified limits will be correctly passed to the Hue Light Bulb IoT device.

Моделирование угрозThreat Modeling

Имея построенный профиль сети и профили устройств, а также возможность прогнозирования появления новых устройств в сети, хаб 310 имеет возможность проводить моделирование угроз и использования возможных уязвимостей в будущем.Having a built network profile and device profiles, as well as the ability to predict the appearance of new devices in the network, the hub 310 has the ability to simulate threats and exploit possible vulnerabilities in the future.

Каждое IoT-устройство можно протестировать на предмет известных атак, например проверка использования паролей по умолчанию (и слабых паролей из таблиц), фаззинг и другие варианты исследования. Так как обычно исследовать подобные IoT-устройства нельзя у самих пользователей, то следует это делать в рамках инфраструктуры компании-поставщика услуг информационной безопасности. Например, можно покупать наиболее популярные модели IoT-устройств (данные об этом могут быть получены из усредненного профиля сети) и исследовать их на уязвимости или возможные атаки.Each IoT device can be tested against known attacks, such as checking for default passwords (and weak passwords from tables), fuzzing, and other research options. Since it is usually impossible to examine such IoT devices from the users themselves, this should be done within the infrastructure of an information security service provider. For example, you can buy the most popular models of IoT devices (data about this can be obtained from the average network profile) and examine them for vulnerabilities or possible attacks.

Для моделирования угроз, а также моделирования возможной сети из IoT-устройств можно использовать такие модели как STRIDE11 (11 https://en.wikipedia.org/wiki/STRIDE_(security) или P.A.S.T.A.12 (12 https://threatmodeler.com/threat-modeling-methodologies-overview-for-your-business/).For threat modeling, as well as modeling a possible network of IoT devices, you can use models such as STRIDE 11 ( 11 https://en.wikipedia.org/wiki/STRIDE_(security) or PASTA 12 ( 12 https://threatmodeler.com /threat-modeling-methodologies-overview-for-your-business/).

Для STRIDE используются следующие методы анализа:For STRIDE, the following analysis methods are used:

• спуфинг (англ. Spoofing) - использование других аутентификационных данных;• spoofing - use of other authentication data;

• фальсификация (англ. Tampering) - фальсификация данных или команд;• falsification (English Tampering) - falsification of data or commands;

• отрицание (англ. Repudiation) - невозможность проверки целостности данных или данных производителя;• denial (eng. Repudiation) - the impossibility of verifying the integrity of the data or manufacturer's data;

• раскрытие данных (англ. Information disclosure) - раскрытие персональных данных;• Information disclosure - disclosure of personal data;

• отказ в обслуживании (англ. Denial of service) - отказ в обслуживании оборудования;• Denial of service - refusal to service equipment;

• повышение привилегий (англ. Elevation of privilege) - повышение прав доступа.• Elevation of privilege - escalation of access rights.

Подобные методы можно использовать по отношению к различным данным, связанным с IoT-устройствами, а именно:Similar methods can be used in relation to various data associated with IoT devices, namely:

• прошивки,• firmware,

• приложение на смартфоне,• application on a smartphone,

• приложение в облачном сервисе,• application in the cloud service,

• сертификаты и ключи шифрования,• certificates and encryption keys,

• журналы,• magazines,

• аутентификационные данные,• authentication data,

• данные, загруженные в памяти,• data loaded into memory,

• трафик.• traffic.

Например, для умных замков каналами для атаки могут выступать: трафик между смартфоном и облачным сервисом 130, трафик между смартфоном и самим замком. Приложение на смартфоне может хранить личную информацию пользователей в незашифрованном виде. Спуфинг облачной платформы 130 может привести к тому, что пользователь не сможет использовать корректно своё приложение на смартфоне для настройки умного замка. Перехват данных, передаваемых между смартфоном и умным замком, а также платформой 130 с дальнейшим спуфингом, может привести к отказу в обслуживании. Кроме того, приложение на смартфоне может иметь уязвимости и другие критические ошибки, которые могут приводить к некорректному взаимодействию с умным замком, а также платформой 130.For example, for smart locks, attack channels can be: traffic between a smartphone and a cloud service 130, traffic between a smartphone and the lock itself. An application on a smartphone may store users' personal information in an unencrypted form. Spoofing the cloud platform 130 may result in the user not being able to correctly use their smartphone app to set up the smart lock. Interception of data transmitted between a smartphone and a smart lock, as well as platform 130 with further spoofing, can lead to a denial of service. In addition, the application on a smartphone may have vulnerabilities and other critical errors that may lead to incorrect interaction with the smart lock, as well as the 130 platform.

Примером атаки на промышленные контроллеры является постоянный флуд командами, содержащими сфальсифицированные данные, например в формате протокола MODBUS. Подобные атаки могут возникать в случае проникновения злоумышленников в сеть и дальнейшей рассылки злоумышленниками упомянутых данных, что зачастую приводит к отказу оборудования. При моделировании угроз хаб 310 сам может посылать подобные пакеты и анализировать состяние IoT-устройств. An example of an attack on industrial controllers is a constant flood of commands containing falsified data, for example, in the MODBUS protocol format. Such attacks can occur when intruders penetrate the network and then send out the mentioned data by intruders, which often leads to equipment failure. When modeling threats, the hub 310 itself can send such packets and analyze the status of IoT devices.

В одном из вариантов реализации хаб 310 также анализирует, из какого сегмента сети приходят данные на IoT-устройство. В еще одном из вариантов реализации хаб 310 анализирует, как долго устройство, с которого отправляются данные на IoT-устройство, находится в сети. Так, например, могут игнорироваться пакеты данных с устройств, которые зарегистрированы в сети менее 10 минут. При моделировании угроз хаб 310 может создавать модели поведения устройств и использовать их при дальнейшем функционировании.In one implementation, the hub 310 also analyzes from which network segment data is coming to the IoT device. In yet another implementation, the hub 310 analyzes how long the device from which data is sent to the IoT device has been online. So, for example, data packets from devices that have been registered on the network for less than 10 minutes can be ignored. When modeling threats, the hub 310 can create models of device behavior and use them for further operation.

Оценка износаWear assessment

Одним из немаловажных факторов работы IoT-устройств для безопасности человеческой жизнедеятельности является оценка износа самих устройств для определения гарантированного срока службы этих устройств в зависимости от условий среды и характеристик самих устройств.One of the important factors in the operation of IoT devices for the safety of human life is the assessment of the wear of the devices themselves to determine the guaranteed service life of these devices, depending on environmental conditions and the characteristics of the devices themselves.

Для каждого IoT-устройства дополнительно собираются и используются следующие данные:For each IoT device, the following data is additionally collected and used:

• Время работы, расписание работы, параметры (в том числе и ожидаемые), информация об ошибках.• Working hours, working schedule, parameters (including expected ones), error information.

• Доступные данные об условиях эксплуатации. Сюда входит информация о температуре окружающей среды (например, воздушной, если датчик работает в воздушной среде), давлении, химического состава среды (например, pH).• Available data on operating conditions. This includes information about the ambient temperature (for example, air, if the sensor works in air), pressure, chemical composition of the medium (for example, pH).

• Известные диапазоны характеристик внешней среды для корректной работы устройств.• Known ranges of environmental characteristics for the correct operation of devices.

• Гарантийный срок службы при работе в указанных диапазонах.• Guaranteed service life when operating within the specified ranges.

• Среднее время работы до отказа (больше гарантированного срока службы).• Mean time to failure (greater than guaranteed service life).

• Данные фактического пребывания устройства функционирующим (наработка на отказ). • Data of the actual stay of the device functioning (time between failures).

• Коэффициент критичности устройства для жизнедеятельности человека.• The coefficient of criticality of the device for human life.

Например, для термостатического клапана AVTA 25 003N0032 указан температурный диапазон работы при от -130 до +25 градусов Цельсия для внешней среды. Подобная информация предоставляется самим поставщиком или может быть получена с помощью методов сбора информации (например, веб-краулинг). For example, for the AVTA 25 003N0032 thermostatic valve, the operating temperature range is from -130 to +25 degrees Celsius for the external environment. Such information is provided by the provider itself or may be obtained through information gathering methods (such as web crawling).

Примером использования коэффициента критичности устройства для жизнедеятельности человека может являть ситуация, в которой промышленное IoT-устройство имеет пониженный коэффициент критичности устройства для жизни человека, а IoT-устройство в умном доме - повышенный.An example of using the criticality factor of a device for human life can be a situation in which an industrial IoT device has a reduced device criticality factor for human life, and an IoT device in a smart home has an increased one.

Информация об условиях эксплуатации может собираться как с датчиков IoT-устройств, так и со сторонних датчиков, которые установлены рядом. Например, температурный датчик, расположенный рядом с водным клапаном, будет сообщать о температуре окружающего воздуха.Information about operating conditions can be collected both from sensors of IoT devices and from third-party sensors that are installed nearby. For example, a temperature sensor located next to a water valve will report the ambient temperature.

Еще один источник информации об оценке износа устройств - это информация о том, как часто меняют сами устройства. Данную информацию можно отследить с помощью хаба 310 в тот момент, когда одно из IoT-устройств заменяют на аналогичное по функциональности, - хаб 310 сохраняет информацию о том, сколько времени прошлое устройство было зарегистрировано в сети. Подобная информация может быть передана на сторону сервиса безопасности 1010, где будет вычислено среднее время работы определенного IoT-устройства. Кроме того, подобную информацию может предоставлять и провайдер (поставщик) самих IoT-устройств.Another source of information on device wear assessment is information on how often the devices themselves are changed. This information can be tracked using the hub 310 at the moment when one of the IoT devices is replaced with a similar one in functionality - the hub 310 stores information about how long the last device was registered on the network. Such information can be passed to the side of the security service 1010, where the average uptime of a certain IoT device will be calculated. In addition, the provider (supplier) of the IoT devices themselves can provide such information.

Еще один вариант получения информации об износе устройств - перехват трафика от IoT-устройства к приложению 140 в облачном сервисе 130, куда отправляется информация об ошибках и неисправностях. При анализе протокола передачи данных можно отслеживать частоту появления ошибок при работе IoT-устройств для оценки степени износа устройства.Another option for obtaining information about the wear and tear of devices is to intercept traffic from the IoT device to the application 140 in the cloud service 130, where information about errors and malfunctions is sent. When analyzing the data transfer protocol, you can track the frequency of occurrence of errors in the operation of IoT devices to assess the degree of wear and tear of the device.

Другой вариант получения информации о вышедшем из строя устройстве - сам пользователь, который отмечает устройство через веб-интерфейс хаба 310 как неисправное. Хаб 310 учитывает данную информацию для подсчёта времени работы этого устройства в сети. Another option for obtaining information about a failed device is the user himself, who marks the device through the web interface of the hub 310 as failed. The hub 310 takes this information into account to calculate the time the device has been online.

Полученная информация также используется для оценки степени износа, которая представляет собой численное значение в заданном диапазоне, где одна граница диапазона соответствует тому, что устройство гарантированно сохранит работоспособность в течение заданного промежутка времени, а другая - тому, что устройство гарантированно выйдет из строя в течение заданного промежутка времени.The obtained information is also used to estimate the degree of wear, which is a numerical value in a given range, where one end of the range corresponds to the fact that the device is guaranteed to remain operational for a given period of time, and the other to the fact that the device is guaranteed to fail during a given period of time. time interval.

Вся вышеперечисленная информация используется для построения модели износа устройства. Модель износа реализуется в виде обученного алгоритма машинного обучения, например случайного леса, искусственной нейросети, метода опорных векторов, совокупности правил определения степени износа. Обученная модель в дальнейшем используется для:All of the above information is used to build a device wear model. The wear model is implemented as a trained machine learning algorithm, such as a random forest, an artificial neural network, a support vector machine, a set of rules for determining the degree of wear. The trained model is then used to:

• рекомендаций по замене конкретных IoT-устройств, чей срок службы подходит к окончанию согласно модели;• recommendations for the replacement of specific IoT devices whose service life is coming to an end according to the model;

• изменения политик настройки IoT-устройств, исходя из безопасности человеческой жизнедеятельности;• changes in IoT device configuration policies based on the safety of human life;

• изменения политик настройки IoT-устройств, исходя из продления срока службы (эксплуатации).• changes in IoT device configuration policies, based on the extension of the service life (operation).

В качестве рекомендаций выступает отчет, который содержит статистические данные об изменении параметров работы устройства с течением времени, КПД устройства, расход энергии при работе устройства, производительность устройства.The recommendations are a report that contains statistical data on changes in device operation parameters over time, device efficiency, energy consumption during device operation, and device performance.

Например, хаб 310 определяет, что одно из IoT-устройств - датчик протечки - близко к своему износу, и частота ошибок о работе автоматического переключения крана постоянно возрастает (это свидетельствует о необходимости прочистки крана и/или замены датчиков). Хаб 310 изменяет политику контроля данного устройства:For example, the hub 310 determines that one of the IoT devices - a leakage sensor - is close to its wear and tear, and the frequency of errors about the operation of the automatic tap changeover is constantly increasing (this indicates the need to clean the tap and / or replace the sensors). Hub 310 changes the control policy of this device:

• включаются принудительные регулярные отправки сообщений пользователю об износе устройства,• forced regular sending of messages to the user about the wear of the device,

• изменяются настройки работы устройства с целью продлить функционал его работы до замены,• the settings of the device operation are changed in order to extend the functionality of its operation before replacement,

• производят замену указанного устройства на схожее устройство из пула устройств, где схожим устройством является устройство, обладающее функционалом, необходимым для выполнения задач, выполняемых указанным устройством (в случае, если пул устройств содержит по меньшей мере два устройства, схожих с указанным устройством, пользователя информируют о наличии схожих устройств с целью осуществления выбора схожего устройства для замены указанного устройства),• replace the specified device with a similar device from the device pool, where the similar device is a device that has the functionality necessary to perform the tasks performed by the specified device (in case the device pool contains at least two devices similar to the specified device, the user is informed on the availability of similar devices in order to select a similar device to replace the specified device),

• может быть запущен механизм профилактической проверки устройства.• a device preventive check mechanism can be triggered.

Саму модель износа предварительно обучают на данных по работе схожих с указанным устройств. Если устройство вышло из строя, переобучают модель износа таким образом, чтобы определённая заново с помощью указанной модели степень износа устройства наиболее близко соответствовала реальной.The wear model itself is preliminarily trained on data on the operation of devices similar to the specified one. If the device is out of order, the wear model is retrained in such a way that the degree of wear of the device, determined anew with the help of the specified model, most closely matches the real one.

Фиг. 17 отображает использование модели для оценки степени износа устройств. На этапе 1710 хаб 310 определяет IoT-устройства в сети с помощью описанных ранее методик обнаружения. На этапе 1720 происходит сбор данных по работе устройства для оценки его износа. В качестве данных выступают сообщения об ошибках, неисправностях в работе узлов и другие важные сообщения, которые могут служить информацией о возможном выходе устройства из строя. Кроме того, хаб 310 ведет подсчёт времени функционирования устройства в сети. Дополнительный этап 1730 позволяет собирать информацию о работе аналогичных устройств. Это помогает для оценки износа новых, только вышедших моделей, о которых еще не собрано достаточно статистики, - в таком случае знание о степени износа прежних моделей может быть использовано для оценки износа будущих. Все данные с хаба 310 могут агрегироваться в сервисе безопасности 1010.Fig. 17 depicts the use of the model to estimate the degree of wear of devices. At step 1710, the hub 310 determines the IoT devices on the network using the discovery techniques previously described. At step 1720, data is collected on the operation of the device to assess its wear. The data is error messages, malfunctions in the operation of nodes, and other important messages that can serve as information about a possible device failure. In addition, the hub 310 counts the time the device has been operating on the network. Additional step 1730 allows you to collect information about the operation of similar devices. This helps to estimate the wear of new, just released models, for which not enough statistics have yet been collected - in this case, knowledge of the degree of wear of previous models can be used to estimate the wear of future ones. All data from the hub 310 can be aggregated in the security service 1010.

На этапах 1720 и 1730 дополнительно собирается информация об условиях эксплуатации как с датчиков самих IoT-устройств, так и со сторонних датчиков, которые установлены рядом.At steps 1720 and 1730, information about operating conditions is additionally collected both from the sensors of the IoT devices themselves and from third-party sensors that are installed nearby.

На этапе 1740 строится модель работы устройства с учетом степени его износа (предпочтительный вариант - на стороне сервиса безопасности 1010). Модель представляется в виде обученного алгоритма машинного обучения, например случайного леса, искусственной нейросети, метода опорных векторов. Модель описывает известное поведение устройства на основании входных параметров, связанных с профилем (например, сетевая активность). На выходе модели используются данные об ошибках и времени их появления. Используя подобную модель можно предсказывать возможные ошибки в работе устройств и на основании этих ошибок предсказывать степень износа. Степень износа может быть выражена в виде битового флага (исправно/неисправно) или же иметь шкалу, например от 0 до 100. На этапе 1750 используют полученную модель для оценки степени износа устройства. Также в зависимости от степени износа определяются дальнейшие действия -информировать пользователя, отключить устройство, снизить время его работы (изменение политик настройки).At step 1740, a device operation model is built taking into account the degree of its wear (the preferred option is on the side of the security service 1010). The model is represented as a trained machine learning algorithm, such as random forest, artificial neural network, support vector machine. The model describes the known behavior of the device based on the input parameters associated with the profile (for example, network activity). The output of the model uses data about errors and the time of their occurrence. Using such a model, it is possible to predict possible errors in the operation of devices and, based on these errors, predict the degree of wear. The degree of wear can be expressed as a bit flag (healthy/failed) or have a scale, for example from 0 to 100. At step 1750, the resulting model is used to estimate the degree of wear of the device. Also, depending on the degree of wear, further actions are determined - inform the user, turn off the device, reduce its operation time (changing configuration policies).

Например, в течение месяца ряд хабов 310 собрали информацию о работе умных лампочек определенной модели, в том числе и данные об ошибках при их использовании, а также доступную информацию об условиях их эксплуатации. Собранные данные будут использованы на стороне сервиса безопасности 1010 для построения модели для оценки степени износа устройств. Созданная модель будет загружена на все хабы 310, где зарегистрированы похожие (аналогичные) устройства.For example, during the month, a number of hubs 310 collected information about the operation of smart bulbs of a certain model, including data on errors when using them, as well as available information about their operating conditions. The collected data will be used on the side of the security service 1010 to build a model to assess the degree of wear of devices. The created model will be uploaded to all hubs 310 where similar (similar) devices are registered.

Дополнительно хаб 310 изменяет настройки работы IoT-устройств 110 с помощью команд при известном протоколе передачи данных.Additionally, the hub 310 changes the operation settings of the IoT devices 110 using commands with a known data transfer protocol.

Защита безопасности человеческой жизнедеятельностиProtecting the safety of human life

Хаб 310 может накладывать ограничения на параметры IoT-устройств 110, которые могут быть изменены с помощью ряда команд, например через приложение 1020 или приложение 140. The hub 310 can impose restrictions on the parameters of the IoT devices 110, which can be changed using a number of commands, for example through the application 1020 or the application 140.

Для контроля параметров требуется знание протоколов, по которым передаются параметры. Для Hue Light Bulb используется HTTP-протокол, где через PUT-запрос изменяются параметры лампочки, как например:Parameter control requires knowledge of the protocols used to transfer parameters. Hue Light Bulb uses the HTTP protocol, where the parameters of the light bulb are changed via a PUT request, such as:

Figure 00000032
Figure 00000032

Figure 00000033
Figure 00000033

В описанном выше запросе пользователь запретил удаленное включение данной лампочки или изменение ее яркости.In the query above, the user has disabled the remote turning on of this light bulb or changing its brightness.

Таким образом, будет создано правило, которое будет разрешать отправку таких PUT-запросов только с определенного MAC-адреса устройства пользователя или же отбрасывать PUT-запросы, которые изменяют параметры состояния (state).Thus, a rule will be created that will allow sending such PUT requests only from a specific MAC address of the user's device, or discard PUT requests that change the state parameters (state).

Пользователь может задавать правила фильтрации на хабе 310 в человекочитаемом виде, например в виде утверждения “для всех термостатов температура должна лежать в пределах от 20 до 26 градусов”, что позволит конвертировать данное утверждение в набор сетевых правил, которые будут относится ко всем устройствам домена функциональности “Фильтрация и очистка воздуха” и их параметрам, связанным с температурой. The user can set filtering rules on the hub 310 in a human-readable form, for example, in the form of the statement “for all thermostats, the temperature should be between 20 and 26 degrees”, which will allow converting this statement into a set of network rules that will apply to all devices of the functionality domain “Filtration and purification of air” and their parameters related to temperature.

Кроме того, хаб 310 может содержать базовые настройки (параметры), оптимальные для обеспечения жизнедеятельности человека. Например, в случае наличия датчика освещенности устанавливать максимальный и минимальный пороги освещенности. В случае наличия датчика температуры устанавливать максимальный и минимальный пороги температуры. В одном из вариантов реализации хаб 310 не позволяет включать лампы слишком ярко или слишком тускло, а также не позволяет, например, системе кондиционирования выходить за пороговые значения. В другом варианте реализации при выходе за пороговые значения хаб 310 высылает нотификации пользователю. In addition, the hub 310 may contain basic settings (parameters) that are optimal for human life. For example, if there is a light sensor, set the maximum and minimum illumination thresholds. If there is a temperature sensor, set the maximum and minimum temperature thresholds. In one implementation, the hub 310 prevents the lamps from turning on too brightly or too dimly, and also prevents, for example, the air conditioning system from going beyond thresholds. In another implementation, when the threshold values are exceeded, the hub 310 sends notifications to the user.

В одном из вариантов реализации хаб 310 учитывает временной интервал (время года, месяц года) для управления настройками (параметрами). Например, летом используются одни пороговые значения в настройках для температуры, зимой - другие. В другом варианте реализации хаб 310 учитывает время суток для управления настройками. Так, например, в дневное время для датчика освещения используются одни параметры (доступен один интервал яркости освещения), в ночное время - другие. В еще одном из вариантов реализации хаб 310 учитывает условия окружающей, в которых используются датчики. Например, если датчик освещенности расположен на террасе (вне здания), то используются одни параметры, если внутри здания - другие. В одном из вариантов реализации хаб 310 учитывает условия, кем используется IoT-устройство. Например, хаб 310 не позволяет нагревателю воды во взрослом санузле нагревать воду выше 60 градусов по шкале Цельсия, а в детском санузле - выше 45 градусов по Цельсию.In one implementation, the hub 310 takes into account the time interval (season, month of the year) to manage settings (parameters). For example, in summer, one threshold value is used in the settings for temperature, in winter, another. In another implementation, the hub 310 considers the time of day to control settings. So, for example, in the daytime, one parameter is used for the light sensor (one interval of lighting brightness is available), at night, others. In yet another implementation, the hub 310 takes into account the environmental conditions in which the sensors are used. For example, if the light sensor is located on the terrace (outside the building), then some parameters are used, if inside the building, others. In one implementation, the hub 310 takes into account the conditions by whom the IoT device is used. For example, the hub 310 does not allow the water heater in the adult bathroom to heat water above 60 degrees Celsius, and in the children's bathroom - above 45 degrees Celsius.

Privacy аспектprivacy aspect

Есть ряд IoT-устройств, которые могут собирать информацию о сне пользователя (Beddit Sleep Monitor), поведении детей (например, ряд современных игрушек может записывать геотеги, записи голоса и другую информацию), выполнении физических упражнений (спортивные трекеры), медицинской информацию и даже информацию о сексуальных привычках.There are a number of IoT devices that can collect information about the user's sleep (Beddit Sleep Monitor), children's behavior (for example, a number of modern toys can record geotags, voice recordings and other information), exercise performance (sports trackers), medical information, and even information about sexual habits.

Например, изучая трафик монитора сна, можно определить, когда пользователь спит, потому что паттерны трафика будут отличаться от того времени, когда пользователь бодрствует (и отсутствует в комнате). Также можно определить паттерн поведения пользователя по умным замкам, которые отправляют служебный трафик во время прохода пользователя через дверь.For example, by examining sleep monitor traffic, you can determine when a user is sleeping because the traffic patterns will be different from when the user is awake (and out of the room). You can also determine the user behavior pattern by smart locks that send service traffic when the user passes through the door.

Можно привести пример, когда данные, собранные с помощью современных игрушек, оснащенных функционалом записи разговоров, оказались в свободном доступе, и база данных MongoDB была обнаружена с помощью системы Shodan13 (13 https://www.vice.com/en_us/article/pgwean/internet-of-things-teddy-bear-leaked-2-million-parent-and-kids-message-recordings).An example can be given when data collected using modern toys equipped with call recording functionality was freely available, and the MongoDB database was discovered using the Shodan system 13 ( 13 https://www.vice.com/en_us/article/ pgwean/internet-of-things-teddy-bear-leaked-2-million-parent-and-kids-message-recordings).

Вариант утечки данных - через поддельное (англ. rogue) устройство. Само IoT-устройство, которое может быть зарегистрировано в сети через отдельный веб-сервер, может быть как реальным, так и виртуальным. Подобное устройство может собирать данные как о сети, к которой оно присоединено, так и об устройствах поблизости, когда они рассылают широковещательные запросы. Более продвинутый вариант прослушивания включает отдельное устройство со множеством интерфейсов, основная цель которого - прослушивание трафика. Однако чаще всего злоумышленники пользуются уже существующими устройствами, используя уязвимости для установления доступа, а также добавляя бекдоры (англ. backdoor) для дальнейшего использования устройств, к которым был получен доступ.The option of data leakage is through a fake (English rogue) device. The IoT device itself, which can be registered on the network through a separate web server, can be either real or virtual. Such a device can collect data both about the network it is connected to and about devices nearby when they send out broadcast requests. A more advanced version of listening involves a single device with many interfaces, the main purpose of which is to listen to traffic. However, most often, attackers use existing devices, using vulnerabilities to establish access, as well as adding backdoors (English backdoor) for further use of devices that have been accessed.

Еще один вариант атаки относится к атаке на процессы машинного обучения, связанных с IoT-устройствами, - это подача неправильных данных при обучении. Например, злоумышленник может намеренно добавлять в поток данных определенные искажения, которые приведут к неправильному обучению модели.Another variant of the attack refers to the attack on the machine learning processes associated with IoT devices - this is the supply of incorrect data during training. For example, an attacker can deliberately add certain distortions to the data stream that will lead to incorrect training of the model.

Для противодействия атакам на трафик можно использовать метод ILP shaping (independent link padding). Еще одним вариантом защиты является использование VPN. Изменение трафика уменьшает его энтропию и позволяет бороться с атаками на личные данные. На Фиг. 18 отображен пример изменения (шейпинга) трафика с целью сгладить пики, которые могут указывать на определенные действия пользователя.To counter attacks on traffic, you can use the ILP shaping (independent link padding) method. Another protection option is to use a VPN. Changing traffic reduces its entropy and allows you to deal with attacks on personal data. On FIG. 18 shows an example of changing (shaping) traffic in order to smooth out peaks that may indicate certain user actions.

Например, Xiaomi ClearGrass Air Detector определяет качество воздуха и дополнительно отправляет эти данные на один из серверов по протоколу MQTT. В качестве одного из вариантов можно прописать правило в iptables на перенаправление этого трафика (например, на тот же localhost) или через сетевой экран на хабе 310 просто блокировать этот трафик.For example, Xiaomi ClearGrass Air Detector determines the air quality and additionally sends this data to one of the servers using the MQTT protocol. As one of the options, you can write a rule in iptables to redirect this traffic (for example, to the same localhost) or simply block this traffic through the firewall on hub 310.

Пользователю можно предложить вариант отслеживания утечки личных данных с указанием распределения ресурсов по миру (через позиционирование серверов), чтобы пользователь мог определить куда можно отправлять его данные. Например, пользователь из России может решить не отправлять данные по телеметрии в Китай или США и запретить отправку данных на сервера из этих регионов. Для пользователей из ЕС можно использовать автоматическое правило, которое будет запрещать отправку любых данных за пределы сетевых ресурсов, находящихся в ЕС, что согласуется с нормативами GDPR.The user can be offered the option of tracking the leakage of personal data, indicating the distribution of resources around the world (through server positioning), so that the user can determine where his data can be sent. For example, a user in Russia may decide not to send telemetry data to China or the US and prohibit sending data to servers from these regions. For users in the EU, you can use an automatic rule that will prevent any data from being sent outside of network resources located in the EU, which is consistent with GDPR regulations.

Другой вариант заключается в загрузке на хаб 310 списка политик (правил) для контроля утечки личной информации. Набор правил включает:Another option is to upload a list of policies (rules) to the hub 310 to control leakage of personal information. The set of rules includes:

• список разрешенных/запрещенных IP-адресов или сетей;• list of allowed/denied IP-addresses or networks;

• разрешенные к использованию протоколы передачи данных для данного региона и/или пользователя;• data transfer protocols allowed for use for a given region and/or user;

• список устройств, для которых требуется отдельная обработка трафика;• list of devices for which separate traffic processing is required;

• список полей (атрибутов) данных, для которых требуется отдельная обработка (генерализация, запрет, токенизация и другие варианты).• a list of data fields (attributes) that require separate processing (generalization, prohibition, tokenization, and other options).

Варианты соглашения с отправкой данных можно реализовать на стороне хаба 310, который будет через отдельный интерфейс предлагать пользователям варианты обеспечения Privacy через контроль отправляемых данных. Варианты:Options for agreeing to send data can be implemented on the side of the hub 310, which will, through a separate interface, offer users options for ensuring Privacy through control of sent data. Options:

• Opt-In• Opt-in

• Opt-Out• Opt Out

Варианты сокрытия данных могут включать генерализацию данных (англ. generalization), когда данные одного пользователя изменяются таким образом, чтобы его нельзя было отличить от группы пользователей (как правило, привязанных к определенной группе, например возрастной или по месту проживания). Еще один вариант включает запрет на передачу определенных данных (англ. suppression). Подобные подходы входят в рамки метода k-анонимности. Примером реализации является следующий подход:Data hiding options may include data generalization, when the data of one user is changed in such a way that it cannot be distinguished from a group of users (usually tied to a specific group, for example, age or place of residence). Another option includes a ban on the transfer of certain data (English suppression). Similar approaches are included in the framework of the k-anonymity method. An example implementation is the following approach:

• вместо точного возраста указывается возрастная группа, например от 20 до 30 лет;• an age group is indicated instead of the exact age, for example, from 20 to 30 years;

• имя удаляется;• the name is deleted;

• география проживания может быть укрупнена со штата/провинции до целого государства или образования (например, ЕС).• geography of residence can be enlarged from a state/province to an entire state or entity (eg the EU).

I-разнесение (англ. I-diversity) является расширением k-анонимности, позволяя отслеживать гомогенность данных. T-близость (англ. T-closeness) представляет дальнейшее усовершенствование i-разнесения, учитывая распределение величин.I-diversity is an extension of k-anonymity to track data homogeneity. T-closeness is a further refinement of i-diversity considering the distribution of quantities.

Дополнительно для сохранения конфиденциальности указанные методы можно применять не только к данным пользователей, но и к самим IoT-устройствам. Например, для средств телеметрии можно передавать не уникальные идентификаторы самих устройств, а некоторый сгенерированный идентификатор.Additionally, to maintain confidentiality, these methods can be applied not only to user data, but also to the IoT devices themselves. For example, for telemetry tools, you can transfer not the unique identifiers of the devices themselves, but some generated identifier.

Фиг. 12 отображает схему шифрования и токенизации данных пользователей, передаваемых с IoT-устройств. Если IoT-устройство 110 поддерживает один из протоколов шифрования (например, через HTTPS или DTLS), то соединение устанавливается с хабом 310, который выступает как прокси-сервер. Передаваемые данные расшифровываются и подвергаются токенизации в том случае, если протокол поддерживается хабом 310. Токенизация представляет собой процесс замены конфиденциального элемента данных на неконфиденциальный эквивалент, называемый токеном, который не имеет самостоятельного смысла/значения для внешнего или внутреннего использования. Токенизации подвергаются все идентификаторы, например которые идентифицируют пользователя или его устройство (IoT-устройство 110). Кроме токенизации часть данных подвергается генерализации, например геометки.Fig. 12 shows the scheme for encrypting and tokenizing user data transmitted from IoT devices. If the IoT device 110 supports one of the encryption protocols (for example, via HTTPS or DTLS), then the connection is established with the hub 310, which acts as a proxy server. The transmitted data is decrypted and tokenized if the protocol is supported by the hub 310. Tokenization is the process of replacing a confidential data element with a non-confidential equivalent, called a token, which has no independent meaning/meaning for external or internal use. All identifiers are subject to tokenization, for example, those that identify the user or his device (IoT device 110). In addition to tokenization, some of the data is subject to generalization, such as geotags.

Затем данные передаются по зашифрованному каналу на сторону облачного сервиса 130 приложению безопасности 330, которое может восстановить через процесс обратной замены часть данных, которые были подвергнуты токенизации и которые необходимы для корректной работы приложения 140. Таким образом, пользователь сможет использовать приложение 140 так же, как если бы его данные не были токенизированы, но при этом достигается защита конфиденциальности при передаче данных. The data is then transmitted over an encrypted channel to the cloud service 130 side of the security application 330, which can recover, through a reverse replacement process, some of the data that has been tokenized and is necessary for the application 140 to function correctly. In this way, the user will be able to use the application 140 in the same way as if its data were not tokenized, but the protection of confidentiality during data transfer is achieved.

Для дополнительной защиты личных данных пользователя предусмотрена схема шифрования и токенизации данных, которые IoT-устройства 110 передают на сторону платформы 130 (приложениям 140).For additional protection of the user's personal data, a scheme is provided for encrypting and tokenizing data that the IoT devices 110 transmit to the side of the platform 130 (applications 140).

Фиг. 19 отображает применение политик обработки личных данных. На этапе 1910 происходит анализ протокола передачи данных между IoT-устройством 110 и хабом 310. На этапе 1920 происходит выделение полей, которые могут содержать личные данные. Обработка основана на использовании правил, которые могут быть реализованы в виде регулярных выражений. Затем на этапе 1930 происходит анализ каждого поля с точки зрения настроек (политик) обработки личных данных, которые были загружены на конкретный хаб 310. Например, в зависимости от страны это будут разные настройки. После этого на этапе 1940 на стороне хаба происходит обработка указанного поля (запрет на передачу, токенизация, генерализация и другие методы).Fig. 19 displays the application of personal data processing policies. At step 1910, the data transfer protocol between the IoT device 110 and the hub 310 is analyzed. At step 1920, fields are extracted that may contain personal data. Processing is based on the use of rules that can be implemented as regular expressions. Then, at step 1930, each field is analyzed in terms of the personal data processing settings (policies) that have been uploaded to a particular hub 310. For example, depending on the country, these will be different settings. After that, at step 1940, the specified field is processed on the side of the hub (prohibition of transmission, tokenization, generalization, and other methods).

Фиг. 20 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 20, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26, содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.Fig. 20 shows an example of a general purpose computer system, a personal computer or a server 20, comprising a central processing unit 21, a system memory 22, and a system bus 23 that contains various system components, including memory associated with the central processing unit 21. The system bus 23 is implemented as any bus structure known from the prior art, which in turn contains a bus memory or bus memory controller, a peripheral bus, and a local bus that is capable of interfacing with any other bus architecture. System memory contains a read only memory (ROM) 24, random access memory (RAM) 25. The main input / output system (BIOS) 26 contains the main procedures that provide information transfer between the elements of a personal computer 20, for example, at the time of loading the operating systems using ROM 24.

Персональный компьютер 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20. The personal computer 20, in turn, contains a hard disk 27 for reading and writing data, a magnetic disk drive 28 for reading and writing to removable magnetic disks 29 and an optical drive 30 for reading and writing to removable optical disks 31, such as CD-ROM, DVD -ROM and other optical storage media. The hard disk 27, the magnetic disk drive 28, the optical drive 30 are connected to the system bus 23 via the hard disk interface 32, the magnetic disk interface 33, and the optical drive interface 34, respectively. Drives and related computer storage media are non-volatile means of storing computer instructions, data structures, program modules, and other data of the personal computer 20.

Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.The present description discloses an implementation of a system that uses a hard disk 27, a removable magnetic disk 29, and a removable optical disk 31, but it should be understood that other types of computer storage media 56 that are capable of storing data in a computer-readable form (solid-state drives, flash memory cards, digital disks, random access memory (RAM), etc.), which are connected to the system bus 23 through the controller 55.

Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканнер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например, колонками, принтером и т.п.The computer 20 has a file system 36 where the recorded operating system 35 is stored, as well as additional software applications 37, other program modules 38 and program data 39. The user has the ability to enter commands and information into the personal computer 20 through input devices (keyboard 40, manipulator " mouse" 42). Other input devices (not shown) may be used: microphone, joystick, game console, scanner, etc. Such input devices are typically connected to computer system 20 via serial port 46, which in turn is connected to the system bus, but may be connected in other ways, such as through a parallel port, game port, or universal serial bus (USB). A monitor 47 or other type of display device is also connected to the system bus 23 via an interface such as a video adapter 48. In addition to the monitor 47, the personal computer may be equipped with other peripheral output devices (not shown), such as speakers, a printer, etc. .

Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг. 20. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы. The personal computer 20 is capable of operating in a networked environment, using a network connection to another or more remote computers 49. The remote computer (or computers) 49 are the same personal computers or servers that have most or all of the elements mentioned earlier in the description of the entity. personal computer 20 shown in FIG. 20. Other devices may also be present in the computer network, such as routers, network stations, peering devices, or other network nodes.

Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.The network connections may form a local area network (LAN) 50 and a wide area network (WAN). Such networks are used in corporate computer networks, internal networks of companies and, as a rule, have access to the Internet. In LAN or WAN networks, the personal computer 20 is connected to the local area network 50 via a network adapter or network interface 51. When using networks, the personal computer 20 may use a modem 54 or other means to communicate with a wide area network such as the Internet. Modem 54, which is an internal or external device, is connected to system bus 23 via serial port 46. It should be clarified that network connections are only exemplary and are not required to represent the exact network configuration, i. in fact, there are other ways to establish a connection by technical means of communication from one computer to another.

В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.In conclusion, it should be noted that the information given in the description are examples that do not limit the scope of the present invention defined by the formula.

Claims (6)

Способ использования модели IoT-устройства (далее - устройство) для определения аномалий в работе устройства включает этапы:The method of using the IoT device model (hereinafter referred to as the device) to determine anomalies in the operation of the device includes the following steps: а. определяют новое устройство;a. define a new device; б. получают данные об устройстве для формирования профиля;b. receive data about the device for forming a profile; в. создают свертку устройства на основании профиля;in. creating a device rollup based on the profile; г. выбирают из базы данных свёрток свёртку, схожую с созданной свёрткой;d. choose from the database of convolutions a convolution similar to the created convolution; д. если существует известная модель, то используют уже известную модель поведения устройства, связанную с выбранной свёрткой, в ином случае собирают данные в профиле устройства для создания и обучения модели устройства и последующего использования обученной модели, при этом использование модели предполагает определение аномалий в работе устройства.e. if there is a known model, then the already known device behavior model associated with the selected convolution is used, otherwise, data is collected in the device profile to create and train the device model and then use the trained model, while using the model involves identifying anomalies in the device operation .
RU2021106669A 2021-03-15 METHOD FOR USING A MODEL OF THE IoT APPARATUS TO DETECT ANOMALIES IN THE OPERATION OF THE APPARATUS RU2772072C1 (en)

Publications (1)

Publication Number Publication Date
RU2772072C1 true RU2772072C1 (en) 2022-05-16

Family

ID=

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2796800C1 (en) * 2022-09-23 2023-05-29 Общество с ограниченной ответственностью "НеоБИТ" Method for detecting anomalies in the operation of a smart home device at the hardware level

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200134061A1 (en) * 2018-10-29 2020-04-30 EMC IP Holding Company LLC Identifying Anomalies in User Internet of Things Activity Profile Using Analytic Engine
US20200183774A1 (en) * 2016-08-25 2020-06-11 Intel Corporation Profiling and diagnostics for internet of things
RU2724075C1 (en) * 2018-12-28 2020-06-19 Акционерное общество "Лаборатория Касперского" System and method for determining anomaly source in cyber-physical system having certain characteristics
RU2731744C1 (en) * 2019-05-15 2020-09-08 Акционерное общество "ПКК МИЛАНДР" System for controlling devices in iot networks using self-learning machine learning models
RU2742824C2 (en) * 2016-03-31 2021-02-11 БИТДЕФЕНДЕР АйПиАр МЕНЕДЖМЕНТ ЛТД Systems and methods of devices automatic detection

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2742824C2 (en) * 2016-03-31 2021-02-11 БИТДЕФЕНДЕР АйПиАр МЕНЕДЖМЕНТ ЛТД Systems and methods of devices automatic detection
US20200183774A1 (en) * 2016-08-25 2020-06-11 Intel Corporation Profiling and diagnostics for internet of things
US20200134061A1 (en) * 2018-10-29 2020-04-30 EMC IP Holding Company LLC Identifying Anomalies in User Internet of Things Activity Profile Using Analytic Engine
RU2724075C1 (en) * 2018-12-28 2020-06-19 Акционерное общество "Лаборатория Касперского" System and method for determining anomaly source in cyber-physical system having certain characteristics
RU2731744C1 (en) * 2019-05-15 2020-09-08 Акционерное общество "ПКК МИЛАНДР" System for controlling devices in iot networks using self-learning machine learning models

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2796800C1 (en) * 2022-09-23 2023-05-29 Общество с ограниченной ответственностью "НеоБИТ" Method for detecting anomalies in the operation of a smart home device at the hardware level

Similar Documents

Publication Publication Date Title
Hammi et al. Survey on smart homes: Vulnerabilities, risks, and countermeasures
Banerjee et al. A blockchain future for internet of things security: a position paper
Yu et al. Handling a trillion (unfixable) flaws on a billion devices: Rethinking network security for the internet-of-things
US9565192B2 (en) Router based securing of internet of things devices on local area networks
Bezawada et al. Securing home IoT environments with attribute-based access control
US9298917B2 (en) Enhanced security SCADA systems and methods
US10516689B2 (en) Distributed data surveillance in a community capture environment
US20090271504A1 (en) Techniques for agent configuration
US20060095961A1 (en) Auto-triage of potentially vulnerable network machines
Bangash et al. Security Issues and Challenges in Wireless Sensor Networks: A Survey.
Abou el Kalam Securing SCADA and critical industrial systems: From needs to security mechanisms
RU2767714C1 (en) METHOD FOR APPLYING PERSONAL DATA PROCESSING POLICIES FOR AN IoT DEVICE
US20220200993A1 (en) Microsegmentation for serverless computing
CN115413409A (en) Programmable switching device for network infrastructure
KR20190048587A (en) METHOD FOR SECURITING REMOTELY INTERNET OF THINGS(IoT) AND APPARATUS USING THE SAME
US20220201041A1 (en) Administrative policy override in microsegmentation
EP4057569A1 (en) System and method for configuring iot devices depending on network type
EP4057570A1 (en) System and method for controlling an iot device from a node in a network infrastructure
US11632428B2 (en) System and method for configuring IoT devices depending on network type
Miloslavskaya et al. Ensuring information security for internet of things
RU2772072C1 (en) METHOD FOR USING A MODEL OF THE IoT APPARATUS TO DETECT ANOMALIES IN THE OPERATION OF THE APPARATUS
RU2769632C1 (en) METHOD FOR CONTROLLING AN IoT APPARATUS FROM THE SIDE OF AN ELEMENT OF THE NETWORK INFRASTRUCTURE
RU2772377C1 (en) METHOD FOR ESTIMATING THE DEGREE OF WEAR OF AN IoT APPARATUS ON THE SIDE OF A NETWORK INFRASTRUCTURE ELEMENT
RU2767713C1 (en) METHOD FOR CREATING AND UPDATING A NETWORK PROFILE CONTAINING IoT DEVICES
RU2757651C1 (en) Method for creating and applying an application interaction rule on an iot device