Архитектура безопасности для решений Интернета вещей
При разработке и разработке решения Интернета вещей важно понимать потенциальные угрозы и включать соответствующую защиту. Понимание того, как злоумышленник может скомпрометировать систему, помогает убедиться, что соответствующие способы устранения рисков выполняются с самого начала.
Моделирование угроз
Корпорация Майкрософт рекомендует использовать процесс моделирования угроз в рамках разработки решения Интернета вещей. Если вы не знакомы с моделированием угроз и жизненным циклом безопасной разработки, ознакомьтесь со следующими сведениями:
- Моделирование угроз
- Рекомендации по обеспечению безопасности разработки в Azure
- Руководство по началу работы
Безопасность в IoT
Полезно разделить архитектуру Интернета вещей на несколько зон в рамках упражнения моделирования угроз:
- Устройство
- Полевой шлюз
- Облачный шлюз
- Service
Каждая зона часто имеет собственные данные и требования к проверке подлинности и авторизации. Вы также можете использовать зоны для изоляции ущерба и ограничения влияния зон низкого доверия на зоны более высокого доверия.
Каждая зона отделяется границой доверия, показанной как пунктирная красная линия на следующей схеме. Он представляет собой переход данных из одного источника в другой. Во время этого перехода данные могут быть подвержены следующим угрозам:
- Спуфинг
- Незаконное изменение
- Отказ
- Раскрытие информации
- Отказ в обслуживании
- Несанкционированное получение привилегий
Дополнительные сведения см. в модели STRIDE.
С помощью STRIDE можно моделировать угрозы для каждого компонента в каждой зоне. В следующих разделах содержатся детальные сведения о каждом из компонентов, соответствующие проблемы безопасности, а также решения по их устранению.
Оставшаяся часть этой статьи подробно описывает угрозы и устранение рисков для этих зон и компонентов.
Зона устройства
Среда устройства — это пространство вокруг устройства, где возможен физический доступ и локальный сетевой цифровой доступ к устройству. Предполагается, что локальная сеть отличается и изолирована от - но потенциально мостит к общедоступному Интернету. Среда устройства включает любую технологию беспроводной беспроводной радиосвязи с коротким диапазоном, которая обеспечивает одноранговую связь устройств. Она не включает ни одну технологию виртуализации сети, создавая иллюзию такой локальной сети. В ней нет сетей общедоступных операторов, требующих обмена данными между общедоступным сетевым пространством, если они должны были войти в связь однорангового взаимодействия.
Зона шлюза полей
Шлюз полей — это компьютерное программное обеспечение для устройства, устройства или сервера общего назначения, которое выступает в качестве средства включения связи и, возможно, в качестве системы управления устройствами и центра обработки данных устройства. Зона шлюза полей включает сам шлюз полей и все устройства, подключенные к нему. Шлюзы полей действуют вне выделенных объектов обработки данных, обычно привязаны к расположению, потенциально подвержены физическому вторжению и имеют ограниченную операционную избыточность. Шлюз полей обычно является вещью, которую злоумышленник может физически саботировать, если они получили физический доступ.
Шлюз полей отличается от маршрутизатора трафика в том, что он имеет активную роль в управлении доступом и информационным потоком. У полевого шлюза есть две отдельные контактные зоны. Один сталкивается с устройствами, подключенными к нему, и представляет внутри зоны. Остальные сталкиваются со всеми внешними сторонами и является краем зоны.
Зона шлюза облака
Облачный шлюз — это система, которая обеспечивает удаленное взаимодействие с устройствами или шлюзами полей, развернутыми на нескольких сайтах. Облачный шлюз обычно включает облачную систему управления и анализа данных или федерацию таких систем. В некоторых случаях облачный шлюз может немедленно облегчить доступ к устройствам специального назначения из терминалов, таких как планшеты или телефоны. В зоне шлюза облака меры по предотвращению целевого физического доступа и не обязательно предоставляются общедоступной облачной инфраструктуре.
Облачный шлюз можно сопоставить с наложением виртуализации сети для изоляции облачного шлюза и всех подключенных устройств или шлюзов полей из любого другого сетевого трафика. Сам облачный шлюз не является системой управления устройствами или объектом обработки или хранилища для данных устройства; эти средства интерфейс с облачным шлюзом. Зона облачного шлюза включает в себя сам облачный шлюз и все полевые шлюзы и устройства, прямо или опосредованно подключенные к нему. Край зоны — это отдельная поверхность, через которую взаимодействуют все внешние стороны.
Зона служб
Служба в этом контексте — это любой программный компонент или модуль, который взаимодействует с устройствами через поле или облачный шлюз. Служба может собирать данные с устройств и управлять ими и управлять этими устройствами. Служба — это посредник, который действует под его удостоверением для шлюзов и других подсистем:
- Хранение и анализ данных
- Выдача команд устройствам на основе аналитических сведений или расписаний
- Предоставление сведений и возможностей управления авторизованным пользователям
Устройства IoT
Устройства Интернета вещей часто являются устройствами специального назначения, которые варьируются от простых датчиков температуры до сложных производственных линий фабрики с тысячами компонентов внутри них. Примеры возможностей устройств Интернета вещей:
- Измерение и создание отчетов об условиях окружающей среды
- Поворот клапанов
- Управление сервами
- Звук тревоги
- Включение или отключение освещения
Назначение этих устройств определяет их технический дизайн и доступный бюджет для их производственной и запланированной работы. Сочетание этих факторов ограничивает доступный операционный бюджет энергии, физический объем и доступные возможности хранения, вычислений и безопасности.
Вещи, которые могут пойти не так с автоматическим или удаленно контролируемым устройством Интернета вещей, включают:
- Физические дефекты
- Дефекты логики управления
- Неавторизованное вторжение и манипуляции.
Последствия этих сбоев могут быть серьезными, такими как разрушенные производственные лоты, здания сгорели, или травмы и смерть. Таким образом, существует высокая панель безопасности для устройств, которые делают вещи перемещать или сообщать данные датчика, которые приводят к командам, которые вызывают перемещение вещей.
Взаимодействие контроля устройства и данных устройства
Перед подключенными специализированными устройствами открывается большое количество возможных зон и шаблонов взаимодействия, которые необходимо учесть при создании инфраструктуры безопасности цифрового доступа к этим устройствам. Цифровой доступ относится к операциям, выполняемым через программное обеспечение и оборудование, а не через прямой физический доступ к устройству. Например, физический доступ можно контролировать, поместив устройство в комнату с блокировкой на двери. Хотя физический доступ нельзя запретить с помощью программного обеспечения и оборудования, можно принять меры, чтобы предотвратить такой доступ и уменьшить вероятность вмешательства в интерфейс системы.
При изучении шаблонов взаимодействия просмотрите данные управления устройствами и устройства с одинаковым уровнем внимания. Элемент управления устройством относится к любой информации, предоставленной устройству с намерением изменить его поведение. Данные устройства ссылаются на сведения, которые устройство выдает любому другому участнику о своем состоянии и наблюдаемом состоянии его среды.
Моделирование угроз для эталонной архитектуры Интернета вещей Azure
В этом разделе используется эталонная архитектура Azure IoT для демонстрации того, как думать о моделировании угроз для Интернета вещей и о том, как устранить обнаруженные угрозы:
На следующей схеме представлено упрощенное представление эталонной архитектуры с помощью модели схемы потока данных:
Архитектура отделяет возможности устройства и шлюза полей. Этот подход позволяет использовать более безопасные устройства шлюза полей. Устройства шлюза полей могут взаимодействовать с облачным шлюзом с помощью безопасных протоколов, которые обычно требуют больше мощности обработки, чем простое устройство, например термостат, может предоставляться самостоятельно. В зоне служб Azure на схеме служба Центр Интернета вещей Azure — это облачный шлюз.
На основе архитектуры, описанной ранее, в следующих разделах показаны некоторые примеры моделирования угроз. В примерах основное внимание уделяется основным элементам модели угроз:
- Процессы
- Коммуникации
- Хранилище
Процессы
Ниже приведены некоторые примеры угроз в категории процессов. Угрозы классифицируются на основе модели STRIDE:
Спуфинг: злоумышленник может извлечь криптографические ключи с устройства на уровне программного обеспечения или оборудования. Затем атакованный использует эти ключи для доступа к системе из другого физического или виртуального устройства с помощью удостоверения исходного устройства.
Отказ в обслуживании. Устройство может быть распознано как неработоспособное или неспособное обмениваться данными из-за радиочастотных помех или потому, что обрезаны провода. Например, камера наблюдения, которая имела свою мощность или сетевое подключение намеренно выбиты не могут сообщать данные вообще.
Изменение: злоумышленник может частично или полностью заменить программное обеспечение на устройстве. Если криптографические ключи устройства доступны для кода злоумышленников, он может использовать удостоверение устройства.
Незаконное изменение: камера наблюдения, показывающая видимый спектр изображения пустой коридора может быть направлена на фотографию такой коридора. Дымовой или пожарный датчик может передать данные о возгорании, если кто-то держит возле него включенную зажигалку. В любом случае устройство может быть технически надежным по отношению к системе, но оно сообщает об управлении информацией.
Изменение. Злоумышленник может использовать извлеченные криптографические ключи для перехвата и подавления данных, отправленных с устройства, и заменить его ложными данными, прошедшими проверку подлинности с украденными ключами.
Раскрытие информации. Если на устройстве работает измененное программное обеспечение, из него возможна утечка данных посторонним лицам.
Раскрытие информации. Злоумышленник может использовать извлеченные криптографические ключи для внедрения кода в путь связи между шлюзом устройства и шлюзом полей или облачным шлюзом для сифона информации.
Отказ в обслуживании: устройство можно отключить или превратить в режим, в котором связь невозможна (которая является преднамеренной во многих промышленных машинах).
Незаконное изменение. Для устройства могут настроить другое неизвестное системе управления состояние (параметры, которые не относятся к эталонным), из-за чего устройство будет передавать данные, которые можно неправильно интерпретировать.
Несанкционированное повышение привилегий. Это случай, когда устройство, которое выполняет определенную функцию, используют для принудительного выполнения других действий. Например, клапан, запрограммированный открываться наполовину, могут настроить открываться полностью.
Спуфинг, незаконное изменение данных и отказ. При отсутствии защиты (она редко используется в потребительских пультах дистанционного управления) злоумышленник может анонимно изменять состояние устройства. Хорошая иллюстрация — это удаленный элемент управления, который может отключить любой телевизор.
В следующей таблице показаны примеры устранения этих угроз. Значения в столбце угроз являются аббревиациями:
- Спуфингов (S)
- Изменение (T)
- Отказ (R)
- Раскрытие информации (I)
- Отказ в обслуживании (D)
- Повышение привилегий (E)
Компонент | Угроза | Исправление | Риск | Внедрение |
---|---|---|---|---|
Устройство | S | Назначить устройству удостоверение и проверять его подлинность | Замена устройства или его части другим устройством. Как вы знаете, что вы разговариваете с правильным устройством? | Проверка подлинности устройства с использованием протокола TLS или IPSec. Инфраструктура должна поддерживать использование предварительно общего ключа (PSK) на этих устройствах, которые не могут обрабатывать полную асимметричную криптографию. Используйте идентификатор Microsoft Entra, OAuth. |
TRID | Например, примените к устройству механизмы защиты от незаконного изменения, чтобы предотвратить извлечение ключей и других криптографических материалов с устройства. | Кто-то может незаконно изменить устройство (физически вмешаться). Как вы уверены, что никто не несанкционированный с устройством? | Наиболее эффективным решением является доверенный модуль платформы (TPM). TPM хранит ключи, но не позволяет читать их. Однако сам TPM может использовать ключи для криптографических операций. Шифрование памяти устройства. Управление ключами устройства. Подписывание кода | |
E | Обеспечить контроль доступа к устройству. Применить схему авторизации | Если устройство позволяет выполнять отдельные действия с помощью команд из внешнего источника или даже со скомпрометированного датчика, при атаке оно позволяет выполнять операции, которые недоступны при других обстоятельствах. | Наличие схемы авторизации для устройства. | |
Полевой шлюз | S | Обеспечить аутентификацию полевого шлюза при доступе к облачному шлюзу (например, на основе сертификатов, общих ключей или утверждений). | Если кто-то может подделать данные полевого шлюза, он сможет выдавать свое устройство за любое другое | TLS RSA/PSK, IPSec, RFC 4279. В отношении тех же основных проблем хранения и обеспечения соответствия устройств в целом лучшее решение — использовать доверенный платформенный модуль. Использование расширения 6LowPAN для IPSec, чтобы обеспечить поддержку сетей беспроводных датчиков |
TRID | Защита шлюза полей от незаконного изменения (TPM) | Атаки спуфингов, которые обманывают облачный шлюз, думая, что он разговаривает с шлюзом полей, может привести к раскрытию информации и незаконному копированию данных | Шифрование памяти, TPM, проверка подлинности. | |
E | Реализовать механизм контроля доступа для полевого шлюза |
Коммуникации
Ниже приведены некоторые примеры угроз в категории коммуникации. Угрозы классифицируются на основе модели STRIDE:
Отказ в обслуживании: ограниченные устройства обычно находятся под угрозой DoS, когда они активно прослушивают входящие подключения или неопроверженные диаграммы данных в сети. Злоумышленник может открывать множество подключений параллельно, а также не обслуживать их или медленно обслуживать, или заполнять устройство неопрошенным трафиком. В обоих случаях сеть может распознать устройство как неработоспособное.
Спуфингов, раскрытие информации: ограниченные устройства и устройства специального назначения часто имеют одно для всех средств безопасности, таких как пароль или защита ПИН-кода. Иногда они полностью полагаются на доверие сети и предоставляют доступ к информации любому устройству в одной сети. Если сеть защищена общим ключом, который раскрывается, злоумышленник может контролировать устройство или наблюдать за передаваемыми данными.
Спуфинг: злоумышленник может перехватывать или частично переопределять широковещательный и подпуговый источник.
Изменение. Злоумышленник может перехватывать или частично переопределять широковещательную информацию и отправлять ложные сведения.
Раскрытие информации. Злоумышленник может прослушивать широковещательный канал и получать информацию без авторизации.
Отказ в обслуживании: злоумышленник может застрять сигнал вещания и запретить распространение информации.
В следующей таблице показаны примеры устранения этих угроз:
Компонент | Угроза | Исправление | Риск | Внедрение |
---|---|---|---|---|
Устройство, Центр Интернета вещей | TID | (От D) использовать TLS (для общих ключей или RSA), чтобы шифровать трафик | Перехват данных обмена между устройством и шлюзом или вмешательство в обмен | Обеспечение безопасности на уровне протокола. При использовании пользовательских протоколов нужно выяснить, как обеспечить соответствующую защиту. В большинстве случаев устройство отправляет данные в Центр Интернета вещей (инициирует подключение) |
Устройство — устройство | TID | (От D) использовать TLS (для общих ключей или RSA), чтобы шифровать трафик | Считывание данных при их передаче между устройствами. Незаконное изменение данных. Перегрузка устройства новыми подключениями | Обеспечение безопасности на уровне протокола (HTTP, HTTPS, AMQP, MQTT или CoAP). При использовании пользовательских протоколов нужно выяснить, как обеспечить соответствующую защиту. Чтобы устранить риск атаки типа "отказ в обслуживании", нужно устанавливать одноранговые подключения устройств через полевой или облачный шлюз, чтобы они работали в качестве клиентов по отношению к сети. После брокера шлюза пиринг может быть прямое подключение между одноранговым сервером. |
Внешняя сущность, устройство | TID | Надежное подключение внешней сущности к устройству | Перехват подключения к устройству. Вмешательство в обмен данными с устройством | Обеспечить безопасное подключение внешней сущности к устройству, используя технологию Bluetooth с низким энергопотреблением или NFC. Управление рабочей панелью устройства (физическое устройство). |
Полевой шлюз, облачный шлюз | TID | Использовать TLS (для общих ключей или RSA), чтобы шифровать трафик | Перехват данных обмена между устройством и шлюзом или вмешательство в обмен | Обеспечение безопасности на уровне протокола (HTTP, HTTPS, AMQP, MQTT или CoAP). При использовании пользовательских протоколов нужно выяснить, как обеспечить соответствующую защиту. |
Устройство, облачный шлюз | TID | Использовать TLS (для общих ключей или RSA), чтобы шифровать трафик | Перехват данных обмена между устройством и шлюзом или вмешательство в обмен | Обеспечение безопасности на уровне протокола (HTTP, HTTPS, AMQP, MQTT или CoAP). При использовании пользовательских протоколов нужно выяснить, как обеспечить соответствующую защиту. |
Хранилище
В следующей таблице показаны примеры устранения угроз хранилища:
Компонент | Угроза | Исправление | Риск | Внедрение |
---|---|---|---|---|
Хранилище устройства | TRID | Шифрование хранилища, подписывание журналов | Чтение данных из хранилища, изменение данных телеметрии. Незаконное изменение данных управления командами, которые находятся в очереди или кэше. Незаконное изменение пакетов обновления конфигурации или встроенного ПО, которые есть в локальной очереди или локальном кэше, может повлечь компрометацию операционной системы или ее компонентов. | Шифрование, использование кода проверки подлинности сообщения или цифровых подписей. Обеспечение строгого контроля доступа к ресурсам с помощью списков управления доступом (ACL) или разрешений |
Образ ОС устройства | TRID | Незаконное изменение ОС или замена ее компонентов | Секция ОС только для чтения, подписанный образ ОС, шифрование | |
Хранилище полевого шлюза (для хранения очередей данных) | TRID | Шифрование хранилища, подписывание журналов | Считывание данных из хранилища, изменение данных телеметрии, изменение очередных или кэшированных данных управления командой. Незаконное изменение пакетов обновления конфигурации или встроенного ПО (предназначенных для устройств или полевого шлюза), которые есть в локальной очереди или локальном кэше, может повлечь компрометацию операционной системы или ее компонентов. | BitLocker |
Образ ОС полевого шлюза | TRID | Незаконное изменение ОС или замена ее компонентов | Секционирование ОС только для чтения, подписывание образов ОС, шифрование |
Следующие шаги
Дополнительные сведения о безопасности Интернета вещей см. в следующем разделе: