поиск по сайту
БИОС под аппаратным надзором

БИОС под аппаратным надзором

Д. Ю. Счастный

Закрытое акционерное общество «ОКБ САПР», Москва, Россия

БИОС (BIOS – Basic Input-Output System) является программой, управляющей процессом загрузки компьютера. В представленной работе обосновывается необходимость аппаратной защиты BIOS и рассматриваются способы ее реализации.

Ключевые слова: БИОС, BIOS, UEFI, СДЗ, средства доверенной загрузки, резидентный компонент безопасности, РКБ.

BIOS UNDER HARDWARE SUPERVISION

Dmitry Y. Schastny

Closed Joint Stock Company «OKB SAPR», Moscow, Russia

BIOS (BIOS - Basic Input-Output System) is a program that controls the computer boot process. The present paper justifies the need for BIOS hardware protection and discusses how to implement it.

Keywords: BIOS, UEFI, trusted boot tools, resident security component, RSC.

В том, что корректная загрузка является залогом последующего корректного функционирования любого СВТ, сегодня никого убеждать не нужно. Этот постулат давно доказан теоретически [1], закреплен в нормативных документах ФСТЭК России [2 – 4] и подтвержден множеством практических реализаций [5]. И в тоже время этот процесс находится в постоянном развитии [6].

Однако, в процессе загрузки СВТ есть еще ряд моментов, которые требуют пристального изучения и выработки методических подходов для их защиты. Рассмотрим подробно этапы загрузки СВТ. «Процесс загрузки компьютера и состав компонентов, задействованных в этом процессе, определяется архитектурой системы. На высоком уровне абстракции применительно к большинству компьютеров загрузку можно представить в виде совокупности этапов, показанных на рисунке 1.» [7]

Рисунок 1 — Последовательность загрузки компьютера на высоком уровне абстракции

Разработанные в настоящий момент средства доверенной загрузки (СДЗ) (уровня базовой системы ввода-вывода или уровня платы расширения) выполняют свои защитные функции либо как часть BIOS, либо как независимое ПО между этапами «BIOS» – «загрузчик». То есть по факту любые СДЗ на любом СВТ получают управление и начинают выполнять свой базовый функционал в некотором окружении, которое уже проинициализировано, сконфигурировано и настроено. До некоторой поры такое положение дел пользователи либо считали не представляющим угрозу, либо пытались по мере сил и возможностей бороться с ним. В качестве возможных вариантов обеспечения повышения доверия к процессу загрузки выступали или самостоятельно разработанные BIOS [8-10], или экспертные проверки BIOS на наличие недекларированных возможностей специализированными организациями. И конечно же жесткие организационные меры («Для реализации доверенной загрузки применяется комплекс организационно-технических мер, который в совокупности и обеспечивает старт нужного набора программного обеспечения в нужной конфигурации» [11].). Но сейчас считать недоверенный старт BIOS неактуальной угрозой нельзя. Во-первых, об этом явно свидетельствует анализ Банка данных угроз безопасности информации ФСТЭК России [12]: из 213 угроз зарегистрировано 29 угроз, «в полной или косвенной мере относящиеся к угрозам BIOS/UEFI BIOS» [13]. Во-вторых, появляются практические подтверждения создания технологий, позволяющих проводить удаленные внедрения вредоносного программного обеспечения (ПО) в BIOS [14]. Третьим важным моментом можно считать переход производителей материнских плат x-86-архитектур на UEFI BIOS с последующим отказом от Legacy BIOS. BIOS по факту превращается в полноценную документированную операционную систему (ОС) с интерфейсом для написания и внедрения приложений. Ну и немаловажным фактором, вызывающим повышенный интерес к BIOS, как к ПО инициализации оборудования и настройки, работающего до старта СДЗ и ОС, является увеличение автоматизированных систем обработки данных, использующих СВТ с альтернативными по отношению к x-86-архитектурам (далее по тексту будем называть эти архитектуры альтернативными). В таких СВТ BIOS по сути является аналогом UEFI BIOS в части добавления в них любого ПО.

