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

 

Полезная модель относится к вычислительной технике и может быть использована для контроля целостности всех видов программного обеспечения (ПО) в ПЭВМ: базовой системы ввода-вывода (BIOS), ядра операционной системы и прикладного ПО. Технический результат, достигаемый предлагаемым устройством, заключается в контроле целостности всех видов ПО путем возложения функций контроля на блоки, входящие в состав ПЭВМ, при этом дополнительно упрощается устройство и тем самым повышается надежность его работы. Устройство содержит ПЭВМ, внешний носитель информации, контроллер ввода-вывода, блок памяти и специализированный загрузчик. Блок памяти и специализированный загрузчик подключены к системной шине ПЭВМ непосредственно, а внешний носитель информации - через контроллер ввода - вывода. Сущность предлагаемого технического решения заключается во введении в состав устройства специализированного загрузчика, обеспечивающего до загрузки прикладного ПО на накопитель жесткого магнитного диска проверку целостности его по алгоритму ГОСТ 28147-89, при этом проверке на целостность подвергаются также программы ядра операционной системы и программы BIOS.

Полезная модель относится к вычислительной технике и может быть использована для контроля целостности всех видов программного обеспечения (ПО) в ПЭВМ: базовой системы ввода-вывода (BIOS), ядра операционной системы (ОС), прикладного ПО.

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

Применительно к ПЭВМ наиболее актуальной является задача защиты от несанкционированного ввода программного обеспечения и в первую очередь-операционной системы. Эта задача решается, например, устройством безопасной загрузки [1], которое предотвращает неавторизованную замену программы, например, BIOS, хранящейся в энергонезависимой памяти, путем шифрования с помощью криптографического ключа этой программы при передаче к центральному процессору (ЦП) и дешифрования ее при получении ЦП. Подмена злоумышленником памяти приведет к невозможности дешифрования программы и, следовательно, ее использования. В известном устройстве хранение криптографического ключа на передающей и приемной сторонах осуществляется в другой энергонезависимой памяти, запись в которую происходит в процессе производства. Шифрование и дешифрование осуществляется специализированными устройствами, построенными на базе аппаратных или программно-аппаратных средств.

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

Кроме того, известное устройство не обеспечивает проверку целостности вводимой в ЦП программы.

Последний недостаток устранен в способе аутентификации системы BIOS перед ее активизацией и в устройстве для реализации этого способа [2]. Устройство содержит

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

Сигнатура вычисляется и записывается в память в процессе производства с использованием криптографического ключа. Ключ, программа вычисления и проверки сигнатуры хранятся в криптографическом устройстве, выполненном на двух микросхемах, подсоединяемом с помощью разъема к главному процессору. После включения питания процессор вычисляет сигнатуру BIOS, сравнивает ее с эталонной и при совпадении разрешает дальнейшее использование BIOS.

Недостаток описанного устройства заключается в его сложности, обусловленной наличием специализированного криптографического устройства. Кроме того, устройства [1, 2] не обеспечивают защиту ПЭВМ от загрузки операционной системы, в которой возможно наличие несанкционированных программ и нарушение целостности программ.

Наиболее близким к предлагаемому техническому решению по назначению и составу и выбранным вследствие этого в качестве прототипа, является устройство защиты от несанкционированного доступа к информации, хранимой в ПЭВМ [3].

Известное устройство содержит ПЭВМ, контроллер обмена информацией с ПЭВМ и первый блок памяти, подключаемые к системной шине ПЭВМ, выносной контактный узел, внешний носитель информации, контроллер обмена с внешним носителем информации, подключенный через локальную шину к контроллеру обмена информацией с ПЭВМ.

Во внешнем носителе информации записана персональная идентификационная информация о пользователе и хэш-функция (коды целостности) всех защищаемых файлов данного пользователя. В первом блоке памяти записана программа считывания информации с внешнего носителя информации и программа контроля целостности информации ПЭВМ.

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

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

Недостаток устройства-прототипа заключается в низкой его надежности, обусловленной наличием дополнительно к оборудованию ПЭВМ аппаратных средств: внешнего носителя информации, выносного контактного узла считывания информации с внешнего носителя информации, двух контроллеров и блока памяти.

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

Необходимость принятия мер по предотвращению вышеупомянутых действий специально оговаривается в технических заданиях на разработку (см., например, изделие «КРИПТОН-ЗАМОК/РСI» [4]).

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

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

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

- эталон кода целостности BIOS;

- эталон кода целостности накопителя информации гибкого магнитного диска (НГМД) ПЭВМ;

- эталон кода целостности прикладного ПО;

- эталон идентификатора;

- программы управления контролем целостности информации и идентификацией устройства.

НГМД содержит области памяти:

- идентификатора;

- ключевого сектора;

- загрузчика операционной системы;

- ядра операционной системы.

