Кибербезопасность на уровне микроконтроллеров

Кибербезопасность на уровне микроконтроллеров

Опубликовано в номере:
PDF версия
Чем более мощным и всеобъемлющим становится Интернет, более совершенными и «умными» — подключаемые к нему компоненты, тем больше открывается областей для их применения. Однако это может привести к критичным последствиям, связанным с нарушением безопасности, что требует принятия соответствующих мер по предотвращению уязвимости. Сердцем и душой сенсорных технологий четвертой промышленной революции «Индустрия 4.0» (Industry 4.0) и «Интернета вещей» (Internet of Things, IoT) являются микроконтроллеры и их программное обеспечение. Именно они в рамках подключенных «умных» фабрик и «умных» домов предлагают огромный потенциал для роста и инноваций в этом бурно развивающемся бизнесе, но в то же время именно они делают системы уязвимыми для внешних атак.

Защитой от манипуляций и кибератак в контексте IoT, Industry 4.0 и робототехники все чаще становятся микроконтроллеры. Некоторые семейства микроконтроллеров уже включают множество функций безопасности. Дело в том, что микроконтроллеры являются основными компонентами в среде управления в подключенных системах. Их поставщики уже используют процессы разработки и сертификацию по соответствующим стандартам безопасности. А поставщики полупроводников также гарантируют, что могут предложить своим клиентам безопасное комплексное решение.

С точки зрения безопасности микроконтроллеры могут быть классифицированы согласно их целевым конечным приложениям:

  • Решения в области аутентификации и доверенные платформенные модули (trusted platform module, TPM), например для защиты как непосредственно самого пользователя, так и сетей IoT.
  • Банковские и идентификационные решения для классических компаний-производителей и эмитентов смарт-карт, используемых в сфере обработки платежей, в качестве персональных идентификаторов, для оплаты услуг транспорта и в системах доставки платного контента для телевидения.
  • Мобильные решения безопасности для решений на базе SIM-карт в мобильных продуктах и приложениях межмашинного взаимодействия — M2M (machine-to-machine).
  • Автомобильные решения для коммуникации ближнего поля (NFC, eSE) и систем обеспечения безопасного вождения.

 

Интегрированные функции защиты данных

Робототехника, IoT и Industry 4.0 в основном используют стандартные микроконтроллеры, созданные для промышленного и бытового применения (их общее название — «микроконтроллеры общего назначения»). Но также уже доступны и модели со встроенными функциями безопасности. Например, семейство микроконтроллеров STM32 (семейство 32-битных микроконтроллеров производства STMicroelectronics), которое имеет множество встроенных функций, обеспечивающих их защиту, в том числе:

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

Эти функции в основном реализуются их интеграцией непосредственно на кристалле микроконтроллера. Они обеспечивают надежную проверку подлинности (верификацию), целостность платформы и постоянную защиту данных, включая защиту конфиденциальности конечных пользователей, а также комплексную защиту данных, IP-адресов и брендинга и отвечают самым высоким требованиям безопасности данных для стандартных продуктов. Типичные целевые приложения таких микроконтроллеров — это, например, принтеры, компьютеры, шлюзы, конечные точки IoT и различные датчики.

 

Функции защиты на аппаратной основе

На аппаратной основе как минимум используется циклический контроль избыточности кода (cyclic redundancy check calculate), то есть вычисляется контрольная сумма, которая выявляет ошибки при передаче или хранении данных. Это не только обеспечивает проверку целостности кода, но и означает, что сигнатура ПО может быть рассчитана во время его работы. Мониторинг питания — еще один метод с высокой степенью защиты. Для определения причины сброса и, таким образом, обеспечения сброса только с помощью аутентифицированного доступа используется система управления статусом флага POR (power on RESET — «включение питания RESET») / PDR (power down RESET — «отключение питания RESET») / BOR (brown out RESET — «снижение питания RESET») / PVD (programmable voltage detector — «программируемый детектор напряжения»). Для эффективного обнаружения манипуляций и ведения журнала все это дополняется функцией «Read while Write» (буквально: «читай во время записи», то есть считывание одного слова во время записи другого слова).

