Информационная безопасность устройств IoT c использованием аппаратной поддержки
Интернет вещей, IoT, Internet of Things — сеть электронных устройств, оснащенных встроенными технологиями для взаимодействия друг с другом и внешней средой. Концепция IoT стала неотъемлемой частью нашей повседневной жизни, предоставляя пользователям уникальные возможности, начиная с решений в области домашней автоматизации и заканчивая медицинскими устройствами. Сверхскоростные беспроводные сети и современная электронная база позволяет IoT устройствам эффективно и без особых проблем собирать, обрабатывать и передавать большие массивы данных. Передовые достижения в области микроэлектроники в купе с низким энергопотреблением сделали еще более возможным использование IoT устройств в отдаленных местах, требующих минимального физического наблюдения и обслуживания. Хотя устройства IoT кажутся безвредными, они не лишены проблем с безопасностью и конфиденциальностью, поскольку в современной структуре IoT существует множество угроз и уязвимостей.
Уязвимости в области безопасности Интернета вещей приводят к возникновению бесчисленных угроз и атак, которые потенциально могут поставить под угрозу критически важные объекты инфраструктуры и даже национальную безопасность, вызвать физические и финансовые потери и многое другое. Ежеквартальный отчет компании McAfee об угрозах в сфере информационной безопасности сообщает, что каждую минуту появляется 176 новых киберугроз. Недавняя DDoS-атака на недорогие устройства Интернета вещей, основанная на Mirai-ботнете, за четыре месяца заразила более 2,5 миллионов устройств. Ожидается, что объем атак с использованием различных уязвимостей безопасности вырастет еще больше. На конец 2020 года большая часть из 26 миллиардов IoT устройств не предлагает адекватных мер безопасности для защиты от постоянно растущего пула кибератак и угроз. Кроме того, простота большинства веб-интерфейсов, использующихся в IoT устройствах, делает их довольно уязвимыми перед удаленными атаками. Несмотря на то, что были предложены эффективные методы повышения безопасности для сети устройств, большинство из них не подходят ввиду скромных вычислительных мощностей последних. Более того, большинство таких решений использует программное обеспечение, которое имеет свой собственный набор проблем и уязвимостей. Следовательно, крайне важно изучить и, если возможно, использовать аппаратную поддержку совместно с программой защитой устройств IoT, чтобы предотвратить непредвиденные угрозы.
Угрозы для устройств интернета вещей
Перед разработкой и внедрением защитных решений против различных атак на IoT устройства, очень важно понимать, какими возможностями обладает атакующий и какие цели преследует. Злоумышленник может получить физический доступ к простым и недорогим устройствам, регулярный мониторинг и постоянная защита которых не всегда может быть практически и финансово осуществимы. Физический контроль над такими устройствами открывает возможности для атак по сторонним каналам, включения аппаратных ошибок и троянов, а также замены поддельными устройствами. В этой статье мы рассмотрим лишь кибератаки, осуществляемые через программное обеспечение и сеть. Основной целью кибератак является искажение выходных данных (и последующих действий из-за неправильных данных) устройства, либо нарушение текущих процессов (отказ в обслуживании), либо раскрытие любой секретной информации, хранящейся на устройстве, такой как секретные ключи и пароли. Современные устройства собирают массивы данных о своих пользователях. Некоторым из них для работы требуется не только пароль, но и имя пользователя, его контактная информация, сведения о биографии. Такое количество информации требует надежной и качественной защиты, однако на данный момент IoT не может похвастаться защищенностью. Как показано на рис. 1, устройство IoT может подвергнуться атакам следующих типов:
Рис. 1. Атаки на устройства IoT и аппаратные методы их предотвращения
Вредоносное ПО
Современные устройства Интернета вещей могут быть заражены различными вредоносными программами на разных этапах своей работы. В большинстве случаев вредоносное ПО (вирусы, трояны и черви) обычно нацелено на локальную эксплуатацию и эксплуатацию на уровне операционной системы в зависимости от сложности атаки и её выполнения. Основная задача вредоносного ПО заключается в том, чтобы нарушить текущие операции и перехватить контроль над устройством. Самым распространённым оружием злоумышленников являются руткиты (наборы утилит, которые хакер устанавливает на взломанном им устройстве после получения первоначального доступа, позволяющий хакеру закрепиться во взломанной системе и скрыть следы своей деятельности). Они предоставляют хакерам постоянный привилегированный доступ к системе, активно скрывая свое присутствие. Тем самым злоумышленник овладевает всей вычислительной мощностью и данными устройства, а также может размещать невидимые пользователям драйверы и службы. Кроме того, устройства Интернета вещей могут стать жертвой атак типа «отказ в обслуживании» (DoS) или распределенного отказа в обслуживании (DDoS), которые с каждым днем становятся серьезной проблемой. Такое уязвимое устройство может работать как бот (или «зомби») для заражения других допустимых устройств в сети или потреблять пропускную способность сети и вычислительную мощность устройств, предоставляя злоумышленнику дополнительные ресурсы. Цифры дают возможность лучше оценить масштабы кибернетических атак на умные устройства. Сотрудники «Лаборатории Касперского» с начала 2019 года регистрируют хакерские атаки на умные девайсы с помощью ханипотов — спецприманок для хакеров. Им удалось зафиксировать более 105 миллионов атак на IoT-устройства, которые производились с 276 тысяч уникальных IP-адресов.
Раскрытие закрытого ключа
Получение доступа к закрытому ключу (используемому для шифрования) и/или личной информации, хранящейся на устройстве IoT, является лакомым кусочком для злоумышленника, поскольку это позволяет скомпрометировать «корень доверия» систем. Это позволяет злоумышленнику получить контроль над процессами связи, захватить вычислительные мощности устройства, и самое важное — конфиденциальную информацию.
Программно-управляемый ввод неисправностей
Другой класс атак на IoT устройства — это программная вставка сбоев в аппаратное обеспечение во время работы устройства. Несмотря на то, что этот тип атак относительно сложен, так как требует глубоких знаний аппаратного обеспечения, зависящего от платформы, а также базового программного обеспечения, средство от такой атаки очень сложно реализовать. Поскольку этот класс атак ищет и использует незначительные уязвимости в оборудовании, бесполезно использовать чисто программные защитные механизмы.
Разумеется существуют эффективные программные решения для смягчения существующих проблем безопасности IoT устройств. Однако сложные атаки и киберугрозы не всегда можно предотвратить с помощью таких программных методов, потому что:
Программный механизм защиты, используемый в устройстве IoT, сам по себе может быть уязвим для удаленных атак. Кроме того, он не обязательно имеет широкую защиту, часто его можно обойти и взломать без ведома пользователя. Например, атака DoubleAgent скомпрометировала многие известные антивирусные программы, что привело к нарушению информационной целостности устройств.
Программные решения требуют регулярных обновлений и исправлений, в то время как вредоносное ПО постоянно развивается и эволюционирует. К тому же, обновление ПО множества удаленных IoT устройств не всегда физически реализуемо. Поэтому необходимо придерживаться концепции «поставил и забыл». В этом могут хорошо себя зарекомендовать аппаратные решения.
Аппаратные методы безопасности
Аппаратная безопасность стала многообещающей альтернативой чисто программному механизму защиты, поскольку последний сам по себе не обеспечивает уровень безопасности, необходимый для современных IoT устройств. Аппаратные системы безопасности используют hardware-модули и могут собирать информацию о микроархитектуре для анализа преобладающих угроз и уязвимостей на программном уровне. Как показано на рисунке 1, аппаратные методы обеспечивают широкий спектр решений для безопасных и надежных приложений IoT. Разберём каждый из них.
Использование аппаратных средств безопасного создания ключей шифрования
Одним из основных требований для выполнения защищенной информационной транзакции между устройствами IoT через ненадежную сеть является использование надежной и безопасной схемы управления ключами и обработки данных на оборудовании. В этом отношении хорошо зарекомендовали себя Trusted Platform Module (TPM- название спецификации, описывающей криптопроцессор, в котором хранятся криптографические ключи для защиты информации, а также обобщённое наименование реализаций указанной спецификации). Такие TPM позволяют использовать криптографические ключи, которые могут быть привязаны к определенным параметрам платформы и защищены от раскрытия любым другим ненадежным аппаратным компонентом, процессом или программным обеспечением. Микросхемы с дискретным TPM (dTPM) и модули пластиковых печатных плат могут предложить больший охват услуг, позволяя совместно использовать ресурсы между несколькими приложениями на одной физической машине. Кроме того, архитектуры с поддержкой ARM TrustZone и Intel Software Guard Extension (SGX) добавляют новые функции в современные SoC (system on a chip), предоставляя надежную и безопасную среду для выполнения критически важных для безопасности процессов, даже несмотря на то, что привилегированное ядро и программное обеспечение потенциально вредоносны. С другой стороны, криптозащищенные процессоры, такие как AEGIS и Ascend, используют однокристальную архитектуру для обеспечения частной и аутентичной обработки с зашифрованным и запутанным выполнением инструкций. Однако такие конструкции в основном обеспечивают защиту от физических атак, таких как вмешательство и зондирование внутренних компонентов, и не обеспечивают защиту от киберугроз в случае компрометации самой программы.
Рис. 2. Модуль TPM от Gigabyte
Микроархитектурный мониторинг событий
Хотя TPM и прочие системы криптографической устойчивости предлагают надежную среду для приложений, чувствительных к безопасности, такое оборудование, как правило, дорогое, энергоемкое и не подходит для легких и недорогих IoT устройств. Кроме того, вредоносные программы, такие как вирусы, трояны и боты, могут незаметно заражать устройства в обход таких систем, если сеть недостаточно защищена. Непосредственно после заражения очень сложно обнаружить вредоносное ПО, так как оно может обойти антивирусные программы на устройстве. В таких случаях может помочь аппаратный мониторинг событий микроархитектуры и SIEM-системы (Security information and event management). Он предлагает тонкую фильтрацию для отдельных запусков, может собирать многомерную информацию и обеспечивает более быстрый отклик, чем программные аналоги для защиты от вредоносных программ.
Сердцем таких аппаратных мониторов являются блоки мониторинга производительности (PMU), доступные в современных процессорах и SoC.Основная цель PMU — предоставить представление о производительности ЦП путем регистрации набора микроархитектурных событий и соответствующих подсчетов с помощью встроенных аппаратных счетчиков производительности (HPC). Например, один или несколько HPC в PMU могут определять, сколько раз заранее определенное событие (разрешенное соответствующей архитектурой), такое как промахи кэша, происходит во время выполнения программы, что служит для оценки производительности тестируемой системы. PMU в архитектурах ARM и Intel x86 можно управлять через программные модули, такие как Linux Perf tool. Он предоставляет обратную связь в режиме реального времени для диагностики ошибок или выявления узких мест в программном обеспечении. Первоначально PMU был разработан для мониторинга производительности, но его также разумно использовать в SIEM-системах, что существенно ускоряет обработку инцидентов, связанных с информационной безопасностью, а также помогает обнаруживать атаки и другие угрозы для элементов инфраструктуры. Еще одно преимущество состоит в том, что, будучи интегрированной частью оборудования, PMU работает прозрачно для любого программного обеспечения, запущенного на процессоре, и не может быть обмануто внешним вредоносным ПО. То есть сам аппаратный монитор не обращает внимания на процессы. Поскольку любое вредоносное ПО или даже модифицированная прошивка или руткит должны выполнять определенные действия, мониторинг событий PMU потенциально способен обнаруживать такие вредоносные действия.
Разработчики из NYU Polytechnic School of Engineering, Brooklyn, New York, USA предложили основанную на хосте структуру обнаружения DDoS-атак под названием BRAIN (BehavioR based Adaptive Intrusion detection in Networks). Он использует аппаратные функции для моделирования безопасного поведения и DDoS-атак. Чтобы обнаружить DDoS-атаки, он использует методы машинного обучения для моделирования поведения приложений и сетевой статистики. Поскольку корреляция между статистикой сети и приложений с данными HPC нетривиальна, необходимо выбирать аппаратные события с высокой точностью. Авторы предложили реализовать интегрированный механизм обнаружения DDoS-атак (DDoSDE), который отслеживает поведение как оборудования, так и сети. Интерфейс предотвращения DDoS-атак (DDoSPI) реагирует на любую обнаруженную атаку, занося IP-адреса в черный список (и удаляя при необходимости) на основе динамической сети и порогового значения на основе HPC, тем самым мешая злоумышленнику изучить критерии и политики безопасности устройств.
Повышение безопасности с помощью методов машинного обучения
Одним из основных препятствий для использования мониторинга событий микроархитектуры является то, что одно и то же событие микроархитектуры может происходить аналогичным образом (то есть подсчет частоты и профиль события) во время допустимой операции и, следовательно, это может не быть очевидным индикатором для пометки конкретного софта как вредоносного. Для решения этой проблемы исследователи разработали различные методы машинного обучения, позволяющие изучать и различать такие события, а также идентифицировать любой вид аномалии с более высокой точностью обнаружения и меньшим количеством ошибок. Два основных требования к таким методам:
Выбор высокоточных микроархитектурных функций для сбора событий с помощью высокопроизводительных вычислений
Выбор эффективных методов машинного обучения для задач классификации и регрессии
Для удовлетворения этих требований необходимо разработать архитектуру, анализирующую данные о поведении системы, полученных от HPC. Ключевые наблюдения для построения такой структуры заключаются в следующем. Во-первых, семантика программы существенно не меняется даже если злоумышленник попытается её реструктурировать. Во-вторых, при выполнении той или иной задачи существуют подзадачи, которые нельзя радикально изменять. Основываясь на данных предположениях, блок обнаружения аномалий на основе машинного обучения должен выполнять следующие задачи (см рис.)
Рис. 3. Фазы обучения и наблюдения
Сбор данных
На этом этапе алгоритм решает, какие данные о микроархитектурных событиях необходимо собрать и как механизм обнаружения должен хранить и обрабатывать собранную информацию.
Анализ данных
Этот этап определяет вредоносное поведение (если таковое имеется) путем анализа данных. Классификаторы машинного обучения используются для обучения, тестирования и проверки корреляции между собранными данными и ненадежным поведением.
Приём решения
На этом этапе принимаются меры при обнаружении угрозы. Это может быть сообщение пользователю о потенциальной угрозе, завершение подозрительных процессов, или более критическое события , например отключение всего устройства для защиты данных и системы.
Модуль обнаружения уязвимостей периодически получает информацию HPC от целевого модуля, на котором работает ненадежная программа или вредоносное ПО. Архитектура системы должна позволять модулю обнаружения работать с наивысшим уровнем привилегий и независимо от любой другой программы. Кроме того, она должна предоставлять доступ к физической памяти для хранения данных HPC и иметь изолированную память, чтобы сам модуль обнаружения не был поврежден. Объем памяти, необходимый для хранения данных машинного обучения, сильно различается в зависимости от типа классификатора, используемого для анализа, что требует дополнительной места в памяти и вычислительной мощности. Как можно понять, точность используемого метода машинного обучения и детальное разрешение дискретизированных данных HPC для выбранных событий играют жизненно важную роль для повышения точности и производительности всей системы обнаружения.
С целью повышения эффективности связки HPC +ML был проведён всесторонний анализ с использованием информации о высокопроизводительных вычислениях во время их выполнения. Он показывает, что программная реализация различных методов машинного обучения на уровне ядра ОС является чрезвычайно медленной, в диапазоне миллисекунд, что достаточно велико по сравнению со временем выполнения вредоносного ПО и выборки данных на аппаратном уровне. Очевидно, что методы классификации на уровне программного обеспечения недостаточно подходят для сбора данных и обнаружения аномалий с высокой степенью уверенности. Следовательно, для более низкой задержки и более высокой точности требуется аппаратная реализация метода машинного обучения. Для этого ML специалисты предоставили свои решения, реализуемые на аппаратных платформах, таких как Virtex 7 для сравнительного анализа. Было обнаружено, что метод OneR был наиболее эффективным классификатором доброкачественных и вредоносных программ с самой высокой точностью и наименьшим использованием вычислительной мощности, а общий успех обнаружения составил около 81%.
Дизассемблеры уровня инструкций на основе побочных каналов
Применение дизассемблера разнообразно — его можно использовать для отслеживания и реконструкции кода, обратного проектирования исходного, совместной аттестации аппаратно-программного обеспечения и, что наиболее важно, для проверки целостности программного обеспечения, работающего на устройстве IoT.
Широко известен такой класс киберугроз, как атака по сторонним каналам. Такие атаки нарушают конфиденциальность криптосистем, используя информацию о протекающих физических процессах в устройстве, например измеряя время выполнения операции, вольт-амперные характеристики, электромагнитное излучение устройства и так далее. Злоумышленники, собирая достаточное количество статистических данных, после определенного анализа могут предположить, какой алгоритм используется в криптосистеме, получить доступ к секретным ключам или внести изменения в алгоритм. Таким образом, злоумышленник с легкостью обходит защиту и овладевает IoT устройством. Но почему бы не использовать данную уязвимость во благо? С тем же самым успехом можно обнаружить, выполняет ли IoT устройство подозрительные инструкции, является оно «зараженным» или нет. Достаточно всего лишь зафиксировать какое-либо физическое отклонение в поведении устройства.
Рис. 4. Атака по энергопотреблению на алгоритм RCA
Исследователи показали, что большинство вредоносного ПО может быть обнаружено с помощью сбоев питания по побочным каналам. Предлагаемая ими система контролирует энергопотребление устройства и использует метод машинного обучения для обнаружения потенциального аномального поведения. Такие методы могут использоваться для аттестации и аутентификации устройств IoT в ненадежной сети.
Также была реализована система мониторинга времени выполнения, использующая электромагнитные излучения (ЭИ) в качестве побочного канала. Она может обнаруживать ненормальное поведение во время выполнения программы, такое как внедрение вредоносного ПО или другого кода, с помощью контролируемых классификаторов машинного обучения. Эта схема не требует определения характеристик вредоносного ПО. Она использует пики в измеренном электромагнитном спектре во время выполнения программы и сравнивает их с золотыми данными фазы обучения. Этот метод потенциально хорошо подходит для мониторинга безопасности IoT и встроенных устройств, поскольку он не требует дополнительных ресурсов на отслеживаемой машине, не требует проводного соединения, как в случае сбора информации о побочном канале питания.
Будущее развитие
Несмотря на то, что вышеупомянутые методы обеспечения безопасности обеспечивают широкий спектр средств защиты для современных IoT устройств, существует несколько проблем и ограничений в отношении эффективности обнаружения и предотвращения внешних угроз программного и аппаратного обеспечения.
Существующее надежное и безопасное оборудование, такое как TPM, обычно требовательно в плане энергопотребления и состоит из множества компонент. Таким образом, адаптация таких устройств и архитектур по принципу plug-and-play не подходит для легких устройств IoT, где процессор менее мощный, а размер устройства и энергозатраты ограничены.
Методы обнаружения вредоносных программ на основе контроля производительности устройства во многом основаны на эффективных и сложных методах машинного обучения, позволяющих различать допустимые и вредоносные операции. Однако такие методы обычно реализуются в программном обеспечении, где данные HPC собираются на оборудовании и передаются в программу для обработки и обнаружения в режиме онлайн / офлайн. Это, к сожалению, создает узкое место в схеме обнаружения, поскольку программная классификация очень медленная по отношению к накопленным аппаратным данным. Это заставляет выборку событий/данных выполняться с гораздо меньшей частотой, повышая риск того, что вредоносные события или исполнения останутся незамеченными. В конечном итоге это снижает вероятность успеха и увеличивает операционные издержки.
Большинство методов машинного обучения, используемых в вышеупомянутых схемах, требуют больших данных для обучения, тестирования и проверки. Схема, основанная на золотом стандарте, полученном при ее обучении, подходит только для известных киберугроз, поскольку позволяет правильно характеризовать вредоносные события на этапе обучения. Следовательно, обнаружение уязвимостей нулевого дня и неизвестных угроз с помощью такой схемы является довольно сложной задачей.
Системы мониторинга Интернета вещей и обнаружения вредоносных программ на основе побочных каналов требуют дополнительного оборудования для сбора и обработки данных. В этом случае самоконтроль может создавать помехи для собранных подписей, или сам блок мониторинга может быть скомпрометирован. Вдобавок ко всему, получение информации о побочном канале питания требует дополнительного проводного подключения к контролируемому устройству. Хотя для электромагнитного мониторинга не требуется проводное соединение, воздействие ЭМ-собирающей антенны и внешние помехи сильно влияют на качество обнаружения. К тому же размещение дополнительного оборудования для мониторинга может оказаться неприемлемым решением для маломощных удаленных устройств Интернета вещей.
Аппаратные решения в области информационной безопасности для устройств IoT прекрасно дополняют существующие программные механизмы защиты. Ключевым направлением исследований может быть создание аппаратных ускорителей для высокоскоростных реализаций машинного обучения на одном чипе с прочим оборудованием. Разработка упрощенных методов машинного обучения также имеет решающее значение для обнаружения вредоносных программ / аномалий на основе распознавания событий. В дополнение к PMU для обеспечения безопасности могут использоваться различные встроенные датчики, такие как датчики температуры, а также новые архитектуры.
Заключение
С появлением устройств Интернета вещей и приложений, ориентированных на Интернет вещей, крайне важно предоставить надежную и безопасную платформу для этой сферы, чтобы обеспечить максимальную защиту от существующих и будущих кибератак. Большинство существующих решений не подходят, поскольку такие методы защиты не обеспечивают широкого и надежного покрытия. Следовательно, необходимо использовать как аппаратные, так и программные решения гибридным образом. Аппаратная защита устройств Интернета вещей доказала свою эффективность и универсальность. Однако нет сомнений в том, что необходимы дальнейшие исследования в области разработки соответствующих механизмов безопасности для легких приложений IoT.