поиск по сайту
Аппаратные СЗИ: защищенное обновление firmware

А.В. КАРЕЛИНА, С.А. СИНЯКИН
РОССИЯ, МОСКВА, ОКБ САПР

Аппаратные СЗИ: защищенное обновление firmware

Презентация: смотреть, скачать.

Обновление программных продуктов, включая операционные системы, давно стало привычным для пользователя. Производители аппаратных средств тоже предлагают пользователям расширить возможности ранее купленных устройств путем обновления версий внутреннего программного обеспечения (firmware). Аппаратные средства защиты информации (СЗИ) также совершенствуются со временем, однако организация процесса обновления их firmware должна иметь особенности, связанные с областью их применения. Обновление внутреннего программного обеспечения аппаратных СЗИ должно выполняться в соответствии с регламентом и только уполномоченными лицами. Но обеспечить одни лишь организационные меры недостаточно, необходимо использовать технологию, которая обеспечит защиту всего процесса обновления внутреннего ПО.

В данной статье речь пойдет об обновлении внутреннего программного обеспечения (firmware) аппаратного СЗИ от несанкционированного доступа (НСД) Аккорд-АМДЗ. На примере контроллера Аккорд-5.5, входящего в комплекс Аккорд-АМДЗ, будет показано, что обновление возможностей аппаратных средств защиты может быть не только простым, но и защищенным. 

 СЗИ НСД Аккорд-АМДЗ предназначено для обеспечения доверенной загрузки ОС для аутентифицированного пользователя. В состав СЗИ НСД Аккорд-АМДЗ входят аппаратные и программные средства. Основной аппаратной частью является контроллер, оснащенный микропроцессором, который производит все вычисления, и flash-памятью. Комплекс Аккорд-АМДЗ может включать в себя различные типы контроллеров в зависимости от целей и области применения. Современные версии Аккорд-АМДЗ в основном построены на базе контроллеров Аккорд-5.5. Этот тип контроллеров включает в себя мощную аппаратную криптографическую подсистему, что позволяет помимо выполнения базовых функций доверенной загрузки, применять Аккорд-АМДЗ для криптографической защиты данных при работе в операционной системе.  

Программные средства комплекса Аккорд-АМДЗ можно разделить на программное обеспечение контроллера и программное обеспечение для пользователя. 

К ПО контроллера относятся:

• BIOS контроллера. 

• Firmware микропроцессора, которое является обязательным компонентом для функционирования комплекса Аккорд-АМДЗ. Оно обеспечивает работу функций МДЗ, а также позволяет работать с криптографической подсистемой. Отсутствие кода или наличие поврежденного участка кода в микропроцессоре выводит из строя весь комплекс. 

• Firmware, в котором реализованы функции АМДЗ. В этой части программного обеспечения Аккорд-АМДЗ реализованы функции доверенной загрузки, а именно: администрирование, идентификация и аутентификация, пошаговый механизм контроля целостности, возможность блокировки внешних устройств, а также блокировка загрузки ОС со сменных носителей для всех пользователей, кроме администратора. Если эта часть программного обеспечения отсутствует в устройстве, то контроллер может использоваться только для работы с криптографической подсистемой, а применять комплекс в качестве средства защиты от НСД становится невозможно.

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

Процедуры защищенного обновления firmware контроллера можно проводить с помощью ПО пользователя Аккорд-АМДЗ, которое включает в себя утилиты для обновления firmware микропроцессора и МДЗ. На данный момент существует такое ПО для операционных систем семейства MS Windows и MS-DOS, планируется выпуск ПО для ОС Linux.

Обновление firmware микропроцессора.

Для обновления версии программного обеспечения микропроцессора необходимо получить от разработчиков СЗИ Аккорд-АМДЗ файл, содержащий код для микропроцессора. Для каждой платы Аккорд-АМДЗ создается уникальный файл, при формировании которого одним из параметров служит серийный номер контроллера Аккорд-5.5. Серийный номер присваивается контроллеру на одном из этапов производства и в дальнейшем изменяться не может. Также при производстве контроллеру присваивается секретный ключ, который используется для шифрования образа микропрограммы. Таким образом, файлы, сгенерированные для одного контроллера, не смогут быть использованы для других плат. 

Теперь более подробно о том, как происходит процесс обновления. При производстве в защищенную область кода микропроцессора записывается код загрузчика. Целостность кода загрузчика обеспечивается архитектурой микропроцессора. Загрузчик может работать в двух режимах: первый режим – это режим проверки целостности и запуска кода программы микропроцессора, второй – режим обновления ПО микропроцессора.

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