Функциональность CSS (Clock Security System — «система безопасности тактирования») основана на том, что если при использовании внешнего генератора (в микроконтроллерах серии ST32 он обозначен как HSE) в качестве источника тактового сигнала тактовой частоты система не зависнет намертво в неопределенном состоянии, а сможет выполнить какие-то действия, SYSCLK или PLL (система ФАПЧ), произойдет срыв генерации, то CSS автоматически переключит всю систему на работу от встроенного RC-генератора (в микроконтроллерах серии ST32 он обозначен как HSI). Таким образом, если что-то случится с тактовыми сигналами, то можно перевести объект управления микроконтроллером в безопасное состояние. Кроме того, сторожевой таймер (Watchdog) и оконный сторожевой таймер (Window Watchdog) также контролируют временные окна независимо друг от друга.

Целостность и достоверность содержимого памяти обеспечивается проверкой и исправлением ошибок кода (Error Correction Code, ECC) и, как уже было сказано, проверкой четности. Здесь тоже обеспечивается дополнительная защита от атак, направленных на недопущение заражения систем ошибками кода. Кроме того, датчик температуры непрерывно измеряет температуру среды, окружающей микроконтроллер. Это необходимо для того, чтобы убедиться, что она остается в указанном диапазоне, и таким образом избежать риска его повреждения при специальном длительном нагреве.

 

Правильно выполненное шифрование

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

В некоторых сериях микроконтроллеров STM32 для шифрования используется истинный генератор случайных чисел, полностью интегрированный в их чипах. Шифрование основано на симметричном алгоритме блочного шифрования (Advanced Encryption Standard, AES), известном также как Rijndael и принятом в качестве стандарта шифрования правительством США. Функциональные ключи микроконтроллеров STM32 серий F2, F4, F7, L4 могут иметь длину 128/256 бит, с использованием различных режимов шифрования: ECB (electronic code book — режим «электронная кодовая книга»), CBC (Cipher-Block Chaining — «режим сцепления блоков шифротекста»), CTR (Counter Mode — «счетчик»), GCM (Galois Counter Mode — «счетчик с аутентификацией Галуа»), GMAC (вариант GCM, предоставляющий лишь аутентификацию данных) и вариант шифрования CMAC, а в контроллерах STM32 серий L0/L1 реализован 128-битный AES.

Преимущество симметричного метода

Кибербезопасность на уровне микроконтроллеров

Поскольку имеется только один ключ, управление ключами проще, чем с помощью асимметричного метода. Также шифрование и дешифрование выполняется намного быстрее, что иногда является критическим фактором, например в системах, работающих в реальном времени. Некоторые модели микроконтроллеров STM32 дополнительно имеют полностью интегрированную хэш-функцию. При этом происходит преобразование массива входных данных произвольной длины в битовую строку установленной длины, выполняемое определенным алгоритмом. Функция, воплощающая алгоритм и выполняющая преобразование, называется «хэш-функция», или «функция свертки». Преимущество такого подхода заключается в том, что большой входной объем данных переводится в меньший целевой объем. Существует также код аутентификации сообщения с хэш-ключом (Keyed-Hash Message Authentication Code, HMAC). Структурирование этого кода аутентификации сообщений (Message Authentication Code, MAC) основано на криптографической хэш-функции. HMAC указаны в RFC (Запрос комментариев) 2104 и в стандарте NIP (Национальный институт стандартов и технологий) FIPS 198.

 

Предотвращение манипуляций

Защита от манипуляций включает защитные механизмы для предотвращения преднамеренных или непреднамеренных физических атак на аппаратную систему вне микроконтроллера. Резервный домен, связанный с различными источниками пробуждения, гарантирует, что защита также поддерживается в режиме низкого энергопотребления. Часы реального времени (Real Time Clock, RTC) назначают метку времени каждому событию манипуляции. Некоторые серии микроконтроллеров STM32 также имеют функцию защиты регистра RTC. Она блокирует незаконную запись и работает независимо от системного сброса. Это, однако, не включает защиту при наборе последовательности клавиш. Когда манипуляция обнаружена, регистр защиты гарантирует, что контент, записанный в ходе нее, автоматически удаляется. Кроме того, определенные каналы связи могут быть закрыты с помощью блокировки конфигурации GPIO. Она блокирует выбранные входы/выходы общего назначения (GPIO). Блокировка может быть отменена при следующем сбросе.

 

Дополнительные средства защиты от нападения

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

Права доступа позволяют пользователям или группам пользователей выполнять определенные действия. Для этого встроенный модуль защиты памяти (Memory Protection Unit, MPU) делит память на области с различными правами и правилами доступа.