Фактически BIOS превратился в такой же объект защиты, как и ОС с прикладным ПО. Согласно [1] при аппаратной защите “контроль целостности системных областей и файлов ОС должен выполняться до загрузки ОС”. Попробуем понять можно ли применить этот механизм для контроля целостности BIOS. Рассмотрим детали хранения и работы BIOS более подробно. Чаще всего этап «Загрузка ROM» в последовательности загрузки компьютера на высоком уровне абстракции (см. Рисунок 1) состоит в поиске загрузочного устройства из конечного перечня возможных вариантов и завершается передачей управления на это устройство. В качестве загрузочных устройств может выступать память, доступная по интерфейсу SPI, eMMC, USB и т. д.. Архитектура x-86 предусматривает загрузку из памяти с SPI интерфейсом. На компьютерах с альтернативными архитектурами (в том числе Байкал, Эльбрус) порядок загрузки может жестко определяться разработчиком процессора и быть неизменным, а может варьироваться в зависимости от внешних сигналов, подаваемых на ножки процессора. То есть, BIOS может не только загружаться с разных устройств на таких СВТ, но и в произвольный момент времени может быть изменен порядок загрузки BIOS и как следствие компьютера в целом. Важно отметить, что при подаче на материнскую плату питания сигнал «CPU Reset» на процессор можно подавать с некоторой задержкой, предварительно запитав и инициализировав часть микросхем. Собственно, в момент начала поиска загрузочных устройств микросхемы памяти уже должны быть проинициализированы и должны быть готовы к чтению кода BIOS. Таким образом, контроль целостности BIOS до старта BIOS можно выполнить несколькими способами:

  1. перевод всей долговременной памяти, в которой хранится код BIOS, в аппаратное состояние «только чтение» (согласно положениям Новой гарвардской архитектуры [15]) после настройки BIOS администратором информационной безопасности для работы в некотором эталонном состоянии. В этом случае код BIOS должен быть модифицирован таким образом, чтобы обеспечить возможность работы без записи в долговременную память
  2. отложенный старт процессора. В этом случае на материнской плате должен быть установлен РКБ [1], который стартует до подачи сигнала «CPU Reset» на процессор, проверяет целостность кода (всего или части) BIOS, удостоверяется в целостности данных BIOS, установленных на контроль в соотвествии с логикой работы BIOS и в случае успешного завершения этих процедур устанавливает правильное загрузочное устройство и подает сигнал «CPU Reset» на процессор. Код самого BIOS в этом случае можно не менять
  3. создание «бутылочного горлышка». Технология, разработанная для защиты от Intel Management Engine [16], может применяться и для контроля целостности BIOS. Суть технологии состоит помещении контролируемого объекта за РКБ и пропускании через него всех коммуникаций контролируемого объекта с внешним миром. В этом случае возможно не только обеспечение первоначального контроля целостности кода и данных как в случае отложенного старта процессора, но и последующий динамический контроль всего доступа к памяти кода и данных BIOS. Причем контроль может касаться как одиночных попыток чтения или изменения защищаемой памяти, так и целых протоколов взаимодействия с этой памятью. Код самого BIOS как и в случае с отложенным стартом процессора можно не менять.

Помимо контроля целостности важным аспектом аппаратной защиты является регистрация событий безопасности. В первом из рассмотренных способов регистрацию осуществить невозможно, так как нет активного элемента, способного самостоятельно осуществлять такую работу. Равно как и отсутствует защищенное хранилище журналов. Во втором и третьем случаях РКБ является как раз активным участником процесса и может самостоятельно производить запись событий безопасности. При использовании отложенного старта процессора РКБ в собственной памяти может фиксировать факты нарушения целостности кода и данных при старте СВТ. Кроме того, есть возможность регистрировать факты санкционированного изменения контролируемых участков кода и данных. А в случае изменения BIOS в РКБ можно записывать факты легальных действий, производимых кодом BIOS. В случае же использования технологии «бутылочного горлышка» дополнительно можно фиксировать попытки несанкционированного доступа к защищаемой памяти кода и данных BIOS.

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

