Назад

Криптозащищенный загрузчик встраиваемого программного обеспечения

Прототип или MVP
TechNet
Технологии компонентов робототехники и мехатроники
Рязанская область
Рязанский государственный радиотехнический университет им. В.Ф. Уткина
Цифровой профиль команды

Описание проекта

Общая характеристика

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

Проблемы клиента, решаемые с помощью криптозащищенного загрузчика

При массовом производстве продукта со встраиваемой системой у разработчика появляется множество проблем.

Одной из них является необходимость защиты программного обеспечения микроконтроллера от просмотра и копирования.

Если такой защиты нет, то хакер, посредством считывания прошивки может ее скопировать, что является кражей интеллектуальной собственности. Прочитав исходный код встраиваемого программного обеспечения, злоумышленник может на его основе создать свою прошивку с вредоносным кодом и загрузить ее в микроконтроллер, это чревато нарушением работы устройства и контролем над периферийными устройствами ввода-вывода, что является особенно недопустимым, если устройство подключено к локальной сети или сети Интернет.

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

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

Семейство микроконтроллеров STM использует биты в специальных регистрах. В зависимости от значения бита, есть возможность заблокировать как доступ к памяти, так и возможность отладки микроконтроллера.

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

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

Данная проблема усугубляется несколькими факторами. Для обновления прошивки требуется специальное оборудование – программатор и разъем на корпусе устройства для него. В готовой продукции разъем для программатора микроконтроллера зачастую не делают в целях экономии и безопасности. Если в продажу поступила крупная партии оборудования, и в ней обнаружилась критическая программная ошибка, то для того, чтобы ее устранить, необходимо отозвать всю бракованную продукцию на завод-изготовитель для перепрограммирования каждого устройства, если имеется такая возможность. В том случае, когда при наличии новой прошивки, программатора и разъема для него, можно устранить дефект, не отправляя устройство на завод, нет гарантий того, что конечный потребитель знает, как самостоятельно перепрошить купленное устройство. Все это влечет за собой материальные и репутационные потери компании.

Решение

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

Потребители

Разработчики различной электроники, использующие в своих продуктах микроконтроллеры для которых необходимо обновление программного обеспечения: разработчики дронов, производители бытовой электроники, компании-производители электроники с системой «интернет вещей» или «умный дом» и другие.

Описание продукта и технологии

Наш продукт - криптозащищенный загрузчик, это специальная программа, которая располагается в памяти микроконтроллера, не требует для своей работы специальных средств. Загрузчик может самостоятельно перепрограммировать микроконтроллер при помощи прошивки, при этом злоумышленник или конкурент не сможет просто так получить прошивку из конечного устройства и взломать его.

Для разработки криптозащищенного загрузчика будет использоваться плата STM32F407G-DISC1, для которой будет разрабатываться программное обеспечение на языке C или C++ с использованием программного обеспечения, такого как STM32CubeMX, STM32CubeIDE, Keil MDK и другие.

Презентации

Пульс

Пока еще в пульсе нет записей

Достижения

Участник акселератора ПУТП 2022
Проект «Около БАС»

Команда

Контакты

Экспертная система

Следят за проектом

НАВЕРХ