Когда выполняется передача данных, брандмауэр защищает код или часть данных флэш-памяти или SRAM от кода (или фрагментов), выполняющегося за пределами защищенного сектора. Брандмауэр более строг, чем MPU, но он интегрирован только в микроконтроллеры STM32 серий L0 и L4.

Функция защиты от чтения используется для управления контролем доступа к памяти. В общем, это предотвращает сброс данных оперативной памяти, такие как резервное копирование пользовательских IP-адресов. Защита от записи защищает каждый сектор от нежелательных операций записи. Собственная защита кода позволяет настраивать каждый сектор памяти как execute only («только для выполнения»), то есть код в нем может только выполняться, но не записываться.

Функции полного и безопасного стирания позволяют безопасно удалять IP-адреса и конфиденциальные данные. Это действие полностью сбрасывает память к заводским настройкам по умолчанию.

Для обеспечения отслеживаемости конечного продукта многие серии микроконтроллеров STM32 имеют 96-битный уникальный идентификатор. Это также может быть использовано для диверсификации ключей безопасности.

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

Защита конечного продукта от манипуляций со стороны третьих лиц основана на интегрированных программных решениях и используемых компонентах электронного оборудования. Микроконтроллеры и микросхемы памяти, а где это уместно и в сочетании с датчиками и интегральными микросхемами, являются ключевыми для приложений IoT и Industry 4.0. В связи с General Data Protection Regulation, или сокращенно GDPR (Общий регламент ЕС о защите данных), который вступил в силу 25 мая 2018 г., компания Rutronik для семейств микроконтроллеров подготовила информацию об интегрированных в них функциях безопасности. В этот комплект документации включены таблицы с перечнем систем защиты от тех или иных манипуляций, модули шифрования, управление разрешениями, уровни блокировки отладки, данные по защите памяти, а также вопросы гарантирования целостности и функциональной безопасности.

Оценка относящихся к безопасности функций, перечисленных в таблицах, в отношении интегрированной защиты данных в портфеле микроконтроллеров Rutronik дает клиентам компании полное информативное понимание по безопасности. В них, кроме различных семейств микроконтроллеров STM32, присутствует и ряд продуктов компании Renesas, а именно CISC-микроконтроллеров RX и семейства Synergy S1/S3, которые в отношении функций безопасности предлагают степень защиты выше средней. При этом отдельные микроконтроллеры в категории Synergy S5/S7 компании Renesas полностью соответствуют всем требованиям по защите. Кроме того, здесь следует подчеркнуть полностью интегрированную поддержку как симметричных, так и асимметричных методов шифрования, в том числе интегрированную генерацию ключей на основе AES (128/192/256), 3DES/ARC4 или RSA/DAS или DLP. Что касается микроконтроллеров семейства RХ, его можно рассматривать как пионера в плане полного охвата различных функций безопасности, а также поддержки интегрированных механизмов для симметричного и асимметричного шифрования.

Микроконтроллеры компании Infineon серии XMC-1xxx и XMC-4xxx также предлагают расширенную интегрированную защиту данных безопасности, как видно из таблицы [1]. В контексте особых требований к симметричному или асимметричному шифрованию поставщик этих контроллеров ссылается на пакет программного обеспечения Crypto. Основываясь на собственной оценке рисков безопасности для конечного продукта и его составных частей, разработчики имеют возможность сразу увидеть, какие из микроконтроллеров могут потенциально использоваться для обеспечения соответствия GDPR в конструкции уже конечной платы для того или иного применения.

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

Таблица. Функции безопасности, встроенные в микроконтроллеры общего назначения — индустриальные и широкого применения

Изготовитель и поставщик

STMicroelectronics

Infineon

Renesas

Toshiba

EPSON

Семейства

Проприетарный

Cortex-M0+

Cortex-M0

Cortex-M3

Cortex-M3

Cortex-M3

Cortex-M4

Cortex-M4

Cortex-M4

Cortex-M7

Cortex-M0

Cortex-M4

Проприетарный*

Cortex-A

Cortex-M0+

Cortex M4

Cortex-M

Cortex-M4

Cortex-M4

Проприетарный*

Cortex-M0+

Серии

STM8L STM8S

STM32L0

STM32F0

STM32L1

STM32F1

STM32F2

STM32F3

STM32L4

STM32F4

STM32F7

XMC1x

XMC4x

RL78

RX