Сущность предлагаемого технического решения заключается во введении в состав устройства специализированного загрузчика, обеспечивающего до загрузки прикладного программного обеспечения на накопитель жесткого магнитного диска (НЖМД) проверку целостности его по алгоритму ГОСТ 28147-89, при этом проверке на целостность подвергаются также программы ядра операционной системы и программы BIOS. Кроме того, благодаря рациональному размещению исходных данных и программ в специализированном загрузчике, блоке памяти и НГМД достигается упрощение устройства в целом и повышается надежность его работы.

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

1 - ПЭВМ;

2 - внешний носитель информации;

3 - контроллер ввода - вывода;

4 - блок памяти;

5 - специализированный загрузчик;

ПЭВМ 1 содержит:

6 - накопитель гибкого магнитного диска (НГМД);

7 - дисплей;

8 - процессор;

9 - блок памяти BIOS;

10 - дисковод НГМД;

11 - клавиатура;

12 - оперативное запоминающее устройство (ОЗУ);

13 - накопитель жесткого магнитного диска НЖМД;

14 - системная шина.

Блок памяти 4 содержит:

- область памяти, в которой записана программа контроля целостности информации, например, по ГОСТ 28147-89;

- область памяти, в которой записана программа идентификации устройства.

Специализированный загрузчик 5 содержит:

- область памяти в которой записан эталон кода целостности программ BIOS, блока памяти 4 и самого специализированного загрузчика;

- область памяти, в которой записан эталон кода целостности содержимого НГМД ПЭВМ или части его, например ядра и загрузчика ядра ОС;

- область памяти, в которой записан эталон кода целостности прикладного ПО;

- область памяти, в которой записан эталон идентификатора;

- область памяти, в которую записана программа управления контролем целостности информации и идентификацией устройства.

НГМД 6 содержит:

- область памяти идентификатора, в которой записаны серийный номер ПЭВМ и тип диска: инсталляционный (Instdisk) и рабочий (Workdisk);

- область памяти ключевого сектора, в которой записаны криптографические ключи и исходные данные для вычисления кодов целостности, например, по ГОСТ 28147-89;

- область памяти ядра операционной системы, в которой записаны программы, входящие в состав ядра операционной системы, в том числе программа криптографической защиты информации, с помощью которой осуществляется шифрование (дешифрование) информации, например, по ГОСТ 28147-89;

- область памяти программы загрузчика ядра операционной системы.

Блок памяти 4 и специализированный загрузчик 5 подключены к системной шине 14 ПЭВМ 1 непосредственно, а внешний носитель информации 2 - через контроллер ввода-вывода 3.

Предлагаемое техническое решение может быть реализовано в нескольких вариантах. По одному из них блок памяти BIOS 9 реализуется на постоянном запоминающем устройстве, что характерно для ПЭВМ начала 90-х годов. Обычно в ПЭВМ имеются свободные слоты, подключенные к системной шине ПЭВМ, в одном из

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

По другому варианту, который целесообразно реализовать в выпускаемых в настоящее время ПЭВМ, например, ноутбуке Getac A770 [5], использующем для размещения программ BIOS энергонезависимое перепрограммируемое запоминающее устройство, в это же устройство записывают программы, содержащиеся в блоке памяти 4 и специализированном загрузчике 5. Для этой цели из состава программ BIOS, если там нет свободного места, удаляют программы, не используемые в конкретных условиях эксплуатации. Например, удаляют программу перепрограммирования BIOS и связанные с ней программы. Удаление указанной программы, кроме освобождения памяти для записи необходимых программ, преследует цель защиты программ BIOS от целенаправленного или случайного изменения их в процессе эксплуатации.

Процедура обновления (модификации) BIOS для сред MS-DOS и Windows достаточно подробно изложена в [6, с. 248-264].

Для открытых операционных систем типа Unix и Linux, исполняемые коды считаются известными.

Внешний носитель информации вместе с контроллером ввода-вывода может быть реализован на флэш-памяти, например, Flashdisk PCMCIA [7], в составе которого имеется адаптер ввода-вывода.

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

После включения питания ПЭВМ осуществляет самодиагностику (блок 1) в штатном режиме (процедура горячего старта POST), которая заканчивается прерыванием Int 19H. При исправной ПЭВМ (блок 2) по этому прерыванию запускается специализированный загрузчик (блок 3), который управляет процедурами идентификации НГМД и контроля целостности BIOS, НГМД, в процессе реализации которых оператору предлагается установить инсталляционный диск (блоки 4 и 6), после чего специализированный загрузчик сравнивает (блок 5) идентификатор, записанный на НГМД, (серийный номер ПЭВМ и тип диска: Instdisk или Workdisk) с эталоном идентификатора, записанным в соответствующей области памяти специализированного загрузчика, по программе, находящейся в блоке памяти 4 (фиг.1). При совпадении идентификаторов (блок 7, фиг.2) осуществляется контроль целостности программ BIOS, хранящихся в блоке памяти BIOS 9 (фиг.1), а также программ, хранящихся в блоке памяти 4 и специализированном загрузчике 5, для чего с НГМД 6 считывается ключевой сектор (блок 8, фиг.2), в котором записаны криптографические ключи и исходные данные

