Способ и устройство доверенной загрузки компьютера с контролем периферийных интерфейсов
METHOD AND DEVICE FOR TRUSTED COMPUTER BOOTING WITH CONTROL OF PERIPHERAL INTERFACES

Изобретение относится к области вычислительной техники и предназначено для доверенной загрузки средства вычислительной техники (СВТ), а также создания доверенной среды выполнения программного обеспечения СВТ. Его использование позволит получить технический результат в виде повышения эффективности защиты СВТ от несанкционированных действий на различных этапах его работы и обеспечения защиты от несанкционированного доступа (НСД) к информации, обрабатываемой и хранимой в СВТ и в компьютерных информационно-вычислительных системах (ИВС).
Под термином «средство вычислительной техники» в настоящем документе понимается электронное устройство, оснащенное, как минимум, возможностями обработки данных, оперативной памятью, внутренними шинами передачи данных и периферийными интерфейсами ввода-вывода данных с возможностью подключения дополнительных аппаратных модулей, способное функционировать как самостоятельно, так и в составе других систем. Примерами СВТ являются:
- стационарный или переносной персональный компьютер;
- автоматизированное рабочее место;
- терминал «тонкого клиента»;
- сервер, в т.ч. специализированный, например, сервер баз данных;
- маршрутизатор и т.п.
Далее в настоящем документе будет применяться термин «компьютер» в качестве обозначения всех возможных вариантов СВТ.
Уровень техники
Одним из наиболее широко используемых продуктов, решающих задачи защиты компьютера от несанкционированных действий, является аппаратно-программный модуль доверенной загрузки (АПМДЗ), который предназначен для защиты ресурсов компьютера от НСД, начиная с этапа доверенной загрузки.
Полнофункциональным представителем данного класса устройств является АПМДЗ, описанный в патенте RU 2321055, опубл. 27.03.2008 г. [1]. Данное устройство обеспечивает выполнение следующих основных функций АПМДЗ, характерных для устройств данного класса:
- идентификацию и аутентификацию пользователя;
- разграничение и контроль доступа пользователей к компьютеру;
- блокировку загрузки компьютера со сменных носителей;
- контроль загрузки заданной операционной системы (ОС) компьютера с обеспечением непрерывности ее загрузки;
- контроль целостности программной среды;
- генерацию случайных чисел;
- звуковую сигнализацию состояний АПМДЗ;
- блокировку компьютера при обнаружении попыток НСД;
- ведение журналов событий и др.
Кроме того, АПМДЗ, описанный в патенте [1], может контролировать различные интервалы времени (с блокировкой дальнейшей загрузки компьютера в случае недостижения заданной цели в пределах контролируемого интервала времени), критичные при процедуре запуска АПМДЗ и загрузки компьютера после его включения (когда возможно несанкционированное вмешательство в процедуру запуска), включая следующие интервалы:
- интервал от момента включения компьютера до передачи управления программе расширения базовой системы ввода-вывода (BIOS) компьютера;
- время на вход пользователя в систему (в это время, в частности, происходит ожидание и ввод пароля пользователя);
- время до запуска процедуры аутентификации;
- время до запуска оболочки АПМДЗ (от момента завершения программы аутентификации до запуска программы контроля целостности системы) и др.
Описанный в [1] АПМДЗ, помимо выполнения набора стандартных функций, реализует функции системообразующего модуля, обеспечивающего взаимосвязь и взаимодействие между компонентами системы комплексной защиты по различным интерфейсам. В качестве примеров подобных компонентов можно привести следующие (см., например, [2]):
- устройства криптографической защиты данных (УКЗД), такие как абонентские или проходные шифраторы;
- доверенные сетевые карты с возможностью блокировки сетевых интерфейсов по командам АПМДЗ;
- программные средства защиты, работающие на уровне ОС компьютера, например, системы разграничения доступа.
Описанный в [1] АПМДЗ также поддерживает режим удаленного управления, который подразумевает, что защищаемый АПМДЗ компьютер является частью распределенной компьютерной системы, включающей также сервер удаленного управления, осуществляющий управление некоторым подмножеством АПМДЗ. Сервер удаленного управления в данном случае предназначен для выполнения следующих функций:
- хранение основных настроек системы и ее компонентов, включая профили зарегистрированных в системе пользователей и компьютеров, правила разграничения доступа (ПРД) и полномочия пользователя;
- взаимодействие и управление АПМДЗ в рамках выполнения ими своих функций, в т.ч. предоставление перечисленной выше информации, хранящейся на сервере управления;
- предоставление интерфейса для централизованного администрирования перечисленных выше данных, хранящихся на сервере удаленного управления.
Кроме того, важной функцией сервера управления является ведение журналов выполняемых операций и централизованное хранение журналов операций всех управляемых АПМДЗ системы.
При использовании АПМДЗ в качестве системообразующего модуля комплексной системы защиты и при поддержке используемыми АПМДЗ режима удаленного управления, а также при оснащении сервера удаленного управления соответствующими функциями сервер удаленного управления может являться центральным управляющим компонентом комплексной системы защиты распределенной компьютерной системы в целом.
Критичные операции, связанные с контролем и обработкой информации при взаимодействии средств защиты, выполняются в защищенной среде с использованием собственной доверенной ОС, хранящейся в энергонезависимой памяти АПМДЗ и загружаемой оттуда.
Известный АПМДЗ подключается к общей шине управления и обмена данными компьютера и содержит следующие основные аппаратные компоненты, размещенные на общей плате устройства:
- контроллер обмена данными с компьютером;
- основной управляющий микроконтроллер (здесь и далее под термином «микроконтроллер» подразумевается как микроконтроллер, так и любое вычислительное устройство аналогичного назначения - например, микропроцессор);
- опциональный микроконтроллер идентификации и аутентификации пользователей, его функции могут выполняться на основном управляющем микроконтроллере;
- модуль управления и блокировки устройства;
- блок интерфейсов взаимодействия с внешними устройствами;
- модули энергонезависимой и оперативной памяти;
- аппаратный датчик случайных чисел (ДСЧ);
- звуковой извещатель;
- блок переключателей для выбора режимов работы устройства;
- дополнительные датчики и устройства контроля, которые могут включать устройство контроля питания с возможностью блокировки компьютера, контроллер датчика вскрытия компьютера и др.
Необходимо отметить, что описанный в [1] АПМДЗ и его аналоги обладают рядом недостатков, снижающих уровень защищенности системы в целом. В частности, недостатками можно считать следующие особенности подобных устройств:
1) Удаление АПМДЗ из защищаемого компьютера не нарушает работоспособности компьютера, в результате чего может быть нарушена защита от НСД к компьютеру и его компонентам. Основным методом противодействия удалению АПМДЗ из защищаемого компьютера является блокировка несанкционированного вскрытия корпуса компьютера (например, при помощи электромагнитной защелки, управляемой из административного интерфейса АПМДЗ) и/или его опечатывание.
2) АПМДЗ может не получить управление от BIOS компьютера в случае его модификации (в т.ч. злонамеренной), исключающей такую передачу управления. Основным методом противодействия подобным модификациям BIOS является использование таймеров, контролирующих интервал времени после подачи питания на компьютер, в течение которого управление должно быть передано АПМДЗ, в противном случае компьютер блокируется по цепи питания или сигналу сброса.
Решением перечисленных выше проблем выглядит интеграция АПМДЗ с материнской платой компьютера. Подобное устройство описано в патенте RU 2538329, опубл. 19.11.2014 г. [3].
Для решения поставленных задач данный известный АПМДЗ реализуется не на общей плате устройства, подключаемой к стандартной шине компьютера (например, к шине PCI), а интегрируется непосредственно на материнскую плату компьютера в виде набора микросхем и прочих аппаратных компонентов на этапе ее разработки. Такая реализация позволяет не только обеспечивать выполнение перечисленных выше функций АПМДЗ, но и предоставлять ряд дополнительных возможностей по защите компьютера, включая, например, контроль целостности BIOS компьютера путем контроля команд от чипсета материнской платы, передаваемых по шине SPI, и блокировки поступающих от чипсета по шине SPI некорректных или неразрешенных команд, в частности, команд записи в BIOS.
Описанный в патенте [3] АПМДЗ может подключаться к источнику дежурного питания (stand-by) блока питания компьютера. При таком подключении АПМДЗ начинает функционировать сразу после подключения компьютера к сети питания (вилка сетевого кабеля вставлена в розетку) до его включения кнопкой включения питания. Поэтому данный АПМДЗ может осуществлять контроль целостности BIOS перед запуском компьютера и, в случае нарушения целостности BIOS, производить восстановление BIOS из резервной копии, размещаемой в энергонезависимой памяти АПМДЗ.
Для реализации дополнительных защитных функций, в т.ч. функции контроля целостности BIOS компьютера, известный АПМДЗ включает в себя соответствующие дополнительные аппаратные и программные модули (в т.ч. позволяющие контролировать шину SPI и производимый по ней обмен данными), включая следующие:
- установленные на шину SPI материнской платы компьютера быстродействующий электронный ключ и накопитель на основе микросхемы флэш-памяти с интерфейсом SPI, содержащей в себе BIOS компьютера;
- канал управления электронным ключом и интерфейс связи с шиной SPI (со стороны основного управляющего микроконтроллера АПМДЗ), которые образуют аппаратный узел, осуществляющий контроль целостности BIOS в накопителе перед его запуском и контроль команд на шине SPI от чипсета компьютера в накопитель с возможностью блокировки записи в накопитель с помощью электронного ключа;
- дополнительные интерфейсы основного управляющего микроконтроллера АПМДЗ, такие как USB и SMBus, для реализации каналов связи с аппаратными компонентами и чипсетом, а также с каналом управления основным питанием компьютера;
- дополнительный служебный раздел в энергонезависимой флэш-памяти АПМДЗ для размещения резервной копии BIOS.
Поскольку данный АПМДЗ непосредственно интегрирован в материнскую плату компьютера, он является неизвлекаемым, что гарантирует невозможность получения НСД к защищаемому компьютеру путем извлечения АПМДЗ. Контроль целостности BIOS компьютера с размещением в энергонезависимой памяти АПМДЗ резервной копии BIOS для его восстановления в случае нарушения целостности позволяет гарантировать передачу управления АПМДЗ в процессе загрузки компьютера и противодействовать различным атакам на компьютер, основанным на модифицировании его BIOS.
Стоит отметить, что несанкционированная модификация BIOS может привести не только к фактическому отстранению АПМДЗ от управления загрузкой компьютера, но и к широкому ряду прочих возможных вредоносных воздействий на компьютер (включая внедрение в защищаемый компьютер на уровне BIOS компьютерных вирусов или программ скрытного удаленного управления компьютером), не позволяющих обеспечить доверенную среду. Помимо классических BIOS, аналогичным проблемам подвержены также программные модули начальной загрузки, соответствующие современным спецификациям UEFI (Unified Extensible Firmware Interface); примеры подобных атак описаны, в частности, в [4-6].
Стоит отметить, что недостаточно только иметь доверенную BIOS на этапе загрузки, необходимо также обеспечивать контроль ее целостности в процессе работы компьютера, поскольку несанкционированные изменения ее кода могут быть внесены и в процессе работы компьютера. Данный АПМДЗ позволяет блокировать подобную несанкционированную модификацию BIOS, поскольку способен блокировать несанкционированные команды записи в BIOS, поступающие по шине SPI.
Таким образом, описанный в патенте [3] прототип заявляемого устройства по сравнению с классическими АПМДЗ (в частности, с АПМДЗ, описанным в патенте [1]), позволяет добиться более высокого уровня защиты компьютера за счет тесной интеграции компонентов АПМДЗ с компонентами материнской платы компьютера, обеспечивающей выполнение дополнительных защитных функций.
Альтернативным вариантом реализации АПМДЗ, интегрированного с материнской платой компьютера, является псевдоизвлекаемый АПМДЗ, который выполнен на отдельной общей плате, подключаемой к материнской плате компьютера через специализированный разъем, размещаемый на материнской плате компьютера в процессе ее разработки. Пример такого АПМДЗ описан в патенте [7].
На плате АПМДЗ в данном случае размещаются, как минимум, следующие компоненты:
- основной управляющий микроконтроллер;
- накопитель на основе микросхемы флэш-памяти с интерфейсом SPI, содержащей в себе BIOS компьютера;
- аппаратный ДСЧ;
- быстродействующий электронный ключ.
При этом специализированный разъем материнской платы компьютера, к которому подключается АПМДЗ, снабжается, как минимум, подключением к шине SPI чипсета, интерфейсами USB и SMBus для связи основного управляющего микроконтроллера с чипсетом, каналом питания АПМДЗ от источника дежурного питания блока питания компьютера, а также каналом управления основным питанием компьютера.
Реализованный таким образом АПМДЗ может быть физически извлечен из компьютера, однако при его извлечении компьютер становится неработоспособным, поэтому АПМДЗ, описанный в патенте [7], позволяет добиться фактически такого же уровня интеграции с материнской платой компьютера и решить задачи по обеспечению доверенной загрузки и доверенной среды компьютера аналогично АПМДЗ, описанному в патенте [3].
Общим недостатком АПМДЗ, рассмотренных выше, является полное или частичное отсутствие контроля периферийных интерфейсов компьютера. Необходимость блокировки периферийных интерфейсов при отсутствии у аутентифицированного пользователя полномочий на работу с ними обусловлена, как минимум, следующими требованиями:
1) Необходимостью обеспечения отсутствия утечек данных через периферийные интерфейсы. Примерами подобных утечек данных могут быть следующие варианты несанкционированных действий:
- копирование данных на внешние носители;
- передача данных по сетевому интерфейсу;
- вывод данных на монитор (может считаться утечкой данных, например, в случае, если защищаемый компьютер представляет собой сервер, а аутентифицированный пользователь ответственен только за его включение и загрузку по предопределенному пути);
- печать данных с помощью сетевого или локального принтера и т.д.
2) Предотвращение атак на защищаемый компьютер с использованием специально подготовленных периферийных устройств. Такие атаки обычно эксплуатируют известные уязвимости в аппаратных компонентах или ОС компьютерных систем.
В частности, достаточно широкое распространение получили атаки с использованием уязвимостей в реализациях технологии прямого доступа к системной памяти (Direct Memory Access - DMA). Контроллер DMA, установленный в компьютер, позволяет DMA-устройствам передавать данные непосредственно в оперативную память компьютера без обращения к центральному процессору компьютера. Технология DMA значительно повышает скорость передачи данных между компонентами компьютера и общую производительность компьютера в целом, а DMA-устройствами могут быть практически все периферийные устройства, которым требуется высокая скорость передачи данных.
Поскольку технология DMA может распространяться на внешние порты, то существует возможность подключения к атакуемому компьютеру внешнего DMA-устройства со специальным программным обеспечением для проведения атаки путем несанкционированного чтения из оперативной памяти компьютера или записи в нее по DMA-каналу; какая-либо аутентификация устройства для выполнения этих операций не предусмотрена. Результаты подобных атак могут варьироваться от хищения конфиденциальных данных до внедрения вредоносного кода на атакуемый компьютер (см., например, [8, 9]).
Еще один известный класс атак через периферийные интерфейсы - это атаки с помощью устройств, подключаемых к порту USB. Данные атаки, в основном, используют устройства со специально подготовленным внутренним программным обеспечением для внедрения на атакуемый компьютер вредоносного кода, включая программное обеспечение для скрытного удаленного управления компьютером; классификация и примеры таких атак приведены, в частности, в [10, 11]. В настоящее время ведутся разработки различных методов противодействия подобным атакам. В качестве примеров подобных способов приведем следующие:
- способ аутентификации устройств, подключаемых к порту USB, описанный в патенте CN 108985112, опубл. 11.12.2018 г. [12];
- способ управления доступом периферийного устройства к компьютерной системе через устройство управления доступом, описанный в заявке на изобретение RU 2013135240, опубл. 10.02.2015 г. [13].
Блокировка периферийных интерфейсов при отсутствии у текущего пользователя полномочий на их использование позволяет противодействовать как утечкам данных, так и атакам, использующим периферийные интерфейсы.
В описанных выше АПМДЗ контроль периферийных интерфейсов может косвенно производиться в рамках описанной в [2] концепции использования АПМДЗ как системообразующего модуля комплексной системы защиты компьютера по одному из следующих вариантов или их совокупности:
1) Путем подачи команд управляемым устройствам на включение или отключение конкретного интерфейса в зависимости от полномочий пользователя, прошедшего аутентификацию в АПМДЗ, и/или других факторов. При использовании данных АПМДЗ управляемыми устройствами в данном случае могут быть следующие [14]:
- шифраторы жестких дисков и USB-накопителей;
- сетевые адаптеры с функцией блокировки приема/передачи данных по внешнему сигналу;
- сетевые шифраторы.
Для реализации полноценной блокировки периферийных интерфейсов необходимо дооснащение защищаемого компьютера дополнительными аппаратными модулями, подключаемыми в разрыв между материнской платой компьютера и соответствующим контролируемым или защищаемым интерфейсом, а также гарантия отсутствия подключений аналогичных интерфейсов в обход перечисленных аппаратных средств защиты.
2) Путем реализации контроля доступа к периферийным интерфейсам на уровне ядра загруженной ОС компьютера, установленные в которой программные средства разграничения доступа (СРД) разрешают или запрещают доступ к различным внешним устройствам и/или объектам разграничения доступа, хранящимся на внешних устройствах (например, к файлам на жестком диске или USB-флеш-носителе) в зависимости от полномочий аутентифицированного в системе пользователя. При использовании соответствующих настроек над компонентами ОС, отвечающими за выполнение аутентификации пользователя, возможно применение средств единой аутентификации (см., например, [15]), позволяющих в качестве учетной записи аутентифицированного в системе пользователя использовать учетную запись пользователя, прошедшего аутентификацию в АПМДЗ.
Для реализации данного варианта требуется дооснащение защищаемого компьютера дополнительным программным обеспечением, работающим в ОС, загружаемой под контролем АПМДЗ после прохождения аутентификации пользователя.
В зависимости от существующих задач по обеспечению защиты информации и требуемого уровня защищенности подобное программное обеспечение может быть выполнено различным образом, например:
- в виде фильтрующих драйверов, осуществляющих контроль обращений к защищаемым портам и разграничение доступа к ним на основе существующих ПРД и полномочий пользователя, прошедшего аутентификацию в системе (см., например, [16]);
- в виде полнофункциональных СРД, обеспечивающих контроль и разграничение доступа не только к различным внешним устройствам, но и к объектам файловой системы защищаемого компьютера, а также к различным объектам ядра ОС, включая такие каналы связи, как пайпы или мэйлбоксы, а также объекты синхронизации (см., например, [17]); принятие решения о разрешении или отклонении доступа к какому-либо объекту доступа в подобных СРД может основываться не только на полномочиях прошедшего аутентификацию пользователя, но и на различных дополнительных факторах (например, на полномочиях пары субъектов доступа: пользователь и процесс, запрашивающий доступ к объекту от имени данного пользователя) [18, 19].
Степень интеграции такого программного обеспечения с АПМДЗ также может варьироваться.
Решения, основанные только на фильтрующих драйверах, могут не обеспечивать достаточного качества защиты за счет наличия возможностей по их обходу и/или отключению по причине отсутствия целостного периметра защиты (см., например, [20]), а решения на основе полнофункциональных СРД, обеспечивающих формирование всеобъемлющего периметра защиты и применение дискреционного и мандатного принципов разграничения доступа (см., например, [21]), могут быть чрезмерно сложны в настройке и, скорее всего, избыточны во многих случаях.
При этом стоит отметить, что основные программные модули СРД, работающие на уровне ядра ОС, могут теоретически отключаться или обходиться из какого-либо вредоносного программного обеспечения, также работающего на уровне ядра ОС (например, в случае установки недоверенного драйвера какого-либо устройства). В качестве основного метода противодействия данной угрозе рассматривается перевод части программных модулей СРД на уровень гипервизора, откуда данные модули могут осуществлять контроль остальных модулей СРД, работающих в целевой (гостевой) ОС, причем гипервизор для обеспечения его доверенности должен загружаться из энергонезависимой памяти АПМДЗ [22]. Все это влечет за собой значительное усложнение системы защиты и сужает область ее применения.
Некоторым неполным аналогом контроля и разграничения доступа к периферийным интерфейсам на уровне ядра загруженной ОС компьютера является их блокировка на уровне используемых сборок клиентских ОС терминалов (путем обеспечения отсутствия в сборке ОС требуемых драйверов), работающих согласно архитектуре «тонкого клиента». Архитектура «тонкого клиента» с наложенными средствами защиты (см., например, [23]) позволяет сопоставлять определенную клиентскую ОС с пользователем, прошедшим аутентификацию в АПМДЗ, следовательно, определенные периферийные интерфейсы в конкретной сборке клиентской ОС могут быть включены или выключены в зависимости от полномочий конкретного пользователя такой системы. Как видно, данный подход достаточно специфичен и имеет узкое применение.
Оба из описанных выше вариантов контроля периферийных интерфейсов имеют явно выраженные недостатки, включая следующие:
- повышение стоимости системы в целом за счет необходимости установки и использования дополнительных модулей, причем удорожание системы в целом за счет использования дополнительных аппаратных шифраторов может быть многократным по сравнению со стоимостью АПМДЗ;
- сужение области применения системы в целом (которое также может быть значительным), поскольку использование дополнительных аппаратных средств может значительно ужесточить требования к компьютерному оборудованию, предъявляемые системой защиты, а использование дополнительных программных средств (особенно работающих на уровне ядра ОС) приводит к зависимости от конкретной ОС или необходимости разработки линейки средств, поддерживающих различные ОС;
- значительное усложнение системы защиты в целом, что влечет за собой усложнение и удорожание ее разработки, тестирования, сертификации, развертывания, настройки и поддержки, а также увеличивает технологические риски (такие как, например, недостижение требуемого функционала или требуемого уровня защиты, а также вероятность внесения ошибок при разработке, которые могут привести к потенциальной уязвимости системы).
Следовательно, логичным и верным с технической точки зрения решением выглядит блокировка периферийных интерфейсов, выполняемая непосредственно АПМДЗ или аналогичным устройством, выполняющим аутентификацию пользователя и последующее разграничение доступа к периферийным интерфейсам.
В этом случае единое устройство выполняет всю последовательность действий: от аутентификации пользователя до принятия решения и реализации блокировки конкретного подмножества периферийных интерфейсов в зависимости от полномочий прошедшего аутентификацию пользователя и/или других факторов (в частности, блокировка периферийных интерфейсов на определенных стадиях загрузки компьютера в совокупности с другими мерами может использоваться для обеспечения непрерывности загрузки компьютера). Весь процесс выполняется и контролируется аппаратными средствами АПМДЗ и его доверенным программным обеспечением, что не дает возможностей по несанкционированному вмешательству в данный процесс извне. Такое решение позволяет обеспечить надлежащее качество защиты и при этом обеспечивает независимость от используемой на защищаемом компьютере ОС. Дополнительным плюсом является отсутствие дополнительных модулей, приводящих к усложнению и удорожанию системы.
АПМДЗ, описанные в патентах [1, 3, 7], не включают в себя средства блокировки периферийных интерфейсов и для реализации контроля и разграничения доступа к периферийным интерфейсам требуют наличия дополнительных аппаратных и/или программных средств защиты. Наиболее близким к предлагаемому техническому решению устройством (прототипом заявляемого устройства) является АПМДЗ, описанный в патенте RU 2538329 [3].
Проведенный заявителем анализ патентной и научно-технической информации о существующих способах контроля и разграничения доступа к периферийным интерфейсам на аппаратном уровне показал наличие ряда патентов на способы разграничения доступа к периферийным интерфейсам и подключаемым к ним устройствам. Однако существующие патенты по сравнению с заявляемым способом имеют следующие основные ограничения:
- определенное узкое подмножество периферийных интерфейсов, доступ к которым подлежит разграничению;
- определенное специфическое назначение периферийного оборудования, значительно сужающее область применения метода;
- использование простейших методов аутентификации пользователя (таких как парольная аутентификация), не позволяющих обеспечить надлежащее качество защиты при использовании подобных методов разграничения доступа.
В качестве примера можно привести способ разграничения доступа пользователей к мультимедиа-устройствам, лежащий в основе системы, содержащей программируемый мультимедиа контроллер, который позволяет взаимодействовать с различными мультимедиа устройствами и управлять ими, причем доступ к устройствам дается только пользователям, прошедшим парольную аутентификацию на основе простейшей двухуровневой ролевой модели: основной пользователь, которому доступны все порты, и дополнительные пользователи, которому порты доступны в зависимости от разрешений в его профиле. Данная система описана в заявке на изобретение RU 2013116376, опубл. 27.10.2014 г. [24].
Еще одним примером является устройство аппаратной блокировки периферийных портов, описанное в патенте US 20160012258, опубл. 14.01.2016 г. [25]. Описанное в данном патенте устройство блокировки подключается к контролируемому периферийному порту снаружи компьютера и физически блокирует его, при этом устройство блокировки снабжено дополнительным портом для аутентификации, к которому может быть подключено какое-либо внешнее устройство, предназначенное для ввода аутентифицирующей информации; после ввода аутентифицирующей информации в случае успешного прохождения аутентификации устройство блокировки разблокирует периферийный порт и позволяет его использовать. Основными недостатками метода, лежащего в основе применения устройства, описанного в патенте [25], являются следующие:
- необходимость разработки устройства блокировки для каждого типа интерфейса;
- необходимость в наличии отдельного устройства для блокировки каждого периферийного порта;
- значительная сложность (в ряде случаев - невозможность) разработки устройств блокировки для внутренних шин компьютера (например, PCI-Express), необходимость вывода порта для аутентификации на корпус компьютера при установке внутреннего устройства блокировки;
- значительная сложность использования единых ПРД для контроля всех периферийных интерфейсов;
- отсутствие возможностей для интеграции с другими средствами защиты.
Таким образом, проведенный заявителем патентный поиск показал отсутствие явного прототипа для заявляемого способа доверенной загрузки компьютера с контролем периферийных интерфейсов.
Раскрытие сущности изобретения
Техническим результатом изобретения является создание доверенной среды при работе компьютера, причем при создании доверенной среды обеспечиваются контроль и разграничение доступа к периферийным интерфейсам, что повышает эффективность защиты от НСД к аппаратным и программным компонентам защищаемого компьютера и к информации, хранимой и обрабатываемой на нем.
Технический результат достигается следующим образом:
1. Способ доверенной загрузки компьютера с контролем периферийных интерфейсов состоит в выполнении следующей последовательности действий:
Шаг 1) Устройство создания доверенной среды (далее - «устройство») получает управление от компьютера после его включения или перезагрузки и проводит процедуру самотестирования.
Если в текущем сеансе работы с компьютером процедура самотестирования уже была выполнена ранее (например, перед перезагрузкой), то она может быть пропущена. При этом в настройках устройства может быть указан промежуток времени с предыдущего самотестирования, по истечение которого самотестирование должно выполняться обязательно, и если промежуток времени с предыдущего самотестирования установлен и истек, то процедура самотестирования выполняется обязательно.
Шаг 2) Выполняется запуск первого программного модуля устройства (может включать в себя запуск программы BIOS/UEFI компьютера (или ее аналога) при необходимости).
На данном шаге устройством анализируется, установлен ли один из специальных флагов режимов управления загрузкой, в частности:
- флаг входа в настройки BIOS/UEFI;
- флаг загрузки со сменного носителя;
- флаг быстрой загрузки.
Флаг загрузки со сменного носителя и флаг быстрой загрузки подразумевают пропуск основных функций устройства, поскольку они были выполнены ранее (до последней перезагрузки компьютера). Причины, по которым данные флаги могут быть установлены (изначально данные флаги сброшены), перечислены далее в описании Шага 14 (шаг инициирования перезагрузки компьютера).
В случае установки флага входа в настройки BIOS/UEFI выполняется вход в настройки BIOS/UEFI. После завершения работы пользователя с настройками BIOS/UEFI выполняется сброс флага входа в настройки BIOS/UEFI и перезагрузка компьютера, таким образом, после этого осуществляется возврат к Шагу 1.
В случае установки флага загрузки со сменного носителя устройство после данного шага переходит к Шагу 16 (шаг начала загрузки целевой ОС компьютера).
Шаг 3) Программный модуль, запущенный на Шаге 2, запускает программу-загрузчик ОС.
В случае установки флага быстрой загрузки устройство после данного шага переходит к Шагу 16 (шаг начала загрузки целевой ОС компьютера).
Шаг 4) Программа-загрузчик, запущенная на шаге 3, принимает решение о загрузке доверенной ОС из энергонезависимой памяти устройства и инициирует ее загрузку.
Шаг 5) Выполняется загрузка доверенной ОС. Дальнейшие действия до перезагрузки компьютера или загрузки целевой ОС с помощью модуля kexec (программный модуль, позволяющий загрузить ядро Linux без перезагрузки компьютера путем обновления ядра в оперативной памяти [26]) выполняются в доверенной ОС.
Шаг 6) Если устройство используется в качестве системообразующего модуля комплексной системы защиты и среди аппаратных средств, управляемых данным устройством, присутствуют аппаратные шифраторы, устройство считывает ключи шифрования со съемного ключевого носителя и выполняет загрузку ключей шифрования в аппаратные шифраторы.
Шаг 7) Производится запуск графической оболочки устройства.
Шаг 8) Если устройство используется в качестве системообразующего модуля комплексной распределенной системы защиты и находится в домене удаленного управления, требующем аутентификации, то выполняется аутентификация компьютера в домене удаленного управления.
Шаг 9) Устройство производит аутентификацию пользователя на основе информации, находящейся на аутентифицирующем носителе (АН) пользователя (удостоверения пользователя).
В случае наличия на АН пользователя более одного удостоверения пользователя (что возможно, например, при использовании в системе защиты ролевой модели доступа и при наличии у пользователя более одной роли) пользователю предоставляется выбор удостоверения, на основе которого будет выполнена его аутентификация.
Аутентификация может выполняться на основе нескольких факторов. В качестве дополнительных факторов аутентификации может использоваться последовательность символов, вводимая пользователем с клавиатуры (пароль пользователя), различные биометрические характеристики пользователя или их комбинации.
Шаг 10) В зависимости от полномочий прошедшего аутентификацию пользователя в части наличия в них разрешения или запрета на использование различных периферийных интерфейсов компьютера, устройство выполняет аппаратную блокировку тех периферийных интерфейсов, использование которых пользователю запрещено и аппаратная блокировка которых устройством поддерживается.
Шаг 11) Отображается меню загрузки, предоставляющее пользователю возможность выбора дальнейших действий с устройством. Подмножество возможных действий пользователя, которое он может выбрать из отображаемого меню, зависит от полномочий пользователя, прошедшего аутентификацию.
Шаг 12) В случае если полномочия пользователя, прошедшего аутентификацию, включают в себя разрешение данному пользователю на запуск режима управления устройством и пользователь выбрал в меню загрузки запуск режима управления, производится вход в режим управления.
В режиме управления пользователю предоставляется графический интерфейс настройки устройства, в котором можно выполнить, в частности, следующие действия:
- просмотр и задание основных настроек устройства, например, типа используемых АН, количества допустимых попыток неуспешной аутентификации пользователя, имени устройства в системе, настроек процедуры загрузки ОС компьютера, даты и времени, таймеров загрузки и режимов работы устройства;
- просмотр и обновление прошивок внутреннего программного обеспечения устройства;
- управление пользователями устройства, включая создание пользователей, настройку их полномочий, создание удостоверений пользователей, их запись на АН и удаление пользователей;
- просмотр и очистку журналов операций, протоколируемых устройством;
- настройку параметров контроля целостности оборудования и программной среды защищаемого компьютера;
- просмотр и настройку реестра серийных номеров АН, разрешенных к использованию с данным экземпляром устройства;
- настройку параметров управления периферийными интерфейсами и их блокировки.
Если запуск режима управления пользователю недоступен или пользователь не выбирает в меню запуск режима управления, данный шаг пропускается.
Шаг 13) Устройство выполняет контроль целостности оборудования и программной среды компьютера.
Контроль целостности может включать в себя проверку целостности (соответствия текущих значений эталонным) содержимого следующих объектов контроля:
- объектов файловой системы;
- областей памяти CMOS;
- областей ОЗУ компьютера;
- секторов жестких дисков компьютера.
Кроме того, контролю может подвергаться наличие определенного подмножества аппаратных компонентов компьютера.
Конкретное подмножество объектов контроля целостности, а также эталонные значения их содержимого определяются на Шаге 12 в режиме управления устройством.
Шаг 14) При выполнении хотя бы одного из следующих условий:
- целевой ОС защищаемого компьютера не является ОС семейства Linux;
- в настройках устройства не установлен запуск целевой ОС через kexec;
- в отображаемом пользователю меню загрузки присутствует команда перезагрузки ОС и пользователь явным образом выбрал данную команду меню;
- в отображаемом пользователю меню загрузки присутствует команда загрузки ОС со съемного носителя и пользователь явным образом выбрал данную команду меню;
- в отображаемом пользователю меню загрузки присутствует команда входа в настройки BIOS/UEFI компьютера и пользователь явным образом выбрал данную команду меню,
то устройство инициирует перезагрузку компьютера и, таким образом, возвращается к Шагу 1 (шаг получения устройством управления после перезагрузки компьютера). В противном случае данный шаг пропускается.
Если пользователю была предоставлена возможность выбора соответствующей команды в отображаемом пользователю меню загрузки и пользователь выбрал команду перезагрузки ОС или команду загрузки ОС со съемного носителя, или команду входа в настройки BIOS компьютера, то перед инициацией перезагрузки компьютера устройство выставляет один из специальных флагов режимов управления загрузкой, соответствующий выбранной пользователем команде меню:
- флаг входа в настройки BIOS/UEFI;
- флаг загрузки со сменного носителя;
- флаг быстрой загрузки.
Шаг 15) Устройство инициирует загрузку целевой ОС через kexec.
Шаг 16) Выполняется загрузка и активация целевой ОС компьютера.
Данный шаг фактически завершает описанный выше способ доверенной загрузки компьютера с контролем периферийных интерфейсов. Работа устройства в процессе загрузки компьютера на этом завершается. Однако в случае, когда устройство является системообразующим модулем комплексной системы защиты и данная система защиты включает в себя программное обеспечение, взаимодействующее с устройством (системообразующим модулем), устройство в процессе работы загруженной ОС находится в режиме ожидания команд от программного обеспечения, работающего в данной ОС, для выполнения предусмотренных такими командами функций.
Доступность устройства программному обеспечению, работающему на уровне ОС, обеспечивается наличием установленного в ОС драйвера устройства и (опционально) библиотеки функций взаимодействия с устройством, предоставляющей программному обеспечению некий программный интерфейс (API), содержащий функции взаимодействия с устройством. При этом такая библиотека функций (при ее наличии) взаимодействует с устройством через его драйвер, а прикладное программное обеспечение может взаимодействовать с устройством как через библиотеку функций, так и непосредственно через драйвер устройства.
Исходя из требований обеспечения безопасности устройство при работе в таком режиме может предоставлять программному обеспечению некое ограниченное подмножество функций, а также может требовать от вызывающего программного обеспечения прохождения аутентификации, по результатам которой устройство может проверять соответствие запрашиваемых действий текущим настройкам и правилам разграничения доступа; в результате проведения данных проверок в выполнении команды устройством может быть отказано.
В соответствии с приведенным выше описанием способа доверенной загрузки компьютера с контролем периферийных интерфейсов, последовательность шагов, выполняемых при штатной загрузке ОС компьютера после шага контроля целостности оборудования и программной среды защищаемого компьютера, зависит от настроек устройства и типа ОС и сводится к двум следующим основным вариантам:
- для ОС семейства Linux при установленном в настройках устройства режиме загрузки через модуль kexec осуществляется запуск данного модуля, после которого осуществляется загрузка и активация целевой ОС компьютера;
- в остальных случаях сначала инициируется перезагрузка компьютера с установленным флагом быстрой загрузки, затем (после выполнения перезагрузки) на шаге запуска первого программного модуля устройства в соответствии с установленным флагом быстрой загрузки сразу осуществляется переход к шагу загрузки и активации целевой ОС компьютера.
Необходимо отметить, что при работе устройства могут возникать различные ошибочные ситуации, которые могут быть условно разделены на две следующие категории:
- нефатальные ошибки, после которых возможно продолжение работы на текущем шаге описанного выше способа; примером ошибки данной категории может быть ввод пользователем неверного пароля при прохождении его аутентификации - если максимально допустимое число попыток ввода пароля не превышено, то после ввода неверного пароля пользовательский интерфейс устройства может предоставить пользователю возможность повторного ввода пароля и затем, после ввода уже верного пароля, устройство может продолжить работу в соответствии с описанным выше способом;
- фатальные ошибки, после которых устройство выключает питание компьютера или инициирует перезагрузку компьютера; таким образом, в случае перезагрузки компьютера осуществляется переход на Шаг 1 описанного способа (шаг получения устройством управления от компьютера); примером такой ошибки может служить неверный ввод пароля с превышением количества максимально допустимых попыток ввода пароля.
Возможны также ошибки, относимые как к первой, так и ко второй из описанных выше категорий в зависимости от прав пользователя, прошедшего аутентификацию. Примером такой ошибки может являться факт нарушения целостности объектов файловой системы, который может быть с соответствующими последствиями отнесен как к фатальным, так и к нефатальным ошибкам (последнее - если у пользователя есть возможность пересчета эталонных значений контрольных сумм объектов контроля целостности).
Заявляемый способ распространяется на различные варианты описанной последовательности действий, включающие в себя выполнение устройством различного рода дополнительных операций в зависимости от описанных далее дополнительных возможностей устройства или их некоего подмножества:
- действий по обеспечению целостности программы BIOS/UEFI защищаемого компьютера (или ее аналога), в рамках которых устройство в процессе выполнения процедуры самотестирования или после нее сверяет программу BIOS/UEFI компьютера с эталонной программой BIOS/UEFI, зашитой в памяти устройства; при расхождении программы BIOS/UEFI компьютера и эталонной программы BIOS/UEFI устройство может полностью или частично блокировать загрузку компьютера или заменять программу BIOS/UEFI компьютера на эталонную и продолжать загрузку с соответствующим информированием пользователя;
- действий в рамках удаленного управления устройством в случае, если устройство поддерживает удаленное управление со стороны сервера управления; в этом случае может быть предусмотрено, в частности, получение с сервера управления профилей (учетных записей) пользователей, профиля (учетной записи) защищаемого компьютера, полномочий пользователя, прошедшего аутентификацию, и/или другой информации, а также отправка отчетов о выполняемых устройством и/или компьютером операциях для выполнения необходимых модификаций хранящихся на сервере управления данных (что может быть необходимо, например, для обновления профиля пользователя по результатам его аутентификации);
- действий в рамках использования защищаемого устройством компьютера в качестве терминала, работающего в режиме «тонкого клиента»; такие действия могут включать, например, скачивание целевой операционной системы с терминального сервера и проверку ее целостности перед ее дальнейшей загрузкой;
- действий в рамках использования защищаемого устройством компьютера в качестве сервера, не предоставляющего пользователю возможности интерактивного взаимодействия с устройством, что подразумевает, в частности, выполнение последовательности действий заявляемого способа в автоматическом режиме, например, в соответствии с предустановленными настройками устройства;
- действий по протоколированию выполняемых операций и их результатов;
- действий по сбору и агрегированию журналов операций от прочего аппаратного и программного обеспечения комплексной системы защиты в случае, если устройство используется в качестве системообразующего модуля комплексной системы защиты и в такой системе поддерживается централизованное хранение и/или обработка журналов операций;
- действий по предоставлению возможностей по взаимодействию с прочим аппаратным обеспечением комплексной системы защиты и/или по настройке такого аппаратного обеспечения в случае, если устройство используется в качестве системообразующего модуля комплексной системы защиты и прочее аппаратное обеспечение комплексной системы защиты не имеет собственного пользовательского интерфейса, но поддерживает возможность такого взаимодействия и/или настройки через пользовательский интерфейс системообразующего модуля;
- прочих действий, возможных в случае, если устройство используется в качестве системообразующего модуля комплексной системы защиты;
- действий по контролю интервалов времени выполнения как конкретных шагов выполнения описанного способа, так и любых их комбинаций;
- действий в случае, если целевая ОС представляет собой гипервизор, в том числе доверенный гипервизор, загружаемый из энергонезависимой памяти устройства.
Во всех этих случаях основная последовательность шагов описанного выше способа и основная логика работы устройства остается неизменной (либо незначительно корректируется) и только дополняется рядом дополнительных операций.
Заявляемый способ распространяется также на различные варианты описанной последовательности действий, в которых:
- контролируемые периферийные интерфейсы являются изначально заблокированными, а после прохождения пользователем аутентификации выполнятся разблокировка тех из периферийных интерфейсов, использование которых аутентифицированному пользователю разрешено;
- последовательность шагов способа доверенной загрузки компьютера с контролем периферийных интерфейсов может выполняться в ином порядке с сохранением общей логики реализации заявляемого способа;
- разбиение способа на логические этапы (шаги) может производиться иначе, например, с объединением ряда шагов способа в один или, наоборот, с дополнительным разбиением комплексных шагов на элементарные;
- ряд логических этапов (шагов) способа может отсутствовать с сохранением минимальной последовательности действий, необходимых для реализации доверенной загрузки компьютера с контролем периферийных интерфейсов; при этом минимальная последовательность действий включает в себя описанные выше основные функции АПМДЗ, характерные для устройств данного класса (самотестирование устройства, идентификацию и аутентификацию пользователей с разграничением доступа пользователей к компьютеру, контроль загрузки заданной ОС компьютера и контроль целостности программной среды), а также действия по контролю доступа к периферийным интерфейсам.
Заявляемый способ не ограничивается каким-либо конкретным подмножеством ОС, используемых в качестве:
- доверенной ОС, в которой выполняются основные шаги заявляемого способа;
- целевой ОС;
- гипервизора.
Заявляемый способ доверенной загрузки компьютера с контролем периферийных интерфейсов не ограничивается каким-либо конкретным подмножеством периферийных интерфейсов, доступ к которым подлежит контролю и/или разграничению в рамках данного способа.
Заявляемый способ распространяется также на различные комбинации факторов, на основании которых принимается решение о разрешении или запрете доступа пользователя к контролируемым периферийным интерфейсам или их подмножеству, причем данные факторы могут как включать полномочия прошедшего аутентификацию пользователя, так и не включать их. В качестве примеров таких факторов можно привести следующие:
- стадия загрузки компьютера (в частности, конкретный шаг заявляемого способа доверенной загрузки компьютера с контролем периферийных интерфейсов);
- режим работы устройства;
- наличие и конфигурация дополнительных аппаратных и/или программных средств защиты;
- текущая аппаратная конфигурация защищаемого компьютера.
Заявляемый способ распространяется также на реализации, в которых блокировка периферийных интерфейсов используется для обеспечения непрерывной загрузки защищаемого компьютера, в том числе, в совокупности с другими мерами.
Заявляемый способ не ограничивается каким-либо конкретным подмножеством способов и факторов, применяемых для аутентификации пользователей.
Заявляемый способ может быть реализован различным образом и не ограничивается каким-либо конкретным вариантом его реализации, в том числе, в виде заявляемого устройства доверенной загрузки компьютера с контролем периферийных интерфейсов, которое является только одним из возможных примеров реализации заявляемого способа.
2. В состав известного устройства доверенной загрузки компьютера (устройства создания доверенной среды и защиты информации от несанкционированного доступа), содержащего:
- основной управляющий микроконтроллер, в состав программного обеспечения которого входят модуль идентификации и аутентификации пользователя, модули проверки целостности и состояния аппаратных и программных компонентов, модуль контроля интервалов времени процедуры запуска и загрузки компьютера, модуль настройки устройства и опциональные модули управления загрузкой ключей аппаратных шифраторов, взаимодействия с системой разграничения доступа, поддержки удаленного администрирования и управления устройством, клиентской части программного обеспечения «тонкого клиента» и взаимодействия с серверами информационно-вычислительной системы;
- энергонезависимую память (достаточной емкости) с блоками хранения доверенной операционной системы и программного обеспечения устройства, электронного журнала для регистрации событий при функционировании устройства, настроек устройства и с опциональными блоками хранения учетных данных пользователей и настроек и ключей удаленного управления;
- накопитель на основе флэш-памяти с интерфейсом SPI, включающий в себя защищенные от записи области и содержащий BIOS компьютера;
- управляемый программным обеспечением основного управляющего микроконтроллера быстродействующий электронный ключ для обеспечения блокировки записи в защищенные области BIOS на основе контроля команд от чипсета материнской платы компьютера к накопителю по шине SPI;
- блок переключателей для выбора режима работы устройства;
- звуковой извещатель для дополнительного информирования о выявленных нештатных ситуациях;
- блок интерфейсов внешних устройств, включающий интерфейс SPI для подключения к шине SPI чипсета материнской платы компьютера, интерфейс USB Host для подключения внешних устройств, интерфейс 1-Wire для подключения идентификатора типа Touch Memory и межмодульный интерфейс для подключения аппаратных шифраторов;
- блок управления основным питанием компьютера;
- датчик случайных чисел,
вводятся следующие компоненты:
- дополнительный управляющий микроконтроллер, в состав программного обеспечения которого входят модуль взаимодействия с основным управляющим микроконтроллером и модуль, управляющий электронными компонентами, выполняющими функции электронных ключей, который обеспечивает передачу команд данным электронным компонентам на подключение или отключение периферийных интерфейсов в зависимости от полномочий пользователя, прошедшего аутентификацию, и/или на основе других факторов;
- программно-управляемые электронные компоненты, выполняющие функции электронных ключей, которые устанавливаются в разрыв между чипсетом компьютера и периферийными интерфейсами и обеспечивают физическое подключение или отключение периферийных интерфейсов в зависимости от команд, получаемых от дополнительного управляющего микроконтроллера.
Заявляемое устройство доверенной загрузки компьютера с контролем периферийных интерфейсов является одним из возможных примеров реализации заявляемого способа доверенной загрузки компьютера с контролем периферийных интерфейсов.
Заявляемое устройство может быть выполнено как в виде набора элементов на материнской плате компьютера, так и путем объединения основных элементов на общей плате устройства с размещением программно-управляемых электронных компонентов, выполняющих функции электронных ключей, на материнской плате компьютера или любым другим способом, обеспечивающим возможность их установки в разрыв между чипсетом компьютера и периферийными интерфейсами для обеспечения физического подключения или отключения периферийных интерфейсов.
В качестве основного и дополнительного управляющих микроконтроллеров в заявляемом устройстве могут использоваться любые вычислительные устройства аналогичного назначения - например, микропроцессоры.
Управляемыми периферийными интерфейсами могут быть такие интерфейсы, как, например, USB, PCI-Express, SATA, HDMI, выход аудио и другие. Заявляемое техническое решение распространяется и на другие периферийные интерфейсы, контроль использования которых может осуществляться на основе заявляемого способа.
Решение о разрешении или запрете доступа пользователя к контролируемым периферийным интерфейсам или их подмножеству может приниматься не только в зависимости от полномочий пользователя, прошедшего аутентификацию, но также и на основе различных дополнительных факторов, причем все влияющие на данное решение факторы могут как включать полномочия прошедшего аутентификацию пользователя, так и не включать их.
В результате проведенного заявителем анализа уровня техники, включая поиск по патентным и научно-техническим источникам информации и выявление источников, содержащих сведения об аналогах заявленного технического решения, не было обнаружено источника, характеризующегося признаками, тождественными всем существенным признакам заявленного технического решения, изложенным в формуле изобретения.
Определение из перечня выявленных аналогов прототипа заявляемого устройства, как наиболее близкого по совокупности признаков аналога, позволило установить совокупность приведенных выше существенных по отношению к усматриваемому заявителем техническому результату отличительных признаков заявленного устройства доверенной загрузки компьютера с контролем периферийных интерфейсов. Проведенный заявителем дополнительный поиск не выявил известные решения, содержащие признаки, совпадающие с отличительными от прототипа признаками заявляемого устройства.
Следовательно, заявленное техническое решение соответствует критерию «новизна».
Заявленное техническое решение не вытекает для специалиста явным образом из известного уровня техники и не основано на изменении количественных признаков. Следовательно, заявленное техническое решение соответствует критерию «изобретательский уровень».
Краткое описание чертежей
На фиг. 1 приведена упрощенная схема одного из возможных алгоритмов, реализующих заявляемый способ доверенной загрузки компьютера с контролем периферийных интерфейсов.
Нумерация блоков на фиг. 1 соответствует номерам шагов заявляемого способа:
1 - Шаг 1 - шаг получения устройством управления от компьютера после его включения или перезагрузки.
2 - Шаг 2 - шаг запуска первого программного модуля устройства и анализа флагов загрузки; включает в себя следующие основные подэтапы:
2.1 - запуск первого программного модуля устройства;
2.2 - анализ флагов загрузки, в т.ч. проверка, установлен ли флаг входа в настройки BIOS/UEFI; если данный флаг установлен, осуществляется переход к подэтапу 2.3, в противном случае - переход к подэтапу 2.5;
2.3 - вход в настройки BIOS/UEFI для работы пользователя с данными настройками;
2.4 - после завершения работы с настройками BIOS/UEFI - сброс флага входа в настройки BIOS/UEFI и инициирование перезагрузки компьютера, после чего - переход к Шагу 1;
2.5 - проверка, установлен ли флаг загрузки со съемного носителя; если данный флаг установлен, осуществляется переход к Шагу 16, в противном случае - переход к Шагу 3.
3 - Шаг 3 - шаг запуска программы-загрузчика ОС; включает в себя следующие основные подэтапы:
3.1 - запуск программы-загрузчика ОС;
3.2 - проверка, установлен ли флаг быстрой загрузки; если данный флаг установлен, осуществляется переход к Шагу 16, в противном случае - переход к Шагу 4.
4 - Шаг 4 - шаг инициирования загрузки доверенной ОС.
5 - Шаг 5 - шаг загрузки доверенной ОС.
6 - Шаг 6 - шаг загрузки ключей шифрования; включает в себя следующие основные подэтапы:
6.1 - анализ, требуется ли загрузка ключей шифрования; если требуется, осуществляется переход к подэтапу 6.2, в противном случае - переход к Шагу 7;
6.2 - загрузка ключей шифрования.
7 - Шаг 7 - шаг запуска графической оболочки устройства.
8 - Шаг 8 - шаг аутентификации компьютера в домене удаленного управления; включает в себя следующие основные подэтапы:
8.1 - анализ, требуется ли аутентификация компьютера в домене удаленного управления; если требуется, осуществляется переход к подэтапу 8.2, в противном случае - переход к Шагу 9;
8.2 - выполнение аутентификации компьютера в домене удаленного управления.
9 - Шаг 9 - шаг аутентификации пользователя устройством.
10 - Шаг 10 - шаг блокировки периферийных интерфейсов в соответствии с полномочиями прошедшего аутентификацию пользователя.
11 - Шаг 11 - шаг отображения пользователю меню загрузки; после выбора пользователем определенной команды меню осуществляется переход к следующему шагу.
12 - Шаг 12 - шаг работы пользователя в режиме управления устройством; включает в себя следующие основные подэтапы:
12.1 - анализ, выбран ли пользователем вход в режим управления; если выбран, осуществляется переход к подэтапу 12.2, в противном случае - переход к Шагу 13;
12.2 - работа пользователя в режиме управления устройством; после завершения работы в режиме управления осуществляется переход к следующему шагу.
13 - Шаг 13 - шаг контроля целостности оборудования и программной среды компьютера.
14 - Шаг 14 - шаг перезагрузки компьютера; включает в себя следующие основные подэтапы:
14.1 - анализ, требуется ли перезагрузка компьютера для дальнейшей работы; если требуется, осуществляется переход к подэтапу 14.2, в противном случае - переход к Шагу 15;
14.2 - установка флага загрузки в соответствии с выбранной пользователем командой меню;
14.3 - инициирование перезагрузки компьютера, после чего - переход к Шагу 1.
15 - Шаг 15 - шаг инициирования загрузки целевой ОС через kexec.
16 - Шаг 16 - шаг загрузки целевой ОС компьютера.
На фиг. 2 приведена упрощенная структурная схема одного из вариантов реализации заявляемого устройства доверенной загрузки компьютера с контролем периферийных интерфейсов, где на материнской плате компьютера 161 размещены компоненты устройства доверенной загрузки компьютера с контролем периферийных интерфейсов:
101 - АПМДЗ;
102 - дополнительный управляющий микроконтроллер;
103 - звуковой извещатель;
104 - электронные компоненты, выполняющие функции электронных ключей.
Компоненты АПМДЗ 101:
111 - основной управляющий микроконтроллер;
112 - энергонезависимая память;
113 - накопитель на основе флэш-памяти с интерфейсом SPI;
114 - быстродействующий электронный ключ;
115 - блок переключателей режимов работы;
116 - блок управления основным питанием компьютера;
117 - датчик случайных чисел;
118 - блок интерфейсов внешних устройств.
Программные модули, выполняющиеся на управляющем микроконтроллере 111:
121 - модуль идентификации и аутентификации пользователя;
122 - модули проверки целостности и состояния аппаратных и программных компонентов;
123 - модуль контроля интервалов времени процедуры запуска и загрузки компьютера;
124 - модуль настройки устройства;
125 - опциональный модуль управления загрузкой ключей аппаратных шифраторов;
126 - опциональный модуль взаимодействия с системой разграничения доступа;
127 - опциональный модуль поддержки удаленного администрирования и управления устройством;
128 - опциональный модуль клиентской части программного обеспечения «тонкого клиента» и взаимодействия с серверами информационно-вычислительной системы.
Блоки энергонезависимой памяти для хранения данных 112:
131 - блок хранения доверенной операционной системы;
132 - блок хранения программного обеспечения устройства;
133 - блок хранения электронного журнала для регистрации событий;
134 - блок хранения настроек устройства;
135 - опциональный блок хранения учетных данных пользователей;
136 - опциональный блок хранения настроек и ключей удаленного управления.
Накопитель на основе флэш-памяти с интерфейсом SPI113 содержит:
141 - блок хранения программы BIOS/UEFI компьютера или ее аналога.
Программные модули, выполняющиеся на дополнительном управляющем микроконтроллере 102:
151 - модуль взаимодействия с основным управляющим микроконтроллером;
152 - модуль управления электронными компонентами, выполняющими функции электронных ключей.
Компоненты компьютера:
161 - материнская плата;
162 - процессорный модуль (центральный процессор и чипсет);
163 - контролируемые периферийные интерфейсы;
164 - блок питания.
Осуществление изобретения
Заявляемое устройство доверенной загрузки компьютера с контролем периферийных интерфейсов, интегрированное в материнскую плату компьютера и реализующее заявляемый способ доверенной загрузки компьютера с контролем периферийных интерфейсов, может быть реализовано на базе известных покупных комплектующих изделий. Заявителем разработана и находится в стадии подготовки к серийному производству материнская плата, на которой реализовано заявляемое устройство, включающее в себя следующие основные компоненты:
- аппаратно-программный модуль доверенной загрузки «АПМДЗ-И/М3»;
- дополнительный управляющий микроконтроллер ARM Cortex-M4.
Блокировка периферийных интерфейсов в заявленном устройстве производится с помощью различных микросхем, встроенных в разрыв информационных шин устройства и используемых в качестве управляемых электронных ключей, в частности:
- блокировка передачи информационного сигнала по шине PCI-Express осуществляется с помощью микросхемы CBTL02042ABQ, переключающей поток информационных данных с шины на специальный пустой тракт;
- блокировка передачи информационного сигнала по шине SATA осуществляется с помощью микросхемы МАХ4951СРТ отключающей поток информационных данных при поступлении управляющего сигнала;
- блокировка передачи информационного сигнала по шине USB 2.0 осуществляется с помощью микросхемы USB2514B и микросхемы TS3USB31E, отключающих поток информационных данных при поступлении управляющего сигнала;
- блокировка передачи информационного сигнала по шине USB 3.0 осуществляется с помощью микросхем МАХ4951СРТ и USB3740B, отключающих поток информационных данных при поступлении управляющего сигнала;
- блокировка передачи информационного сигнала по шине HDMI осуществляется с помощью микросхемы PTN3381DBS, отключающей поток информационных данных при поступлении управляющего сигнала;
- блокировка передачи информационного сигнала по аудио шине осуществляется с помощью микросхемы ALC888S, отключающей поток информационных данных при поступлении управляющего сигнала.
Таким образом, для заявляемых способа и устройства доверенной загрузки компьютера с контролем периферийных интерфейсов в том виде, как они охарактеризованы в соответствующих пунктах изложенной формулы изобретения, подтверждена возможность осуществления изобретения с помощью описанных средств.
Следовательно, заявляемое техническое решение соответствует критерию «промышленная применимость».
Заявляемый способ доверенной загрузки компьютера с контролем периферийных интерфейсов рекомендуется реализовывать в СВТ, использование которых предполагает создание доверенной вычислительной среды с контролем периферийных интерфейсов, а заявляемое устройство доверенной загрузки компьютера с контролем периферийных интерфейсов рекомендуется реализовывать в составе материнских (системных) плат таких СВТ (как в виде неизвлекаемого, так и в виде псевдоизвлекаемого устройства). Примерами СВТ, в которых могут использоваться заявляемые технические решения, являются стационарный или переносной персональный компьютер, автоматизированное рабочее место, терминал «тонкого клиента», сервер, маршрутизатор и т.п., в том числе, в защищенном исполнении для специальных применений.
Источники информации
1. Патент RU 2321055. Устройство защиты информации от несанкционированного доступа для компьютеров информационно-вычислительных систем. - Опубл. 27.03.2008 г.
2. Двинских А. АПМДЗ «КРИПТОН-ЗАМОК» как системообразующий модуль [Электронный ресурс]. // Режим доступа: http://ancud.ru/presentation.html - 25.03.2015 г. - ООО Фирма «АНКАД».
3. Патент RU 2538329. Устройство создания доверенной среды для компьютеров информационно-вычислительных систем. - Опубл. 19.11.2014 г. - прототип устройства.
4. Bulygin Y., Loucaides J., Furtak A., Bazhaniuk O., Matrosov A. Summary of Attacks Against BIOS and Secure Boot [Electronic Resource]. // URL: https://www.defcon.org/images/defcon-22/dc-22-presentations/Bulygin-Bazhaniul-Furtak-Loucaides/DEFCON-22-Bulygin-Bazhaniul-Furtak-Loucaides-Summary-of-attacks-against-BIOS-UPDATED.pdf - 2014 - Intel Security.
5. LoJax: первый известный UEFI руткит, используемый во вредоносной кампании [Электронный ресурс]. // Режим доступа: http://habr.com/ru/company/eset/blog/425251/ - 03.10-2018 г. - ESET.
6. Matrosov A., Rodionov Е. UEFI Firmware Rootkits: Myths and Reality (Revisited for Black Hat Asia) [Electronic Resource]. // URL: http://www.blackhat.com/docs/asia-17/materials/asia-17-Matrosov-The-UEFI-Firmware-Rootkits-Myths-And-Reality.pdf - 2017.
7. Патент RU 2569577. Устройство создания доверенной среды для компьютеров специального назначения. - Опубл. 29.10.2015 г.
8. Щербаков Ю. Атаки, использующие периферийные устройства [Электронный ресурс]. // Режим доступа: http://mobile.ib-bank.ru/post/430 - 20.07.2016.
9. Trikalinou A., Lake D. Taking DMA Attacks to the Next Level: How to do arbitrary reads/writes in a live and unmodified system using a rogue memory controller [Electronic Resource]. // URL: http://www.blackhat.com/docs/us-17/wednesday/us-17-Trikalinou-Taking-DMA-Attacks-To-The-Next-Level-How-To-Do-Arbitrary-Memory-Reads-Writes-In-A-Live-And-Unmodified-System-Using-A-Rogue-Memory-Controller.pdf - 2017 - Intel Corporation.
10. Cimpanu C. Here's a List of 29 Different Types of USB Attacks [Electronic Resource]. // URL: http://www.bleepingcomputer.com/news/security/heres-a-list-of-29-different-types-of-usb-attacks/ - 13.03.2018.
11. Bursztein E. Does Dropping USB Drives Really Work? [Electronic Resource]. // URL: https://www.blackhat.com/docs/us-16/materials/us-16-Bursztein-Does-Dropping-USB-Drives-In-Parking-Lots-And-Other-Places-Really-Work.pdf - 2016.
12. Patent CN 108985112. A kind of USB port control system and method. - Date of publication: 11.12.2018.
13. Заявка на изобретение RU 2013135240. Способ и устройство управления доступом к компьютерной системе. - Опубл. 10.12.2015 г.
14. Дударев Д.А. Обзор средств защиты информации, составляющей государственную тайну [Электронный ресурс]. // Режим доступа: http://ancud.ru/presentation.html - 28.03.2018 г. - ООО Фирма «АНКАД».
15. Panasenko S. A Generalized Pseudo-SSO Scheme, International Journal of Computer Theory and Engineering, vol. 3, no. 4, pp. 571-574, 2011.
16. Передовые технологии предотвращения утечек данных [Электронный ресурс]. // Режим доступа: http://www.devicelock.com/ru/products/technology.html - АО «Смарт Лайн Инк».
17. Руссинович М., Соломон Д. Внутреннее устройство Microsoft Windows. - Пер. с англ.: СПб.: Питер, 2013 - 800 с.
18. Патент RU 2534599. Система контроля доступа к ресурсам компьютерной системы с субъектом доступа «пользователь, процесс». - Опубл. 27.11.2014 г.
19. Грязнов Е. Система разграничения доступа СРД «КРИПТОН-ЩИТ» [Электронный ресурс]. // Режим доступа: http://ancud.ru/presentation.html - 25.03.2015 г. - ООО Фирма «АНКАД».
20. DLP-система DeviceLock 8.2 - дырявый штакетник на страже вашей безопасности [Электронный ресурс]. // Режим доступа: http://habr.com/ru/post/343722 - 02.12.2017.
21. Щеглов А.Ю. Защита компьютерной информации от несанкционированного доступа - СПб.: Наука и техника, 2004 - 384 с.
22. Грязнов Е.С., Панасенко С.П., Пузырев Д.В., Хартен А.В. Система разграничения доступа на основе технологий виртуализации. // Вопросы защиты информации. - 2017 - №2 - с. 14-18.
23. Грязнов Е.С., Панасенко С.П. Взгляд на архитектуру «тонкого клиента» с точки зрения защиты информации. // Материалы VIII Всероссийской молодежной школы-семинара по проблемам информационной безопасности «Перспектива-2019». - Таганрог: ООО «Издательство «Лукоморье», 2019. - с. 53-57.
24. Заявка на изобретение RU 2013116376. Программируемый мультимедиа контроллер с гибким доступом пользователя и общей конфигурацией устройств. - Опубл. 27.10.2014 г.
25. Patent US 20160012258. System and method for securing an input/output port using shape memory alloys in a locking mechanism. - Date of publication: 14.01.2016.
26. Мгновенная перезагрузка Linux при помощи kexec [Электронный ресурс]. // Режим доступа: http://www.opennet.ru/tips/info/2237.shtml - 24.11.2009.