Введение 4
1 Анализ процесса загрузки программного обеспечения в микроконтроллерах STM32 5
2 Анализ угроз процесса загрузки 9
3 Модель нарушителя 12
4 Обзор защитных мер 17
5 Разработка алгоритмов программного комплекса 19
5.1 Обзор алгоритма шифрования ГОСТ Р 34.12—2015 «Магма» 19
5.2 Обзор режима работы блочных шифров Multilinear Galois Mode 21
5.3 Разработка алгоритма генератора защищенного образа 25
5.4 Разработка алгоритма программатора 28
5.5 Разработка алгоритма загрузчика 31
6 Реализация программного комплекса 32
6.1 Реализация алгоритма шифрования ГОСТ Р 34.12—2015 «Магма» ....32
6.2 Реализация режима работы блочных шифров Multilinear Galois
Mode 36
6.3 Реализация генератора защищенного образа 44
6.4 Реализация программатора 47
6.5 Реализация загрузчика 50
7 Тестирование программного комплекса 54
7.1 Тестирование реализации алгоритма шифрования ГОСТ Р 34.12—2015
«Магма» 54
7.2 Тестирование реализации режима работы блочных шифров Multilinear
Galois Mode 57
7.3 Тестирование генератора защищенного образа 60
7.4 Тестирование программатора и загрузчика 63
8 Вредные психофизиологические факторы, влияющие на органы зрения специалиста по защите информации 69
8.1 Обзор вредных психофизиологических факторов 69
8.2 Методы и средства физической культуры, снижающие воздействие
вредных психофизиологических факторов 71
Заключение 74
Список используемых источников 75
Приложение А Блок-схемы алгоритмов программного комплекса 77
Приложение Б Текст программы генератора защищенного образа 85
Приложение В Текст программы программатора 95
Приложение Г Текст программы загрузчика
В настоящее время широкое распространение получили системы, построенные на базе микроконтроллеров. В связи с этим возникает необходимость обеспечения безопасности таких систем. Ущерб, который может нанести несанкционированный доступ к паролям и персональным данным, достаточно очевиден, но в защите нуждается также и само встроенное программное обеспечение устройства (далее - ПО).
Встроенное ПО микроконтроллеров уязвимо к угрозам информационной безопасности в процессе его загрузки, так как при передаче по незащищенным каналам связи может быть нарушена его целостность, конфиденциальность и аутентичность. Нарушение конфиденциальности встроенного ПО может привести к обходу лицензионных и программных ограничений, копированию алгоритмов и даже к клонированию всего устройства и созданию реплики. Нарушитель так же может осуществить внедрение программных закладок с целью скрытого противодействия корректному функционированию устройства и систем, построенных на базе таких устройств.
Цель работы - разработка программного комплекса для защищенного обновления встроенного ПО предназначен для обеспечения безопасности процесса загрузки (далее - Комплекс).
Основными задачами работы являются:
— анализ угроз процесса загрузки встроенного ПО;
— определение защитных мер, противодействующих выявленным угрозам;
— разработка Комплекса, включающего определенные защитные меры;
— реализация и тестирование Комплекса.
В ходе выполнения выпускной квалификационной работы был проанализирован процесс загрузки программного обеспечения в микроконтроллерах STM32. В результате анализа было составлено описание процесса, определены угрозы процесса, возможности, которыми может обладать нарушитель, в рамках модели нарушителя, определены защитные меры, направленные на нейтрализацию выявленных угроз. Определенный набор защитных мер был реализован в виде программного комплекса для защищенного обновления встроенного программного обеспечения микроконтроллеров STM32. Разработка программного комплекса была выполнена в несколько этапов. На первом этапе были разработаны алгоритмы программного комплекса. Был определен формат защищенного образа ПО. Определен протокол взаимодействия программных компонентов комплекса и составлено описание используемых в нем команд. На третьем этапе была выполнена реализация программного комплекса. На последнем этапе было проведено тестирование программного комплекса. Для тестирования компонентов комплекса был составлен набор тестов на основе методов предположения об ошибке и анализа граничных значений.
Разработанный комплекс может применять для защищенного обновления встроенного программного обеспечения устройств под управлением микроконтроллеров STM32L0x1. Благодаря использованию высокоуровневых библиотек комплекс может быть легко преобразован для работы на микроконтроллерах STM32 других серий.
Таким образом, задание на выпускную квалификационную работу было выполнено в полном объеме.