1. Процессор должен разрешить собственный сброс (по умолчанию сброс со стороны PC запрещен аппаратно)

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

3. Выполнить сброс контроллера может только Гл. Администратор комплекса.

Поэтому, ПО, осуществляющее обновление, должно послать микропроцессору запрос. При выполнении условий 2 и 3 микропроцессор выдает положительный ответ, на некоторое время разрешает собственный сброс и не принимает к выполнению команды, использующие критические участки кода. Если условия не выполняются, то ПО получает отрицательный ответ, а код программы микропроцессора продолжает выполняться как обычно. В случае положительного ответа ПО обновления может установить нужное значение параметра, сбросить микропроцессор и начать передавать загрузчику (который будет работать в режиме обновления) обновленный код. Новое программное обеспечение стартует автоматически после завершения записи кода. 

Обновление Firmware, в котором реализованы функции АМДЗ.

Перепрограммирование кода МДЗ также не требует дополнительного оборудования, необходимо лишь получить файл, содержащий микропрограмму МДЗ у разработчиков. В отличие от файла для микроконтроллера, файл с новой версией firmware МДЗ не подготавливается специально для отдельно взятой платы, однако он подписан ЭЦП на закрытом ключе производителя. Открытый ключ ЭЦП присутствует в firmware микроконтроллера. Он недоступен для просмотра или модификации кем-либо, т.к. firmware микроконтроллера поставляется в зашифрованном виде. Перед записью кода проверяются права пользователя на возможность проведения данной процедуры. Процесс обновления представляет собой посекторную запись firmware в область флэш-памяти, предназначенную для хранения кода АМДЗ. Сначала firmware записывается в резервную область флэш-памяти, равную по объему основной. После записи микроконтроллер проверяет ЭЦП записанного кода. При положительном результате проверки микропроцессор производит копирование firmware из резервной области в основную и обновление считается успешным. При отрицательном результате копирование не производится, резервная область очищается, микропроцессор возвращает ошибку, которая отображается ПО, осуществляющим обновление.

Поскольку компоненты ПО контроллера зависят друг от друга по форматам данных и интерфейсам, то возможно, что обновление firmware микропроцессора повлечет за собой обязательное обновление ПО МДЗ или очистку базы пользователей и/или базы данных контроля целостности. Следует иметь в виду, что при любом процессе обновления в рабочем режиме контроллер перед началом операции должен иметь корректную базу пользователей, т.к. осуществить обновление может только Гл. Администратор комплекса. Поэтому технология обновления предусматривает различные варианты обновления. К примеру, изменения в коде криптоядра не затрагивают функций МДЗ, поэтому достаточно только обновить firmware микропроцессора и новый код сразу же начинает работать. А вот при изменениях формата базы данных требуется обновление всех компонентов и очистка базы данных старого формата. В этом случае обновление должно производиться следующим образом – Гл.Администратор авторизуется в контроллере, обновляется ПО МДЗ, потом обновляется ПО микроконтроллера по вышеприведенному алгоритму. Особенность данного случая в том, что при обновлении ПО микроконтроллера загрузчик устанавливает определенный параметр, который означает, что база контроллера корректна только до сброса микропроцессора. При очередной перезагрузке компьютера сразу после старта ПО микроконтроллера очищает базу и при старте ПО МДЗ заново создает пустую базу нового формата и требует регистрации (перерегистрации) Гл. Администратора. 

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

Итак, подведем итог сказанному выше. Контроллер Аккорд-5.5 является базовой составляющей типовой модели комплекса Аккорд-АМДЗ. Firmware контроллера может быть перепрограммировано в течении срока эксплуатации данного СЗИ, причем для обновления не требуется дополнительных устройств, достаточно получить у разработчиков комплект пользовательского ПО, входящего в штатную поставку комплекса, а также файлы с кодом firmware. При этом не требуется ни вскрытия корпуса, ни извлечения устройства. Кроме этого, стоит обратить внимание на то, что обновление ПО микропроцессора позволяет значительно расширить сферу применения ранее приобретенных комплексов Аккорд-АМДЗ за счет использования в полном объеме развивающихся в ходе разработок функциональных возможностей криптографической подсистемы контроллера Аккорд-5.5.


ФорумФорум
Форум ОКБ САПР
Вопросы специалистовВопросы специалистов
Вопросы, которые нам присылают, и наши ответы на них