При проектировании системы важно понять, каким угрозам эта система может подвергаться, и разработать соответствующие меры защиты при проектировании и построении её архитектуры. Особенно важно с самого начала учитывать требования безопасности при проектировании продукта. Если вы понимаете, каким образом злоумышленники могут скомпрометировать вашу систему, то это поможет еще до начала работы принять соответствующие меры по снижению рисков.
Цикл статей «Безопасность в IoT»
1. Azure IoT Suite для тех, кто начинает с нуля.
2. Стратегия всесторонней защиты.
3. Архитектура системы безопасности.
4. Обеспечение безопасности развертывания IoT.
В основе безопасности лежит моделирование рисков
Задача моделирования рисков заключается в том, чтобы понять, как именно злоумышленники могли бы скомпрометировать систему, а затем — принять соответствующие меры для снижения риска. Благодаря моделированию рисков группа разработчиков может предусмотреть меры по снижению рисков ещё на этапе проектирования системы, а не после её развертывания. Это крайне важно, поскольку модернизация систем безопасности на бесконечном количестве устройств, работающих за пределами компании, технически неосуществима. К тому же такой подход чреват появлением ошибок и оставляет клиентов без защиты от всевозможных рисков.
Разработчики активно трудятся над определением и документированием функциональных требований к системе, которые сделают взаимодействие пользователей с ней ещё удобнее и эффективнее. Тем не менее выявление неочевидных способов, которыми злоумышленники могли бы скомпрометировать систему, — гораздо более сложная задача. Моделирование рисков позволяет разработчикам понять, какие именно действия могут предпринять злоумышленники и с какой целью. В ходе этого структурированного процесса обсуждаются решения по проектированию системы безопасности, а также изменения, внесенные в проект на этапе реализации, которые могут повлиять на безопасность системы. Модель рисков — это просто документ. Однако он представляет собой идеальный способ обеспечивать непрерывную передачу знаний и сохранять наработанный опыт, чтобы дать новым специалистам возможность мгновенно сориентироваться в новой среде. И наконец, благодаря моделированию рисков вы сможете учитывать также и другие аспекты безопасности. Например, определить тот уровень безопасности, который вы готовы предоставить своим клиентам. Этот задокументированный уровень вкупе с моделью рисков предоставляет данные, которые требуются для тестирования вашего решения IoT.
Время создания
Моделирование рисков гарантирует ряд серьезных преимуществ, если выполнять его непосредственно на этапе проектирования. В процессе проектирования вы сможете вносить любые изменения, чтобы устранить угрозы. Устранение рисков еще на этапе проектирования — вот тот результат, к которому нужно стремиться. Это гораздо проще и эффективнее, чем впоследствии внедрять и тестировать меры по снижению рисков и постоянно поддерживать их актуальность, что не всегда возможно. Устранить риски на более позднем этапе, когда продукт уже почти готов, гораздо сложнее. Для этого потребуется больший объем работ, и придется пожертвовать определенными преимуществами. Моделирование рисков на ранних этапах позволяет этого избежать.
Объекты для изучения
Необходимо создать модель рисков для всего решения, уделив особое внимание следующим областям:
- Инструменты обеспечения безопасности и защиты конфиденциальности.
- Функции, работоспособность которых зависит от безопасности.
- Функции, которые на схеме соприкасаются с границей доверия.
Как моделировать риски
Моделирование рисков — такой же процесс, как и любой другой. Рекомендуется обрабатывать и проверять модель рисков, как и любой другой компонент решения. Разработчики активно трудятся над определением и документированием функциональных требований к системе, которые сделают взаимодействие пользователей с ней еще удобнее и эффективнее. Тем не менее выявление неочевидных способов, которыми злоумышленники могли бы скомпрометировать систему, — гораздо более сложная задача. Моделирование рисков позволяет разработчикам понять, какие именно действия могут предпринять злоумышленники и с какой целью.
Ключевые этапы
Процесс моделирования рисков состоит из четырех этапов:
- Моделирование приложения.
- Перечисление рисков.
- Снижение рисков.
- Проверка мер по снижению риска.
Шаги моделирования
При построении модели рисков следует помнить о трёх проверенных шагах:
- Создать схему на основе эталонной архитектуры.
- Начать поиск в ширину. Просмотреть результаты и постараться оценить систему в целом, не углубляясь пока в детали. Таким образом, вы сможете правильно выбрать направление для глубинного анализа.
- Управляйте процессом, но не позволяйте процессу управлять вами. Однако если вы обнаружили проблему на стадии моделирования и хотите её изучить — сделайте это. Не стоит скрупулезно следовать абсолютно всем рекомендациям.
Основные угрозы
Четыре ключевых элемента модели рисков:
- Процессы (веб-службы, службы Win32, управляющие программы *nix и так далее). Обратите внимание, что некоторые сложные объекты (например, полевые шлюзы и датчики) можно абстрактно воспринимать как процессы, если технически невозможно проанализировать подробно эти области.
- Хранилища данных (любое место, где хранятся данные, например, файл конфигурации или база данных).
- Поток данных (маршрут перемещения данных между другими элементами приложения).
- Внешние объекты (все объекты, которые взаимодействуют с системой, но не контролируются приложением, например, пользователи и спутниковые каналы).
Все элементы на схеме архитектуры в той или иной степени подвержены различным угрозам. Мы используем следующее мнемоническое правило: STRIDE.
Различные элементы на схеме приложения подвержены различным угрозам STRIDE:
- Процессы подвержены угрозам STRIDE.
- Потоки данных подвержены угрозам TID.
- Хранилища данных подвержены угрозам TID и иногда — угрозам R, если они представляют собой файлы журналов.
- Внешние объекты подвержены угрозам SRD.
Безопасность в среде IoT
Подключенные специализированные устройства содержат множество точек потенциального взаимодействия, которые необходимо учесть при разработке адекватной системы защиты цифрового доступа к этим устройствам. Термином «цифровой доступ» обозначаются все операции, выполняемые путем прямого взаимодействия с устройством, если безопасность обеспечивается с помощью физического контроля доступа. Например, можно поместить устройство в помещение, закрывающееся на замок. Хотя физический доступ нельзя запретить программными и аппаратными средствами, все равно можно принять определенные меры, чтобы предотвратить проникновение в систему путем физического доступа.
При изучении различных механизмов взаимодействия мы должны в равной степени уделять внимание управлению устройством и данным на устройстве. Управление устройством можно понимать как любую информацию, которая предоставляется устройству любым участником обмена данными с целью повлиять на поведение устройства таким образом, чтобы изменить его состояние или состояние его среды. Данные на устройстве — это информация, которую создает само устройство и предоставляет другому участнику обмена данными. Это сведения о состоянии устройства и зарегистрированное состояние его среды.
Чтобы обеспечить более высокий уровень безопасности, рекомендуется в рамках этого упражнения по моделированию рисков разделить стандартную архитектуру IoT на несколько компонентов (зон). К ним относятся:
- Устройство.
- Полевой шлюз.
- Облачные шлюзы.
- Службы.
Разделение на зоны представляет собой универсальный способ сегментирования решения. Каждая из зон зачастую содержит собственные данные, а также предъявляет отдельные требования к проверке подлинности и авторизации. Разделение на зоны можно использовать, чтобы локализовать ущерб и ограничить влияние зон с низким доверием на зоны с более высоким доверием.
Каждая зона отделяется границей доверия, которая на схеме внизу обозначена красным пунктиром. Она представляет переход данных (информации) из одного источника в другой. Во время такого перехода данные (информация) могут стать объектом подделки (S — Spoofing), незаконного изменения (T — Tampering), искажение смысла (R — Repudiation), раскрытия информации (I — Information Disclosure), отказа в обслуживании (D — Denial of Service) и повышения привилегий (E — Elevation of Privilege). Все эти угрозы в совокупности мы называем по первым буквам английских слов аббревиатурой «STRIDE».
Компоненты, обозначенные в пределах каждой из границ, также подвержены угрозам STRIDE, что позволяет полностью, во всех деталях, смоделировать риски для конкретного решения. Разделы ниже описывают каждый из этих компонентов и конкретные проблемы безопасности, а также рекомендуемые решения.
Зона устройства
Среда устройства представляет собой физическое пространство, непосредственно окружающее устройство. В среде устройства осуществляется физический доступ к устройству и (или) одноранговый цифровой доступ по локальной сети. Локальная сеть — сеть, отделенная и обособленная от общедоступной сети Интернет (но с возможностью подключения к ней посредством мостового соединения). К таким сетям относятся беспроводные радиосети малого радиуса действия, посредством которых устанавливается одноранговое соединение между устройствами. К таким сетям не относятся ни виртуализованные сети, которые создают иллюзию локальной сети, ни общедоступные сети операторов, в рамках которых предполагается, что два устройства обмениваются данными в общедоступном сетевом пространстве для установки однорангового соединения.
Зона полевого шлюза
Полевой шлюз — это устройство, программное обеспечение или серверное программное обеспечение общего назначения, которое служит средством реализации обмена данными, а также, по возможности, системой управления устройствами и центром обработки данных, получаемых от устройств. В зону полевого шлюза входит сам полевой шлюз, а также все подключенные к нему устройства. Как явствует из названия, полевые шлюзы работают за пределами специализированных центров обработки данных. Обычно они ограничены местонахождением, могут стать объектом физического вторжения и обладают ограниченным запасом рабочей мощности. Таким образом, полевой шлюз представляет собой некое устройство, которое можно физически вывести из строя, если знать, какие функции оно выполняет.
В отличие от простого маршрутизатора трафика, полевой шлюз играет важную роль в управлении доступом и потоковой обработке информации. То есть это объект, к которому обращается приложение, сетевое соединение или терминал сеанса. Устройство NAT и межсетевой экран, напротив, не являются полевым шлюзом, поскольку сами по себе не функционируют как терминалы соединения или сеанса, но являются соединениями или сеансами маршрута (блока). Полевой шлюз содержит две отдельные контактные зоны. Одна из них взаимодействует с подключенными устройствами (внутренняя часть), а вторая — с внешними участниками обмена данных, представляя собой по сути переход зоны.
Зона облачного шлюза
Облачный шлюз представляет собой систему для удалённого обмена данными между различными устройствами и полевыми шлюзами. Данные, как правило, поступают от различных сайтов в общедоступной сети в облачную систему анализа и контроля данных, являющейся федерацией таких систем. В ряде случаев облачный шлюз может предоставлять прямой доступ к специализированным устройствам с таких терминалов, как планшетные ПК и телефоны. В рамках этой статьи термином «облако» обозначается специализированная система обработки данных, которая не привязана к тому же сайту, что и подключенные устройства или полевые шлюзы. В зоне облака также можно реализовать оперативные меры по предотвращению намеренного физического доступа. Эта зона может не предоставляться в рамках инфраструктуры общедоступного облака.
Облачный шлюз можно сопоставить с наложением виртуализации сети, чтобы изолировать облачный шлюз и все подключенные к нему устройства или полевые шлюзы от любого сетевого трафика. Сам по себе облачный шлюз не является ни системой управления устройством, ни системой обработки или хранения данных устройства, однако шлюз взаимодействует со всеми указанными системами. Зона облачного шлюза содержит сам облачный шлюз, а также все полевые шлюзы и устройства, которые напрямую или опосредованно подключены к нему. Переход зоны представляет собой четко обозначенную контактную зону, посредством которой осуществляется взаимодействие со всеми внешними участниками обмена данными.
Зона служб
Служба определяется в контексте этой статьи как любой программный компонент или модуль, который взаимодействует с устройствами посредством полевого или облачного шлюза, выполняя сбор и анализ данных, а также осуществляя контроль и отправку команд. Службы выполняют роль медиаторов. Используя собственное удостоверение, службы взаимодействуют со шлюзами и другими подсистемами, осуществляют хранение и анализ данных, автономную отправку команд на устройства с учетом оперативных данных или расписаний, а также предоставляют авторизованным конечным пользователям требуемую информацию и инструменты контроля.
Сравнение информационных и специализированных устройств
Компьютеры, телефоны и планшетные ПК в основном относятся к интерактивным информационным устройствам. Телефоны и планшетные ПК оптимизированы для максимально продолжительной автономной работы от аккумулятора. На таких устройствах возможно частичное отключение функций на тот период, пока пользователь не использует устройство для воспроизведения музыки, GPS-навигации и т. д. С точки зрения системы, такие информационные устройства выполняют роль прокси при взаимодействии с пользователями. Это «привод пользователя», если речь идет о действиях, и «датчик пользователя», если мы говорим о сборе входных данных.
К специализированным относится множество различных устройств — от обычных температурных датчиков до сложнейших заводских производственных линий, состоящих из тысяч самых разных компонентов. Эти устройства ориентированы на более широкое применения. И даже если для них предусмотрен пользовательский интерфейс, они все равно выполняют широкий спектр функций взаимодействия или интеграции с ресурсами в физическом мире. Они анализируют состояние окружающей среды и создают соответствующие отчеты, включают и отключают клапаны, управляют серводвигателями, активируют звуковые оповещения, включают и отключают свет, а также выполняют еще массу различных задач. Они помогают выполнять ту работу, для которой спектр задач информационных устройств слишком универсален, либо такие устройства слишком дороги, имеют слишком большой размер или недостаточно прочны. Техническая конструкция устройства определяется непосредственно конкретной задачей, а также доступным бюджетом, выделенным для производства, и запланированным сроком эксплуатации. Сочетание этих двух факторов ограничивает бюджет, выделяемый на энергоснабжение в процессе эксплуатации. Ограничиваются также физическое воздействие и доступные ресурсы хранения, вычисления и безопасности.
Если что-то случается с автоматизированными или удаленно управляемыми устройствами, например, физическая поломка или неполадки в логике управления, это может привести к преднамеренному несанкционированному вторжению и мошенническим действиям. Производственная партия может быть уничтожена, здание может быть ограблено или сожжено дотла, люди могут пострадать или даже погибнуть. Это, конечно, совершенно другая категория ущерба, которая значительно отличается от банального опустошения украденной кредитной карты. К устройствам, которые приводят в движение вещи и предметы, а также к данным датчиков, которые впоследствии преобразуются в команды, приводящие в движение различные вещи и предметы, должны предъявляться более высокие требования безопасности, чем к любым коммерческим или банковским системам.
Управление устройством и взаимодействие с данными на устройстве
Подключенные специализированные устройства содержат множество точек потенциального взаимодействия, которые необходимо учесть при разработке адекватной системы защиты цифрового доступа к этим устройствам. Термином «цифровой доступ» обозначаются все операции, выполняемые путем прямого взаимодействия с устройством, если безопасность обеспечивается с помощью физического контроля доступа. Например, можно поместить устройство в помещение, закрывающееся на замок. Хотя физический доступ нельзя запретить программными и аппаратными средствами, все равно можно принять определенные меры, чтобы предотвратить проникновение в систему путем физического доступа.
При изучении различных механизмов взаимодействия мы должны в равной степени уделять внимание управлению устройством и данным на устройстве. Управление устройством можно понимать как любую информацию, которая предоставляется устройству любым участником обмена данными с целью повлиять на поведение устройства таким образом, чтобы изменить его состояние или состояние его среды. Данные на устройстве — это информация, которую создает само устройство и предоставляет другому участнику обмена данными. Это сведения о состоянии устройства и зарегистрированное состояние его среды.
Эталонная архитектура Azure IoT: моделирование рисков
Microsoft использует описанную выше концепцию для моделирования рисков в Azure IoT. В следующем разделе мы приведем конкретный пример эталонной архитектуры Azure IoT, чтобы продемонстрировать принципы моделирования рисков в среде IoT и устранить обнаруженные угрозы. В данном случае мы выделим четыре основных области:
- Устройства и источники данных.
- Транспортировка данных.
- Устройства и обработка событий.
- Представление.
На следующей схеме упрощенно представлена референсная архитектура IoT от Microsoft. Для демонстрации мы используем модель схемы потока данных, которая также используется инструментом моделирования рисков Microsoft.
Важно понимать, что в пределах архитектуры функциональные возможности устройства и шлюза отличаются. Таким образом, пользователь сможет эффективно использовать более надежные и безопасные шлюзы. Шлюзы поддерживают обмен данными с облачным шлюзом посредством защищенных протоколов; для этого обычно требуется больший объем обработки служебных данных, чем может предоставить собственное устройство (например, термостат). Предполагается, что в зоне служб Azure роль облачного шлюза выполняет служба Azure IoT Hub.
Устройства и источники данных/транспортировка данных
В этом разделе рассматривается описанная выше архитектура в контексте моделирования рисков, а также представлены решения различных сопутствующих проблем. Мы подробно рассмотрим ряд ключевых элементов модели рисков:
- Процессы (управляемые пользователем, а также внешние элементы).
- Обмен данными (так называемый поток данных).
- Хранение (так называемые хранилища данных).
Процессы
В каждой из категорий, выделенных в архитектуре Azure IoT, мы стараемся снизить различные риски на разных этапах существования данных (информации): процесс, обмен данными и хранение. Далее представлен обзор наиболее распространенных рисков для категории «процесс». Затем мы расскажем о том, как можно снизить эти риски.
Подделка (Spoofing). Злоумышленник может извлечь из устройства материал криптографического ключа (на программном или аппаратном уровне) и получить доступ к системе с другого физического или виртуального устройства, используя удостоверение того устройства, из которого извлечен этот материал. Самым ярким примером можно считать пульт дистанционного управления, с помощью которого можно включить любой телевизор, — им часто пользуются любители розыгрышей.
Отказ в обслуживании (Denial of Service). Устройство может быть выведено из строя или исключено из процесса передачи данных из-за радиопомех или простым перерезанием проводов. Например, камера системы видеонаблюдения, намеренно отключенная от питания и от сети, не будет передавать никаких данных
Незаконное изменение (Tampering). Злоумышленник может полностью или частично заменить программное обеспечение, работающее на устройстве. При этом ПО, установленное вместо исходного, сможет использовать подлинное удостоверение устройства при наличии доступа к материалу ключа или криптографическим данным, содержащим материал ключа. Например, злоумышленник может использовать извлеченный материал ключа для перехвата и блокировки данных, поступающих от устройства по коммуникационному пути, и заменять их ложными данными, для которых выполняется проверка подлинности с использованием украденного материала ключа.
Раскрытие информации (Information Disclosure). Если на устройстве установлено мошенническое ПО, это может стать причиной утечки данных и их передачи неавторизованным пользователям. Например, злоумышленник может использовать полученный материал ключа, чтобы проникнуть в коммуникационный путь между устройствами и контроллером или полевым/облачным шлюзом и начать вывод данных.
Повышение привилегий (Elevation of Privilege). Устройство, выполняющее конкретную функцию, можно принудительно заставить выполнять какие-то другие действия. Например, клапан, запрограммированный на открытие на 180 градусов, можно нелегитимно настроить для полного открытия.
Компонент | Угроза | Снижение рисков | Риск | Реализация |
---|---|---|---|---|
Устройство | Spoofing | Назначение удостоверений и проверка подлинности устройств | Полная или частичная замена устройства другим устройством Как определить легитимность устройства? | Проверка подлинности устройства с использованием протоколов TLS или IPSec. Инфраструктура должна поддерживать использование общего ключа на тех устройствах, где обработка асимметричного шифрования не поддерживается. Использование Azure AD, OAuth |
TRID | Можно применить на устройстве механизмы защиты от незаконного изменения, чтобы осложнить получение ключей и другого криптографического материала или сделать это полностью невозможным | Однако существует риск физического незаконного изменения устройства. Каким образом можно защитить устройство от незаконного изменения? | Самый эффективный способ снизить риск такой угрозы — использовать доверенный платформенный модуль, который позволяет хранить ключи в специальной встроенной микросхеме. Данные на такой схеме невозможно считать, однако их можно использовать для операций шифрования, которые задействуют ключ, не раскрывая его. Шифрование памяти устройства. Управление ключами на устройстве. Подписывание кода | |
Elevation of Privilege | Получение контроля за доступом к устройству. Схема авторизации | Если для устройства разрешено выполнение отдельных действий в соответствии с командами, полученными из внешнего источника или даже от скомпрометированных датчиков, то это позволит злоумышленникам выполнять операции, которые в ином случае были бы недоступны | Получение схемы авторизации для устройства | |
Полевой шлюз | Spoofing | Проверка подлинности полевого шлюза при взаимодействии с облачным шлюзом (на основе сертификата, общего ключа, утверждения и так далее) | Если злоумышленнику удастся незаконно изменить полевой шлюз, он сможет выдать себя за любое устройство | TLS RSA/общий ключ, IPSe, RFC 4279. Рекомендации по хранению ключей и аттестации остаются теми же — в целях поддержки беспроводных сенсорных сетей (WSN) рекомендуется использовать расширение TPM. 6LowPAN для IPSec |
TRID | Защитить полевой шлюз от незаконного изменения (доверенный платформенный модуль)? | Атаки с применением подделки данных, в результате которых облачный шлюз ошибочно считает, что осуществляет обмен данными с полевым шлюзом, приводят к раскрытию информации и незаконному изменению данных | Шифрование памяти, доверенные платформенные модули, проверка подлинности | |
Elevation of Privilege | Механизм управления доступом к полевому шлюзу |
Далее мы приведем несколько примеров угроз, относящихся к этой категории.
Подделка. Злоумышленник может извлечь из устройства материал криптографического ключа (на программном или аппаратном уровне) и получить доступ к системе с другого физического или виртуального устройства, используя удостоверение того устройства, из которого извлечен этот материал.
Отказ в обслуживании. Устройство может быть выведено из строя или исключено из процесса передачи данных из-за радиопомех или простым перерезанием проводов. Например, камера системы видеонаблюдения, намеренно отключенная от питания и от сети, не будет передавать никаких данных.
Незаконное изменение. Злоумышленник может полностью или частично заменить программное обеспечение, работающее на устройстве. При этом ПО, установленное вместо исходного, сможет использовать подлинное удостоверение устройства при наличии доступа к материалу ключа или криптографическим данным, содержащим материал ключа.
Незаконное изменение. Камера видеонаблюдения, которая транслирует в видимом спектре изображение пустого вестибюля, может на самом деле показывать просто статичную фотографию этого вестибюля. Датчик дыма или пожарный извещатель может сработать, если кто-то просто поднесет к нему зажженную спичку. В любом случае, устройство может быть физически полностью надежным, но при этом сообщать системе ложную информацию, отправленную мошенниками.
Незаконное изменение. Например, злоумышленник может использовать извлеченный материал ключа для перехвата и блокировки данных, поступающих от устройства по коммуникационному пути, и заменять их ложными данными, для которых выполняется проверка подлинности с использованием украденного материала ключа.
Незаконное изменение. Злоумышленник может полностью или частично заменить программное обеспечение, работающее на устройстве. При этом ПО, установленное вместо исходного, сможет использовать подлинное удостоверение устройства при наличии доступа к материалу ключа или криптографическим данным, содержащим материал ключа.
Раскрытие информации. Если на устройстве установлено мошенническое ПО, это может стать причиной утечки данных и их передачи неавторизованным пользователям.
Раскрытие информации. Например, злоумышленник может использовать извлеченный материал ключа, чтобы проникнуть в коммуникационный путь между устройствами и контроллером или полевым/облачным шлюзом и начать вывод данных.
Отказ в обслуживании. Устройство можно выключить или перевести в режим, в котором обмен данными невозможен (это специально делается на многих производственных установках).
Незаконное изменение. Конфигурацию устройства можно изменить, чтобы присвоить ему состояние, неизвестное системе управления (вне диапазона известных параметров калибровки). Таким образом, с устройства могут поступать данные, которые будут интерпретированы неверно.
Повышение привилегий. Устройство, выполняющее конкретную функцию, можно принудительно заставить выполнять какие-то другие действия. Например, клапан, запрограммированный на открытие на 180 градусов, можно нелегитимно настроить для полного открытия.
Отказ в обслуживании. Устройство можно перевести в состояние, при котором обмен данными невозможен.
Незаконное изменение. Конфигурацию устройства можно изменить, чтобы присвоить ему состояние, неизвестное системе управления (вне диапазона известных параметров калибровки). Таким образом, с устройства могут поступать данные, которые будут интерпретированы неверно.
Подделка/незаконное изменение/искажение смысла. Если устройство не защищено (например, для пультов дистанционного управления редко используется какая-либо защита), то злоумышленник сможет анонимно изменять состояние устройства. Самым ярким примером можно считать пульт дистанционного управления, с помощью которого можно включить любой телевизор — им часто пользуются любители розыгрышей.
Обмен данными
Угрозы, связанные с коммуникационным путем передачи данных между различными устройствами, между устройствами и полевыми шлюзами, а также между устройствами и облачным шлюзом. В следующей таблице представлены рекомендации по настройке открытых сокетов на устройстве/VPN.
Компонент | Угроза | Снижение рисков | Риск | Реализация |
---|---|---|---|---|
Служба IoT Hub на устройстве | TID | (D)TLS (общий ключ/RSA) для шифрования трафика | Прослушивание или вмешательство в обмен данными между устройством и шлюзом | Безопасность на уровне протокола. Если используются настраиваемые протоколы, то для них необходимо настроить оптимальный способ защиты. В большинстве случаев обмен данными осуществляется в направлении от устройства к службе IoT Hub (соединение инициируется устройством) |
Устройство // Устройство | TID | (D)TLS (общий ключ/RSA) для шифрования трафика | Чтение данных в процессе передачи между устройствами. Незаконное изменение данных. Перегрузка устройства новыми соединениями | Безопасность на уровне протокола (HTTP(S)/AMQP/MQTT/CoAP). Если используются настраиваемые протоколы, то для них необходимо настроить оптимальный способ защиты. Чтобы снизить риск DOS-атаки, можно настроить одноранговую связь для устройств, используя облачный или полевой шлюз, который сконфигурирован только как клиент в сети. В этом случае между одноранговыми устройствами может быть установлена прямая связь уже после шлюза, выступающего в роли посредника |
Устройство // Внешний объект | TID | Устойчивое связывание внешнего объекта с устройством | Прослушивание соединения с устройством. Вмешательство в обмен данными с устройством | Безопасное связывание внешнего объекта с устройством NFC/Bluetooth LE. Управление рабочей панелью устройства (физическое) |
Полевой шлюз // Облачный шлюз | TID | TLS (общий ключ/RSA) для шифрования трафика | Прослушивание или вмешательство в обмен данными между устройством и шлюзом | Безопасность на уровне протокола (HTTP(S)/AMQP/MQTT/CoAP). Если используются настраиваемые протоколы, то для них необходимо настроить оптимальный способ защиты |
Устройство // Облачный шлюз | TID | TLS (общий ключ/RSA) для шифрования трафика | Прослушивание или вмешательство в обмен данными между устройством и шлюзом | Безопасность на уровне протокола (HTTP(S)/AMQP/MQTT/CoAP). Если используются настраиваемые протоколы, то для них необходимо настроить оптимальный способ защиты |
Далее мы приведем несколько примеров угроз, относящихся к этой категории.
Отказ в обслуживании. Устройства с ограничениями, как правило, подвержены риску DOS-атаки во время активного прослушивания входящих соединений или приема по сети незапрошенных датаграмм: злоумышленники могут создавать многочисленные параллельные соединения, не обслуживая их вовсе или обслуживая очень медленно. На устройство также может непрерывно отправляться огромный объем незапрошенного трафика. В обоих случаях устройство будет восприниматься сетью как нерабочее.
Подделка, раскрытие информации. Устройства с ограничениями и специализированные устройства зачастую используют универсальные инструменты безопасности (например, защиту паролем или PIN-кодом) либо полностью полагаются на доверие к сети (то есть устройство предоставляет доступ к информации, если запрашивающее устройство находится в той же сети, причем сеть зачастую защищена только общим ключом). Иными словами, в момент раскрытия секретного ключа устройства или ключа сети можно перехватить управление устройством либо получить доступ к данным, отправленным с устройства.
Подделка. Злоумышленники могут перехватывать и частично переопределять трансляцию данных, а также подделывать отправителя (посредника).
Незаконное изменение. Злоумышленники могут перехватывать или частично переопределять трансляцию данных, а также отправлять ложную информацию.
Раскрытие информации. Злоумышленники могут прослушивать трансляцию данных и получать информацию без надлежащей авторизации.
Отказ в обслуживании. Злоумышленники могут препятствовать прохождению сигнала трансляции данных и блокировать рассылку информации.
Хранение
На всех устройствах и на полевом шлюзе предусмотрено хранилище (временное хранилище для создания очереди данных, хранения образа ОС).
Компонент | Угроза | Снижение рисков | Риск | Реализация |
---|---|---|---|---|
Хранилище на устройстве | TRID | Шифрование хранилища, подписывание журналов | Чтение данных из хранилища (данные PII), незаконное изменение данных телеметрии. Незаконное изменение управляющих данных команд, помещенных в очередь или кеш. При незаконном изменении конфигурации или пакетов обновления встроенного ПО во время кеширования или помещения в локальную очередь компоненты ОС и (или) системы могут быть скомпрометированы | Шифрование, код проверки подлинности сообщения (MAC) или цифровая подпись. По возможности рекомендуется строго контролировать доступ с помощью списков управления доступом (ACL) или разрешений |
Образ ОС устройства | TRID | Незаконное изменение ОС/замена компонентов ОС | Раздел ОС со свойством «только чтение», подписанный образ ОС, шифрование | |
Хранилище на полевом шлюзе (создание очереди данных | TRID | Шифрование хранилища, подписывание журналов | Чтение данных из хранилища (данные PII), незаконное изменение данных телеметрии, незаконное изменений управляющих данных команд, помещенных в очередь или в кеш. При незаконном изменении конфигурации или пакетов обновления встроенного ПО (предназначенных для устройств или полевого шлюза) во время кеширования или помещения в локальную очередь компоненты ОС и (или) системы могут быть скомпрометированы | BitLocker |
Образ ОС полевого шлюза | TRID | Незаконное изменение ОС/замена компонентов ОС | Раздел ОС со свойством «только чтение», подписанный образ ОС, шифрование |
Обработка устройств и событий/зона облачного шлюза
Облачный шлюз представляет собой систему для удаленного обмена данными между различными устройствами и полевыми шлюзами. Данные, как правило, поступают от различных сайтов в общедоступной сети в облачную систему анализа и контроля данных, являющейся федерацией таких систем. В ряде случаев облачный шлюз может предоставлять прямой доступ к специализированным устройствам с таких терминалов, как планшетные ПК и телефоны. Напоминаем, что в рамках этой статьи термином «облако» обозначается специализированная система обработки данных, которая не привязана к тому же сайту, что и подключенные устройства или полевые шлюзы, и в которой реализованы оперативные меры по предотвращению намеренного физического доступа. При этом такая система может не предоставляться в рамках инфраструктуры общедоступного облака. Облачный шлюз можно сопоставить с наложением виртуализации сети, чтобы изолировать облачный шлюз и все подключенные к нему устройства или полевые шлюзы от любого сетевого трафика. Сам по себе облачный шлюз не является ни системой управления устройством, ни системой обработки или хранения данных устройства, однако шлюз взаимодействует со всеми указанными системами. Зона облачного шлюза содержит сам облачный шлюз, а также все полевые шлюзы и устройства, которые напрямую или опосредованно подключены к нему.
Облачный шлюз, как правило, представляет собой настраиваемый программный элемент (например, службу с предоставленными конечными точками, к которой могут подключаться полевой шлюз и устройства). Таким образом, при проектировании следует учитывать все требования безопасности. При проектировании и конструировании этой службы рекомендуется использовать процедуру SDL.
Зона служб
Система управления (контроллер) — это программное решение, которое взаимодействует с устройством, полевым шлюзом или облачным шлюзом, управляя одним или несколькими устройствами и (или) осуществляя сбор, хранение либо анализ данных устройства для презентации или последующего использования для целей управления. Системы управления — единственные объекты, рассматриваемые в этой статье, которые позволяют упростить взаимодействие с пользователями. Исключением являются промежуточные контрольные поверхности на устройствах, например, переключатель, с помощью которого пользователь может выключать устройство или изменять другие его свойства, и для которого не предусмотрено функциональных эквивалентов, доступных с помощью инструментов цифрового доступа.
Промежуточными физическими контрольными поверхностями называются те физические контрольные поверхности, для которых управляющая логика ограничивает удаленный запуск аналогичной функции и предотвращает конфликт входных данных с данными удаленного ввода. Эти промежуточные контрольные поверхности, по сути, подключены к локальной системе управления, использующей те же базовые функции, что и другая система удаленного управления, к которой устройство может быть подключено параллельно. Перечень самых распространенных рисков для облачных вычислений см. на странице Cloud Security Alliance (CSA).
Полезные материалы
1. Обзор функций прогнозного обслуживания в предварительно настроенных решениях.
2. Azure IoT Suite: часто задаваемые вопросы.
3. Аккаунт автора материала на GitHub.
Если вы увидели неточность перевода, сообщите, пожалуйста, об этом в личные сообщения.
Автор: Microsoft