RZ

Synergy S1

Synergy S3

Synergy S5 & S7

TZ1xxx

TXZ

S1C17

S1C31

Целостность
и безопасность

Блок вычисления CRC**

 

x

x

x

x

x

x

x

x

x

 

x

x

x

x

x

x

x

x

x

Контроль целостности питания

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

 

x

x

x

Запись во время цикла считывания

x

x

 

x

x

 

 

x

x

x

 

 

 

 

 

x

x

x

 

x

Система безопасности тактирования

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

 

x

x

x

Проверка и исправление ошибок кода (ECC)

x

x

 

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

 

 

Проверка четности

 

 

x

 

 

 

x

(x)

 

 

x

x

x

x

x

x

x

x

 

x

x

x

Датчик температуры

x

x

x

x

x

x

x

x

x

x

x

x

x

x

 

x

x

x

 

 

x

x

Сторожевые таймеры

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

Шифрование
на аппаратном
уровне

Генератор случайных чисел

 

x

 

 

 

x

 

x

x

x

x

 

 

x

 

x

x

x

x

 

x

x

Хэш-функции и HMAC

 

 

 

 

 

x

 

 

(x)

x

 

 

 

x

 

x

x

x

x

 

 

 

Симметричная криптография

(x)

x

 

x

 

x

 

x

x

x

 

 

 

x

 

x

x

x

x

 

 

 

Асимметричная криптография

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

x

 

 

 

 

Ускоритель генерации асимметричных ключей

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

x

x

 

 

Пакет криптографического программного обеспечения

Генератор случайных чисел

 

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

 

 

Хэш-функции и HMAC

 

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

 

 

Симметричная криптография

 

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

 

 

Асимметричная криптография

 

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

 

 

Защита от несанкционированного вмешательства

Защита от вскрытия

x

x

x

x

x

x

x

x

x

x

x

x

 

x

 

x

x

x

 

 

Резервный домен

 

x

x

x

x

x

x

x

x

x

x

x

 

x

 

x

x

x

 

x

RTC (Фиксация времени сбоя)

x

x

x

x

x

x

x

x

x

x

x

x

 

x

 

x

x

x

x

x

Функция защиты регистра RTC

x

x

 

x

 

x

x

x

x

x

x

x

 

x

 

x

x

x

 

x

x

x

Резервные регистры

x

x

x

x

x

x

x

x

x

x

 

x

 

x

 

x

x

x

 

 

Блокировка конфигурации GPIO

 

x

x

x

x

x

x

x

x

x

x

x

x

x

 

 

 

x

 

 

x

x

Уровень блокировки отладки

JTAG или SWD**

x

x

x

x

(x)

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

Управление разрешениями

Блок защиты памяти (MPU)

 

x

 

x

(x)

x

x

x

x

x

 

x

 

x

 

x

x

x

x

x

Брандмауэр

 

x

 

 

 

 

 

x

 

 

 

 

 

 

 

x

x

x

 

 

Защита памяти

Защита от чтения (RDP)

x

x

x

x

 

x

x

x

x

x

x

x

x

x

 

x

x

x

x

x

x

x

Защита от записи (WRP)

x

x

x

x

x

x

x

x

x

x

x

x

x

x

 

x

x

x

x

x

x

x

Собственная защита кода

 

x

 

(x)

 

 

 

x

(x)

 

x

x

x

x

 

x

x

x

x

x

x

x

Стирание всего массива резидентной памяти

 

x

 

x

 

 

 

x

(x)

x

x

x

 

 

 

 

 

x

x

x

x

x

Отслеживаемость

Устройство имеет 96-битный уникальный идентификатор

x

x

x

x

x

x

x

x

x

x

x

x

x*

x

x

x

x

x

 

 

Безопасное обновление

Программное обеспечение FSU

 

x

 

 

 

x

 

 

x

x

x

x

 

x

 

 

 

 

 

 

x

x

Примечания:
CRC* — Циклический избыточный код (Cyclic redundancy check). 
SWD** — технология SWD (Serial Wire Debug), более современная версия JTAG.
(x) — STM32, эта функция безопасности недоступна в каждой подстроке упомянутого семейства MCU.
x* — Renesas RL78, доступна только электронная 64-битная уникальная идентификация устройства. В Epson некоторые функции в настоящее время недоступны, но могут быть включены в новые продукты.

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

Литература
  1. Security Aspects.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *