система контроля целостности файлов исходных текстов программного обеспечения

Классы МПК:G06F12/16 защита от потерь данных в памяти
G06F11/30 контроль
Автор(ы):, , ,
Патентообладатель(и):Федеральное государственное учреждение "Государственный научно-исследовательский испытательный институт проблем технической защиты информации Федеральной службы по техническому и экспортному контролю" (RU)
Приоритеты:
подача заявки:
2009-10-05
публикация патента:

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

система контроля целостности файлов исходных текстов программного   обеспечения, патент № 2419136 система контроля целостности файлов исходных текстов программного   обеспечения, патент № 2419136

Формула изобретения

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

Описание изобретения к патенту

Изобретение относится к некриптографическим способам контроля целостности файлов и может быть использовано при создании программного обеспечения, при контроле целостности исходных текстов программного обеспечения, в том числе при проведении сертификационных испытаний [1, ст.20; 2] программного обеспечения на отсутствие недекларированных возможностей [3].

Известна система контроля целостности файлов [4]. Система представлена на фиг.1. Система контроля целостности файлов включает блок генерации ключа хэширования 1, блок формирования хэш-кода файлов 2, блок хранения контрольных хэш-кодов файлов 3, блок сравнения хэш-кодов 4, причем выход блока генерации ключа хэширования 1 соединен с первым входом блока формирования хэш-кода файлов 2, второй вход которого соединен с входом чтения контролируемых файлов 5, первый выход - с входом блока хранения контрольных хэш-кодов файлов 3, второй выход - со вторым входом блока сравнения хэш-кодов 4, первый вход которого соединен с выходом блока хранения контрольных хэш-кодов файлов 3, выход - с выводом результатов контроля целостности 6.

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

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

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

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

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

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

Эти отличительные признаки по сравнению с прототипом позволяют сделать вывод о соответствии заявляемого технического решения критерию "новизна".

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

В совокупности признаков заявленной системы используется следующая терминология и обозначения:

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

- форматирование исходных текстов - процесс внесения или удаления пробелов, знаков табуляции, пустых строк, комментариев и так далее;

- файл сети Петри - каким-либо образом сохраненная в виде файла сеть Петри.

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

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

Схема предлагаемой системы контроля целостности файлов исходных текстов программного обеспечения приведена на фиг.2, содержит: блок генерации ключа хэширования 1, блок формирования хэш-кода файлов 2, блок хранения контрольных хэш-кодов файлов 3, блок сравнения хэш-кодов 4, блок построения сети Петри файлов исходных текстов 7 и блок хранения сети Петри в виде файла сети Петри 8, причем выход блока генерации ключа хэширования 1 соединен с первым входом блока формирования хэш-кода файлов 2, первый выход которого соединен с входом блока хранения контрольных хэш-кодов файлов 3, второй выход - со вторым входом блока сравнения хэш-кодов 4, первый вход которого соединен с выходом блока хранения контрольных хэш-кодов файлов 3, выход - с выводом результатов контроля целостности 6, вход блока построения сети Петри файлов исходных текстов 7 соединен с входом чтения контролируемых файлов 5, выход - с входом блока хранения сети Петри в виде файла сети Петри 8, выход которого соединен со вторым входом блока формирования хэш-кода файлов 2.

Назначение блоков понятно из их названия.

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

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

Реализация предлагаемой системы не вызывает затруднений, так как все блоки и узлы, входящие в устройство, реализующее систему, общеизвестны и широко описаны в технической литературе [9-17]. Например, блок построения сети Петри файлов исходных текстов, например, может быть реализован в виде специализированного устройства на микроконтроллере по принципам и методам, описанным в [9-14], блок хранения сети Петри в виде файла сети Петри - на базе любого машиночитаемого носителя информации [15, 16], их взаимное соединение и подсоединение к блокам прототипа может быть осуществлено по стандартным схемам подключения устройств [17].

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

1. Федеральный закон "О техническом регулировании" № 184-ФЗ от 27 декабря 2002 года.

2. Положение о сертификации средств защиты информации по требованиям безопасности информации. Утверждено приказом председателя Гостехкомиссии при Президенте РФ от 27 октября 1995 г. № 199.

3. Руководящий документ "Защита от несанкционированного доступа к информации. Часть 1. Программное обеспечение средств защиты информации. Классификация по уровню контроля отсутствия недекларированных возможностей" (Гостехкомиссия России, 1999).

4. Программный комплекс "Shield System Manager". Подсистема контроля целостности (Integrity Control System). SSM-ICS. Описание применения. - Москва: "Лаборатория Испытаний Средств и Систем Информатизации", 2005. - 25 с.

5. Онучин С. Устройства защиты информации. Критерии выбора. - "Мир связи: Connect!" № 9, 1999 г.

6. ГОСТ Р 34.11-94. "Информационная технология. Криптографическая защита информации. Функция хэширования".

7. Котов В.Е. Сети Петри. - М.: Наука, Гл. ред. физ.-мат.лит., 1984. - 160 с.

8. Питерсон Дж. Теория сетей Петри и моделирование систем: Пер. с англ. - М.: Мир, 1984. - 264 с., ил.

9. Нечаев И.А. Конструкции на логических элементах цифровых микросхем. - Москва.: "Радио и связь", 1992. - 123 с.

10. Белов А.В. Создаем устройства на микроконтроллерах. - СПб.: Наука и техника, 2007. - 304 с.

11. Конструкторско-технологическое проектирование электронной аппаратуры. Учебник для вузов. Серия: Информатика в техническом университете. Под ред. Шахнова В.А. - М.: Изд-во МГТУ им.Н.Э.Баумана, 2003. - 528 с.: ил.

12. Суворова Е., Шейнин Ю. Проектирование цифровых систем на VHDL. Серия "Учебное пособие". - СПб.: БХВ-Петербург, 2003. - 576 с.: ил.

13. Овчинников В.А. Алгоритмизация комбинаторно-оптимизационных задач при проектировании ЭВМ и систем. Серия: Информатика в техническом университете. - М.: Изд-во МГТУ им.Н.Э.Баумана, 2001. - 288 с.: ил.

14. Новиков Ю.В. Основы цифровой схемотехники. Базовые элементы и схемы. Методы проектирования. - М.: Мир, 2001. - 379 с.

15. Левин В.И. Носители информации в цифровом веке / Под общ. ред. Д.Г.Красковского. - М.: КомпьютерПресс, 2000. - 256 с.: ил.

16. Гук М. Дисковая подсистема ПК. - СПб.: Питер, 2001. - 336 с.: ил.

17. Пей Ан. Сопряжение ПК с внешними устройствами. - М.: ДМК Пресс, 2003. - 320 с. ил.

Класс G06F12/16 защита от потерь данных в памяти

способ восстановления данных в системе управления базами данных -  патент 2526753 (27.08.2014)
система и способ обнаружения вредоносных объектов, распространяемых через пиринговые сети -  патент 2487406 (10.07.2013)
поэтапная, облегченная система резервного копирования -  патент 2483349 (27.05.2013)
программатор -  патент 2470389 (20.12.2012)
самоуправляемое обрабатывающее устройство -  патент 2461053 (10.09.2012)
способ определения ошибочного использования памяти -  патент 2458386 (10.08.2012)
способ адаптивного управления пакетом антивирусных сканеров и система для его осуществления -  патент 2457533 (27.07.2012)
система и способ для антивирусной проверки на стороне сервера скачиваемых из сети данных -  патент 2449348 (27.04.2012)
способ восстановления записей в запоминающем устройстве, система для его осуществления и машиночитаемый носитель -  патент 2448361 (20.04.2012)
электромеханическое устройство защиты информации, размещенной на цифровом накопителе, от несанкционированного доступа -  патент 2448360 (20.04.2012)

Класс G06F11/30 контроль

устройство ввода-вывода -  патент 2524852 (10.08.2014)
микрокомпьютер и способ его работы -  патент 2520399 (27.06.2014)
способ и система для контроля системы, связанной с безопасностью -  патент 2520395 (27.06.2014)
способ динамического контроля тупиковых ситуаций инфокоммуникационной системы и устройство для его осуществления -  патент 2502123 (20.12.2013)
работоспособность системы и поддержание производительности компьютерных устройств -  патент 2501073 (10.12.2013)
способ и устройство блокировки нежелательных сообщений электронной почты -  патент 2474970 (10.02.2013)
устройство диагностирования каналов передачи цифровой информации -  патент 2473114 (20.01.2013)
агенты защиты и привилегированные режимы -  патент 2468418 (27.11.2012)
системный анализ и управление -  патент 2451326 (20.05.2012)
интеллектуальный контроллер с правилами самомодификации обучающей и управляющей нейронных сетей -  патент 2447494 (10.04.2012)
Наверх