В каждом конкретном случае применяемый вариант будет определяться моделью угроз и моделью нарушителя. И хотелось бы надеяться, и требованиями ФСТЭК России, как регулятора в области защиты информации в России, по заявлениям представителей которого работа над нормативными документами с требованиями к защите BIOS ведутся и стоят в планах [17].

Список литературы

  • Конявский В. А. Управление защитой информации на базе СЗИ НСД «Аккорд». — М.: Радио и связь, 1999. — 325 c., ил.
  • Приказ ФСТЭК России от 11.02.2013 № 17 (ред. от 15.02.2017) «Об утверждении Требований о защите информации, не составляющей государственную тайну, содержащейся в государственных информационных системах».
  • Приказ ФСТЭК России от 18.02.2013 № 21 (ред. от 23.03.2017) «Об утверждении Состава и содержания организационных и технических мер по обеспечению безопасности персональных данных при их обработке в информационных системах персональных данных».
  • Приказ ФСТЭК России от 25.12.2017 № 239 «Об утверждении требований по обеспечению безопасности значимых объектов критической информационной структуры Российской Федерации».
  • Государственный реестр сертифицированных средств защиты информации N РОСС RU.0001.01БИ00 [Электронный ресурс]. URL: https://fstec.ru/tekhnicheskaya-zashchita-informatsii/dokumenty-po-sertifikatsii/153-sistema-sertifikatsii/591-gosudarstvennyj-reestr-sertifitsirovannykh-sredstv-zashchity-informatsii-n-ross-ru-0001-01bi00.
  • Счастный Д. Ю. Перспективы развития средств доверенной загрузки. Взгляд разработчика // Вопросы защиты информации. 2017. № 3, с. 27-28.
  • Лыдин С. С. О средствах доверенной загрузки для аппаратных платформ с UEFI BIOS // Вопросы защиты информации: Научно-практический журнал/ФГУП «ВИМИ», М., 2016 г., Вып.3, № 114, с. 45-50.
  • ALTELL UEFI BIOS [Электронный ресурс]. URL: www.altell.ru/solutions/by_technologies/bios (дата обращения: 15.05.2019).
  • Numa BIOS [Электронный ресурс] URL: tonk.ru/numa-bios (дата обращения: 15.05.2019).
  • В России создали защищенный BIOS [Электронный ресурс] URL: ru/link/n167693 (дата обращения: 15.05.2019).
  • Счастный Д. Ю., Конявская С. В. Облако ЦОДов, или Сон разума: о том, почему необходимо мыть руки перед едой, даже если они «чистые»// Защита информации. Инсайд. СПб., 2014. № 4. с. 57-61.
  • Банк данных угроз безопасности информации ФСТЭК России [Электронный ресурс]. URL: http://bdu.fstec.ru/threat (дата обращения: 15.05.2019).
  • Кадыков И. Обеспечение ИБ рабочих станций и серверов. [Электронный ресурс]. URL: https://infosecuritydays.ru/upload/iblock/824/82493c5262a3b47ade274447bd3b4447.pdf
  • Brossard Аппаратные бэкдоры - это практично [Электронный ресурс]. URL: https://www.securitylab.ru/analytics/432914.php (дата обращения: 15.05.2019).
  • КонявскийВ. А. Компьютер с "вирусным иммунитетом" // Информационные ресурсы России. – М., 2015. – №6. – С. 31–34.
  • СчастныйД. Ю. К вопросу о защите от Intel Management Engine //Вопросы защиты информации. М., 2018. № 2 (121). С. 37-40.
  • Торбенко Е. Б. Направления совершенствования нормативной правовой и методической базы по вопросам технической защиты информации [Электронный ресурс] URL: https://forum-azi.ru/files/files/2017/01_torbenko.pdf (дата обращения: 15.05.2019).