для вычисления кода целостности упомянутых выше программ, например, имитовставки по алгоритму ГОСТ 28147-89. Программа, реализующая этот алгоритм, записана в блоке памяти 4 (фиг.1) или в соответствующей зоне памяти модифицированного BIOS в случае реализации устройства по второму варианту. Сформированный код целостности и эталон кода целостности, хранимый в специализированном загрузчике, сравниваются (блоки 9 и 10, фиг.2) и при совпадении их (блок 11), что свидетельствует об отсутствии искажений в контролируемых программах, осуществляется проверка целостности содержимого инсталляционного диска (блок 12). Для этого, аналогично вышесказанному, формируется код целостности на содержимое инсталляционного диска, который сравнивается с эталоном, и при совпадении кодов, что свидетельствует об отсутствии искажений на инсталляционном диске (блок 13), осуществляется считывание с инсталляционного диска в ОЗУ программы загрузчика ядра операционной системы, которая осуществляет загрузку в ОЗУ ядра операционной системы и передает ему управление (блок 14). Таким образом, по окончании этого этапа работы устройства происходит взаимная проверка двух частей программного обеспечения, с одной стороны - содержимого инсталляционного диска и с другой стороны программ BIOS, блока памяти и специализированного загрузчика, в результате чего искажение злоумышленником любой из частей ПО будет обнаружено с помощью второй части.

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

Ядро операционной системы содержит программы, осуществляющие управление записью прикладного ПО на жесткий диск, в процессе которой осуществляется шифрование этого ПО. Для этой цели в состав ядра включена программа криптографической защиты информации (криптодрайвер), например, по алгоритму ГОСТ 28147-89, под управлением которой осуществляется ввод ключевой дискеты оператора (КДО), содержащей криптографические ключи (блок 15), считывание с внешнего носителя (Flashdisk) в ОЗУ прикладного ПО (блок 16) и проверка последнего на целостность (блок 17). Если сформированный код целостности совпадает с эталонным, то считается, что в прикладном ПО отсутствуют искажения (блок 18). После этого запускаются программы очистки НЖМД и формирования файловой системы (блок 19) и осуществляется копирование прикладного ПО из ОЗУ на жесткий диск (блок 20), в процессе которого осуществляется, так называемое «прозрачное» (незаметное для пользователя) шифрование информации на криптографических ключах, считываемых криптодрайвером с КДО. Шифрование осуществляется ниже файлового уровня, то есть по

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

Таким образом, при реализации приведенного на фиг.2 алгоритма осуществляется проверка на целостность всех видов ПО: программ BIOS, ядра операционной системы, прикладного ПО, при этом последнее будет записано на НЖМД в зашифрованном виде, не позволяющем злоумышленнику (несанкционированному пользователю) получить какую либо информацию об этом ПО или внести в него незамеченные искажения.

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

Таким образом, предлагаемое техническое решение в совокупности с организационно-техническими мероприятиями позволяет достичь заявленный технический результат: контроль целостности всех видов программного обеспечения как на этапе ввода его в ПЭВМ, так и в процессе эксплуатации путем создания изолированной аппаратно-программной среды, удовлетворяющей требованиям предъявляемым к ней [8, с.54]:

1. На ПЭВМ с проверенным BIOS установлена проверенная операционная среда.

2. Достоверно установлена неизменность BIOS и операционной среды.

3. Кроме проверенных программ в ПЭВМ невозможен запуск никаких других программ.

4. Исключен запуск проверенных программ вне проверенной среды.

Источники информации.

1. Защищенная система начальной загрузки программного обеспечения. Патент США №5937063 МПК H 04 L 9/00.

2. Способ аутентификации системы BIOS перед ее активизацией. Патент США №6401208 МПК H 04 L 9/32.

3. Устройство защиты от несанкционированного доступа к информации, хранимой в персональной ЭВМ. Патент RU №2067313 от 29.03.95 г. МПК G 06 F 12/14

4. www.ancud.ru. Криптон-замок/ PCI:

Изделие «Аппаратно-программный модуль доверенной загрузки». Формуляр КБДЖ.468243.034 ФО/ Фирма АНКАД.М., 2003 г.

5. Getac A 770 - новый сверхзащищенный ноутбук. 101203. hfm

6. Трасковский А.В. Секреты BIOS. - СПб.: БХВ-Петербург, 2003.

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



 

Похожие патенты:

Полезная модель относится к электротехнике и предназначено для регулирования реактивной мощности резкопеременных нагрузок (РПН) промышленных предприятий, например, дуговых сталеплавильных печей, с помощью статических тиристорных компенсаторов (СТК), в которых датчик реактивной мощности является основным динамическим звеном регулятора системы управления СТК

Полезная модель относится к железнодорожному транспорту, к области железнодорожной автоматики н телемеханики, и может быть использована в системах управления и регулирования движения поездов на станциях, перегонах и на промышленных предприятиях

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